martes, 30 de octubre de 2012

Matrices Java



Matrices Java

Tipear el siguiente programa



programa que saca promedio mediante una matriz
import java.io.*;
public class programa_matriz {
    public static void main(String[] args)throws IOException {
     BufferedReader br=new BufferedReader (new InputStreamReader (System.in));
     int calif[][];
     double prom,suma;
     calif = new int [5][4] ;
     // primera fila llenada
     calif[0][0] = 8;
     calif[0][1]=7;
     calif[0] [2]=6;
     calif[0][3]=7;
     // segunda fila llenada
     calif[1][0] = 6;
     calif[1][1]=6;
     calif[1] [2]=7;
     calif[1][3]=8;
     // tercera fila llenada
     calif[2][0] = 8;
     calif[2][1]=9;
     calif[2] [2]=9;
     calif[2][3]=9;
     // cuarta fila llenada
     calif[3][0] = 9;
     calif[3][1]=10;
     calif[3] [2]=9;
     calif[3][3]=10;
     // quinta fila llenada
     calif[4][0] =9;
     calif[4][1]=10;
     calif[4] [2]=9;
     calif[4][3]=9;
     int ciclo2;
     int v10,v9,v8,v7,v6;
     v10=0;
     v9=0;
     v8=0;
     v7=0;
     v6=0;
     //promedio de cada semestre y lo imprimiras
    
     for (int ciclo1=0;ciclo1<5;ciclo1++){
         System.out.print("Calificacione del semestre "+(ciclo1+1)+" fue -> ");
         System.out.print("Materia Uno "+calif[ciclo1][0] +"Materia Dos "+calif[ciclo1][1]  +"Materia Tres "+calif[ciclo1][2]  +"Materia Cuatro "+calif[ciclo1][3]);
         System.out.println();
     }
    
     for (int  ciclo1=0;ciclo1<5;ciclo1++){
         System.out.print("promedio del  semetre "+(ciclo1+1)+" fue -> ");
         suma=0;prom=0;
         for ( ciclo2=0;ciclo2<4;ciclo2++)
         {            
         suma=suma+calif[ciclo1][ciclo2];
         switch  (calif[ciclo1][ciclo2])
         {
             case 10:v10++;break;
         case 9:v9++;break;
         case 8:v8++;break;
         case 7:v7++;break;
         case 6:v6++;break;
        
         }
         } //for ciclo2
         prom=suma/4;
         System.out.println(+prom);
     } //for ciclo1
     // cuantos 10,9,8,7,6 hay
    
     System.out.println(" el alumno obtuvo "+v10+" calificaciones de 10");
     System.out.println(" el alumno obtuvo "+v9+" calificaciones de 9");
     System.out.println(" el alumno obtuvo "+v8+" calificaciones de 8");
     System.out.println(" el alumno obtuvo "+v7+" calificaciones de 7");
   System.out.println(" el alumno obtuvo "+v6+" calificaciones de 6");
    
    
    }
}

Ejercicio basado en el anterior programa realize uno donde la matriz sea de 9 Filas y 6 Columnas

Desplegara El promedio de cada Semestre
La calificacion mas alta de cada Semestre
La calificacion mas baja del Semestre
Desplegara cuantos 5 , 6,7,8,9,10

------------------------------------------------------------------
Tipear el Siguiente Programa

public class matrizlectura {
    public static void main(String[] args)throws IOException {
     BufferedReader br=new BufferedReader (new InputStreamReader (System.in));
     int calif[][];
     double prom,suma;
     int ciclo1,ciclo2;
      calif = new int [5][4] ;
  
     for(ciclo1=0;ciclo1<5;ciclo1++)
     {
         System.out.println(" .........................  Introduce las calificaciones del semestre "+(ciclo1+1)+"...........................");
                
     for(ciclo2=0;ciclo2<4;ciclo2++)
     {
      System.out.print(" Introduce la calificacion de la materia  "+(ciclo2+1)+" --> ");
       calif[ciclo1][ciclo2]=Integer.parseInt(br.readLine());
     System.out.println();
     } // fin ciclo2 que es para el brinco de columnas
       
     } // fin ciclo1 que es para brinco de renglones
     int v10,v9,v8,v7,v6;
     v10=0;
     v9=0;
     v8=0;
     v7=0;
     v6=0;
     //promedio de cada semestre y lo imprimiras
    
     for ( ciclo1=0;ciclo1<5;ciclo1++){
         System.out.print("Calificacione del semestre "+(ciclo1+1)+" fue -> ");
         System.out.print("Materia Uno "+calif[ciclo1][0] +"Materia Dos "+calif[ciclo1][1]  +"Materia Tres "+calif[ciclo1][2]  +"Materia Cuatro "+calif[ciclo1][3]);
         System.out.println();
     }
    
     for (  ciclo1=0;ciclo1<5;ciclo1++){
         System.out.print("promedio del  semetre "+(ciclo1+1)+" fue -> ");
         suma=0;prom=0;
         for ( ciclo2=0;ciclo2<4;ciclo2++)
         {            
         suma=suma+calif[ciclo1][ciclo2];
         switch  (calif[ciclo1][ciclo2])
         {
             case 10:v10++;break;
         case 9:v9++;break;
         case 8:v8++;break;
         case 7:v7++;break;
         case 6:v6++;break;
        
         }
         } //for ciclo2
         prom=suma/4;
         System.out.println(+prom);
     } //for ciclo1
     // cuantos 10,9,8,7,6 hay
    
     System.out.println(" el alumno obtuvo "+v10+" calificaciones de 10");
     System.out.println(" el alumno obtuvo "+v9+" calificaciones de 9");
     System.out.println(" el alumno obtuvo "+v8+" calificaciones de 8");
     System.out.println(" el alumno obtuvo "+v7+" calificaciones de 7");
   System.out.println(" el alumno obtuvo "+v6+" calificaciones de 6");

 
    }
}

