Download Parte I

Document related concepts
no text concepts found
Transcript
Parte I
SENA - ADSI
Guía de Clase y
Laboratorio de
Programación en JSP
SENA - CEET
Distrito Capital
Análisis y Desarrollo de Sistemas
de Información - ADSI
Parte I
Versión 1.5
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Instructor:
Ing. Espec. Javier Vaquiro
Introducción
[email protected]
Recordar que JAVA es un lenguaje de programación moderno, que está enfocado a
la construcción de sistemas de información que se ejecutarán en una plataforma
muy inversa de procesadores y sistemas operativos.
Esto indica la necesidad de construir diversos tipos de aplicaciones, programas o
sistemas en general existen los siguientes tipos de aplicaciones básicas:
1.- Aplicaciones o programas que se ejecuten en “consolas”, es decir
ambientes del tipo msdos, linux, terminales tontas, etc.
2.-Aplicaciones o sistemas que se ejecuten en ambientes gráficos o de
tipo “ventanas”, ejemplo: Windows, kde o Gnome (de Linux), system 8
(de Apple), etc.
3.- Aplicaciones de tipo APPLETS, que también son programas en java
que se mandan a una pc remota o lejana, donde esa pc se encarga de
correrla o ejecutarla o compilarla y correrla. Este APPLET lo ejecuta en
un servidor de páginas web server junto con la página correspondiente,
cada vez que un usuario se conecta al web server y requiere la pagina
que contiene el APPLET.
Para el caso de APPLETS estos se ejecutan no en consola tampoco en
una ventana sino dentro del Browser(navegador) de la máquina remota
que puede ser el internet explorer de microsoft o el netscape.
Por supuesto que el browser o navegador del cliente debe estar
preparado para ejecutar APPLETS, esto se hace teniendo constantemente
actualizado el browser (internet explorer o netscape) y estando sobre
todo seguro que en la actualización del browser se incluya la maquina
virtual de java.
java
4.-Aplicacion de tipo SERVLETS, que son programas en java que se
ejecutan directamente en el servidor de paginas o web server, que al ser
invocado o llamado por una pc remota, el web server compila y ejecuta el
servlet, ya ejecutado se mandan generalmente los resultados a la
Ing. Espec. J. Javier Vaquiro
Página 2
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
maquina remota, estos resultados se mandan en forma de una pagina
html, para que la maquina remota los vea en su propio browser.
Una vez que el web server o servidor de páginas ejecuta un servlet, lo
mantiene vivo o despierto, para responder de manera mas rápida a las
peticiones siguientes que se hagan del servlet.
5.- Aplicaciones JSP (Java Server Pages), tecnologia que combina codigo
html y codigo java en un solo programa o aplicación, cuando al web
server le piden un jsp, lo compila, lo convierte a servlet con todas las
implicaciones que se mencionarón en el inciso anterior y manda los
resultados a la pc remota que lo solicitó.
6.- Beans y Java Beans, tecnologías de tipo servlet pero que estan
especializadas principalmente en mantener enlaces constantes a bases
de datos de cualquier marca (access, oracle, mysql, etc), esto permite que
una serie de varios programas o aplicaciones a la vez estén interactuando
con el mismo java bean y por consiguiente con la base de datos.
En general todas las aplicaciones que se pueden desarrollar ( consola,
graficas, APPLETS y servlets, jsp, beans ) todas tienen en común el
lenguaje e instrucciones de programación de java.
Sin embargo para propósitos de este curso nos especializaremos en JSP
(JAVA SERVER PAGES), en virtud de que actualmente es una de las
tecnologías más útiles para la construcción de programas, aplicaciones y
sistemas de información modernos.
Ing. Espec. J. Javier Vaquiro
Página 3
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Unidad
1
Conceptos de Programación
VARIABLES
Una Variable puede definirse como un conjunto de letras y/o números que
se utilizan para simbolizar todos los elementos que en un programa son
definibles por el usuario (programador o ingeniero de software) del mismo
como son las variables donde se almacenan datos, funciones( pequeños
módulos con código), etiquetas, clases, objetos, etc. En Java-Jsp una variable
se define como un identificador que se utiliza para almacenar todos los
datos generados durante la ejecución de un programa.
Existen ciertas reglas en cuanto a variables:
1.
Deben ser claras y con referencia directa al problema.
2.
No deben llevar espacios en blanco, ni símbolos extraños en ellas.
3.
Se pueden usar abreviaturas, pero solo de carácter general.
4.
No deben ser palabras reservadas del lenguaje.
Ejemplos de buenas variables:
Nombre, Edad, SdoDiario, IngMensual, Perímetro, Calif1, etc.
TIPOS DE DATOS.
DATOS.
En Java-Jsp a toda variable que se use en un programa, se le debe asociar
(generalmente al principio del programa) un tipo de dato específico.
Ing. Espec. J. Javier Vaquiro
Página 4
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Un tipo de dato define todo el posible rango de valores que una variable puede
tomar al momento de ejecución del programa y a lo largo de toda la vida útil del
propio programa.
Los tipos de datos más comunes en Java-Jsp son:
Tipo
Descripción
Tamaño
Enteros
“byte”
Longitud de entero Byte
8-bit
“short”
Entero corto
16-bit
“int”
Entero
32-bit
“long”
Entero largo
64-bit
Números reales
“float”
Simple precisión - punto flotante
32-bit (IEEE 754)
“double”
Doble precisión - punto flotante
64-bit ( IEEE 754)
Otros Tipos
Tipos
“char”
Sólo para caracteres
16-bit
“boolean”
Un Valor Booleano (“V” o “F”)
Verdadero ó Falso
TABLA TOMADA DE JAVA.SUN.COM DOCUMENTATION
Como se observa es muy similar a las de c o c++.
Para el caso de strings se deberá usar la Clase String que tiene dos constructores,
de momento entenderemos esto último como dos maneras de crearse, ej;
1. String nombre= new String();
2. String ciudad= new String(“Tijuana”);
En este último caso se crea la string y se inicializa con un dato o valor.
En general un problema de información es posible entenderlo, analizarlo y
descomponerlo en todos sus componentes o partes que de una u otra manera
intervienen tanto en su planteamiento como en su solución.
Ing. Espec. J. Javier Vaquiro
Página 5
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Una herramienta rápida que nos permite descomponer en partes un
problema para su solución es el llamado modelo de solución, esta
consiste de una pequeña caja que contiene los tres elementos más
básicos en que se puede descomponer cualquier problema.
lema.
1
2
3
•LA
LA PRIMERA PARTE;
PARTE; son todos los datos que el computador ocupa para resolver el
problema, estos datos son almacenados internamente en la memoria del computador
en las llamadas variables de entrada.
•LA
LA SEGUNDA PARTE;
PARTE; son todas las operaciones generalmente algebraicas necesarias
para solucionar el problema, generalmente esta parte del modelo es una ecuacion
algebraica o formula (o igualdad matemática, Ejemplo: (X= y + 5).
•LA
LA TERCERA PARTE;
PARTE; es el resultado o solución del problema que generalmente se
obtiene de la parte de operaciones del modelo y dichos datos están almacenados en
las llamadas variables de salida.
En resumen, para todo problema sencillo de información es necesario plantearse
las siguientes preguntas:
Entrada
•¿ Que datos ocupa conocer el computador para
resolver el problema y en cuales variables de entrada
se van a almacenar. ?
Proceso
•¿ Que procesos u operaciones debe realizar el
computador para resolver el problema planteado.?
Salida
•¿Que información o variables de salida se van a
desplegar en pantalla para responder al problema
planteado originalmente ?
Nota importante: no confundir los términos datos, variables e información.
Ing. Espec. J. Javier Vaquiro
Página 6
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Es el nombre de una
localidad o dirección
interna en la
memoria del
computador donde se
almacenan los datos,
ejemplo de variables
para los casos del
inciso anterior.
OPERADORES
Estosse se refieren a
información en
bruto no procesada
ni catalogada, por
ejemplo “Sena”,
“calle primera #
213”,”15 años”, ”
$2,520.00”, etc.
Ing. Espec. Javier Vaquiro
VARIABLES
DATOS
Instructor:
Un operador es un
símbolo especial
que indica al
compilador que
debe efectuar una
operación
matemática o
lógica.
OPERADORES
Operadores Aritméticos:
Operador
Operación
+
Suma
-
Resta
*
Multiplicacion
/
Division
%
Residuo o Modulo
Operadores Relacionales:
Los operadores relaciónales que reconoce java-jsp son:
Operador
Significado
==
Igual que
>
Mayor que
<
Menor que
>=
Mayor o igual que
⇐
Menor o igual que
!=
No es igual que ó es diferente que
Ejemplo de Asignación de Variables:
sueldo = 500, Se esta pidiendo cargar o asignar la variable sueldo con el valor 500
sueldo == 500, Se esta pidiendo que se compare el valor o dato que se encuentra en la
variable sueldo, contra el numero 500.
Ing. Espec. J. Javier Vaquiro
Página 7
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
En java jsp solo este ultimo formato es valido dentro de una condición en una instrucción
condicional.
Para objetos derivados de la clase STRING se usara el metodo str1.compareTo(str2) que
regresa cero (0) si str1 es igual str2, regresa un positivo si str1 es mayor que str2 y
regresa un negativo si str1 es menor que str2.
NOTA: En problemas de division entre enteros, java trunca la parte residual,
Ejemplo:
Desplegar—
Desplegar—> 13/5 —> el resultado es 2
Para resolver los problemas de potencias y raíces, se usan ciertas instrucciones
especiales que proporciona el lenguaje, llamadas funciones matemáticas, en java
existe toda una librería de instrucciones o funciones matemáticas.
Recordar que todas las funciones reciben uno o más datos o valores y regresan
siempre un resultado, una de estas funciones matemáticas es:
import java.lang.math ;
public static double pow(double
pow(double a, double b);
Esta función ocupa dos valores o datos( base y exp) ambos de tipo double, y
regresa un resultado también de tipo double, ejemplo;
Ejercicio: resolver el problema de calcular
import java.io.*;
import java.lang.Math;
public class ejemplo1
{
public static void main(String args[])
{
double base =5;
double exponente=3;
Ing. Espec. J. Javier Vaquiro
Página 8
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
double potencia =0;
potencia = Math.pow(base, exponente);
System.out.println("potencia =" +potencia);
}// cerrar main
} //cerrar clase
Ejercicio
Elaborar un programa para calcular
Para resolver el problema de raíces, se aprovecha una de las más elementales y
conocida de las leyes de exponentes que dice:
Es decir una raíz cualquiera se puede transformar a una potencia con un
exponente fraccionario.
Ejemplo:
Resolver = 3 √ , esto es equivalente a
Solución:
Usando la función pow(
pow( ),
), podemos escribir:
y= 3*Math.pow(x, 0.5);
Nota: En este ejemplo no funcional se está dando por supuesto que no interesa el
tipo de dato que requiere la función pow( ) para trabajar correctamente.
Para realizar operaciones con objetos numéricos, recordar que no se pueden hacer
directamente operaciones con ellos ni tampoco pueden recibir resultados en ellos,
lo que se debe hacer es usar una variable temporal de tipo apropiado, hacer la
operación con dicha variable y al final si se quiere convertir esta variable al objeto
numérico apropiado (esto último se verá en el siguiente tema), como lo muestra el
Siguiente ejemplo;
Ing. Espec. J. Javier Vaquiro
Página 9
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Integer alfa = new Integer(20);
Double zeta = new Double(5);
double alfa1=0, zeta1=0;
alfa1=alfa.doubleValue();
zeta1=zeta.doubleValue();
alfa1=alfa1 + zeta1;
desplegar alfa1;
Como se observa, se crearon dos objetos numéricos, luego dos variables
numéricas normales, luego estas dos últimas variables se cargan con los objetos
numéricos que emplean métodos propios para convertirlos a datos normales.
JERARQUIA DE OPERACIONES
En Java - JSP como en todos los demás lenguajes de programación el problema de
no tomar en cuenta la jerarquía de los operadores al plantear y resolver una
operación casi siempre conduce a resultados muchas veces equivocados como
estos:
Ejemplos:
- 2+ 3* 4 = 20(incorrecto)
= 14 (correcto)
b) si calif1=60 y calif2=80
entonces en programa se usa
promedio=calif1 + calif2/2da como resultado promedio = 100
Recordar siempre, que antes de plantear una formula en un programa se deberá
evaluar contra el siguiente:
Ing. Espec. J. Javier Vaquiro
Página 10
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Orden de operaciones:
1.- Paréntesis
2.- Potencias y raíces
3.- Multiplicaciones y divisiones
4.- Sumas y restas
5.- Dos o más de la misma jerarquía u orden, entonces resolver de izquierda a
derecha
Nota 1:: Si se quiere alterar el orden normal de operaciones, entonces usar
paréntesis.
Nota 2: Tampoco es bueno usar paréntesis de más en una operación, esto solo
indica que no se evalúo bien la formula, como en el siguiente ejemplo;
Aquí,
los
paréntesis
están
de
más,,
porque
por
orden
de
operaciones,
multiplicación y división tienen la misma jerarquía y entonces se resuelven de
izquierda a derecha. En
n sus programas de java – jsp, no se debe ignorar los
paréntesis, tampoco que estos sobren.
EJEMPLO DE MODELO DE SOLUCIÓN
Construir un modelo de solución que resuelva el problema de calcular el área de
un triángulo con la formula área igual a base por altura sobre dos.
Variable(s) de Entrada
Proceso u Operación
Variable(s) de Salida
BASE , ALTURA
AREA= BASE * ALTURA / 2
AREA
Observar para el caso de constantes fijas o conocidas ( Pi ) no se debe
dar
como dato de entrada,
entrada su valor. Mientras que colocar directamente su
valor dentro de la formula en la parte de operaciones del problema.
Pero recordar también que existirán problemas sencillos donde:
Ing. Espec. J. Javier Vaquiro
Página 11
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
No se ocupan entradas o no se ocupan operaciones, pero todos ocupan
salida.
Una fórmula grande o muy compleja puede ser más segura y fácil de
resolver,
si es descompuesta y resuelta en partes, juntando al final los parciales
para obtener el resultado final.
Un problema puede tener más de una solución correcta.
El problema no está suficientemente explicado o enunciado, entonces,
estudiarlo, analizarlo y construirlo de manera genérica.
Operador CAST, (para las Conversiones)
Se puede forzar un dato, variable o una expresión a convertirse o cambiarse a un
nuevo tipo de dato.
El operador cast, realiza este proceso, es decir convierte datos, variables o expresiones
a un nuevo tipo de dato, su formato es:
( nuevotipo ) dato , var, exp;
Ejemplo:
// declaración
int alfa;
// Asignación
alfa = 20;
// Cambio de tipo
(float) alfa;
Ing. Espec. J. Javier Vaquiro
Página 12
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Ejemplo:
( int ) 3.1416;
en este ejemplo se está convirtiendo un float a int, recordar que en este caso ya
no se tendrán los decimales.
Como nota importante se puede hacer cast solo con tipos de datos, no entre
numérica..
tipos de datos y objetos de una clase numérica
Como nota importante este operador resuelve los dos problemas pendientes:
1. El de la división entre enteros.
2. El tipo de dato especifico que requieren las funciones.
Ejemplos:
a) // Declaración
float alfa;
// Operación
alfa = (float)23/5;
// Pero en estos casos es preferible
alfa=23/5.0;
En toda división recordar agregar a uno de los dos valores el (.0), solo que los dos
elementos sean variables entonces usar el operador cast con una de ellas.
b)// Declaración
double potencia;
// Operación
potencia = Math.pow ( (double)5, (double)3);
Como se observa en el ejemplo, se puede usar pow(), directamente con los datos,
argumentos
o
parámetros
requeridos
,
si
estos
son
numéricos,
pero
transformándolos con el operador cast.
Ing. Espec. J. Javier Vaquiro
Página 13
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Esto también va a permitir evaluar expresiones matemáticas de manera mas directa
y sencilla, solo recordando usar un pow() por cada potencia y cada raíz de la
ecuación, ejemplo:
Sea:
dentro de un programa esto se resuelve con;
// área de declaración de variables
double y, x;
// área de captura de datos
capturar el valor de x;
// área de operaciones
y = 3 * Math.pow(x, (double)3) - Math.pow(x, (1/3.0)) + 4 * Math.pow(x,
(double)2));
// área de despliegue de resultados
desplegar x, y
En Java Jsp para convertir tipos de datos numéricos a objetos numericos
y viseversa se deberán usar los métodos que traen las clase numericas
de manera apropiada, en general existen tres casos generales difrentes,
considerando datos o variables numéricas, objetos numéricos y strings
que es un caso especial y comun:
a.1) Conversión de Variable numérica a variable no numérica:
Usar el operador cast,
cast,
ejemplo:
var to var
int alfa1=10; double alfa2=3.1416;
alfa1= (int)alfa2;
observar que los valores decimales deben declararse como doubles
Ing. Espec. J. Javier Vaquiro
Página 14
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
a.2) Conversión de una variable numérica a tipo string
Ejemplo;
var to string
int zeta=50;
String alfa= String.valueOf(zeta);
a.3) variable numérica a objeto numérico
caso 1: usando constructor
int zeta=80;
Float alfa4 = new Float(zeta);
caso 2: ya existe el objeto numérico
Double alfa5 = new Double(0);
Int zeta=30;
alfa5=Double.valueOf(String.valueOf(zeta));
b.1) Objeto Numérico a Variable numérica
todos los objetos numéricos deben crearse inicializados aunque sea a (0)
Integer alfa = new Integer(300);
Int zeta = alfa.intValue();
b.2) Objeto numerico
numerico a String
Float alfa = new Float(“3.45”);
String beta = new String(” ”);
Beta = alfa.toString();
Ing. Espec. J. Javier Vaquiro
Página 15
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
B.3) Objeto Numérico a Objeto no Numérico
Integer alfa=new Integer(50);
Double beta=new Double(0);
beta = beta.valueOf(alfa.toString());
c.1) String a variable numérica
String alfa= new String(“3.5”);
double beta= 0;
beta= Double.parseDouble(alfa);
c.2) String a Objeto Numérico
String alfa8=new String(“50”);
Double alfa9=new Double(0);
alfa9 = alfa9.valueOf(alfa8);
Ing. Espec. J. Javier Vaquiro
Página 16
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
La librería matemática de java-jsp completa incluye:
Class Math
public final class java.lang.Math
extends java.lang.Object
{ Fields
public final static double E;
public final static double PI;
Método
todos
public static double abs(double a);
public static float max(float a, float b);
public static int max(int a, int b);
public static double min(double a, double b);
public static int min(int a, int b);
public static double pow(double a, double b);
public static double random();
public static int round(float a);
public static double sqrt(double a);
}
Ing. Espec. J. Javier Vaquiro
Página 17
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Conceptos de Programacion
Orientada Objetos
Para nuestro propósito en general un objeto puede definirse como cualquier cosa,
ente o entidad física o lógica de información.
En este sentido todos los elementos materiales o inmateriales pueden clasificarse
como objetos.
En particular cualquier objeto considerado presenta los siguientes tres elementos:
a)
Propiedades::
Propiedades
Son las características propias de un objeto estas propiedades o atributos son los
que permiten diferenciar o individualizar un objeto de otro objeto ya sea de la
misma o diferente clase o categoría.
Las propiedades mas generales son forma, color, tamaño, peso, etc., pero ya en
particular:
Chamarra → Marca, material, precio, color, tamaño, etc
Alumno → Matricula, nombre, edad, domicilio, etc.
Gato → Raza, nombre, color, edad, etc.
VentanaWindows–>Tamaño, Color, font, etc.
b) Métodos
Métodos: Son las conductas propias de la naturaleza del objeto.
Así como las propiedades son el ser (que es) del objeto, los métodos son el hacer
(que hacer) del objeto.
Ejemplo de métodos:
Gato —> Maullar(), comer(), correr(), saltar(), etc.
Alumno—> Estudiar(), comer(), asistir clase(), pintear()
Vehículo–>Conducir(), acelerar(), frenar(), pitar(), etc.
VentanaWindows–> Abrir(), cerrar(), maximizar(), etc….
Ing. Espec. J. Javier Vaquiro
Página 18
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Eventos:: Es la relación (de varias maneras) que se puede dar entre dos
c) Eventos
objetos ya sean de la misma o diferente clase.
Un evento se manifiesta como un interacción entre dos objetos, en general al
momento de la relación al mismo tiempo se dará una reacción o respuesta por
parte de los dos objetos que se manifiestan como una serie, cadena o conjuntos de
métodos propios que se activan o disparan, ejemplo:
Evento
Relación
Métodos que se activan
Gato detecta ratón
detectar
maullar(), correr(), oler()
Conductor maneja vehículo
manejar
acelerar(), pitar(), frenar()
Profesor enseña a Alumno
Enseñar
pasar lista(), preguntar(), etc.
clic
maximizar(), cerrar()
Doble clic
minimizar(), etc.
Ratón clic Windows
Ratón doble clic Windows
Un Programa en Java-Jsp se puede considerar como un conjunto de una o
más paginas o formas, donde cada una de ellas contiene un conjunto de
objetos, componentes o controles.
Un componente o propiamente dicho un control es un objeto que se especializa en
una tarea específica por ejemplo hay controles especializados en desplegar textos
o mensajes, otros controles se especializan en desplegar imágenes o vídeos, otros
en manipular directorios o archivos en disco, etc.
Pero en general tanto las formas como los controles no dejan de ser objetos en
programación y por tanto tienen sus propiedades, métodos y están sujetos a
eventos.
Un camino para dividir un gran programa en partes mas pequeñas es el uso de
declaraciones.
Ing. Espec. J. Javier Vaquiro
Página 19
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Declaraciones
Una declaración es un grupo de instrucciones, variables, constantes, etc, que están
diseñados con un propósito particular y tiene su nombre propio.
Es decir, una Declaración es un módulo de un programa que
realiza una tarea específica y que no puede regresar valores
al programa principal u a otro procedimiento que lo esté
invocando.
Después de escribir una declaración se usará ese nombre propio como una sola
instrucción o llamada.
Las declaraciones se construyen antes del cuerpo principal del programa, es decir
en la parte declarativa.
Su formato es:
<%!
void Nom_decl ( )
{
instrucciones;
}
%>
Un programa puede tener tantos procedimientos como se deseen, para hacer una
llamada o invocación al procedimiento durante la ejecución de un programa se
deberá escribir el nombre de la misma y los paréntesis en blanco.
Ing. Espec. J. Javier Vaquiro
Página 20
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Unidad
2
Ciclos
Funcionamiento de Un Ciclo.
Un ciclo, funciona de la siguiente manera: Evalúa una condición; de resultar cierta,
realiza una acción o bloque de acciones. Luego vuelve a evaluar la condición; y si
nuevamente resulta cierta, realiza la (s) acción (es). Cuando la condición arroje un
resultado falso, se sale del ciclo y continúa con la ejecución normal del programa.
Acumulador.
Es una variable,
variable que , como su nombre lo indica se encarga de acumular valores.
Esto se vuelve muy útil, por ejemplo, cuando queremos encontrar la suma de los
números del 0 al 9, en el acumulador, vamos guardando los valores de dichas
cifras. Puede ser tanto real como entera. Su valor inicial, en la mayoría de los casos
es cero.
Ejemplo:
sum=0
sum = sum+1
Contador.
Es una variable de tipo entero, que nos ayuda, en el programa a contabilizar el
número de ejecuciones de una misma acción, de un grupo de alumnos etc. Un
contador tiene tres valores distintos:
Valor Inicial:
Inicial es el valor con el cual iniciamos nuestro contador.
Generalmente es cero. Esta asignación puede hacerse cuando se declara la
variable.
Ejemplo:
i=0
Ing. Espec. J. Javier Vaquiro
Página 21
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Valor Final:
Ing. Espec. Javier Vaquiro
después de la ejecución del ciclo, el valor del contador, será distinto a
su valor inicial, este puede ser mayor o menor que el mismo, todo depende si fue
una cuenta creciente o decreciente.
Ejemplo:
i <= 10,
i<N
Valor de Cambio: Es el valor Constante, en el cual se irá incrementando
nuestro contador, este puede ser positivo o negativo; es decir, si la cuanta se
realiza de manera ascendente o descendente.
Ejemplo: i++, ++i
contador::
Ejemplo de contador
cont =1
cont = cont+1
NOTA: El estudiante no debe confundirse entre las variables tipo
acumulador y tipo contador, estas se diferencian unas de otras en que:
los contadores, su valor de cambio es una constante, ya que aumenta y
disminuyen en el mismo valor, mientras que los acumuladores su valor
de cambio no es constante. Un acumulador necesariamente lo
inicializamos con cero (o al menos en la mayoría de los casos). Un
contador puede iniciar con cualquier valor.
Ing. Espec. J. Javier Vaquiro
Página 22
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Instrucciones de control
de Programa
Instrucciones de control de programa permiten alterar la secuencia normal de
ejecución de un programa.
Estas instrucciones se dividen en tres grandes categorías:
1.- Instrucciones Condicionales que en java jsp se implementan con las
instrucciones if y switch.
Instrucciones de ciclos con:
1.
If
2.
case / switch
3.
for
4.
while
5.
do while
En java – jsp, muchas de ellas tienen sus correspondientes componentes visuales,
derivados de html.
Instrucciones Condicionales
Una de las más poderosas características de cualquier computador es la capacidad
que tiene de tomar decisiones. Es decir al comparar dos alternativas diferentes el
computador puede tomar una decisión basándose en la evaluación que hace de
alguna condición.
En java- jsp, algunos ejemplos de instrucciones condicionales:
si edad > 18
eres mayor de edad”
si no
“eres menor de edad”
Fin-si
Ing. Espec. J. Javier Vaquiro
Página 23
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
si sexo = 'm'
imprime mujer
si no
imprime hombre
Fin-si
De los ejemplos observar que los caminos a seguir por el computador dependerán
de la evaluación que el computador hace con y de la condición.
Pero recordar que lenguajes modernos y orientados a clientes-servidores de igual
forma tienen componentes que permiten del mismo modo al usuario tomar
decisiones incluso directamente en pantalla, es decir tambien existen los objetos,
controles o componentes de selección y decisión en html.
El formato general de una instrucción condicional es:
Como se observa, son cuatro partes bien diferenciadas entre si;
La propia instrucción condicional en si
La condición
El grupo cierto de instrucciones
El grupo falso de instrucciones
Cuando el computador evalúa una condición el resultado de esa evaluación solo es
evaluado de dos maneras o la condición es CIERTA o la condición es FALSA.
Esto dependerá del valor que tenga asignado o que se haya capturado para la
variable que esta en la condición, por ejemplo si se capturo 6000 en sueldo en el
ejemplo a) entonces el computador indicaría que la condición es CIERTA pero en
otro caso si a la variable sueldo primero se le asigno un valor de 250 entonces el
computador indicaría que la condición es FALSA.
Ing. Espec. J. Javier Vaquiro
Página 24
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Instrucción SWITCH
También existen ocasiones o programas donde se exige evaluar muchas
condiciones a la vez, en estos casos o se usa una condición compuesta muy grande
o se debe intentar convertir el problema a uno que se pueda resolver usando la
instrucción SWITCH.
Esta instrucción es una instrucción de decisión múltiple donde el compilador
prueba o busca el valor contenido en una variable ENTERA o CHARACTER contra
una lista de constantes apropiadas, es decir enteras, character, cuando el
computador encuentra el valor de igualdad entre variable y constante entonces
ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el
valor de igualdad entre variable y constante, entonces ejecuta un grupo de
instrucciones asociados a un default, aunque este ultimo es opcional.
El formato de esta instrucción es el siguiente;
Primero se debe crear una virariable llamada OPCION, y luego escribir:
switch(var OPCION)
{
case const1: instrucción(es);
break;
case const2: instrucción(es);
break;
case const3: instrucción(es);
break; ………………
default: instrucción(es);
};
Ing. Espec. J. Javier Vaquiro
Página 25
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
// programa: Prueba_switch.jsp
<%
// declarando
char letra=' ';
if(request.getParameter("OK") != null)
{
//recordar que TEXTBOX contiene una string
letra=request.getParameter("LETRA").charAt(0);
switch(letra)
{case 'a':
out.println("aguila ");
break;
case 'b': case 'B':
out.println("vaca ");
break;
case 'c':
out.println("caballo ");
break;
default:
out.println("no hay ");
};
// observar que se puede escribir directamente a la página dinámica
Ing. Espec. J. Javier Vaquiro
Página 26
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
// Esto es un Formulario
};
// construyendo forma dinámica
out.println("<FORM ACTION=prog3.jsp METHOD=post>");
out.println("DAME
UNA
LETRA:<INPUT
TYPE=TEXT
NAME=LETRA
value="+letra+"><BR>");
out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>");
out.println("</FORM>");
%>
//Ejecución: (si escribimos bien, nos aparece la siguiente ventana)
Observar el caso “b”, observar como se pueden usar mas de dos case con un solo
break.
Ing. Espec. J. Javier Vaquiro
Página 27
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Tareas de programación javajava-jsp
1.- Capturar un número deseado e informar si es <100 ó >100
2.- Capturar un número entero cualesquiera e informar si es o no es múltiplo de 4
( recordar el operador mod (%), analizado en el tema de operadores aritméticos).
3.- Capturar los cinco datos más importantes de un Empleado, incluyendo el
sueldo diario y los días trabajados desplegarle su cheque semanal solo si ganó más
de $700.000 en la semana, en caso contrario desplegarle un bono de despensa
semanal de $150.000.
4.- Capturar los datos más importantes de un estudiante incluyendo tres
calificaciones. Construir una boleta de calificaciones en una página de respuesta
bien bonita, si el estudiante es de la carrera de medicina. En caso contrario
construir una página que despliegue un oficio citando a los padres del estudiante a
una conversación amistosa con los docentes de la escuela.
5.- Capturar los datos de una factura para un artículo deseado, incluyendo
cantidad, detalle, precio, etc. Desplegar una orden de compra, solo si el producto
es de origen nacional. En caso contrario no hacer nada.
Ing. Espec. J. Javier Vaquiro
Página 28
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Ciclo FOR
Instrucciones para ciclos resuelven el problema de repetir todo el programa o
cierta parte del programa más de una vez.
Este ciclo es uno de los más usados para repetir una secuencia de instrucciones
sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se
ejecute una instrucción simple o compuesta.
Su formato general es:
for (inicialización; condición; incremento)
{
instrucción(es);
};
En su forma simple la inicialización es una instrucción de asignación que carga una
variable de control de ciclo con un valor inicial.
La condición es una expresión relacional que evalúa la variable de control de ciclo
contra un valor final o de parada que determina cuando debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo debe cambiar
cada vez que el computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma ;
Ejemplo: Guarda este ejemplo con el nombre de:
prueba_for.jsp
<%
// Valores de X, del 1 al 10
for (int x=1; x<=10; x++)
{
out.println("x= "+x+"<br>");
};
%>
Ing. Espec. J. Javier Vaquiro
Página 29
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
//Ejecución : prueba_for.jsp
Casos Particulares del ciclo for:
1.- El ciclo comienza en uno y se incrementa de uno en uno este es el caso mas
general.
2.- Pero el valor inicial puede ser diferente de uno, ejemplo;
for(x=5;x⇐15;x=x+1){
for(x=5;x⇐15;x=x+1){ etc.};
3.- Incluso el valor inicial puede ser negativo, ejemplo;
for (x = -3 ;x⇐ 8; x=x+1) { etc.};
4.- Los incrementos también pueden ser diferentes al de uno en uno, ej.;
for (x=1; x⇐ 20; x=x+3){ etc. };
5.- Incluso pueden ser decrementos, solo que en este caso, recordar;
5.1.-el valor inicial de la variable debe ser mayor que el valor final.
5.2.-cambiar el sentido de la condición.
Ing. Espec. J. Javier Vaquiro
Página 30
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Ejemplo:
for (x= 50 ; x >= 10; x= x-4 ) { etcétera };
6.- Solo para los casos de incrementos y decrementos de una en una unidad
substituir en el for;
el x = x + 1 por x++
el x = x - 1 por x–
TAREAS DE PROGRAMACION JAVA - JSP
1.- CONSTRUIR UN PROGRAMA QUE DESPLIEGUE LOS NÚMEROS DEL 20 AL 30.
2.- DESPLEGAR LOS ENTEROS ENTRE 50 Y 30 ACOMPAÑADOS DE SU POTENCIA CUADRADA
Y RAÍZ CUBICA RESPECTIVA(revisar el tema de operadores aritmeticos).
3.- DESPLEGAR LOS MÚLTIPLOS DE 5, ENTRE 10 Y 50, ACOMPAÑADOS DE SU FACTORIAL Y
LOGARITMO RESPECTIVO(revisar el tema de operadores aritmeticos tambien).
4.- DESPLEGAR LA TABLA DE MULTIPLICAR QUE EL USUARIO INDIQUE.
5.- EVALUAR LA FUNCION <m> Y=5X^2 + 3X + 8</m> CUANDO X–> -3…10 (RANGO DE
-3 HASTA 10)
Ciclo WHILE
En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición
permanezca como verdadera en el momento en que la condición se convierte en
falsa el ciclo termina.
Su formato general es :
cargar o inicializar variable de condición;
Ing. Espec. J. Javier Vaquiro
Página 31
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
while(condición)
{
grupo cierto de instrucciones;
instrucción(es) para salir del ciclo;
};
Un error muy comun con el while, es poner un punto y coma(;) despues de la
(condición) ejemplo while(condicion);;
ojo.! ←- esto es un error.!!
error.!!
//Programa: Prueba_while.jsp
<%!
int x; %>
<%
x=1;
while (x<=10)
{
out.println("x= "+x+"<br>");
x++;
};
%>
Ejecución del Programa:
Ing. Espec. J. Javier Vaquiro
Página 32
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
While puede llevar dos condiciones en este caso inicializar 2 variables de condición
y cuidar que existan 2 de rompimiento o terminación de ciclo.
La condición puede ser simple o compuesta.
Los casos generales de for también se aplican a while.
A este ciclo también se le conoce también como ciclo de condición de entrada o
prueba por arriba porque este ciclo evalúa primero la condición y posteriormente
ejecuta las instrucciones.
TAREAS PROGRAMACION JAVA – JSP (Ciclo – While)
1.- DESPLEGAR ENTEROS ENTRE 50 Y 80
2.- DESPLEGAR MULTIPLOS DE 4 ENTRE 60 Y 20 ACOMPAÑADOS DE SU LOGARITMOS DE BASE 10 Y
BASE e RESPECTIVOS.
3.- CONSTRUIR LA TABLA DE DIVIDIR QUE EL USUARIO INDIQUE.
4.- EVALUAR UNA FUNCION CUALESQUIERA PARA EL RANGO DE VALORES DE X DE -3 A +5
Ing. Espec. J. Javier Vaquiro
Página 33
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
CICLO
DO WHILE
Su diferencia básica con el ciclo while es que la prueba de condición es hecha al
finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez
porque primero ejecuta las instrucciones y al final evalúa la condición;
También se le conoce por esta razón como ciclo de condición de salida.
Su formato general es :
cargar o inicializar variable de condición;
do
{
grupo cierto de instrucción(es);
instrucción(es) de rompimiento de ciclo;
}
while (condición);
//Ejemplo:
Prueba_dowhile.jsp
<%! int x; %>
<%
x=1;
do
{
out.println("x= "+x+"<br>");
x++;
}
while (x<=10);
%>
Ing. Espec. J. Javier Vaquiro
Página 34
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Otra diferencia básica con el ciclo while es que, aunque la condición sea falsa desde un principio el
cuerpo de instrucciones se ejecutara por lo menos una vez.
CONCLUSIONES ACERCA DE CICLOS
En java - Jsp cuando nos encontramos en la situación de resolver un problema
cualquiera, debemos decidir cual ciclo se debe usar, y en este caso debemos tener en
cuenta lo siguiente:
Si se conoce la cantidad exacta de veces que se quiere que se ejecute el ciclo o si
el programa de alguna manera puede calcularla usar for.
Si se desconoce la cantidad de veces a repetir el ciclo o se quiere mayor control
sobre la salida o terminación del mismo entonces usar while.
Si se quiere que al menos una vez se ejecute el ciclo entonces usar do while.
Ing. Espec. J. Javier Vaquiro
Página 35
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
OBJETOS
CONTROL SELECT JAVA - JSP
Existen muchas ocasiones en donde el usuario del programa tiene que
proporcionar datos que provienen de un conjunto finito y muy pequeño de
posibles respuestas esto significa que cada vez que se ejecute el programa el
usuario estará proporcionando las mismas respuestas.
Un Ejemplo de esta clase de datos, sería por decir, programas de
formación en el SENASENA-Ceet.
Ceet.
Las posibles respuestas solo son:
son: (ADSI,
ADSI,
MEC,
MEC, MELI,
MELI, REDES)
Para situaciones como esta existen componentes html que permiten programar por
adelantado las posibles respuestas y el usuario solo debe seleccionar la respuesta
apropiada en lugar de tener que escribirla. Necesitamos usar los diversos
controles, tales como:
SELECT NAME
INPUT TYPE
FORM ACTION
METHOD=post
SUBMIT NAME
FORM ACTION
OPTION
SELECT:
SELECT Este control nos permite definir en primera instancia un conjunto de
datos o valores respuestas asociados a una caja de edición cualesquiera así
ahora el usuario tendrá la oportunidad de seleccionar un dato del conjunto de
datos o respuestas ya predefinido.
Este componente SELECT DEBERA CONSTRUIRSE EN dos partes una parte de
encabezado para poner el nombre del grupo de respuestas( por ejemplo
municipios, sexo, etc.)
Ing. Espec. J. Javier Vaquiro
Página 36
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
La segunda parte es la lista de opciones o respuestas que se debe cargar al tiempo
de ejecución de la forma html como lo muestra el siguiente programa:
//Ejemplo de Código en Java:
Programa_Menú_Desplegable
<%
// declarando
String CAPITAL="";
if(request.getParameter("OK") != null)
{
CAPITAL =request.getParameter("CAPITAL");
out.println(CAPITAL+" = ");
if (CAPITAL.compareTo("BOGOTA")==0)out.println("LA CAPITAL DE NUESTRA
REPÚBLICA");
if (CAPITAL.compareTo("CALI")==0)out.println("LA SUCURSAL DEL CIELO");
if (CAPITAL.compareTo("MEDELLIN")==0) out.println("LA ETERNA PRIMAVERA");
};
// construyendo forma dinámica, usando Formularios
out.println("<FORM ACTION=Formulario1.jsp METHOD=post>");
out.println("<B>CAPITALES</B>");
out.println("<SELECT NAME=CAPITAL>");
out.println("<OPTION>BOGOTA<OPTION>CALI<OPTION>MEDELLIN ");
out.println("</SELECT>");
out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>");
out.println("</FORM>");
%>
Ejercicio: Modifique este código, utilizando los programas de formación del
SENA ofrecidos por el CEET.
Ing. Espec. J. Javier Vaquiro
Página 37
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Ejecución:
Ejemplo: //Calculo del Área de un Triangulo
<%!
int base=0,altura=0; double area=0;
void proc1(){
area= base * altura / 2.0 ;};
%>
<%
// no usar objetos request y out fuera de scriptlet
// porque no estan creados por java todavia
if(request.getParameter("OK") != null)
{
base = Integer.parseInt(request.getParameter("BASE"));
altura = Integer.parseInt(request.getParameter("ALTURA"));
// llamando o invocando procedimiento uno
proc1();
};
Ing. Espec. J. Javier Vaquiro
Página 38
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
// construyendo forma dinamica
out.println("<FORM ACTION=prog12.jsp METHOD=post>");
out.println("DAME LA BASE:<INPUT TYPE=TEXT NAME=BASE
value="+base+"><BR>");
out.println("DAME LA ALTURA:<INPUT TYPE=TEXT NAME=ALTURA
value="+altura+"><BR>");
out.println("AREA:<INPUT TYPE=TEXT NAME=AREA value="+area+"><BR>");
out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>");
out.println("</FORM>");
%>
Ejecución:
Recordar que no se deben usar los objetos REQUEST y OUT antes de la
parte principal del programa (esto, porque java convierte el jsp a un
servlet y la creación de REQUEST y OUT lo hace después, generando
errores de objetos request y out desconocidos).
Ing. Espec. J. Javier Vaquiro
Página 39
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Unidad
JSP
3
( JAVA SERVER PAGE )
Java Server Page ( JSP ), es otra de las nuevas tecnologías para tratar de hacer mas
eficiente el modelo cliente-servidor y sobre todo la construcción de sistemas de
comercio electrónico.
En este modelo, una página HTML también incluye código en java, es
el servidor de paginas quien al estar mandando la pagina a la pc
remota la compila y la convierte en un servlet. Esta tecnología combina
en una sola aplicación, tanto código html como codigo java.
El proceso de crear un jsp, es sencillo.
Cuando el usuario requiere un jsp el servidor lo carga, lo compila, lo convierte a
servlet y manda la pagina resultante al usuario remoto.
Empezamos con un pequeño ejemplo:
Ejemplo1.jsp
Ejemplo1.jsp
<%
// declarando
int base=0,altura=0; double area=0;
if(request.getParameter("OK") != null)
{
base = Integer.parseInt(request.getParameter("BASE"));
altura = Integer.parseInt(request.getParameter("ALTURA"));
area= base * altura / 2.0 ;
};
// construyendo forma dinamica
out.println("<FORM ACTION=prog1.jsp METHOD=post>");
Ing. Espec. J. Javier Vaquiro
Página 40
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
out.println("DAME
Ing. Espec. Javier Vaquiro
LA
BASE:<INPUT
TYPE=TEXT
NAME=BASE
value="+base+"><BR>");
out.println("DAME
LA
ALTURA:<INPUT
TYPE=TEXT
NAME=ALTURA
value="+altura+"><BR>");
out.println("AREA:<INPUT TYPE=TEXT NAME=AREA value="+area+"><BR>");
out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>");
out.println("</FORM>");
%>
Ejecución:
Solo grabarlo como prog1.jsp (ojo con notepad y su .txt), al folder web-inf
Notas:
Para insertar código java dentro de una pagina html se deberán usar una serie de tags o
delimitadores ( en el ejemplo se esta usando <% una serie de instrucciónes de java %> )
donde cada uno de ellos tiene un propósito definido.
Otros delimitadores son:
Ing. Espec. J. Javier Vaquiro
Página 41
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Comentarios:
<% -- Palabras a escribir --%>
Ignorados cuando jsp es convertida a servlet y muy útiles para documentar nuestros
programas jsp.
Declaración:
<%! Aquí se declaran las variables, métodos, etc %>
Recordar que todo buen programa, empieza declarando variables.
Expresión::
Expresión
<%= Aquí se colocan las Instrucciones a usar (fórmulas) %>
Para colocar una y solo una instrucción de java, además recordar que ya existen
aparte ciertas instrucciones o variables predefinidas tales como:
Request
Response
out
session
application
config
and pageContext( tambien disponibles en scriptlets).
Recordar además que:
cuando se use
Expresión
<%= una sola instrucción %>
Ojo.! la instrucción no debe terminar con punto y coma.
Ing. Espec. J. Javier Vaquiro
Página 42
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Scriptlet::
Scriptlet
<% todo un programa completo codificado en Java %>
Un scriptlet es un grupo de instrucciones de java, como se deduce de esta
definición, se usara muchos scriptlets en nuestros jsp.
Aquí sí, todas las instrucciones deben terminar con punto y coma ( ; )
Un bloque de instrucciones <% bloque java %>, puede empezar (<%) en un
scriptlet y terminar en otro scriptlet, pero asegurarse de que todos los
scriptlets se abran y se cierren.
Include Directive
<%@ include file=“url” %>
Se usa para incluir achivos en computador que compila el lenguaje JSP, esto se realiza
al tiempo que jsp es convertido en servlet. El url debe ser relativo.
Para este caso también es válido:
jsp:include action
para incluir el archivo al tiempo de request por parte de un usuario remoto
page=“URL
jsp:forward Action <jsp:forward page=“
URL relativo”/>
Esta directiva invoca el llamado o enlace de otra página.
NOTA: HASTA AQUI SON LAS DIRECTIVAS O DELIMITADORES MAS COMUNES EN
PROGRAMAS O APLICACIONES SENCILLAS
Ing. Espec. J. Javier Vaquiro
Página 43
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
2.- En la parte de abajo se está construyendo una pagina html dinámica, usando la
instrucción (u objeto OUT) out.println de java. les recomiendo conseguir un buen
tutorial de HTML y estudiarlo a fondo.
3.- Se está usando tres objetos TEXT de html (ver apendice html), de estos objetos se
cargan su propiedad NAME y VALUE en este último caso usando una variable normal
de java jsp
4.- Poner atención dentro del programa que cuando creamos objetos HTML se
declaran en mayúsculas y cuando creamos variables java se declaran en minúsculas,
no es una regla pero si es una buena práctica de programación.
5.- Se está usando un objeto HTML submit, del cual se usan las propiedades NAME y
VALUE, este objeto tiene como propósito principal activar la acción de la forma
(llamarse a si mismo el prog1.jsp) y además mandar los datos que proporciono el
usuario hacia el servidor.
6.- La ultima parte de la pagina es FORM, todos los objetos html deberán estar
encerrados entre esta forma o ventana, form tiene dos propiedades la primera de
ellas es una acción y en este caso la acción es pedirle al servidor que vuelva a
ejecutarse el propio programa1 jsp,
la segunda parte es un método, es este caso es el método POST también se puede
poner el método GET, en ambos casos este método regresa los datos desde la pc del
usuario hacia el servidor, pero POST lo hace en forma invisible y GET lo hace en forma
pública (probar el mismo programa con post y get y observar que pasa cuando activan
el botón de submit).
7.- Al principio del programa se deberán declarar e inicializar a 0, ó ”” todas las
variables del programa.
8.- Se está usando una instrucción IF para revisar el VALUE de SUBMIT, recordar que
cuando el usuario pide por primera vez el programa al servidor , el VALUE del objeto
Ing. Espec. J. Javier Vaquiro
Página 44
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
SUBMIT es “null”, ya que el usuario carga datos en los objetos TEXT y realiza un click
en SUBMIT, el value de SUBMIT pasa a valer “evento1”.
9.- Se está usando el objeto REQUEST.GETPARAMETER( VALUE OBJETO HTML) para
leer la propiedad VALUE de los objetos HTML y de paso cargarlos en las variables java
apropiadas.
10._ Recordar que todos los datos que entran o salen de un objeto html seran de tipo
string. Por la razón del inciso 10 se está usando el método parseInt(string) para
convertir la string a int.
11._ Ya cargadas las variables se deberá realizar la operación apropiada, recordar
incluir estas variables en la forma dinámica.
Componente CHECKBOX
El componente CheckBox, permite seleccionar una opción al usuario del programa o
tomar una decisión directamente en pantalla.
Ing. Espec. J. Javier Vaquiro
Página 45
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Ejemplos de uso:
Observar que dos o mas checkboxs pueden estar seleccionados a la vez.
//Código
prog5..jsp
//Có
digo prog5
<% -- Declaramos Variables -- %>
<%! String m,n,f; %>
<%
// observar declaracion y usando las otras directivas
if(request.getParameter("OK") != null)
{
m=request.getParameter("M");
n=request.getParameter("N");
f=request.getParameter("F");
try {
if (m.compareTo("on")==0) out.println("masculino checado<br>");
} catch(java.lang.NullPointerException e) { };
Try {
if (n.compareTo("on")==0) out.println("neutro checado<br>");
}catch(java.lang.NullPointerException e){};
Try {
if (f.compareTo("on")==0) out.println("femenino checado<br>");
}catch(java.lang.NullPointerException e){};
};
// construyendo forma dinamica
out.println("<FORM ACTION=progchequeo.jsp METHOD=post>");
out.println("<b>sexo:</b><br>");
out.println("<input type=checkbox name=M checked>masculino<br>");
out.println("<input type=checkbox name=F >femenino<br>");
Ing. Espec. J. Javier Vaquiro
Página 46
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
out.println("<input type=checkbox name=N checked>neutro<br>");
out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>");
out.println("</FORM>");
%>
Notas:
1.- grabarlo y subirlo como progchequeo.jsp
2.- La propiedad NAME deberá ser diferente en cada CHECKBOX usado, la
propiedad checked,
checked, se usa para que aparezca ya seleccionado el control.
3.- Cuando se activa progchequeo.jsp, esta forma manda el par NAME=on, solo de
los checkbox que fueron seleccionados.
Ejecución:
Para programar este componente, hacemos lo siguiente:
Como ya se indicó, esta forma va a mandar el par NAME=on, así que, esto es sencillo
en java - jsp, solo recordar usar un if por cada checkbox.
Ing. Espec. J. Javier Vaquiro
Página 47
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
ERRORES Y EXCEPCIONES.
Estos problemas de errores y excepciones, que en java se producen al
tiempo de ejecución del programa son los problemas normales de mal
código y que también se producen al tiempo de compilación no al tiempo
de ejecución del programa, este tema se refiere a errores y excepciones al
tiempo de ejecución del programa.
Java tiene un mecanismo muy completo para el manejo de errores y excepciones.
Un ERROR ocurre generalmente al tiempo de estar ejecutándose un programa, por
ejemplo una división entre cero.
Una EXCEPCION es creada también al tiempo de ejecución del programa cuando en
alguna parte del programa se produce alguna condición no contemplada en el
programa para el programa ejemplo del checkbox, se crearon tres variables o mejor
dicho tres objetos strings y cuando de la forma se manda solo una o dos de ellas
cargadas con “on” algunas de las variables u objetos strings queda cargada con
null(caso especial de strings) y al intentar hacer la comparación java avisa de una
excepcion como se muestra en la siguiente pantalla ejemplo:
Ing. Espec. J. Javier Vaquiro
Página 48
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Esta excepción ocurrió al tiempo de ejecución del programa y por el problema ya
descrito y explicado.
La diferencia entre una EXCEPCION y un ERROR es que una excepción si es
atrapada(catch) por el programa y el programador permite recuperar el programa y
continuar con su ejecución, mientras que un error aunque sea atrapado(catch) por el
programa y el programador el programa suspenderá y terminara su ejecución.
Si errores o excepciones no son atrapadas(catch) el programa terminara su ejecución y
mandara el aviso al usuario, como se demuestra en la pantallita de arriba.
Es por esta razón que es conveniente y necesario atrapar (catch) errores o excepciones,
así el programador podrá incluir algún mecanismo de corrección de errores o al
menos de avisarle al usuario en lugar de que sea el servidor quien le avise.
Este mecanismo de corrección de errores es la clausula o instrucción Try
Sintaxis:
Try {
Instrucciones normales de java;
} catch(tipo de error o excepcion var de error)
{
inst de aviso o correc de error puede incluir la var de error ;
};
Un try-catch puede encerrar una instrucción de java, un grupo de instrucciones de java
o todo el programa completo.
En el progchequeo.jsp se usó un try-catch en cada if, se pudo usar un try catch con
todos los if , pero no se conoce de antemano cuales variables strings se quedan en
null. Asi que, fue más conveniente revisar if por if.
Ing. Espec. J. Javier Vaquiro
Página 49
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
En resumen, cuando en algún programa al tiempo de ejecución les aparezca un error
o excepción nos veremos obligados a usar try-catch para atraparlo o corregirlo, el tipo
de error o excepción a cubrir se los va a estar indicando el propio servidor de paginas
como lo muestra la pantallita ejemplo de excepción y observar que la misma
excepción que apareció en dicha pantallita, se puso en la clausula catch.
Si aparecen más errores o excepciones en un programa es válido que un try lleve más
de un catch.
Componente RADIOBUTTON
Se utiliza para presentar al usuario un conjunto de opciones mutuamente excluyentes
entre si es decir si el usuario selecciona un componente radio todos los demás
componentes radioButton en la forma, se deseleccionan solos es por esta razón que
decimos que radiobotones son mutuamente excluyentes.
Codigo prog6 jsp
<%! String sexo, carrera; %>
<%
// es mejor esta declaracion no hay que inicializar
if(request.getParameter("OK") != null)
{
sexo=request.getParameter("SEXO");
carrera=request.getParameter("CARRERA");
out.println("carrera="+carrera+"<br>");
out.println("sexo="+sexo+"<br>");
};
Ing. Espec. J. Javier Vaquiro
Página 50
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
// construyendo forma dinámica
out.println("<FORM ACTION=prog6.jsp METHOD=post>");
out.println("sexo:<br>");
out.println("<input
type=radio
name=SEXO
value=masculino
checked>masculino<br>");
out.println("<input type=radio name=SEXO value=femenino>femenino<br>");
out.println("<input type=radio name=SEXO value=neutro>neutro<br>");
out.println("carrera:<br>");
out.println("<input
type=radio
name=CARRERA
value=sistemas
checked>sistemas<br>");
out.println("<input
type=radio
name=CARRERA
value=informatica>informatica<br>");
out.println("<input
type=radio
name=CARRERA
value=medicina>medicina<br>");
out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>");
out.println("</FORM>");
%>
NOTA:
1.- Observar que tenemos dos grupos de radiobotones uno con NAME=SEXO y otro
con NAME=CARRERA sin embargo existen varios radiobotones y cada radiobuton
tiene su propio valor o VALUE.
2.- Recordar que en checkbox(tema anterior) la propiedad NAME debe ser distinta
para cada uno de ellos, mientras que en radiobutton es la misma para todo un grupo
similar de ellos.
3.- La razón principal para esta situación es que los radiobotones son mutuamente
excluyentes entre si Y QUE SOLO UNO PUEDE ESTAR ENCENDIDO A LA VEZ por eso
Ing. Espec. J. Javier Vaquiro
Página 51
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
los agrupamos con la propiedad NAME para que html los pueda considerar como dos
o mas grupos diferentes.
4.- También tienen la propiedad checked para que aparezcan seleccionados al cargar
el programa prog6 jsp
5.- A diferencia del checkbox, html va a regresar solamente el par NAME=VALUE de
el radiobutton que este seleccionado, esto lo hace por cada grupo de radiobotones
que tengamos en la forma html
Rrecordar que html regresa un y solo un par NAME=VALUE por cada grupo de
radiobutton's que existan en la forma.html, asi que es bastante sencillo tomar el
valor del radiobuton seleccionado y ya cargado este valor realizar o programar
el proceso correspondiente.
Ejecución:
Ing. Espec. J. Javier Vaquiro
Página 52
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Unidad
4
Objetos HTML
“Button, Submit, Reset, CheckBox, Radio, Password, Text, TextArea, Select, Hidden”
“Controles Button”, “Submit” y “Reset”.
PROPIEDADES
EVENTOS
METODOS
“form”
“OnClick”
“click”
“name”
“OnFocus”
“focus”
PROPIEDADES
EVENTOS
MÉTODOS
“form”
“OnClick”
“click”
“name”
“OnFocus”
“focus”
“value”
“enabled”
Control “CheckBox”
“value”
“enabled”
“checked”
“defaultchecked”
Ing. Espec. J. Javier Vaquiro
Página 53
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Control “Radio”.
Propiedades
Eventos
Métodos
“form”
“OnClick”
“click”
“name”
“OnFocus”
“focus”
“value”
“enabled”
“checked”
Control “Password”.
Propiedades
Eventos
Métodos
“form”
“OnBlur”
“blur”
“name”
“OnFocus”
“focus”
“value”
“enabled”
Controles “Text” y “Textarea”s.
Propiedades
Eventos
Métodos
“form”
“OnBlur”
“blur”
“name”
“OnFocus”
“focus”
“value”
“enabled”
Control “Select”.
Propiedades
Eventos
Metodos
“length”
“OnBlur”
“blur”
“options”
“OnFocus”
“focus”
“selectedIndex”
“OnChange”
Ing. Espec. J. Javier Vaquiro
Página 54
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Control “Hidden”.
Propiedades
Eventos
Métodos
“name”
“value”
Palabras clave del lenguaje Java
Aquí hay una lista de palabras clave de Java. Estas palabras están reservadas, no
puede
utilizar ninguna
de
estas
programas Java. "True", "falso" y"
reservadas,
por
lo
que no
palabras como
nulo" no
se
nombres en
son palabras sino
pueden
utilizar
que son
como
sus
palabras
nombres en
sus
programas tampoco.
“ABSTRACT”
“DOUBLE”
“INT”
“STRICTFP” &&
“boolean”
“else”
“interface”
“super”
“break”
“extends”
“long”
“switch”
“byte”
“final”
“native”
“synchronized”
“case”
“finally”
“new”
“this”
“catch”
“float”
“package”
“throw”
“char”
“for”
“private”
“throws”
“class”
“goto” &
“protected”
“transient”
“const” %
“if”
“public”
“try”
“continue”
“implements”
“return”
“void”
“default”
“import”
“short”
“volatile”
“do”
“instanceof”
“static”
“while”
%. Indica una palabra clave que no se utiliza actualmente
%% . Indica una palabra clave que se añadió a Java 2
Ing. Espec. J. Javier Vaquiro
Página 55
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Unidad
5
Clases Especiales
En java Jsp como lenguaje de programación orientado a objetos existen aparte de la
clase String vista en el tema anterior cuatro clases especiales, descendientes de la clase
NUMBERS, que contienen una serie de métodos que facilitan la interacción con los
usuarios de nuestras aplicaciones en captura y despliegue de datos numéricos.
Sin embargo su característica más importante a tomar en cuenta, es que objetos
numéricos derivados de esta clase, no pueden entrar a operaciones DIRECTAMENTE, ni
recibir el resultado de operaciones.
Class Integer
public final class java.lang.Integer extends java.lang.Number
{
// Fields
public final static int **MAX_VALUE**;
public final static int **MIN_VALUE**;
// Constructors
public **Integer**(int value);
public **Integer**(String s);
// Methods
public double **doubleValue**();
public boolean **equals**(Object obj);
public float **floatValue**();
Ing. Espec. J. Javier Vaquiro
Página 56
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
public static Integer **getInteger**(String nm);
public static Integer **getInteger**(String nm, int val);
public static Integer **getInteger**(String nm, Integer val);
public int **hashCode**();
public int **intValue**();
public long **longValue**();
public static int **parseInt**(String s);
public static int **parseInt**(String s, int radix);
public static String **toBinaryString**(int i);
public static String **toHexString**(int i);
public static String **toOctalString**(int i);
public String **toString**();
public static String **toString**(int i);
public static String **toString**(int i, int radix);
public static Integer **valueOf**(String s);
public static Integer **valueOf**(String s, int radix);
}
Esta clase convierte un dato de tipo int a un objeto.
Este objeto contiene un solo campo de tipo int.
Pero tambien el objeto contiene una serie de metodos para convertir un valor int
a una String y tambien para convertir una String a int.
Ademas de otros metodos de igual utilidad.
Ing. Espec. J. Javier Vaquiro
Página 57
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Class Double
public final class java.lang.Double extends java.lang.Number
{
// Fields
public final static double **MAX_VALUE**;
public final static double **MIN_VALUE**;
public final static double **NaN**;
public final static double **NEGATIVE_INFINITY**;
public final static double **POSITIVE_INFINITY**;
// Constructors
public **Double**(double value);
public **Double**(String s);
// Methods
public static long **doubleToLongBits**(double value);
public double **doubleValue**();
public boolean **equals**(Object obj);
public float **floatValue**();
public int **hashCode**();
public int **intValue**();
public boolean **isInfinite**();
public static boolean **isInfinite**(double v);
public boolean **isNaN**();
public static boolean **isNaN**(double v);
public static double **longBitsToDouble**(long bits);
public long **longValue**();
public String **toString**();
public static String **toString**(double d);
public static Double **valueOf**(String s);
}
Ing. Espec. J. Javier Vaquiro
Página 58
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
Class Float
public final class java.lang.Float extends java.lang.Number
{
// Fields
public final static float **MAX_VALUE**;
public final static float **MIN_VALUE**;
public final static float **NaN**;
public final static float **NEGATIVE_INFINITY**;
public final static float **POSITIVE_INFINITY**;
// Constructors
public **Float**(double value);
public **Float**(float value);
public **Float**(String s);
// Methods
public double **doubleValue**();
public boolean **equals**(Object obj);
public static int **floatToIntBits**(float value);
public float **floatValue**();
public int **hashCode**();
public static float **intBitsToFloat**(int bits);
public int **intValue**();
public boolean **isInfinite**();
public static boolean **isInfinite**(float v);
public boolean **isNaN**();
public static boolean **isNaN**(float v);
public long **longValue**();
public String **toString**();
public static String **toString**(float f);
public static Float **valueOf**(String s);
}
Ing. Espec. J. Javier Vaquiro
Página 59
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
Ing. Espec. Javier Vaquiro
L abor ator io
1. Dados los siguientes conceptos, escriba dentro del corchete, la letra al cual
corresponda de acuerdo con su definición
1.
2.
3.
A.
B.
C.
D.
E.
F.
[
[
[
] Constantes
] Identificadores
] Operadores Relacional
4. [
5. [
6. [
] Datos Alfanuméricos
] Operadores Lógicos
] Datos Lógicos
Es un nombre asignado a las casillas de memoria.
Su contenido puede ser Numérico o alfanumérico.
Sólo pueden tomar dos (2) valores: Verdadero o Falso.
Datos que no cambian durante la ejecución de un programa.
Es una expresión que permite comparar dos operandos.
Permiten formular condiciones complejas a partir de condiciones simples.
2. Sea X=10, Y=7,
Z=1/2, W=9 Realice las siguientes operaciones:
a) x+y-z * x^2 / w
b) (y / z) * x-y+w^1/2
c) y-z+y * + w-x / z^2
d) z^3 * y^2 / 1/w + 1/y^4
3. En cierto país el impuesto que se debe pagar por los artículos debe
calcularse con la siguiente regla: los primeros $200.000 no causan
impuesto, los $200.000 < artículos<= $300.000, tienen impuesto del 5%
y el resto el 10%. Pero, si el costo del producto es >= $700.000, entonces
en lugar del 10% se cobre el 15%.
4. Una empresa solicita información de las ventas realizadas por cada uno de
sus 6 vendedores, los cuales están distribuidos en las zonas de: Valle,
Risaralda y Antioquia. La empresa paga un salario base de $700.000 y una
comisión del 18% para las ventas superiores o iguales a 12 salarios
mínimos y el 10% para las menores.
Se pide:
a) Escribir el algoritmo que muestre: el Salario neto de los 6 vendedores,
el Nombre del Vendedor y la zona.
b) Hacer la Prueba de escritorio
c) Elaborar el diagrama de flujo.
Ing. Espec. J. Javier Vaquiro
Página 60
Construir los modelos de solución de los siguientes problemas:
5.
Explique brevemente en qué consiste y cómo funciona un ciclo.
6.
Cuál es la diferencia entre un contador y un Acumulador
7.
¿cuál es la mejor manera de validar Datos.?
8.
¿cómo se evita un ciclo Infinito?
9.
¿Qué diferencia existe entre un ciclo de entrada asegurada y el
do...
While ?
10.
Convertir la edad en años de una persona a meses.
11.
Convertir pesos a dólares.
12.
Evaluar la
13.
Calcular el área de un circulo con la formula
14.
La distancia Bogotá - Cali es de aproximadamente 700 Kms, si un automóvil
expresión
la recorre a una velocidad constante de 30 millas por hora. ¿Cuanto tiempo
tarda en llegar. ( 1 milla =1.609 Km.)
15.
Construir
un
programa
Java-Jsp
que
contenga
puras
llamadas
a
procedimientos dentro de un menú.
a) Pesos a dólares.
b) Área de un triangulo.
c) Área del Círculo.
d) Fin de menú.
16.
Codificar en JSP el ejercicio No. 3
17.
Codificar en JSP el ejercicio No. 4
18.
Construir un programa que capture un deporte cualesquiera y despliegue
dos implementos deportivos apropiados.
19.
3.- Construir una forma.html con los datos de un automóvil (usar puros
select) y construir dos páginas de salida o respuesta una con un plan de
financiamiento a dos años u otra con un plan de financiamiento a tres años.
20.
Construir un cuestionario de 6 preguntas sobre los hábitos de estudio de un
estudiante y pasar sus respuestas a una pagina nueva.
CEET - Distrito Capital
Programa de Formación: ADSI 150752 –54, TRIMESTRE V
Conocimiento de Proceso: Desarrollar sistemas de información entorno
Web y cliente servidor.
Instructor:
21.
Ing. Espec. Javier Vaquiro
Evaluar una función cualesquiera, la pagina html tiene name = x
y valor = 3, -5, 10
22.
Se desea conocer el resultado final para un estudiante que cursa una
materia en cierta institución educativa. El programa debe solicitar por
teclado los siguientes datos: El nombre de la Institución, el nombre del
estudiante, el nombre de la materia y 3 notas ingresadas. El programa
deberá calcular el promedio de estas notas. Si el promedio es menor que
3, que aparezca un mensaje que diga “Señor estudiante” (nombre del
estudiante) usted perdió la materia de (nombre de la materia). Sino, usted
Aprobó “ “ (nombre de la materia).
Ing. Espec. J. Javier Vaquiro
Página 62