Ejercicio basado en el anterior programa realize uno donde la matriz sea de 9 Filas y 6 Columnas

Desplegara El promedio de cada Semestre
La calificacion mas alta de cada Semestre
La calificacion mas baja del Semestre
Desplegara cuantos 5 , 6,7,8,9,10
solo debe capturar los siguientes numeros 5 ,6,7,8,9,10 en caso contrario debera volver a solicitarlo

Ejercicio Dos


Investigar


  • Tecnologias GUI EN JAVA
  • Que Significa GUI
  • javax.swing
  • Describa el objeto JFRAME y sus elementos (Jframe ,JDialog)
  • Describa el objeto Panel y sus elementos (Layout,Boxes)
  • Describa el Objeto Widges y sus elementos  (Jcomponet ,Jbutton,JTextField,JList,JLabel)
  • Que es una interfaz Listener  y sus elementos( ActionListener ,MouseListener ,KeyListener ,WindowListener)





la introduccion de datos sera utilizando la siguiente clase
JOptionPane.showInputDialog

ejemplo
inputString = JOptionPane.showInputDialog("ejemplo de una Caja:\nIntroduce un entero");

este es un ejemplo por favor tipealo y que sirva de ejemplo



import java.io.*;
import javax.swing.JOptionPane;
public class inputbox{

 public static void main(String args[]){
           String StrPartido;
 int IntPan=0, IntPri=0, IntPrd=0;
  int IntContador=1;
  int IntElection;
 do{
             //Mostrar un InputBox al Usuario para que realize la operacion, es decir interactue con el sistema
            StrPartido = JOptionPane.showInputDialog(null,"Elige el partido político de tu preferencia: nn1.- PANn2.- PRIn3.- PRD","Elecciones 2012 | Votacion # "+IntContador,JOptionPane.INFORMATION_MESSAGE);

            //Convertimos el valor tecleado a un valor numerico
          IntElection = Integer.parseInt(StrPartido);
          if (IntElection==1)
//Si el usuario tecleo 1 le damos un voto al PAN
IntPan=IntPan+1;
            else if (IntElection==2)
//Si el usuario tecleo 2 le damos un voto al PRI
IntPri=IntPri+1;
          else if (IntElection==3)
//Si el usuario tecleo 3 le damos un voto al PRD
IntPrd=IntPrd+1;
             //Incrementamos nuestro contador en 1
            IntContador = IntContador + 1;
      }while(IntContador<=15);
  if (IntPan>IntPri && IntPan>IntPrd)
        //Si IntPan es mayor a IntPri y que IntPrd enonces gano el PAN                                                                                                                                                                                                                                         
 JOptionPane.showMessageDialog(null,"El ganador de las elecciones fué el Partido Acción Nacional (PAN) con  "+IntPan+" votos a favor","Elecciones 2012 ",JOptionPane.INFORMATION_MESSAGE);
   else if(IntPri>IntPan && IntPri>IntPrd)
        //Si IntPri es mayor a IntPan y que IntPrd enonces gano el PRI
 JOptionPane.showMessageDialog(null,"El ganador de las elecciones fué el Partido Revolucionario Institucional (PRI) con "+IntPri+" votos a favor","Elecciones 2012",JOptionPane.INFORMATION_MESSAGE);
   else if(IntPrd>IntPri && IntPrd>IntPan)
        //Si IntPrd es mayor a IntPri y que IntPan enonces gano el PRD
 JOptionPane.showMessageDialog(null,"El ganador de las elecciones fué el Partido de la Revolución Democrática(PRD) con "+IntPrd+" votos a favor","Elecciones 2012",JOptionPane.INFORMATION_MESSAGE);
   else
        //Si no es asi entonces hubo un empate
 JOptionPane.showMessageDialog(null,"Existe un empate!!!","Elecciones 2012",JOptionPane.INFORMATION_MESSAGE);
   //Instruccion para Evitar que el Programa se quede colgado: Es decir para que finalize correctamente
  System.exit (0);
}
}




miércoles, 24 de octubre de 2012


ASP.NET

apareció en el mercado como repuesta de Microsoft al gran éxito de J2EE  ( Java 2 Enterprise Edition).

Los puntos fundamentales de la nueva estructuraASP.NETson


 ASP.NETproporciona un modelo de desarrollo de aplicaciones Web basado en laplataforma .NET. Este entorno de programaciónpermite tratar a ASP.NET comoun lenguaje orientado a objetos.

 Se pueden desarrollar aplicaciones Web en cualquiera de los lenguajes .NET, comoC# o Visual Basic.

 Separación de la capa de presentación de la capa de negocio, gracias a la utilizaciónde las páginascode-behind (código trasero).

 Acceso a los servicios proporcionados por .NET Framework. Eso permite quepodamos utilizar la biblioteca de clasesen las aplicaciones Web.

 El código de las aplicaciones ASP.NETse compila a través del motor CLR, quecompila con JIT ( Just In Time).

 Losparámetros de configuración se almacenan en archivos de tipo XML,porque es de lectura universal y se pueden generar con cualquier editor de textos.

 Permite usarADO.NETpara acceso a datos.

 Detección automática del navegador cliente, generando el lenguaje de marcassoportado por el mismo.

 Mecanismo deCaching incorporadopara páginas completa o partes de la mismafrecuentemente solicitadas.

 Compatibilidad con ASP. Se pueden tener página ASP y ASP.NET en el mismoservidor colaborando. Las páginas ASP tendrán extensión .aspy son procesadas porla DLL ASP.DLL y las página ASP.NET .aspxy son procesadas por el entorno.NET.

 ASP.NET es que conserva el contenido de los formularios después de enviarlos alservidor. Microsoft llama a estopersistencia automáticadel estado de la vista delos datos.


EJECUCIÓN DE LOS ARCHIVOS ASP.NET

Cuando un visitante quiere acceder a un sitio Web, escribe una direcciónURL(Uniform Resource Locator ) en el navegador y éste realiza una peticiónHTMLal servidor queestá alojando ese sitio Web.

En el momento en que el servidor recibe la petición,determina el tipo de archivo solicitado y lo envía a la aplicación correspondiente para que lo procese.

En el caso de páginasASP.NET, éstas son compiladas (normalmente sies la primera vez que se seleccionan) y ejecutadas, reenviando al visitante los resultadosde la consulta a través de su navegador.

Ejecución del lado del cliente

En las aplicacionesASP.NETse mezcla una parte de ejecución del lado del cliente yotra del lado del servidor.La ejecución de la página del lado del cliente se determina de la siguiente manera:

 Cuando el servidor recibe una petición determina el tipo de navegador del cliente y,en función de éste, codifica las instrucciones a una versiónHTMLadecuada.Incluso el servidor puede determinar si el navegador soportaJavaScripty, enfunción de ello, convertir parte de su código enJavaScriptpara ejecutarse en elcliente. Todo ello lo decide el servidor sin tener que codificar enJavaScript.

 Al descargar la páginaASP.NETen el navegador se envía, junto a ella, código pararealizar comprobaciones e iniciar aquellas funciones que se puedan realizar en elcliente liberando así al servidor de su ejecución.

 Cuando el servidor recibe la respuesta de un formulario, los valores son guardadosen una nueva herramienta deASP.NETllamadabolsa de estadoy son comprimidosy ocultados en una página llamadavista de estado. El objetivo es que, una vezenviado el formulario, éste recupere su apariencia anterior.

GET Y POST

El procedimiento más habitual para que un navegador realice una petición a un servidordesde un formulario es mediante el uso de dos métodos HTML:GET yPOST.

El método GET almacena toda la información que requiere dentro de una dirección URL.

 En ella primero aparecerá el tipo de protocolo utilizado: HTMLoFTP, acontinuación, el nombre del dominio, seguido del patha la página solicitada y elnombre de la página. A continuación se le puede añadir toda la información necesariapara realizar la petición, la llamadaquery string.

Ésta está separada del resto medianteel signo de interrogación. A partir de ahí se establecen pares:clave=valor , por ejemplo,temperatura=20.

Si necesitamos varios pares, éstos se unen mediante el signo&.Si enviáramos un formulario que contuviese campos para nombre, apellidos y edad porel métodoGET ( METHOD = "GET") y el usuario escribiera Juan, Soto y 30, se enviaríala siguiente petición URL al servidor: 
http://Workshop1/Painting/Profile.asp?Nombre=Juan&Apellido=Soto&Edad=30 Cuando un navegador envía la información mediante el método POST, los datos seestructuran igual que en el métodoGETpero se ubican en una cabecera HTML separada de la página, por lo que no son visibles.

 Por esta razón, en la mayoría de loscasos los programadores prefieren ese método.Cualquiera sea el método utilizado, es decir GETo POST, cuando un formulario esenviado al servidor, decimos que se produjo un POSTBACK.Los Web Forms envían sus datos por el método POSTy la página destino es la actual.

Ejecución del lado del servidor

 El servidor envía una petición
 Localiza la página usando laURL
 ASP.NETanaliza el código y si éste no tiene un código compilado actualizadollama al compilador para general elIL, luego compila y guarda el código.
 Elruntimedel servidor carga y ejecuta el código y envía la respuesta al cliente. Enlas siguientes peticiones, elruntimecarga directamente elILy lo ejecuta.
 La respuesta es reenviada al navegador traducida a códigoHTMLy éste representala respuesta en la pantalla del cliente.El ciclo simplificado de ejecución del lado del servidor sería


COMPONENTES DE ASP.NET

ASP.NETes un “Marco” ( framework ) para programar aplicaciones Web, de un modosimilar al que se programan las aplicacionesWindows. Los componentes principales deuna aplicación WebASP.NETson:

 WebForms(Formularios Web). Proporcionan la interfaz de usuario para laaplicación Web y lo constituyen uno o más archivos con extensión.aspx.
 Archivos Code-Behind.Las páginas con código trasero están asociadas a losformulariosWeb Formsy contienen el código del servidor para el formularioWeb Form. Su extensión será.aspx.vbsi el lenguaje utilizado esVisual Basic
 Archivos de configuración conformatoXML.Los archivos de configuración sonarchivosXMLque definen la configuración predeterminada para la aplicación Weby para el servidor Web. Se pueden utilizar un archivoWeb.configpor cadaaplicación y un único archivo Machine.configpor servidor
 Global.asax.Los archivosGlobal.asaxcontienen el código necesario pararesponder a los eventos a nivel de aplicación provocados porASP.NET
 DirectorioBIN.Contiene elassemblyde la aplicación (Ej.: MiAplic.dll) y cero omásassemblies(Componentes externos)
Conectividadabases de datos. La conectividad a bases de datos permite a laaplicación Web transferir datos desde y hacia fuentes de base de datos.
 Caché. El uso de caché permite a la aplicación Web devolver más rápidamenteformulariosWeb Formsy datos tras la primera petición.


ESTRUCTURA DE UNA APLICACIÓN WEB

Las aplicaciones Web están compuestas de los siguientes ficheros:

 Archivos de solución (.sln, .suo). La extensión de archivo NombreSolución.sln seutiliza para archivos de solución que enlazan uno o más proyectos, y almacenainformación global. La extensión de archivo NombreSolución.suose utiliza paraarchivos que acompañan los registros de solución y las personalizaciones queagreguemos a nuestra solución. Este archivo guarda nuestra configuración, comopuntos de interrupción y elementos de tareas, para que sean recuperados cada vezque abramos la solución.

 Archivos de proyecto (.vbproj). Cada proyecto es una única aplicación Webalmacenada en su propia carpeta. Dentro de la carpeta de proyecto se encuentra elarchivo de configuración del proyecto y los archivos reales que constituyen elproyecto. El archivo de configuración del proyecto es un documentoXMLquecontiene referencias a todos los elementos del proyecto, como formularios y clases,además de referencias de proyecto y opciones de compilación. Los archivos deproyecto Visual Basic .NET utilizan una extensión .vbproj, mientras que C# utiliza.csproj.

 Formularios Web Forms ASP.NET(.aspx). Los formularios Web FormsASP.NET se utilizan cuando es necesario generar sitios Web dinámicos a los quelos usuarios accederán directamente. Servicios Web ASP.NET (.asmx). Los servicios Web se utilizan cuando deseamoscrear sitios Web dinámicos a los que únicamente accederán otros programas. Losservicios WebASP.NETpueden estar soportados por una página de códigosubyacente designada por la extensiónWebService.asmx.vb oWebService.asmx.cs.

 Clases, páginas de código subyacente (.vb o .cs). Las páginas de códigosubyacente utilizan dos extensiones: el tipo de página (.aspxo .asmx) y la extensiónde Visual Basic (.vb) o la extensión de C# (.cs). Por ejemplo, el nombre de archivocompleto para la página de código subyacente de un formulario Web FormASP.NETpredeterminado es, para un proyectoC#,WebForm1.aspx.cs.

 Clases de aplicaciones globales (.asax). El archivoGlobal.asax, también conocidocomo el archivo de la aplicaciónASP.NET, es un archivo opcional que contienecódigo para responder a eventos a nivel de aplicación provocados porASP.NEToporHttpModules.

 Archivo Web.config. Este archivoWeb.configcontiene opciones de configuraciónque elCLRlee, como políticas de enlace de ensamblados, objetosremoting, etc., yotras configuraciones que la aplicación puede leer.

 Styles.css.Es el archivo de hojas de estilo predeterminado para la Web.

 Ensamblado del proyecto (.dll).Todas las páginas de código subyacente (.aspx.vby .aspx.cs) de un proyecto están compiladas en un único archivo ensamblado que sealmacena comoProjectName.dll. Este archivo ensamblado del proyecto se ubica enel directorio /bindel sitio Web.

 AssemblyInfo.vb o AssemblyInfo.cs.El archivoAssemblyInfose utiliza paradescribir la información general del ensamblado, como la versión y los atributos delmismo.

ESTRUCTURA DE UNA PÁGINA

ASP.NET Los elementos más importantes de una páginaASP.NETson:

 Directivas
 Bloques de declaración de código
 ControlesASP.NET
 Bloques de presentación de código Comentarios del lado del servidor
 Directivas de inclusión del lado del servidor
 Texto literal y etiquetasHTML

SINTÁXIS DE ASP.NET


ASP.NET
utiliza tres delimitadores distintos para indicar el código de servidor, esdecir, el código que se ejecutará en el servidor y que estará escrito en el lenguaje C#-<%%> Encerrado dentro de los delimitadores<%%>se va a encontrar todo el código de scriptde servidor, de esta forma el comando <%nombre="Pepe"%> asigna el valor Pepe a lavariable nombre.

Entre estos delimitadores se pueden incluir varias sentencias. El código incluido entre estos delimitadores se ejecuta dentro de la página.<%=%> Dentro del segundo tipo de delimitadores<%=%>se encuentran expresiones que devuelve algún valor para ser mostrado en la salida de la página, así por ejemplo laexpresión<%=nombre%> enviará al navegador el valor Pepe, es decir, el valor actual de la variable.

 Entre estos delimitadores sólo se puede encerrar una sentencia.
<script language="vbscript" runat="server"></script>

Esta etiqueta es utilizada únicamente para declarar métodos (procedimientos yfunciones) de la página.
Code-behind Otra forma es introducir el código en un fichero aparte que tiene extensión aspx.vb(para VB), de esta forma separmos la vista de los controladores.

Este fichero con códigoen VB se denomina code-behind  Ejemplos En el ejemplo se puede ver la utilización de los delimitadores<%%>para definir unobjeto de la clase DateTimecon la fecha y hora actual. Y también se utilizan los delimitadores<%=%> para mostrar la fecha y hora actual en el navegador del usuario.Incluir este código en el body.

<% Dim ahora As DateTime = DateTime.Now%>
 La hora y fecha actual es:
<% = ahora.ToString()%>

 Dentro de los delimitadores de código de servidor se pueden encontrar también instrucciones del lenguaje de objetos que se utilice, así por ejemplo puede aparecer una instrucción If...Else del lenguaje VB, como se puede apreciar en siguiente código

 <% Dim nombre As  String = "" , variable = ""

 If (nombre = ""  )Then 
variable = "Nombre desconocido"
Else
variable = "Hola amigo " + nombre
End  If %>
 < font  color ="red">
<%=variable%>
</ font > 

En el código anterior se comprueba si la variablenombretiene algún valor, si lo tienesaludamos con el valor de la variable, mostrando el saludo en color rojo.

Aunque ya veremos que el códigoVBes mejor ejecutarlo desde un fichero code- behind  que provocará la especialización de los ficheros según sean orientados al interface o a laejecución de códigoVB


Directivas

Una directiva controla como se compila una páginaASP.NET.
Las directivas tiene lasiguiente sintásix.
<%@ directiva %>
 Las directivas aparecen normalmente al principio de la página aunque puedenlocalizarse en cualquier sitio.Dos ejemplos de directivas son:

 De página: solo puede haber una línea en cada fichero, en cada línea puede habervarias directivas de otros tipos.

  Language: para indicar el lenguaje predeterminado
<%@ Page Language=”VB” %>

 Trace:se realiza un seguimiento de la página y permite visualizar informaciónadicional sobre la ejecución de la página junto con su contenidoTrace=”True”

  Debug:permite que se visualicen mensajes de error en tiempo de ejecución, sepuede combinar con TraceTrace=”True” Debug=”True”

  AutoEventWireup:Indica si los eventos de la página pueden ser detectados por elcódigo (PageLoad) sin necesidad de que los controladores de eventos utilicenHandles… . En los webs forms de visual basic, el valor viene a false y a que espropio del lenguaje indicar en cada controlador de eventos el evento al que respondey el objeto que lo provoca con Handles.AutoEventWireup ="false" 

 Codefile:Indica el fichero donde están los controladores de evento del la páginaactual
CodeFile="Default.aspx.vb"

  Inherits:este atributo indica el nombre de una clase de la que el control hereda, esteatributo esutilizado para realizar la separación del código de la presentación de lainformación Inherits="_Default"


Bloques de declaración de código

Un bloque de declaración de código contiene toda la lógica de aplicación de una páginaASP.NETy todas las declaraciones de variables globales y métodos.
 Debe aparecerdentro de la etiqueta 
<Script Runat=”Server” Language=”VB”>
 Si no especificamos la propiedad Lenguaje tomará el dato de la directiva de página queespecifique el lenguaje de programación a utilizar en el servidor.

Controles ASP.NETCombinado con el códigoHTMLpueden aparecer controlesASP.NET, el único requisito es que los controles tengan la propiedad runat=”Server”.

Un limitación importante es que sólo se puede incluir una sentencia < form Runat=”Server”> por página.Bloques de presentación de código Podemos incluir código intercalado con el contenido HTMLde la página utilizando   <% ……%> <% =……%>


Comentarios del lado del servidor

Para introducir mententarios del lado del servidor, con propósito de documentación seutiliza
<%-- comentarios --%>
Cabe destacar que estas líneas están ocultas para el cliente, es decir, no se verán si desdeel navegador utilizamos las opciones para ver código fuente.

Directivas de inclusión del lado del servidor

Podemos incluir un archivo en una páginaASP.NET utilizando una de las dos formasde ladirectiva del lado del servidor.

 Si queremos incluir un archivo que está ubicadoen el mismo directorio o en un subdirectorio de la página que incluye el archivo,utilizamos la siguiente directiva:
<!--#INCLUDE file=”fichero.aspx” -->

Texto literal y etiquetas HTML

La información que queremos presentar de forma estática en nuestra página se hace pormedio de texto y etiquetas HTML


 Ejercicio :

Continuando con el ejercicio anterior agregar un Listbox con el nombre de Lcarreras en la pagina Default.aspx el cual quedara con los siguientes objetos

Listbox    Lcarreras
Textbox   Tmensaje
Button      Bmensaje

  •  primero que realizaras es cambiar la propiedad     autopostback=true por default es false
  • en la seccion de codigo del webform iras al metodo load del Page
Lcarreras.Items.Clear()
Lcarreras.Items.Add(
New ListItem("Ingenieria EN sistemas Computacionales", "ISC"))Lcarreras.Items.Add(
New ListItem("Ingenieria Industrial y de Sistemas", "IIS"))Lcarreras.Items.Add(
New ListItem("Ingenieria Civil", "IC"))Lcarreras.Items.Add(
New ListItem("Ingenieria Mercadotecnia", "ISM"))

insertaras el codigo anterior.


Tarea.


  • Que es un Web Form
  • En el codigo anterior genera un error analiza el erro y modificalo con los siguientes pasos
             eliminaras la siguiente linea agregada en el page_load

                       Lcarreras.Items.Clear()

             crearas una variable global en la clase 
  
public Class _DefaultInherits System.Web.UI.Page
Dim anexar As Boolean = False

y en la seccion  Page_Load quedara de la siguiente manera
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


 If  Not anexar Then 
Lcarreras.Items.Add(
New ListItem("Ingenieria EN sistemas Computacionales", "ISC"))
Lcarreras.Items.Add(New ListItem("Ingenieria Industrial y de Sistemas", "IIS"))
Lcarreras.Items.Add(New ListItem("Ingenieria Civil", "IC"))
Lcarreras.Items.Add(New ListItem("Ingenieria Mercadotecnia", "ISM"))
End If

End
Sub

  Private Sub Lcarreras_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles Lcarreras.SelectedIndexChanged
Tmensaje.Text = Lcarreras.SelectedItem.Value

End Sub

escribe los errores 
  • Que es una hoja de estilos CSS
  • Anexar una pagina aspx al proyecto , la hoja sera llamda Uno.aspx
en el cual deberas poner un textbox (Tcarrera) y un Listbox (Lmaestros)













martes, 23 de octubre de 2012

Conversion de un numero Decimal a Binario



tipear el siguiente ejercicio , la tarea es la siguiente es analizar el programa  , pasarlo a diagrama de flujo y pseudocodigo


programa uno de tarea   cambiar  el ciclo for por while y el ciclo while por for  , el switch case por if
programa dos de tarea cambiar  el ciclo  for por do while y el while por do while



import java.io.*;

public class bindec {
    public static void main(String[] args) throws IOException {
        BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));
       System.out.println(" introduce un numero   ");
       int x = Integer.parseInt(lectura.readLine());
       int Tamano = 35;
       String estatus = "afuera";

int[] a = new int[Tamano];
// Se llena el arreglo con ceros

for ( int i = 0; i < Tamano; i++ )
{  // Abre for
a[i] = 0;
}  // Cierra for
int j = 0;

while ( 0 != x )
{   // Abre while
if ( 0 != x % 2 )
{   // Abre if
a[j++] = x % 2;
// Se resta el residuo
 x -= x % 2;
// Se divide entre 2
x /= 2;
}   // Cierra if
else
{     // Abre else
a[j++] = 0;
// Se cambia x
x /= 2;
}     // Cierra else
}   // Cierra while
/* El numero en binario, que se ha guardado
 en el arreglo, se manda a imprimir */
for ( int i = Tamano - 1; i >= 0; i-- )
switch ( a[i] )
{       // Abre switch
case 0:
if ( "adentro" == estatus )
System.out.printf("0");
break;
case 1:
System.out.printf("1");
estatus = "adentro";
break;
default :
System.out.printf("ERROR. EL PROGRAMA ESTA MAL!");
break;
}       // Cierra switch
/* Es probable que se haya introducido el numero 0
y en este caso la variable estatus permanecio
como "afuera" y no se imprimio el 0.*/
if ( "afuera" == estatus )
System.out.printf("0");
System.out.println("\n");
       
    }
}

ejercicio de arreglos unidimencionales



ejercicio vector05



import java.io.*;
public class vector05 {

    public static void main(String[] args) throws IOException {    
     

int apuesta[];
apuesta = new int[6];
BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));
System.out.println(" introduce 6 valores  ");
 
int ciclo;
for(ciclo=0;ciclo<6;ciclo++)
{    System.out.println(" dame el valor del numero "+ciclo+"  ");
    apuesta[ciclo]=Integer.parseInt(lectura.readLine());
}

int aciertos, bola, apuestas=0;

do {
  aciertos = 0;
  apuestas++;
  for(int i=0;i<6;i++) {
    bola = (int)(Math.random()*49)+1;
    for(int j=0;j<6;j++)
    {
      if(bola==apuesta[j])
        aciertos++;
    }
  }
} while(aciertos<6);
System.out.println("Apuestas realizadas: "+apuestas);
     
    }
}

Tarea 

utilizar el ciclo while en la captura de datos y utiliza en lugar del do while  el while 
utilizar el ciclo do while  en la captura de datos  y utiliza en lugar del do while  el for 



import java.io.*;
public class vector04 {

    public static void main(String[] args) throws IOException {       
        

int edades[];
edades = new int[10];
BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));
System.out.println(" introduce 10 edades diferentes  ");
    
int ciclo;
for(ciclo=0;ciclo<10;ciclo++)
{    System.out.println(" dame la edad de la persona numero  "+ciclo+"  ");
    edades[ciclo]=Integer.parseInt(lectura.readLine());
}
    
    //Mostrar el primer elemento
System.out.println(edades[0]);

//Mostrar el último elemento
System.out.println(edades[edades.length-1]);

//Cambiar el tercer valor y mostrarlo
edades[2] = 48;
System.out.println(edades[2]);

//Mostrar todo el vector
for(int i=0; i<edades.length; i++)
    System.out.print(edades[i]+" ");
System.out.println();

//Mostrar todo el vector de otra forma
for(int edad:edades)
    System.out.print(edad+" ");
System.out.println();
    
    
    }
}

utilizar el ciclo while en la captura de datos y muestre el promedio de edad introducido 
utilizar el ciclo do while  en la captura de datos  y y muestre el promedio de edad introducido 


ASP NET.... INTRODUCCION


ASP.NET   Introduccion




ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el Common Language Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework.
Cualquier persona que esta familiarizada con el desarrollo de aplicaciones web sabrá que el desarrollo web no es una tarea simple. Ya que mientras que un modelo de programación para aplicaciones de uso común está muy bien establecido y soportado por un gran número de lenguajes, herramientas de desarrollo, la programación web es una mezcla de varios lenguajes de etiquetas, un gran uso de lenguajes de script y plataformas de servidor. Para el programador de nivel intermedio, el conocimiento y las habilidades que se necesitan para desarrollar aplicaciones web requieren de un mayor conocimiento tanto de lenguajes de programación, etiquetado y formato, como de diversas tecnologías de software relativas al desarrollo distribuido y concurrente, de las que son necesarias en el desarrollo tradicional de aplicaciones.


Páginas

Las páginas de ASP.NET, conocidas oficialmente como "web forms" (formularios web), son el principal medio de construcción para el desarrollo de aplicaciones web.8 Los formularios web están contenidos en archivos con una extensión ASPX; en jerga de programación, estos archivos típicamente contienen etiquetas HTML o XHTML estático, y también etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el código estático y dinámico requerido por la página web. Adicionalmente, el código dinámico que se ejecuta en el servidor puede ser colocado en una página dentro de un bloque <% -- código dinámico -- %> que es muy similar a otras tecnologías de desarrollo comoPHPJSP y ASP, pero esta práctica es, generalmente, desaconsejada excepto para propósitos de enlace de datos pues requiere más llamadas cuando se genera la página.

ASP.NET sólo funciona sobre el servidor de Microsoft IIS, lo que supone una desventaja respecto a otros lenguajes del lado de servidor, ejecutables sobre otros servidores más populares comoApache. Ejemplos de esto son PHPPerl o Python.

Crear un proyecto en asp.net
Deberás escoger  la plataforma WEB de Visual Basic y asp.net  web aplicacion


asignale de nombre primeraaplicacion 

Al entrar observaras la siguiente pantalla



lo primero que haremos es modificar la plantilla del proyecto web


cambiaremos el mensaje de ingles a español MY ASP.NET APPLICATION y eliminaremos el objeto HeadLoginView


asi como editaremos el menu y cambiaremos de About a Acerca , oprimiremos el boton derecho del mouse sobre el objeto menu





seleccionaremos editar itemes del menu y aparecera la siguiente ventana


en la propiedad Text cambiaremos de ingles a Español el texto al finalizar guardaras el documento



Siguiente paso abriras el documento Default.aspx en perspectiva del Diseñador

lo primero que realizaras es eliminar los parrafos que estan por default en esta pagina



el siguiente paso agregar un control el control que utilizaremos por primera vez es el del boton
el cual le asignaremos el nombre de Bmensaje y en el caption Mensaje


continuando con esta aplicacion obsevaremos el codigo de la pagina de la siguiente manera para poder asignar un poco de programacion al boton


nos mostrara un entorno parecido al de visual basic para windows 

 lo primero que realizaremos es agregar codigo del objeto Bmensaje con su metodo click al programa , esto
se llevara a cabo seleccionando el objeto y a continuacion su metodo



agregaremos a este metodo un message box con un mensaje pequeño


guardaremos la pagina y ejecutaremos la aplicacion , como se ejecutaba la de visual basic ambiente windows

en la parte inferior derecho en la barra de estado aparecera un mensaje como el que sigue el cual nos informa que se esta montando el servidor virtual para paginas asp.net


y aparecera la aplicacion



observa el codigo fuente de la pagina que se genero y observaras puro codigo html y en ningun momento observaras codigo de vb



TAREA
  • Que es un servidor web o servidor HTTP
  • Lenguajes de servidor de web
  • Que es HTML
  • Mencione Servidores web en la actualidad y su tecnologia de programacion
  • que es Internet Information Server
  • Codigos HTML 
  • cual es la estructura de directorio de una aplicacion .net
  • Continuando con el proyecto ahora agregue un Textbox llamado Tnombre y aline el boton a la derecha del Textbox , entre el editor de codigo y en el metodo click del boton quite el mensaje , e introduzca el nombre del Texbox con su metodo Text , y ejecute el proyecto y mencione lo que sucede







lunes, 22 de octubre de 2012

Arreglos Unidimensionales en Java

Arreglos Unidimensionales en Java


Arreglos


Un arreglo es una secuencia de datos del mismo tipo
● Los datos se llaman elementos del arreglo y se numeran 0, 1, 2, ...
● Estos números localizan al elemento dentro del arreglo y se denominan índices
● En Java, los índices del arreglo empiezan con 0 y terminan con el tamaño del arreglo -1
● Si el arreglo tiene n elementos, se denotan como a[0], a[1], ... a[n-1]

Declaración de un arreglo


● La sintaxis de declaración de arreglos en Java es
– tipo [] identificador
– tipo identificador []
● Ejemplos:
● char cad[], p;
● int [] v, w;
● double [] m, t[], x;
● En la declaración del arreglo no se permite indicar el número de elementos, así, int
numeros[12] es erroneo


Definir arreglo de número de elementos


● Sintaxis para definir arreglo de un número determinado de elementos:
● tipo nombreArreglo[] = new tipo [numeroDeElementos]
● tipo nombreArreglo[];
● nombreArreglo = new tipo[numeroDeElementos];
● Ejemplo:
● float notas = new float [26];
● int [] a;
● a = new int[10]



Tamaño del arreglo


● Java considera cada arreglo como un objeto
● El número de elementos de un arreglo se conoce accediendo al campo length
● double [] v = new double [15]
● System.out.print(v.length); //  escribe 15
● El campo length está protegido, no se puede modificar


ejemplos



public class vector01 {

    public static void main(String[] args) {      
       
        int listaNúmeros[] = {234,54,67,68,978,12};
for(int i=0; i<listaNúmeros.length; i++) {
System.out.print(listaNúmeros[i]);
System.out.print("...");
System.out.println(listaNúmeros[i]+i);
}
    }
}


---------------------------------------------------------------------------------


public class vector02 {

    public static void main(String[] args) {      
       
       final int TAMANO = 26;
char listaLetras[] = new char[TAMANO];
char letra = 'A';

//Asignacion de letras a cada elemento del vector
for(int i=0; i<TAMANO; i++) {
    listaLetras[i] = letra;
    letra++;
}

//Mostrar en pantalla el vector
for(int i=0; i<TAMANO; i++) {
    System.out.print(listaLetras[i]+" ");
}
    }
}



----------------------------------------------------------------------------------


public class vector03 {

    public static void main(String[] args) {      
       
int numeros[] = {46,324,54,56,6,98,342,32,46,65,76,54,324,12,54,56};

int min = numeros[0];
for(int i=1; i<numeros.length; i++) {
   if(numeros[i] < min)
      min = numeros[i];
}

System.out.println("El valor más pequeño es: "+min);
    }
}



---------------------------------------------------------------------------


public class vector04 {

    public static void main(String[] args) {      
       

        int edades[] = {26,73,84,52,76,72,37,67,62,73};

//Mostrar el primer elemento
System.out.println(edades[0]);

//Mostrar el último elemento
System.out.println(edades[edades.length-1]);

//Cambiar el tercer valor y mostrarlo
edades[2] = 48;
System.out.println(edades[2]);

//Mostrar todo el vector
for(int i=0; i<edades.length; i++)
    System.out.print(edades[i]+" ");
System.out.println();

//Mostrar todo el vector de otra forma
for(int edad:edades)
    System.out.print(edad+" ");
System.out.println();
       
    }
}


---------------------------------------------------------------------


public class vector05 {

    public static void main(String[] args) {      
       
int apuesta[] = {22,28,3,13,40,7};
int aciertos, bola, apuestas=0;

do {
  aciertos = 0;
  apuestas++;
  for(int i=0;i<6;i++) {
    bola = (int)(Math.random()*49)+1;
    for(int j=0;j<6;j++)
    {
      if(bola==apuesta[j])
        aciertos++;
    }
  }
} while(aciertos<6);
System.out.println("Apuestas realizadas: "+apuestas);
       
    }
}



Tarea  : modificar los programas a excepcion del numero dos , de tal manera que los vectores se han de 10 elementos y se introduscan por teclado los valores.



miércoles, 10 de octubre de 2012

Ejercicio 4 JAVA




Introducción JOptionPane y Diálogos modales


Imagen:ShowInputDialog.jpg


En nuestras aplicaciones Java Swing es bastante habitual que tengamos que pedir al usuario la confirmación de una acción (por ejemplo, salir de la aplicación o borrar unos datos), pedirle algún dato sencillo, darle a elegir entre varias acciones o simplemente mostrarle un aviso. A veces es necesario para estas acciones abrir una ventana secundaria donde el usuario debe realizar la acción que sea y cerrarla. Por ejemplo, podemos mostrarle una ventana preguntando algo como "¿Estás seguro que quieres borrar todos esos datos?" y que tenga un par de botones de "Sí, estoy seguro" y "No, no creo".
Afortunadamente, en java no tenemos que hacer esas ventanas. Para las acciones más habituales, ya tenemos la clase JOptionPane que muestra esas ventanas por nosotros y nos devuelven la elección hecha por el usuario. En otras ocasiones, nos tendremos que hacer una ventana a nuestra medida, pero si usamos un JDialog modal, al menos tendremos la ventaja de que el código esperará a que el usuario introduzca los datos en dicha ventana.
Vamos a ver en este artículo ejemplos con JOptionPane y Diálogos modales. En el siguiente enlace puedes ver todo el código detallado de estos .

Revise el siguiente link

Tipea el siguiente Eejmplo y compilalo


import javax.swing.JoptionPane;

public class ejemplo
{
public static void main(String[] args)
{
String ManzanaCadena =JOptionPane.showInputDialog("Introduce el numero de manzanas:");
int appleCount = Integer.parseInt(ManzanaCadena);
String NaranjaCadena =
JOptionPane.showInputDialog("Introduce el numero de Naranjas:");
int orangeCount = Integer.parseInt(NaranjaCadena);
int totalFruitCount = appleCount + orangeCount;
JOptionPane.showMessageDialog(null,"TEl numero Total de Frutas es = " + totalFruitCount);
JOptionPane.showMessageDialog(null,"El numero de manzanas "+appleCount+ "\n mas el numero de naranjas "+orangeCount+ "\n es igual a " +totalFruitCount );
System.exit(0);
}
}



  • Realiza un programa que solicite un numero entre 1..999 y deberas decirle  cuantos 


billetes de 100

billetes de 50
billetes de 20
monedas de 10
monedas de 5
monedas de 2
monedas de 1

Necesitara para poder mostrar la cantidad

este programa lo realizaras de la manera  modo consola para leer datos del teclado y otro programa con la nueva forma que se muestra aqui.



  • Realize un programa que lea 6 calificaciones  y me diga cuantos alumnos pasaron y cuantos reprobaron donde la calificacion minima para pasar es el 7
este programa lo realizaras de la manera  modo consola para leer datos del teclado y otro programa con la nueva forma que se muestra aqui.