Friday, May 28, 2010

Notas de LEPIII

Senores ya cargue todas las notas, pero he recibido varias quejas sobre las evaluaciones, usen este medio para colocar sus quejas y cuando regrese a Venezuela, las revisare. Saludos.

Friday, May 21, 2010

LEP IV - Recuperativo de cualquier prueba.

Hacer una aplicacion en JAVA lea por la consola un string y muestre ese mismo string codificado en base 64, la funcion que haga la codificacion la tienen hacer ustedes mismos (y esto es lo que sera evaluado) no pueden usar ninguna funcion de JAVA que haga dicha codificacion automaticamente.

Maximo numero de integrantes: 1.
Fecha de entrega: hasta el viernes 21 de Mayo.

Link informativo: http://es.wikipedia.org/wiki/Base64

LEP III - Recuperativo de cualquier prueba.

Hacer una aplicacion en PHP que reciba en un campo de entrada de datos (input type = 'text') un string y coloque ese string codificado en base 64 en otro campo, la funcion que haga la codificacion la tienen hacer ustedes mismos (y esto es lo que sera evaluado) no pueden usar ninguna funcion de PHP que haga dicha codificacion automaticamente.

Maximo numero de integrantes: 1.
Fecha de entrega: hasta el viernes 21 de Mayo.

Link informativo: http://es.wikipedia.org/wiki/Base64

Tuesday, May 18, 2010

Final de semestre

Buenas tardes señores, nuevamente tengo que salir hoy a filipinas, por tal motivo les digo:

ADSII: las personas que tienen trabajos pendientes por entregar tiene que mandar el trabajo via correo a mas tardar mañana (Miercoles 19 de mayo) con el trabajo y cada alumno va a colocar un resumen con sus propias palabras de lo que les tocaba exponer (Esto es lo que tendra mas peso en la nota).

LEPIII:
- Evaluación II: Señores revisando mis registros de las evaluaciones observe que hicimos el taller de la unidad 2, mas no la evaluacion 2, que era lo que ustedes me comentaban en clases, por tal motivo, la evaluacion 2, se hará de la parte de HTML y Javascript del trabajo final que entreguen (deben contemplar valudaciones con javascript).
- Evaluacion III: Se las publico el viernes y tendran solo un dia para hacerla, asi que pendientes con el blog.
- Trabajo grupal: Mandenme todo por correo, recibo trabajos hasta el jueves (20 de mayo).

Importante:
- Si alguien tiene cosas pendiente no contempladas en las anteriores, puede escribirme para ver como la evaluamos.
- Seré sumamente estricto con las fechas de entrega, así que esten pendientes del blog.
- Llego a filipinas el viernes, asi que no responderé correos hasta esa fecha.
- Se que todos me extrañaran, pero que se puede hacer. :D

Saludos.

Monday, April 26, 2010

LEP III - Taller unidad 2. Notas.


13834002 Aguilera Medina, Jose Luis 5
20155426 Alvarez Guzman, Yuderkis Emperatriz 4
18275282 Bastardo Indira, Alejandra 5
13126370 Chang Mendoza, Rosymar De Los Angeles 5
16554536 Chavez Velez, Victor Daniel
12057367 Dacasa Briceño, Jorge Luis 3
18040274 Dugarte Garcia, Maria Fernanda 5
17390224 Duno Vaamonde, Johan Antonio 6
19509149 Duran , Oswaldo Andres 6
18760940 Figueroa Carrillo, Angel Daniel 3
17424527 Galan Teran, Saul Enrique 5
17751949 Garcia Bolivar, Christopher Jesus 7
18030630 Garcia Rodriguez, Raquel Jeniree 7
18937863 Garcia Valverde , Jacqueline Lisbeth
13651397 Gimenez Celis, Yaritza Yurimar 4
18487941 Hermoso Laguado, Exly Carolina 7
10522795 Hernandez Meza, Carlos Humberto 5
22520502 Herrera Limones, Luiggi Jorge 7
8774500 Laguado Arraiz, Alejandro Paul
15844535 Linares Marquez, Yanire Katiusca 6
18818270 Mariño Lozano, Erick Jefferson
17146492 Mendoza Rivera, Isaac Isrrael 4
16620768 Morante Gutierrez, Karen Johana
17438578 Nava Angulo, Victor Eduardo 7
18709413 Padron Molina, Billy Joe
18749338 Paez Galvis, Ronald Alejandro 3
15324112 Pariata Diaz, Yorwin Alberto
20289531 Perez Alvarado, Ariana Daniela 6
17078289 Rico Ramirez, Henry Antonio
20490322 Salas Fernandez, Emili Francelis 4
17964820 Vargas Ontiveros, Katheleen Maria 5
19371962 Zambrano Moreno, Andres Alejandro 6
24999286 Zea Liendo, Ana Patricia
Medina Jurianmi 6
Mendez cristian 5
Garcia Mariangelis 5
Juan Echarry (No sale en lista) 7

Tuesday, April 20, 2010

LEP IV - Taller unidad 4. Notas

18.186.060 Jorge Freites 4
17.554.101 Jose Ramon 4
14755793 Frank Díaz
18.328.691 Luis Cedeño 4
19.513.098 Jorge Manzanilla 4
18.932.624| Angela Rincon 2
17.459.323 Jorge Espinoza 2
14.386.865 Jorge Rincones 2
19.477.653 Nikolai Mendoza 2
19.199.492 Argenis Navarro 2
19.290.843 Victor Medina 2
19.558.814 Labrador Miguel 2
18.189.229 Lepage Onas 2
19.933.194 Mena Anthony 2
20.303.568 Puentes Lusayaniris 2
18.366.598 Vaneska Ladera 3
18.995.811 Alejandro Moreno 3
18.830.527 Luis Torres 3
19.334.251 Juan León 3
18.026.948 Ana Karina Davila 4
20.028.356 Barbara Calichio 4
17.907.887 Horacio Lozada 4
18.935.170 Julio Rodriguez 4
19.994.504 Acosta Maria 4
17.751.187 Lo Huang, Susana 4
18.002.854 Mendoza, José 4
19.671.414 Vivenzio, Victor 4
Keyla Monagas 4
Omar Zavarce 4
Ricardo Gonzalez 4
Jose David Rey 4
18994868 Johana uray 4
19650448 Daniela Rincones 4
19548535 Fabiana Contreras 4

Monday, March 22, 2010

LEP IV - Unidad 4 - Teoria y taller.

Unidad 4. Arreglos Unidimensionales en Java.

Se puede definir un arreglo como un conjunto finito de elementos del mismo tipo. En un arreglo unidimensional, cada elemento del mismo es referenciado por un indice, por este motivo, los arreglos unidimensionales son conocidos tambien como vectores.

En el caso del lenguaje de programacion Java, el primer elemento del arreglo se encuentra en la posicion 0, mientras que el ultimo se encuentra en la posicion longitud del arreglo - 1.

Visualmente, sea el arreglo de enteros a:
a = 4, 22, 7, 15, 1

El mismo tiene una longitud de 5, el primer elemento se encuentra en la posicion 0, mientras que el ultimo se encuentra en la posicion 4. El elemento en la posicion 2 es 7.

Ahora nos queda por saber como declarar, crear, referenciar y recorre un arreglo en el Lenguaje de programacion Java.

1. Declarar un areglo: Declarar un arreglo es unicamente decirle a Java que existe una variable de tipo arreglo que va a contener un tipo de datos especificos, pero sin indicar cuantos elementos, ni cuales seran los elementos. La forma de hacerlo es como se describe:

- 'tipo de dato'[] 'nombre de variable'; // Tipo de datos puede ser un tipo primitivo (int, float, double, etc...) o una clase (String, Cuadrado, etc...).
- Ejemplos:
- int[] notas; // Se esta declarando un arreglo llamado notas que contendra enteros.
- String[] nombres; // Se esta declarando un arreglo llamado nombres que contendra Strings.
- Cuadrado[] cuadrados; // Se esta declarando un arreglo llamado cuadrados que contendra Cuadrados, en este caso, la clase debe haber sido creado previamente.

2. Crear un arreglo: Una vez declarado un arreglo, podemos proceder a crearlo. Crear un arreglo consiste en decirle a Java cuantos elementos contendra el mismo. La forma de hacerlo es como se describe:
'nombre de variable' = new 'tipo de dato'['Numero de elementos'];
- Ejemplos:
- notas = new int(10); // Se esta diciendo que el arreglo notas podra contener 10 elementos.
- nombres = new String(15); // Se esta diciendo que el arreglo nombres podra contener 15 elementos.
- cuadrados = new Cuadrado(5); // Se esta diciendo que el arreglo cuadrados podra contener 5 elementos.

3. Declarar y crear al mismo tiempo: tambien es posible declarar y crear un arreglo al mismo tiempo, como una combinacion de lo mostrado anteriormente, de la siguiente forma.

- int[] notas = new int(10);
- String[] nombres = new String(15);
- Cuadrado[] cuadrados new Cuadrado(5);

4. Acceder a los elementos de un arreglo: Los elementos de un arreglo son accedidos a traves de su indice y usando los corchetes '[]', el indice de cada elemento del arreglo debe estar entre 0 y numero de elementos - 1.

Ej: Sea el arreglo de enteros arr y supongamos que el mismo tiene 10 elementos.
Syso(arr[2]); // Acceder para lectura
arr[5] = 4; // Acceder para escritura

5. Recorrer un arreglo: Todos los arreglos tienen una propiedad llamada length, la cual nos devuelve el numero de elementos del mismo. Cuando deseamos recorrer un arreglo usaremos esta propiedad para obtener el numero de elementos y asi recorrer el arreglo.


- Ascendentemente, sea el nombre del arreglo arr:
for (int 1 = 0; i < arr.length; i++) {
Syso(arr[i]); // Mostramos por pantalla el valor.
}
- Descendentemente, sea el nombre del arreglo arr:
for (int 1 = arr.length; i >= 0; i--) {
arr[i] = 10 + (int)(Math.random() * 91);
// Le asignamos a cada elemento
//del arreglo un numero aleatorio entre 10 y 100.
}


Taller:
Condiciones: 4 integrantes, 4 puntos, Fecha de entrega Domingo 28 de Marzo.
Elaborar un proyecto en Java para que usando arreglos obtener todos los numeros primos entre 2 y un numero generado aleatoriamente entre 100 y 1000 de la siguiente forma:
1. Generar un numero aleatorio entre 100 y 1000, lo llamaremos ale.
2. Crear un arreglo de enteros con ese numero de elementos (ale).
3. Asignar a cada elemento del arreglo su indice. Es decir arr[0] = 0, arr[1] = 1, arr[2] = 2, etc..
3. Recorrer el arreglo desde 2 hasta la raiz cuadrada de ese numero ((int)Math.sqrt(ale)).
4. Por cada elemento recorrido en la parte anterior que tenga un valor distinto de cero, asignar cero a todos los elementos del arreglo que sean multiplos del mismo.
5. Al finalizar el bucle, todos los elementos que no valgan distinto de 0 son los primos.
6. La salida del programa debe ser, mostrar por pantalla, Los numero primos entre 2 y (ale), son: y se deben colocar los elemntos del arreglo que sean distintos de cero.

Ejemplo:
Supongamos que el numero aleatorio generado es 26.
Creamos un arreglo con 26 elementos, le asugnamos a cada elemento del del arreglo su indice.
Sacamos la raiz cuadrada a 26 y obtenemos su parte entera, es decir 5.
Luego desde 2 hasta 5 vamos a ver en todo el arreglo cuales elementos son multiplos de estos numeros y le vamos a asignar 0, ya que esos seran los no primos. Para el caso de i = 2 marcariamos con 0 a los elementos, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26. Seguimos con el siguiente que seria 3, en este caso marcamos con 0 los elementos, 6, 9, (12 ya valdria 0, previament marcado con 2), 15, (18 ya estaria marcado), 21, (24 ya estaria marcado). Continuariamos con (4 pero en este punto valdria 0 ya que fue marcado cuando lo hicimos con el 2), por lo tanto continuariamos al 5, con 5 marcariamos, (10 ya estaria en 0), (15 ya estaria en 0), (20 ya estaria en 0), 25 nada mas.
En este punto el arreglo tendria:
0, 1, 2, 3, 0, 5, 0, 7, 0, 0, 0, 11, 0, 13, 0, 0, 0, 17, 0, 19, 0, 0, 0 , 23, 0, 0, 0

Entonces soloque daria mostrar por pantalla los que son distintos de 0.
Cualquier duda, pregunten y por favor recuerden no copiarse entre grupos. Saludos.

Hacer click en la siguiente imagen.

Sunday, March 21, 2010

ADS II - Unidad 4 - Diagramas de Colaboracion - Teoria y Taller

En el Lenguaje Unificado de Modelado (UML por sus siglas en ingles) es un lenguaje grafico usado para visualizar, especificar, construir y documentar componentes de software, actualmente es usado por muchas de las metodologias para el desarrollo de software, incluyendo El Proceso Unificado de Desarrollo (RUP por sus siglas en ingles) el cual es la base del curso.

En el UML existen diagramas que se usan para modelar los aspectos dinamicos de un sistema, asi como los que se usan para modelar los aspectos estaticos. Los diagramas de Colaboracion son usados para modelar los aspectos dinamicos, en el curso usaremos los mismos para especificar el comportamiento de un caso de uso, es decir que tendremos por lo general el mismo numero de casos de uso que de diagramas de colaboracion. Adicionalemente un Caso de Uso y su respectivo diagrama de colaboracion deben ser semanticamente similares, es decir que el significado de ambos es el mismo solo que uno es una descripcion escrita, mientras el otro es un grafico que muestra como colaboran o interactuan las clases del analisis para llevar a cabo un caso de uso.

Sabido esto, entonces surgen dos preguntas 1. Que necesitamos para elaborar un diagrama de colaboracion? 2. Como elaboramos un diagrama de colaboracio?

Lo que necesitamos para elaborar un duiagrama de colaboracion es obtener en primera instancia el respectivo caso de uso (Unidad 2), adicionalmente necesitamos obtener y categorizar las clases del analisis que intervienen en el caso de uso (Unidad 3).

Un diagrama de colaboracion debe llevar por lo general los siguientes elementos:

Nombre del diagrama, el cual debe estar referido al caso de uso.
Actor que ejecuta el el caso de uso.
Clases del analisis que interactuan en el caso de uso.
Relaciones entre las clases del analisis que intervienen en el caso de uso.
Mensajes que indican la intension de las relaciones entre clases del analisis.
Enumeracion del flujo de las relaciones entre las clases del analisis (No es obligatorio).

Para elaborar el diagrama de colaboracion debemos colocar el actor, posteriormente ir agregando secuencialmente las clases del analisis, junto a las relaciones y los mensajes que se envian entre estas.

Se debe recordar que el actor solo debe interactuar directamente con clases del analisis tipo intefaz, adicionalmente, se debe considerar que las clases interfaz nunca pueden interactuar directamente con una clase del analisis tipo entidad, es decir que siempre debe haber una clase del analisis tipo control de por medio.

A continuacion se muestra un ejemplo de clase del analisis para el caso de uso “generar reporte de notas” colocado en el post anterior. Para el cual las clases de analisis eran:

Clases de analisis:
Interfaz:
Pantalla principal reporte de notas.
Boton generar reporte.
Boton salir.
Mensaje de error en validacion.
Reporte de notas por sección.

Control:
Validar combos.
Buscar datos.
Generar reporte.
Finalizar funcionalidad.

Entidad:
Oferta academica.
Sección.
Asignatura.
Alumno.

Adjunto el diagrama de colaboracion correspondiente.



Taller:
Elaborar el diagrama de colaboracion para el caso de uso inscribir asignaturas, descrito en clases anteriores. En este caso de uso, el actor tenia que seleccionar de una lista de asignaturas las que deseaba inscribir, el sistema validaba las asignaturas, si era valido, guardaba las inscripciones, mostraba un reporte con las materias inscritas y el monto a pagar, si no era valido mostraba un mensaje de error. Debe colocar tambien las clases del analisis obtenidas en dicho caso de uso.

Fecha entrega
Domingo 28 de Marzo, 4 integrantes, 4 puntos.

Thursday, March 18, 2010

LEP III - Unidad 2 - Teoria - Javascript y taller 2.

Lenguaje de programación interpretado, o sea, no requiere compilación. Es utilizado especialmente en páginas web embebido en el código HTML o similares. La mayoría de los navegadores pueden interpretar los códigos JavaScript incluidos en las páginas web.

JavaScript es un lenguaje basado en prototipos, pues las nuevas clases se generan clonando las clases base (prototipos) y extendiendo sus funcionalidades.

Fue creado por Brendan Eich en Netscape, apareciendo por primera vez en el navegador Netscape Navigator 2.0. Inicialmente se llamó Mocha, luego LiveScript y finalmente JavaScript en un anuncio conjunto entre Sun Microsystems (creadores de JAVA) y Netscape el 4 de diciembre de 1995.

Por existencia de distintas versiones de JavaScript incompatibles, el World Wide Web Consortium (W3C) diseñó un estándar llamado DOM (Document Object Model) que incorpora Internet Explorer 6 en adelante, Opera versión 7 en adelante y Mozilla.

Con JavaScript se pueden extender las posibilidades de las páginas web como por ejemplo, evitar que se pueda copiar el texto de una página, botones para agregar automáticamente una página a favoritos, crear barras de scroll, abrir popups, cambiar el puntero del mouse, rotar banners, validar formularios, etc.

Javascript

Referencia rapida de javascript:

Tomado de:
Manual Javascript de Jorge Sanchez

JavaScript
manual de referencia
Autor: Jorge Sánchez (www.jorgesanchez.net) año 2003
Basado en el lenguaje JavaScript compatible para los navegadores Explorer
y Netscape.
Versión normalizada de la ECMA (llamado ECMAScript) en:
http://www.ecma-international.org/publications/standards/Ecma-262.htm
Manual de referencia de JavaScript- Jorge Sánchez ’2003 2
nociones básicas
Java y Javascript
Java es un lenguaje de programación (como el Pascal, el BASIC o el C y C++) que fue
desarrollado por la empresa Sun fundamentalmente para crear aplicaciones para
Internet. El lenguaje Java es completo, es decir permite realizar cualquier operación
sobre el ordenador (como por ejemplo borrar un archivo) y su aprendizaje es costoso.
Javascript es lo que se conoce como lenguaje script, es decir: se trata de código
de programación que se inserta dentro de un documento. Javascript fue desarrollado
por la empresa Netscape con la idea de potenciar la creación de páginas Web
dinámicas para su navegador Navigator.
Javascript (en contra de lo que se podría suponer) es totalmente distinto de Java.
Java crea programas totalmente independientes y operativos; Javascript es más
sencillo porque lo único que permite es insertar código especial dentro del HTML de
una página, su función es ampliar las posibilidades de HTML. Javascript no crea
programas independientes, dependen por completo del código HTML de la página.
El código en Java se debe compilar (convertir en instrucciones del ordenador) y
entonces podrá ser utilizado por los navegadores (son las famosas applets). Sin
embargo Javascript es interpretado directamente por el navegador; de hecho el
código Javascript se incrusta dentro del código HTML de la página.
Java no puede acceder a los elementos HTML de una página (ya que su
funcionalidad es mucho mayor) sin embargo Javascript necesita acceder a ellos, de
otro modo no tendría sentido su uso.
La ventaja fundamental de Javascript es que su aprendizaje y uso son muy
sencillos y que permite realizar labores complejas en una página sin necesidad de
aprender CGI.
versiones de Javascript
Puesto que JavaScript fue desarrollado por Netscape, los navegadores de esta
empresa lo incluyen desde la versión 2. Microsoft por su parte incluyó en la versión 3
una variante de este código llamado JScript que es casi idéntico al original
JavaScript. Después se estandarizó el lenguaje, aunque ambas compañías poseen
elementos que no son comunes con el estándar (aunque prácticamente todo el
estándar es reconocido por ambas).
Así aparición el JavaScript 1.1 que es admitido por Navigator 3 y por Explorer 4. Y
las versiones 1.2 y 1.3 que son reconocidas por las versiones 4 y posteriores de ambos
navegadores.
La ECMA (asociación industrial para la normalización) definió un lenguaje
estándar llamado ECMAScript que intentaba agrupar a los anteriores e incluía
instrucciones nuevas
http://www.ecma-international.org/publications/standards/Ecma-262.htm
2
Manual de referencia de JavaScript- Jorge Sánchez ’2003 3
inclusión de Javascript en las páginas
Para hacer que un documento HTML incluya instrucciones en Javascript se debe
hacer uso de la etiqueta <SCRIPT> de esta forma:
<script language=”JavaScript”>
código JavaScript
</script>
Si se quiere especificar qué versión de Javascript se utiliza, para evitar que
navegadores que no soportan la versión decodifiquen el Javascript, entonces se usa,
por ejemplo:
<script language=”JavaScript1.3”>
navegadores no compatibles
Los navegadores que no soportan Javascript, no interpretarían las instrucciones
Javascript sino que mostrarían el texto de las instrucciones en la página. Para evitar
que estos navegadores lean el código en Javascript se hace:
<script language=”Javascript”>
<!-
código JavaScript
//-->
</script>
El signo “<!-“ indica principio de comentario en HTML y el signo “-->” indica fin de
comentario. A su vez el signo “//” indica comentario en Javascript (el intérprete de
Javascript no tendrán en cuenta esa línea).
uso de un archivo externo
También se puede utilizar el código JavaScript escrito en un archivo separado. Este
archivo debe tener la extensión js. En el archivo se coloca sólo código en JavaScript.
Después ese código se puede invocar desde la página web con el código:
<script language=”Javascript” src=”archivo.js”>
normas de escritura en Javascript
Los comentarios deben empezar con el símbolo // si son de una sola línea o
iniciarse con los símbolos /* y finalizar con */ si son de varias líneas.
Las líneas de código terminan con el signo de punto y coma (;)
Javascript distingue entre mayúsculas y minúsculas
Las llaves ({ y }) permiten agrupar código.
3
Manual de referencia de JavaScript- Jorge Sánchez ’2003 4
variables y operadores
variables
Una variable es un elemento que tiene un determinado nombre y que permite
almacenar valores.
nombre de las variables
Deben empezar con una letra la cual puede ir seguida de números, el signo “_” o más
letras.
valores
Los valores que pueden asignarse a una variable pueden ser:
Cadenas de texto: “esto es una prueba”, ‘prueba’ o “esto es una ‘prueba’ de
código”. Siempre se encierran entre comillas dobles o simples. Una variable de
texto que no tiene contenido, se dice que tiene valor null. La palabra null es un
término reconocido por Javascript.
Valores numéricos: 1, -100, 1.6, 2.0E2.
Valores booleanos: true o false.
caracteres especiales
Los valores de tipo texto van entre comillas y dentro de ellos se pueden colocar
caracteres especiales (caracteres que no se pueden ver, como el cambio de línea) los
cuales son:
\\a: Alarma
\\b: Retroceso (cursor una posición hacia atrás).
\\f: Nueva página de impresora
\\n: Nueva línea
\\r: Retorno de carro
\\t: Tabulador
\\\\: Signo “\\”
declaración de una variable
Para declarar una variable se puede emplear:
var variable = valor;
O simplemente:
4
Manual de referencia de JavaScript- Jorge Sánchez ’2003 5
variable = valor;
De tal modo, que realmente en Javascript no hace falta declarar una variable antes de
su uso. Ejemplos:
var testear = 0;
testeaTexto = “Mi casa”;
SeleccionarColor = true;
JavaScript permite que una variable pueda almacenar distintos tipos de datos en cada
trozo de código. Es decir, una variable que ahora almacena texto, después puede
almacenar números.
Tras declarar la variable, su valor puede cambiar mediante la asignación de un
valor:
Testear = 12.3;
O mediante la asignación del resultado de una operación:
Testear = 12 * 3 + varX;
conversión de datos
En muchas lenguajes si una variable toma valores de texto y luego se quiere hacer que
tome números, resulta imposible hacerlo. No es el caso de JavaScript ya que realiza
conversiones implícitas. Ejemplo:
var x=”50” //x es una variable de texto
var y=30 //y es una variable numérica
z1=x+y //z1 es variable de texto y vale “5010”
z2=y+x //z2 es numérica y vale 60
/*dependiendo de cuál sea el primer operando, se determina
el tipo del resultado*/
Naturalmente ocurrirá un error si pretende convertir a un número, un texto normal
como “Hola” por ejemplo. En cualquier caso no conviene hacer conversiones de tipo
en ningún caso.
5
Manual de referencia de JavaScript- Jorge Sánchez ’2003 6
operadores
Los operadores son los elementos que permiten realizar operaciones con los datos del
código.
operadores aritméticos
Operador Significado
+ Suma
- Resta
* Multiplicación
/ Dividir
% Resto de la división
++ Incremento
-- Decremento
Ejemplo:
var valor1=50;
var valor2=10;
var valor3=20;
var suma, resta, producto, division, resto;
var incremento, decremento;
suma=valor1+valor2; //suma vale 60
resta=valor1-valor2; //resta vale 40
producto=valor1*valor2; //producto vale 5000
division=valor1/valor3; //division vale 2,5
resto=valor1%valor3; //resto vale 10
valor1++; //valor1 vale 51
valor1--; //valor1 vale 50
incremento=valor1++; //incremento vale 50 y valor1 vale 51
decremento=valor1--; //decremento vale 51, valor1 vale 50
incremento=++valor1; //incremento vale 51 y valor1 también
decremento=--valor1; //decremento y valor1 valen 50
6
Manual de referencia de JavaScript- Jorge Sánchez ’2003 7
operadores lógicos
Trabajan con proposiciones matemáticas (valores boléanos) son:
Operador Significado
&& AND (Y lógico)
|| OR (O lógico)
! NOT (NO lógico)
operadores de comparación
Son:
Operador Significado
== Igual
!= Distinto
>= Mayor o igual
<= Menor o igual
> Mayor
< Menor
operadores de asignación
Son:
Operador Ejemplo
+= Suma y asignación
-= Resta y asignación
*= Producto y asignación
/= División y asignación
%= Resto y asignación
7
Manual de referencia de JavaScript- Jorge Sánchez ’2003 8
Mensajes
¿qué son?
Se trata de ventanas que desde el código se lanzan al usuario para hacer que éste
reaccione ante una situación o nos informe ante una duda. Realmente todos los
mensajes se obtienen a través del objeto window (véase más adelante).
alert
Es el mensaje más usado. Saca un mensaje por la pantalla el cual sólo deja la
posibilidad de aceptarle. Su uso es mostrar información al usuario pero resaltándola
de la página. Su sintaxis es:
alert(texto_del_mensaje);
prompt
En este caso se trata de una ventana que pide entrar datos al usuario. De modo que
esta función devuelve un valor que se puede usar en el código si es asignado a una
variable. Su sintaxis es:
prompt(texto_del_mensaje,valor_por_defecto);
El segundo parámetro (valor por defecto) no es obligatorio incluirle y permite asignar
un valor al cuadro de texto en el que el usuario tendrá que introducir información.
Ejemplo de uso de prompt:
respuesta=prompt(“¿Qué quieres hacer?”,”comer”);
En el ejemplo, el resultado de lo que el usuario responde se almacena en la variable
resultado y al principio la ventana contendrá el valor comer en el cuadro de texto
destinado al usuario. Naturalmente, el usuario podrá variar este valor si lo desea.
El cuadro de diálogo que saca prompt posee dos botones, uno es el de Aceptar y
el otro es el de Cancelar. Si el usuario pulsa Cancelar, la función prompt devuelve el
valor nulo (null).
confirm
Saca un mensaje de confirmación el cual suele tener dos botones: Aceptar y Cancelar.
Sintaxis:
confirm(texto_del_mensaje)
La ventana mostrará el texto elegido (normalmente es una pregunta) y el usuario
elegirá si desea aceptar o no el contenido. Confirm devuelve un valor true en el caso
de que el usuario acepte el mensaje, y false si no lo hace.
8
Manual de referencia de JavaScript- Jorge Sánchez ’2003 9
estructuras condicionales
introducción
Las estructuras de este tema son sentencias que permiten tomar decisiones dentro del
código a fin de devolver un resultado u otro dependiendo de una determinada
circunstancia que es la que se evalúa.
instrucción if
La instrucción IF realiza lo que se denomina un sí lógico. Su forma es:
if(condición) {
..código que se ejecuta si la condición es cierta
}
También admite esta otra:
if(condición) {
..código que se ejecuta si la condición es cierta
}else{
... ..código que se ejecuta si la condición es falsa
}
Se admite dentro de una instrucción IF, colocar otra instrucción IF. A esto se le llama
“anidar” condiciones if.
bucle while
Un bucle es una estructura de programación que permite repetir sentencias hasta que
se cumpla una determinada condición. Su forma es:
while(condicion){
... sentencias que se ejecutan mientras la condición se cumpla
}
Ejemplo:
var x=1;
while(x<11)
{
document.write(x,” “);
x++;
}
// Sale 1 2 3 4 5 6 7 8 9 10
9
Manual de referencia de JavaScript- Jorge Sánchez ’2003 10
bucle for
Su efecto es muy similar a la anterior estructura. Permite ejecutar una serie de
sentencias hasta que se cumpla una determinada condición.. Su estructura es:
for(valor_inicial; condición; actualización)
{
..sentencias que se ejecutan mientras la condición se cumpla
}
Ejemplo:
for(x=1;x<11;x++)
{
document.write(x,” “);
}
// Sale 1 2 3 4 5 6 7 8 9 10
break
Es una instrucción que hace que el navegador que se la encuentra, abandone
inmediatamente el bucle en el que está inmerso.
continue
Es parecida a la anterior, sólo que en lugar de abandonar el bucle, lo que hace el
navegador es dejar de leer las siguientes instrucciones del bucle y saltar al principio
del mismo.
instrucción switch
Esta instrucción permite un mayor control sobre las condiciones, lo malo es que se
incluyó en la versión 1.2 de JavaScript por lo que sólo los navegadores con versión 4 o
posterior los pueden usar.
Su sintaxis es:
switch (objetodeanálisis) {
case valor1: ..instrucciones
case valor2:...instrucciones
....
default: instrucciones
}
Switch funciona de esta forma: en los paréntesis se coloca una expresión a evaluar, y
en cada apartado case, se coloca un posible valor de la expresión. Los valores que se
cumplan harán que se ejecuten las instrucciones que les siguen. En caso de que no
cumpla ninguna se ejecutarían las correspondientes al default (no es obligatorio
poner este apartado). Ejemplo:
10
Manual de referencia de JavaScript- Jorge Sánchez ’2003 11
var x=12;
switch(x) {
case 4:document.write(“Es cuatro”);break;
case 8:document.write(“Es ocho”);break;
case 12:document.write(“Es doce”);break;
default: document.write(“No es ninguna de las anteriores”)
}
Hace falta poner la instrucción break ya que de otro cuando se encuentra el valor que
cumple la expresión, se ejecuta su “case” y los “case” siguientes.
11
Manual de referencia de JavaScript- Jorge Sánchez ’2003 12
Funciones y Objetos
funciones
introducción
Como en otros muchos lenguajes, en Javascript se pueden utilizar funciones. Las
funciones son una serie de instrucciones que realizan una determinada tarea. A las
funciones se las pone un nombre que luego puede ser utilizado en el código de la
página.
definición de una función
Antes de poder usar una función en el código de la página, se la debe definir; es decir,
se debe indicar qué operaciones son las que debe hacer la función. La definición de la
función es:
function nombredelafunción(argumento1, argumento2,...)
{
instrucciones que debe realizar la función
}
El código que está encerrado entre llaves indica lo que realiza la función (por ejemplo
mostrar un mensaje de ayuda), cada vez que desde el código se llame a la función, ésta
realizará sus instrucciones.
Por otro lado los argumentos son variables que algunas funciones necesitan para
realizar su tarea
llamar a una función
Para usar (invocar) una función en el script, basta con poner su nombre seguido de
los paréntesis.
Ejemplo:
function error() {
document.write(“<b>Ocurrió un error</B><BR>”);
}
En este caso se define una función que muestra texto en la posición actual del cursor.
Para utilizar esta función desde el código sería:
error();
Lo cual mostraría el mensaje de error. Otro ejemplo (página HTML completa):
<HTML>
<HEAD>
<TITLE>Titulo</TITLE>
12
Manual de referencia de JavaScript- Jorge Sánchez ’2003 13
<SCRIPT LANGUAGE=”JavaScript”>
<!--
function doblar(valor) {
return valor * 2;
//-->
</SCRIPT>
<BODY>
<SCRIPT LANGUAGE=”JavaScript”>
document.write(“El doble de 100 es ”,doble(100));
</SCRIPT>
</BODY>
</HTML>
En este caso la función doblar(), posee un argumento (valor), el cual es necesario ya
que esta función calcula el doble de ese número. Además esta función devuelve un
valor que el código puede utilizar, eso lo realiza la instrucción return, la cual sirve
para regresar un valor que el código puede mostrar o asignar a una variable.
funciones predefinidas
JavaScript trae consigo muchas funciones predefinidas. Señalamos aquí algunas de
las más importantes:
eval(textoCódigo ). La función eval tiene un único parámetro que es una
cadena de texto. Esta función hace que el texto sea interpretado como si fuera
código normal de JavaScript. Ejemplo:
eval(“alert(‘Hola’)”);
parseInt(textoNúmero, base). Convierte el texto (que debe tener cifras
numéricas) a formato de número. El segundo parámetro es opcional y representa
la base del número, ejemplo:
alert(parseInt(“110011”,2));//Sale 51
Si la conversión no es posible, devuelve el valor NaN (Not a Number) que indica
que la variable numérica posee un valor inválido
parseFloat(textoNúmero). Convierte el texto (que debe tener cifras
numéricas) a formato de número con decimales.
escape(texto). Muestra el código ASCII de los símbolos del texto. Cada número
en el resultado va precedido del símbolo % y el código ASCII sale en forma
Hexadecimal.
unescape(texto). Hace justo lo inverso del anterior. Devuelve los códigos que
representan los códigos ASCII en forma de texto que se le pasa como parámetro.
Ejemplo:
13
Manual de referencia de JavaScript- Jorge Sánchez ’2003 14
document.write(unescape(“%21%B1”));
// Escribe: ¡·
isNaN(expresión). Devuelve true si la expresión tiene un contenido no
numérico.
objetos
Los objetos son una de las bases fundamentales de JavaScript. Un objeto es una
agrupación de variables, que en ese caso se llaman propiedades, y de funciones, las
cuales se llaman métodos. Las propiedades definen las características de los objetos
y los métodos las operaciones que podemos hacer con él.
JavaScript posee muchos objetos predefinidos y también permite crear nuestros
propios objetos.
propiedades
Como ya se comentó anteriormente, los objetos poseen propiedades asociadas, para
acceder a ellas se utiliza el punto, en esta forma:
objeto.propiedad
Ejemplo, un objeto llamado miordenador que representa a un ordenador:
miordenador.marca=”HP”;
miordenador.procesador=”pentium III 900 Mhz”
miordenador.ram=64;
Las propiedades pueden ser de distintos tipos de datos; en el ejemplo la propiedad
ram es numérica, mientras que marca es de tipo texto.
métodos
Los métodos son funciones asociadas a los objetos. Su uso es:
objeto.metodo()
Donde el método además puede poseer parámetros.
operación new
La instrucción new sirve para crear nuevos objetos en el tiempo de ejecución del
código JavaScript. Ejemplo:
miordenador = new ordenador(“HP”, “Pentium III”, 64);
En este caso mi ordenador es un nuevo objeto de tipo ordenador, al indicar el tipo
de objeto que es, se le pueden pasar parámetros para rellenar sus propiedades.
14
Manual de referencia de JavaScript- Jorge Sánchez ’2003 15
objetos predefinidos
string
El objeto string sirve para manejar cadenas de texto. Cada vez que creamos una
variable de cadena, en realidad estamos creando una variable de tipo string. Por lo
tanto no será necesaria su declaración.
Métodos de String
anchor(nombre). Crea un marcador en el texto.
big(). Muestra la cadena de caracteres con una fuente grande.
blink(). Muestra el texto de modo intermitente.
bold().Muestra el texto en negrita.
charAt(n). Muestra el carácter situado en la posición n de la cadena.
fixed(). Muestra la cadena en fuente no proporcional.
fontcolor(color). Determina el color del texto.
fontsize(n). Muestra el texto en el tamaño n, donde n es un número del 1 al 7
(los 7 tamaños estándar).
indexOf(cadenaInterna,inicio). Devuelve la posición de la cadena interna
en el texto, teniendo en cuenta que el primer carácter es el número 0. El primer
parámetro es el texto que se busca; el segundo es opcional e indica desde qué
posición del texto comenzamos a buscar. Si no se encuentra la cadena interna, se
devuelve el valor –1. Ejemplo:
var cadena=”Miguel Indurain”
var subcadena=”Indurain”
alert(cadena.indexOf(subcadena))
/*El resultado será 7, ya que la primera posición del
texto (en este caso la ‘M’) es la 0.
italics(). Muestra el texto en cursiva.
lastIndexOf(cadenaInterna,inicio). Idéntico a indexOf sólo que en este
caso cuenta la última vez que aparece la cadena (en lugar de la primera vez como
hace indexOf).
link(URL). Crea un hipervínculo en la cadena de texto, el parámetro URL
indica el destino del vínculo.
small(). El texto se muestra con fuente pequeña.
strike(). Subraya el texto.
15
Manual de referencia de JavaScript- Jorge Sánchez ’2003 16
sub(). El texto va en subíndice.
substring(x,y). Muestra el fragmento de texto que va desde la posición x a la
posición y. Ejemplo:
var cadena="Miguelón Indurain";
var subcadena="Indurain";
alert(cadena.substring(5,11));
//Sale lón In
sup(). Superíndice.
toLowerCase(). Convierte la cadena a minúsculas.
toUpperCase().Convierte la cadena a mayúsculas.
Propiedades de string
length. Almacena el tamaño de la cadena de texto.
Math
El objeto Math tiene propiedades y métodos que representan valores matemáticos.
métodos de math
abs(n). Calcula el valor absoluto de n.
acos(n). Calcula el arco coseno de n.
asin(n). Calcula el arco seno de n.
atan(n). Calcula el arco tangente de n.
ceil(n). Redondea n a su valor superior.
cos(n). Calcula el coseno de n.
exp(n). Calcula en.
floor(n). Redondea n a su valor inferior.
log(n). Calcula el logaritmo de n.
max(x,y). Devuelve el mayor valor de x o y.
min(x,y). Devuelve el menor valor de x o y.
pow(x,y). Devuelve el xy.
random(). Genera un número aleatorio entre 0 y 1. Ejemplo:
alert(Math.random())
// Podría devolver por ejemplo 0.239230812349
16
Manual de referencia de JavaScript- Jorge Sánchez ’2003 17
round(n). Redondea n a el número más próximo.
sin(n). Calcula el seno de n.
sqrt(n). Calcula la raíz cuadrada de n.
tan(n). Calcula la tangente de n.
propiedades de math
E. Devuelve la constante de Euler o número e.
LN2. Devuelve el logaritmo neperiano de 2.
LN10. Devuelve el logaritmo neperiano de 10.
LOG2E. Logaritmo en base 2 de e.
LOG10E. Logaritmo en base 10 de e.
PI. Devuelve el número PI.
SQRT1_2. Raíz cuadrada de 0,5.
SQRT2. Raíz cuadrada de 2.
objeto Date()
Este objeto representa fechas y horas. JavaScript no permite trabajar con fechas
anteriores a 1970, ya que desde ese momento es cuando comienza a contar las fechas
en milisegundos. En los meses, el mes 0 será Enero, y el mes 11 es Diciembre. Los días
de la semana y del mes se cuentan desde el número 1 (Jueves = 4).
Para crear una variable de fecha se puede hacer de esta manera:
fecha=new Date();
//crea un nuevo objeto de fecha cuyo valor inicial serán
//la fecha y hora actuales
Si se desea iniciar una variable de fecha con valores distintos a la fecha actual, se
debe:
fecha=new Date(año, mes, día, hora, minutos, segundos”);
Todos los parámetros se pasan en forma de números. También se puede crear un
objeto de tipo fecha asignando el número de milisegundos desde 1970.
métodos de los objetos date()
getDate(). Devuelve el día del mes.
getDay(). Devuelve el día de la semana en forma de número.
17
Manual de referencia de JavaScript- Jorge Sánchez ’2003 18
getFullYear(). Devuelve el año, pero en forma de 4 números. Con esto se
asegura la compatibilidad con el año 2000. Está función se añadió al JavaScript
1.3, por lo que ciertos navegadores no podrán usarla.
getHours(). Devuelve la hora.
getMinutes(). Devuelve los minutos.
getMonth(). Devuelve el mes (con números del 0 al 11).
getSeconds(). Devuelve los segundos.
getTime(). Devuelve el número de milisegundos de la fecha, empezando a
contar desde 1970.
getTimezoneOffset(). Devuelve la diferencia en minutos entre la zona horaria
actual y la hora solar (GMT).
getYear(). Devuelve el año.
setDate(valor). Establece el día del mes.
setFullYear(valor). Establece el año (con cuatro cifras).
setHours(valor). Establece la hora.
setMinutes(valor). Establece los minutos.
setMonth(valor). Establece el mes (con un número del 1 al 11).
setSeconds(valor). Establece los segundos.
setTime(valor). Establece la fecha con el número de milisegundos desde el 1
de Enero de 1970.
setYear(valor). Establece el año.
toLocaleString(). Devuelve la fecha en formato de texto, según las
especificaciones de la zona horaria del ordenador.
objeto array
Los arrays (matrices) son elementos indispensables en la programación de
ordenadores. Un array es un conjunto de datos agrupados. Para acceder a cada
elemento individual de el array se usa un número de índice, el primer elemento
tendrá el índice 0. En el caso de los arrays de JavaScript, su uso es muy eficaz y
mucho más libre que en los lenguajes formales (como Pascal por ejemplo).
Para crear un array se hace:
nombrearray = new Array()
Esto crea un array de tamaño indeterminado.
18
Manual de referencia de JavaScript- Jorge Sánchez ’2003 19
Para rellenar los valores del array:
nombrearray[0] = valor;
nombrearray[1] = valor;
...
nombrearray[n] = valor;
Tras asignar valores el array se hace más grande. También se puede especificar su
tamaño al crearle:
nombreArray= new Array(tamaño)
O incluso asignar valores en la propia creación del array. Ejemplo:
equipos= new Array(“Real Madrid”, “F. C. Barcelona”);
Además un array puede tener distintos tipos de datos:
miOrdenador = new Array(“HP”, “Pentium III”, 64);
Y cada elemento de un array puede ser otro array:
elemento = new Array(8);
elemento[3] = new Array(5);
métodos del objeto array
concat(array). Agrupa dos arrays. Disponible desde la versión 1.2. Ejemplo:
a = new Array(12, 3, 5);
b = new Array(“Hola”, “Adios”);
c = a.concat(b);
//c es el array (12, 3, 5, “Hola”, “Adios”)
join(). Saca una cadena de texto que contiene todos los elementos del array:
a = new Array(“Rojo”, “Azul”, “Verde”);
b = a.join();
//b contiene “Rojo,Azul,Verde”
reverse(). Invierte el orden del los elementos de un array. El primero pasa a ser
el último y viceversa.
Sort(). Obtiene la matriz de manera ordenada.
Propiedades del objeto Array
length. Cuenta el número de elementos del array.
19
Manual de referencia de JavaScript- Jorge Sánchez ’2003 20
objetos del navegador
introducción
Los objetos del navegador son todos aquellos objetos que el navegador pone a nuestra
disposición para poder modificar los elementos de las páginas.
El problema es que Explorer y Navigator utilizan modelos de objetos distintos. En
este documento sólo se comentan los objetos y propiedades comunes. Los objetos
son:
navigator
Objeto que representa al navegador con el que el usuario está mostrando la página.
Gracias a este objeto se puede averiguar la marca y versión del navegador y utilizar
esta información en el código.
propiedades
appCodeName. Nombre del código del navegador. Todos los navegadores
devuelven la cadena Mozilla. Por lo que esta propiedad no es interesante.
appName. Nombre del navegador. Podrá ser: Microsoft Internet Explorer
o Netscape.
appVersion. Versión del navegador. La cadena que devuelve esta propiedad
indica la versión completa. Ejemplos:
Cadena devuelta por appVersion Navegador
4.0 (compatible; MSIE 6.0; Windows NT Explorer 6 para Windows 2000
5.0)
4.0 (compatible; MSIE 5.5; Windows NT Explorer 5.5 para Windows 2000
5.0)
4.0 (compatible; MSIE 6.0; Windows Opera 6 para Windows 2000
2000)
5.0 (Windows; es-ES) Netscape 6 en español
4.75 [en] (Windows NT 5.0, U) Netscape 4.75
4.5 [es] C-CCK-MCD (WinNT;I) Netscape 4.5
language o browserLanguage. language es una propiedad que sólo
funciona con Netscape, mientras que browserLanguage sólo funciona con
Explorer. Pero ambas devuelven el lenguaje del navegador. En ambos casos las
dos primeras letras que devuelven son el lenguaje del navegador (es=Español;
en=Inglés, por ejemplo).
platform. Contiene el tipo de sistema operativo del ordenador del usuario.
Win32 indicaría un sistema Windows 95/98/Me/NT/2000. Otros valores son:
Win16 (Windows 3.1 y anteriores) Mac68x (McIntosh clásico) MacPPC
20
Manual de referencia de JavaScript- Jorge Sánchez ’2003 21
(McIntosh Power PC) y varios resultados que empiezan por Unix (sistemas
Unix).
userAgent. Devuelve información sobre la versión, código y nombre del
navegador. Su salida no aporta nada nuevo respecto a las anteriores propiedades.
Ejemplos:
Cadena devuelta por userAgent Navegador
Mozilla/4.0 (compatible; MSIE 6.0; Explorer 6 para Windows 2000
Windows NT 5.0)
Mozilla/4.0 (compatible; MSIE 5.5; Explorer 5.5 para Windows 2000
Windows NT 5.0)
Mozilla/4.0 (compatible; MSIE 5.0; Opera 6 para Windows 2000
Windows 2000) Opera 6.0 [es]
Mozilla/5.0 (Windows; U; Windows NT Netscape 6.21 en español
5.0; es-ES; rv:0.9.4) Gecko 20011128
Netscape6/6.21
Mozilla/4.75 [en] (Windows NT 5.0, U) Netscape 4.75
Mozilla/4.5 [es] C-CCK-MCD (WinNT;I) Netscape 4.5
screen
Objeto disponible desde la versión 1.2 de JavaScript (navegadores 4 o superiores).
Permite acceder a las propiedades de la pantalla del usuario.
propiedades
width y height. Respectivamente, anchura y altura total de la pantalla.
availWidth y availHeight. Respectivamente, anchura y altura disponible en la
pantalla tras restar la barra de tareas del sistema operativo. Esta medida no es
muy exacta ya que no tiene en cuenta la personalización del usuario.
colorDepth. Número de bits por píxel que utiliza la pantalla.
window
Este objeto, representa a la ventana en la cual se ve la página web. En el caso de que la
página tenga marcos, se generan tantos objetos window como marcos haya.
propiedades
closed. Valor booleano que indica si una ventana ha sido cerrada.
defaultStatus. Texto que la barra de estado mostrará cuando se cargue la
página web (texto por defecto de la barra de estado).
frames. Array que representa a todos los marcos de la ventana.
21
Manual de referencia de JavaScript- Jorge Sánchez ’2003 22
history. Es un objeto (se verá más adelante) que representa las enlaces a las
páginas a las que el visitante había accedido antes de llegar a la ventana actual.
location. Objeto que almacena información sobre el URL de la página actual.
name. El nombre de la ventana.
parent. Ventana “padre” de la actual. Si la actual es un marco, parent será la
página con etiqueta <FRAMESET>.
self. Se refiere a la propia ventana activa.
top. Ventana superior del navegador.
status. Mensaje de la barra de estado.
window. Igual que self.
métodos
open(URL,nombreVentana,opcionesVentana). Abre una nueva ventana
cuyo contenido se especifica por la URL a una página (este parámetro puede
quedar vacío “”), se indica un nombre y, opcionalmente, una serie de opciones
entre comillas y separadas por comas. Estas opciones son (Netscape tiene
algunas opciones más que aquí no hemos listado):
• toolbar. Indica con yes o no si se muestra la barra de herramientas.
• location. Muestra o no la barra de dirección.
• directories. Muestra o no los botones de directorio.
• status. Permite mostrar u ocultar la barra de estado.
• menubar. Mostrar o no la barra de menús.
• scrollbars. Indica si se muestran las barras de desplazamiento.
• resizable. Permite ajustar el tamaño de la ventana.
• width. Ancho de la ventana en píxeles.
• height. Altura de la ventana en píxeles.
• copyHistory. Permite copiar el historial de páginas recorridas a la nueva
ventana.
Ejemplo:
nuevaVentana=open(“”,”nueva”,”toolbar=no,menubar=no,
scrollbars=no,location=”no,width=180,height=60”);
close(). Cierra la ventana.
22
Manual de referencia de JavaScript- Jorge Sánchez ’2003 23
blur(). Hace la ventana deje de estar activa (a esta acción se la llama perder el
foco).
focus(). Hace que la ventana sea la ventana activa (la que tiene el “foco”).
setInterval(expresiónjavascript,milisegundos).. Crea un temporizador.
El temporizador es un reloj que cada ciertos milisegundos (los que se indiquen
como segundo parámetro, realiza la tarea indicada en el argumento expresión. La
expresión es código JavaScript el cual se coloca entre comillas, normalmente este
código es simplemente la invocación a una función. este función devuelve un
número de temporizador (ya que se pueden crear varios) el cual deberá
almacenarse en una variable para posteriores manipulaciones. Ejemplo:
var tempID;
tempID=setInterval(“dibujaCirculo();”,1000ms);
//Hace que cada segunda se llame a la función
dibujaCirculo().
clearInterval(idTemporizador). Cancela el tiempo de espera establecido
mediante setInterval.. Al llamar a este método hay que indicar como
parámetro el número de temporizador que se desea detener.
setTimeout(expresiónjavascript,milisegundos). Muy similar a
setInterval. Cuando pasan los milisegundos invocados, se ejecuta el código del
parámetro expresiónJavascript (el cual va entre comillas). La diferencia con
setInterval es que en este caso sólo se usa el código una vez, no continuamente
como ocurre con setInterval. El método devuelve un número que debe
almacenarse en una variable.
clearTimeout(idTimeOut). Anula el temporizador establecido anteriormente
con setTimeOut.
alert(), confirm(), prompt(). Métodos de mensajes (vistos en tema anterior).
location
Objeto incluido dentro del objeto window. Almacena información sobre la
localización de la página de la ventana y por tanto permite cambiar dinámicamente la
página web que se está mostrando.
propiedades
href. Especifica la dirección URL de la ventana (por ejemplo:
http://www.uva.es/problemas/ex1.htm#marca1”)
hostname. Especifica la parte del URL en la que va el nombre del host
(www.uva.es)
host. Idéntico al anterior, sólo que al final se indica el número de puerto
utilizado (www.uva.es:80)
23
Manual de referencia de JavaScript- Jorge Sánchez ’2003 24
pathname. Especifica la parte del URL en la que va la ruta al recurso (en el
ejemplo: /problemas/ex1,htm”)
port. Puerto utilizado para mostrar la página (generalmente el 80).
hash. Indica qué marcador de la página se utilizó al abrir la misma, si no se usó
ninguno aparece vacío (en el ejemplo sería marca1).
protocol. Parte referida al protocolo de la URL (en el ejemplo http).
search. La parte de una URL que va detrás del signo ?. Sólo ciertas páginas
llevan este signo (en concreto las páginas que llaman a CGIs).
métodos
replace(URL). Carga una nueva página en la ventana actual indicando su URL
entre comillas y además también reemplaza a la página anterior en la lista del
historial. Esto último es la única diferencia entre usar este método y cambiar la
dirección directamente en la propiedad href del objeto location.
reload(). Hace que se vuelva a recargar la página.
document
Este objeto representa al contenido de una página web. Está incluido dentro del
objeto window.
propiedades
bgColor. Color del fondo
fgColor. Color del texto.
linkColor. Color de los enlaces normales.
vlinkColor. Color de los enlaces visitados
alinkColor. Color de los enlaces activos.
images. Array que contiene todas las imágenes del documento. El índice del
array empieza por 0, la imagen document.images[0] será la primera que se
utilizó en el código. Ejemplo:
document.images[0].src =”grafico2.gif”
//Hace que la primera imagen muestre el gráfico
//“grafico2.gif”
También se puede usar cada imagen en lugar de por el número, por el nombre
(atributo NAME de la etiqueta IMG). Ejemplo:
document.images[“imagen1”}.src=”grafico2.gif”
24
Manual de referencia de JavaScript- Jorge Sánchez ’2003 25
//imagen1 debe ser el nombre exacto de la imagen a
//cambiar.
links. Array que contiene todos los enlaces que usan el atributo HREF. El orden
de los enlaces en la matriz es el orden de uso en el código (el primer enlace en el
código será document.links[0].) Ejemplo:
document.links[0].href =”http://www.hola.com”
//hace que el primer enlace del documento apunte a la
dirección www.hola.com
lasModified. Fecha de última actualización del documento en forma de cadena
de texto. Algunos servidores no proporcionan este dato.
URL. URL del documento. Es idéntico a utilizar location.href.
cookie. Escribe o lee el archivo de cookies de la página web. Un archivo de
cookies sirve para guardar información sobre el usuario en su propia máquina,
con esta propiedad se permite hacerlo
métodos
clear(). Borra el documento.
write(textoHTML). Escribe el texto indicado en el documento. Ese texto puede
contener si se desea etiquetas HTML
writeln(textoHTML). Lo mismo que la anterior, sólo que esta añade un salto
de línez tras escribir el texto.
close(). Cierra el documento.
history
Objeto que representa a las direcciones de las páginas que se almacenan en el
historial del navegador. Este objeto está dentro del objeto window.
propiedades
length. Número de páginas almacenadas actualmente en el historial.
métodos
back(). Hace que la ventana muestre la página visitada anteriormente.
forward(). Hace que la ventana muestre la página siguiente.
go(no). Hace que se muestre la página del historial indicada con un número. De
modo que history.go(-1) muestra la página anterior y history.go(-3) hace que
se muestre la página antepenúltima.
25
Manual de referencia de JavaScript- Jorge Sánchez ’2003 26
image
Objeto que representa una imagen en el documento definida con la etiqueta HTML
<IMG> o con el código JavaScript new Image. Todas las imágenes del documento
están contenidas en la matriz de imágenes document.images (ver anteriormente).
propiedades
Son las mismas que los atributos de la etiqueta IMG del HTML, por eso sólo se
comentan:
border
height
hspace
lowsrc
name
src
vspace
width
Ejemplo:
var imagenAtras = new image(120,87);
//nueva imagen con ancho=120 y altura=87
imagenAtras.src=”dibujogris.gif”;
//la imagen muestra el archivo dibujogris.gif
link
Representa cada enlace de la página creado con la etiqueta A. El array
document.links contiene todos los enlaces del documento, de forma que
document.links[0] será el primer enlace escrito en el código.
propiedades
href. Especifica la dirección URL de Internet del enlace (por ejemplo:
http://www.uva.es/problemas/ex1.htm#marca1”)
hostname. Especifica la parte del URL en la que va el nombre del host
(www.uva.es)
host. Idéntico al anterior, sólo que al final se indica el número de puerto
utilizado (www.uva.es:80)
pathname. Especifica la parte del URL en la que va la ruta al recurso (en el
ejemplo: /problemas/ex1,htm”)
26
Manual de referencia de JavaScript- Jorge Sánchez ’2003 27
port. Puerto utilizado para mostrar la página (generalmente el 80).
hash. Indica qué marcador de la página se utilizó al abrir la misma, si no se usó
ninguno aparece vacío (en el ejemplo sería marca1).
protocol. Parte referida al protocolo de la URL (en el ejemplo http).
search. La parte de una URL que va detrás del signo ?. Sólo ciertas páginas
llevan este signo (en concreto las páginas que llaman a CGIs).
target. Indica el destino del enlace (propiedad TARGET de la etiqueta A),
interesante sobre todo si la ventana tiene marcos.
27
Manual de referencia de JavaScript- Jorge Sánchez ’2003 28
eventos
introducción
Un evento es un suceso que ocurre cuando el usuario realiza alguna acción. Por
ejemplo cuando el usuario pasa el ratón encima de un objeto de la página, cuando
pulsa una tecla,... Incluso algunos eventos no los produce el usuario, sino el
navegador, como por ejemplo la carga de la página.
Los eventos se colocan en etiquetas de HTML (no todas tienen capacidad para
capturar eventos y además nuevamente no son las mismas en Netscape que en
Explorer), de esta forma:
<etiquetaHTML atributos...
nombredeEvento=”expresiónJavaScript”>+
De tal forma que cuando se produce el evento en cuestión, se ejecuta el código en
JavaScript que está entre comillas. Ejemplo:
<A HREF=”cities.htm” onMouseClick=”alert(‘Pulsaste!’);”>
//Cuando el usuario pulsa en el mensaje, aparece un cuadro
//de alerta que pone “Pulsaste!”
lista de eventos
Los eventos son iguales en Netscape y en Explorer, sin embargo no se aplican a los
mismos objetos, hay más objetos en Explorer que en Netscape que permiten capturar
eventos. La lista sólo incluye los compatibles en ambos.
onClick
Se produce cuando el usuario hace clic en el objeto. Sólo los vínculos y los botones de
los formularios permiten capturar este evento en ambos navegadores.
onDblClick
Se genera cuando el usuario hace doble clic con el ratón. Sólo los vínculos admiten
este evento en ambos navegadores.
onMouseOver
Se produce cuando el usuario pasa el cursor por encima del objeto. Sólo los vínculos
permiten este evento en ambos navegadores.
onMouseOut
Ocurre cuando el usuario abandona el objeto. Sólo los vínculos permiten este evento
en ambos navegadores.
28
Manual de referencia de JavaScript- Jorge Sánchez ’2003 29
onMouseDown
Se produce cuando el usuario mantiene pulsado el botón principal del ratón a la vez
que se sitúa encima de un objeto. Funciona en los vínculos, en los botones y en las
imágenes.
onMouseUp
Ocurre cuando el usuario levanta el botón del ratón. Funciona en los mismos casos
que el anterior.
onMouseMove
Sucede cuando el usuario mueve el ratón. En Netscape ninguna etiqueta lo admite.
onKeyDown, onKeyPress y onKeyUp
Ocurren respectivamente cuando el usuario pulsa una tecla, cuando la mantiene
pulsada y cuando la suelta. Tienen poca utilidad y pocas etiquetas los admiten.
onLoad
Se produce cuando la página se está cargando. La etiqueta BODY es la idónea para
este evento.
onUnload
Se produce cuando la página se está descargando, porque se está cargando otra o
porque se cierra el navegador. La etiqueta BODY es la idónea para este evento.
onResize
Ocurre cuando se cambia el tamaño de la ventana. La etiqueta BODY o la FRAME son
las que manejan este evento.
onBlur
Se produce cuando un objeto pierde el foco (deja de ser el objeto activo). La etiqueta
BODY, los botones, cuadros de formulario y los enlaces admiten esta propiedad.
onFocus
Sucede cuando un objeto gana el foco (pasa a ser el objeto activo). La etiqueta BODY,
los botones, cuadros de formulario y los enlaces admiten esta propiedad.
onAbort
Se produce si el usuario pulsa el botón Detener mientras se estaba cargando una
imagen. La etiqueta IMG es la que maneja este evento.
onError
Se produce cuando ocurre un error. Casi todas lo permiten, no obstante su uso no
parece muy interesante.
29
Manual de referencia de JavaScript- Jorge Sánchez ’2003 30
onChange
Se produce cuando el usuario cambia el contenido de un cuadro de texto de un
formulario.
onSelect
Ocurre cuando el usuario selecciona texto de un cuadro del formulario.
onSubmit
Ocurre cuando un formulario es enviado a su servidor. Es pues un evento de la
etiqueta FORM.
onReset
Sucede cuando un formulario es anulado mediante su botón Reset. Es pues un
evento de la etiqueta FORM.
30
Taller numero 2 HTML y Javascript.
Peso: 7 puntos.
Elaborar 2 paginas HTML, una para gestionar profesores y la otra para editar profesores.
1. Contenido de la pagina gestionar profesores:
Titulo, lista de profesores, un checkbox por cada profesor en la lista, boton agregar, boton modificar, boton eliminar, boton salir.
acciones al presionar los botones:
Boton agregar: redirecciona a la pagina editar profesor.
Boton modificar: redirecciona a la pagina editar profesor.
Boton eliminar: muestra un mensaje de confirmacion, preguntando si realmente se desean eliminar los registros seleccionados, si el usuario selecciona si, muestra un mensaje indicando que se eliminaron los registros.
Boton salir: Cierra la pagina.

1. Contenido de la pagina editar profesor: titulo, campos de entrada de datos para el profesor (cedula, nombres, apellidos, sexo, cargo, fecha de nacimiento, profesion), boton guardar y boton regresar.
acciones al presionar los botones:
Boton guardar: muestra un mensaje indicando que los datos seran salvados y redirecciona a la gestionar profesores.
Boton regresar: Muestra un mensaje de confirmacion, preguntando si realmente desea salir sin guardar los cambios, si el usuario confirma, redirecciona a la pagina gestionar profesores.

Fecha de entrega: Domingo 21 de Marzo. Saludos.

Cualquier duda coloquenla en el blog sin ningun problema, saludos.

Monday, March 15, 2010

LEPIV - Unidad 3 - Taller - Evaluacion


18.186.060 Jorge Freites 4
17.554.101 Jose Ramon 4
14755793 Frank Díaz 1
18.328.691 Luis Cedeño 4
19.513.098 Jorge Manzanilla 4
18.932.624| Angela Rincon 4
17.459.323 Jorge Espinoza 4
14.386.865 Jorge Rincones 4
19.477.653 Nikolai Mendoza 4
19.199.492 Argenis Navarro 4
19.290.843 Victor Medina 4
19.558.814 Labrador Miguel 4
18.189.229 Lepage Onas 4
19.933.194 Mena Anthony 4
20.303.568 Puentes Lusayaniris 4
18.366.598 Vaneska Ladera 4
18.995.811 Alejandro Moreno 4
18.830.527 Luis Torres 4
19.334.251 Juan León 4
18.026.948 Ana Karina Davila 4
20.028.356 Barbara Calichio 4
17.907.887 Horacio Lozada 4
18.935.170 Julio Rodriguez 4
19.994.504 Acosta Maria 4
17.751.187 Lo Huang, Susana 4
18.002.854 Mendoza, José 4
19.671.414 Vivenzio, Victor 4
Keyla Monagas 4
Omar Zavarce 4
Ricardo Gonzalez 4
Jose David Rey 4
18994868 Johana uray 4
19650448 Daniela Rincones 4
19548535 Fabiana Contreras 4



Una observacion general, casi todos los alumnos, solo una excepciones colocaron la funcion que hacia el calculo recusivo tipo int, lo cual es incorrecto, observar que dentro de la funcion hay una division, por lo tanto la misma debe ser de tipo float o double, sin embargo no les quite nota por esto, pero deben tenerlo presente. Saludos.

Evaluacion - Taller 3 - ADS 2


18445028 Aguilar Ferrerira, Jorge Luis
13246751 Andrade, Carlos Antonio
19830859 Arango Sarmiento, Sergio Ivan
18275282 Bastardo Indira, Alejandra
17184365 Borges Parra, Dilmary
18603200 Borrero Sierra, Joan Manuel
16524706 Caripaz Rangel, William Ramon 3
16554536 Chavez Velez, Victor Daniel 3
17639662 Colmenares Briceño, Pedro Antonio 3
12057367 Dacasa Briceño, Jorge Luis
14897149 Diaz Gonzalez, Jonathan Jesus
18040274 Dugarte Garcia, Maria Fernanda
17390224 Duno Vaamonde, Johan Antonio
19509149 Duran , Oswaldo Andres
20589242 Duran Alcala, Yuliany Katherine 4
16812857 Espinoza Garcia, Rosana Daniela
18276271 Freites Machado, Hendry Jose
17424527 Galan Teran, Saul Enrique 4
18030630 Garcia Rodriguez, Raquel Jeniree 4
18222769 Gonzalez Barazarte, Joyner Jose
19513269 Gonzalez Garcia, Ivan Daniel 3
13985862 Gonzalez Gonzalez, Orlando Antonio 4
10522795 Hernandez Meza, Carlos Humberto
18365231 Isturiz Bandres, Leirvin Yorkis
20303754 Marin Echeverria, Rosvany Mylener
18245555 Martinho Briceño, Daniela Alejandra
16223197 Mata Valera, Karla Lorena 4
20033294 Medina Rivas, Jurianmig Vanessa 3
18466662 Morales Rojas, Diego Alejandro
17855860 Moreno Echarry, Francisco Javier
11569066 Moreno Martinez, Ana Maria 4
17438578 Nava Angulo, Victor Eduardo 2
19044477 Nuñez Rodriguez, Jorge Eduardo 4
19086781 Orozco Bermudez, Olger Alirio
19195982 Palma Palma, Maria Manuela 3
17400478 Peña Padilla, Iris Leonor 4
16904437 Pinto Echeverria, Ross Mary 3
18818594 Placeres Sanabria, Andres Eduardo
15838292 Ramirez Molina, Luis Alberto
18836319 Rivas Estrada , Hector Jose 3
23708308 Soledispa Intriago, Ernesto Eduardo 3
17146145 Spinelli Mutuberria, Javier Enrique 3
18275358 Valiña De Castro, Deisy Carolina 3
17964820 Vargas Ontiveros, Katheleen Maria
19371962 Zambrano Moreno, Andres Alejandro
24999286 Zea Liendo, Ana Patricia 3
Loyo Migdalis (No sale en lista)
Bazurto Junior (No sale en lista) 3
Paredes Gabriel (No sale en lista)
Mansilla Tamara (No sale en lista) 4

LEP III - Unidad 2 - Teoria - HTML

El HTML (Lenguaje de Marcado de Hipertexto) es el más utilizado en la actualidad para la elaboracion de paginas Web, el mismo debe ser definido bajo una cierta estructura y las etiquetas HTML se colocan entre corchetes angulares <>, algunas etiquetas deben definir un cominezo y un fin como por ejemplo <body> </body>, mientras que otras solo se colocan una vez, como por ejemplo <br>.

La estructura basica de una pagina HTML es etiquetas HTML que indican el comienzo y el fin de todo el documento, las etiquetas HEAD, TITLE, y BODY, que indican respectivamente cabecera, titulo y cuerpo de la paginas.

Ejemplo:

<HTML>
<HEAD>
<TITLE>Titulo</TITLE>
</HEAD>
<BODY> Cuerpo</BODY>
</HTML>

El lenguaje HTML es muy amplio, aqui podemos encontrar la especificación completa del mismo Especificacion HTML, sin embargo en el curso nos enfocaremos en los elementos de mayor importancia para nuestro caso.

Formatear texto:

Negrita <B> Texto en negrita</B>
Cursiva <I> Texto en cursiva</I>
Subrayado <U> Texto subrayado</U>
Preformateado <PRE> Mantiene el formato con que fue escrito, espacios, tabuladores, etc.</PRE>


Parrafos:

Nuevo párrafo (dos espacios) <P>
Línea horizontal <HR>
Salto de línea (un espacio) <BR>


Hipervinculos:
<A HREF="URL">Texto del vínculo</A>

Imagenes:
<IMG SRC= "Nombre de la imagen" >

Tablas:
Las tablas estan compuestas por las etiquetas que definen una tabla "table", las etiquetas que
definen una fila "tr", las que definen una columna de principal o de cabecera "th", las que
definen una celda "td".

De esta forma la estructura general de una tabla quedaria:


<table>
<tr><th>celda principal 1</th><th>celda principal 2</th><td>celda principal 3</th></tr>
<tr><td>celda 1,1</td><td>celda 1,2</td><td>celda 1,3</td></tr>
<tr><td>celda 2,1</td><td>celda 2,2</td><td>celda 2,3</td></tr>
</table>


Adicionalemnte a las tablas se les puede colocar varios atributos, importante border="numero"
donde o indica, sin borde, y 1, 2, 3, .. el ancho del borde.

A las celdas se les puede colocar el atributo colspan='numero' donde indica el numero de
columnas que abarca dicha celda.


Campos de entrada de datos:


Existen diversos tipos de campos de entradas de datos, se definen con la etiqueta "input", con el atributo
type de esta etiqueta se define el tipo, el cual puede ser:

text = Campo de entrada de texto
password = Password, coloca * cada vez que se coloca un caracater.
checkbox = Seleccion simple (Caja)
radio = Seleccion simple (Circulo)
submit = Envia los datos de la forma HTML.
reset = Blanquea los campos de entrada de datos en la forma HTML.
file = Para cargar archivos.
hidden = Campo oculto
image = Imagen
button = Boton


Combos de seleccion multiple:


Los combos de seleccion multiple, se usan para seleccionar uno o mas valores entre los mostrados
en el combo, estos se colocan con la etiqueta "select" para indicar un combo, y las etiquetas
option por cada opcion que tenga el combo, en la etiqueta select se puede colocar el atributo
multiple, para indicar que es de seleccion multiple (presionando ctrl) y el atributo size='valor'
para indicar que cuantas opciones se muestran en el select.


Formas HTML:

Se usan para contener la informacion que sera enviada al hacer submit, dentro de las formas HTML
se deben colocar los campos de entrada de datos que se usaran para enviar al servidor, para
por ejemplo ser almacenados en BD, pero, estas seran mas utiles cuando trabajemos con PHP.

Ahora como hacemos una pagina HTML? basicamente creamos un archivo de texto, con en block de notas
o con el notepad++, luego colocamos las correspondientes etiquetas, luego lo salvamos, pero en vez
de colocar extension .txt al archivo, le colocamos extension .html, esto es todo, si queremos
seguir editando el archivo, lo abrimos con el block de notas, si queremos visualizarlo como un
html, basta con abrilo con un navegador Web (Firefox, Internet Explorer, Chrome, Opera, netscape, etc...)

Ahora un ejemplo con varias de las etiquetas vistas:

<HTML>
<BODY>
<table border = '0'>
<tr><th colspan='2'>Datos del alumno</th></tr>
<tr><td>Cedula</td><td><input type='text'></td></tr>
<tr><td>Sexo</td><td><select type='text'>
<option value=''></option>
<option value='M'>Masculino</option>
<option value='F'>Femenino</option>
</select></td></tr>
<tr><td align='center'>
<input type='button' value='Guardar'> <input type='button' value='Salir'></td></tr>
</table>
</BODY>
</HTML>


Actividad sin nota, continue el ejemplo anterior, colocando mas datos, usando otros tipos de campos de entrada de datos,
y agregue el boton imprimir.

Wednesday, March 10, 2010

ADSII - Unidad 3 - Teoria y Taller

Clases del Análisis

Cuando capturamos los requisitos funcionales a traves de la descripcion de un caso de uso, indicamos como debe ser la interacion entre el usuario y el sistema que estamos desarrollando, esta descripción a nivel de casos de uso, la hacemos desde el punto de vista del usuario, es decir, decimos qué debe hacer el sistema, mas no indicamos cómo debe hacerlo.

Una vez elaborada la descripcion de un caso de uso, el siguente paso consiste en iniciar la etapa de análisis, para esto debemos obtener una primera vision abstracta de la arquitectura del sistema en desarrollo, esto lo haremos indicando como se llevan a cabo cada uno de los casos de uso del sistema en terminos de clases del análisis, las cules en estapas posteriores se detallaran más para convertirse en clases de diseño.

Las clases de análisis las obtendremos a partir de la descripción de los casos de uso, identificando aquellos objetos que interactuan o colaboran para llevar a cabo cada caso de uso, pero en este caso nos enfocaremos en los aspectos internos del sistema, es decir ahora si nos enfocaremos en el punto de vista del analista del sistema, más que desde el punto de vista del usuario.

Luego de identificar las clases del analisis, el siguiente paso es categorizarlas, una clase del análisis del análisis pertence a uno de los estereotipos de: interfaz, control o entidad.

Clases del análisis interfaz: Son a traves de las cuales interactuan el usuario y el sistema, bien sea para que el usuario solicite un comportamiento al sistema, o bien sea para que el sistema muestre informacion al usuario. Sabido esto, podemos decir que las clases de analisis tipo interfaz representan: Botones, Pantallas, Ventanas, Cuadros de Dialogos, Reportes (Impresos o por pantalla), formularios, listas con opciones, etc..

Clases del análisis entidad: Son aquellas que se usan para almacenar información de larga vida en el sistema, por lo general persistentes, por esto representan los objetos que seran almacenados en base de datos o archivos, y sobre los cuales se sustentara el sistema.

Clases del análisis tipo control: Una clase de diseño que no sea ni interfaz, ni entidad es una clase tipo control, son aquellas que se usan para la logica de negocio, calculos, servicios de persistencia, busquedas, almacenamiento, procesos, etc.


Reglas generales;

El actor solo puede interactua con clases tipo interfaz.
Una clase interfaz nunca puede interactuar directamente con una clase entidad, debe haber una clase de control de por medio.
Se debe colocar una descripcion a cada clase de analisis, indicando la intension, qué hace o para que se usa dicha clase.

Ahora, hagamos a manera de ejemplo un ejercio de identificar y clasificar las clases del analisis para el caso de uso “generar reporte de notas”. A continuacion, solo el cuerpo de dicho caso de uso.











Curso normal
Accion del actorRespuesta del sistema
1. El caso de uso inicia cuando el actor seleccióna la opcion reporte de notas1. Muestra combos desplegables para seleccionar el año y seccion, y los botones generar reporte y salir
2. Selecciona un año2. Acepta el año seleccionado
3. Selecciona una sección3. Acepta la sección seleccionada
4. Presiona el boton Generar Reporte4. Valida que haya un año y una seccion seleccionada.
4.1 Si no habia un año y una sección seleccionados, muestra un mensaje de error.
4.2 Si habia un año y una sección seleccionados, busca los datos de ese año y esa seccion, e imprime el reporte de notas por sección
Curso Alterno
Accion del actorRespuesta del sistema
1. Presiona el botón salir1. Finaliza el caso de uso


Respuesta:
Clases de analisis:
Interfaz:
Pantalla principal reporte de notas.
Boton generar reporte.
Boton salir.
Mensaje de error en validacion.
Reporte de notas por sección.
Combo año. (Opcional, ya que no hace mucho al ser seleccioando)
Combo sección. (Opcional, ya que no hace mucho al ser seleccioando)

Control:
Validar combos.
Buscar datos.
Generar reporte.
Finalizar funcionalidad.

Entidad:
Oferta academica.
Sección.
Asignatura.
Alumno.

PD: No se coloco la descripcion, pero se debe hacer , algo breve.

Taller:
Obtener las clases de analisis para el caso de uso, inscribir asignaturas, descrito en clases anteriores. En este caso de uso, el actor tenia que seleccionar de una lista de asignaturas las que deseaba inscribir, el sistema validaba las asignaturas, si era valido, guardaba las inscripciones, mostraba un reporte con las materias inscritas y el monto a pagar, si no era valido mostraba un mensaje de error. Debe colocar tambien el cuerpo del caso de uso en el taller.

Fecha de entrega: Domingo 14 de Marzo.

Tuesday, March 9, 2010

LEPIV - Unidad 3 - Teoria y Taller.

Recursividad:

La recursividad es una tecnica usada en programación a través de la cual un proceso de define sobre si mismo, en terminos de programación, se repiten un conjunto de sentencias en un método a través de llamadas sucesivas a si mismo, es util cuando tenemos un problema que puede ser subdividido en instancias mas pequeñas de si mismo, hasta llegar a la solucion explicita de las instancias mas simples, conocidas como casos base. En el curso haremos uso de la recursividad, para iterar (Ejecutar un conjunto de sentencias) o para la solucion de series numericas.
Ejemplos:
1) Mostrar por pantalla los numeros del 1 al 10, usando recursividad.
Solucion:
public class Recursiva1() {
public void mostrarNumero(int n) {
if (n > 0 && n <=10) {
System.out.println(n);
mostrarNumero(n + 1);
}
}
}

public class Principal() {
public static void main (String args[]) {
Recursiva1 rec = new Recursiva1();
rec.mostrarNumero(1);
}
}

En este ejemplo, observamos que tenemos dos clases, una con el metodo recursivo, y otra con el metodo main, adicionalmente si bien el metodo recursivo se llama desde adentro a si mismo, este necesita una primera llamada desde afuera para iniciarse, la cual estamos haciendo desde el la clase con el metodo main.

2) Resolver la siguiente serie numerica aplicando recursividad.

Una serie numerica es una funcion definida para un subconjunto de los numero naturales en la cual cada elemento se obtiene a partir de uno o varios elementos previos, y que cuenta con uno a varios casos bases.

Ejemplo:

Sea la serie f(n) = 2 si n = 1, f(n) = f(n - 1) + n si n > 1. Obtenga el valor de f(5).

Observamos que tenemos un caso base f(n) = 2 si n = 1, es decir f(1) = 2. Y tenemos el caso general f(n - 1) + n si n > 1, entonces procedamos a calcular el valor de f(5), pero este se calcula en funcion de f(4), el cual a su vez se calcula a partir de f(3), quien a su vez a de f(2), quien se calcula a partir de f(1) el cual es el caso base, entonces procedamos.

f(1) = 2. Caso base.
f(2) = f(1) + 2 = 2 + 2 = 4. // caso general.
f(3) = f(2) + 3 = 4 + 3 = 7. // caso general.
f(4) = f(3) + 4 = 7 + 4 = 11. // caso general.
f(5) = f(4) + 5 = 11 + 5 = 16. // caso general.

De esta forma obtenemos que f(5) = 16.
Ahora como implementar esto usando recursividad?
Sencillo, un metodo y ya.

public class Recursiva2() {
public int calcularSerie(int n) {
if (n == 1) {
return 2;
} else if (n > 1) {
return n + calcularSerie(n - 1);
} else { // Pasaron un valor negativo por parametro
return -1;
}
}
}

public class Principal() {
public static void main (String args[]) {
Recursiva2 rec = new Recursiva2();
int num = 5;
int valor = rec.calcularSerie(num);
System.out.println("Para f = " + num + " la serie vale " + valor);
}
}

Taller: Para ser entregado el sabado 13 de Marzo, cualquier duda colocar en el blog.

Dada la siguiente serie numerica, obtener f(n) para n un numero aleatorio entre 5 y 15.

f(n) = 2 si n = 1, 3 si n = 2
f(n) = f (n-1) + f (n-2), si n > 2 y par
f(n) = f (n-1) + f (n-2)/n, si n > 2 e impar

Monday, March 8, 2010

LEPIV - Unidad 1 y 2 - Notas Evaluacion

18.186.060 Jorge Freites ***** 18
17.554.101 Jose Ramon ***** 18
14755793 Frank Díaz ***** 10
18.328.691 Luis Cedeño ***** 05
19.513.098 Jorge Manzanilla ***** 05
18.932.624| Angela Rincon ***** 20
17.459.323 Jorge Espinoza ***** 20
14.386.865 Jorge Rincones ***** 20
19.477.653 Nikolai MEndoza ***** 20
19.199.492 Argenis Navarro ***** 20
19.290.843 Victor Medina ***** 20
19.558.814 Labrador Miguel ***** 17
18.189.229 Lepage Onas ***** 17
19.933.194 Mena Anthony ***** 17
20.303.568 Puentes Lusayaniris ***** 17
18.366.598 Vaneska Ladera ***** 18
18.995.811 Alejandro Moreno ***** 18
18.830.527 Luis Torres ***** 18
19.334.251 Juan León ***** 18
18.026.948 Ana Karina Davila ***** 05
20.028.356 Barbara Calichio ***** 05
17.907.887 Horacio Lozada ***** 05
18.935.170 Julio Rodriguez ***** 05
19.994.504 Acosta Maria ***** 20
17.751.187 Lo Huang, Susana ***** 20
18.002.854 Mendoza, José ***** 20
19.671.414 Vivenzio, Victor ***** 20
Keyla Monagas ***** 20
Omar Zavarce ***** 20
Ricardo Gonzalez ***** 20
Jose David Rey ***** 20
18994868 Johana uray ***** 15
19650448 Daniela Rincones ***** 15
19548535 Fabiana Contreras ***** 15


Señores se los avise:
- Los trabajos de:
1) Ana karina, barbara calicho, horacio lozada, julio rodrigues.
2) Luis Cedeño y Jorge Manzanilla.

Estan copiados, les coloque 05.
Hubo un par de trabajos que estuve a punto de colocarle 05 tambien, pero no estaban tan similares, por eso decidi no colocarles 05, señores sean honestos con sus actividades, ya les habia dicho que no se copiaran.

LEPIV - Unidad 2 - Correccion Taller

Adjunto las notas del taller:

18.186.060 Jorge Freites ***** 3
17.554.101 Jose Ramon ***** 3
14755793 Frank Díaz ***** 4
18.328.691 Luis Cedeño ***** 4
19.513.098 Jorge Manzanilla ***** 4
18.932.624| Angela Rincon ***** 2
17.459.323 Jorge Espinoza ***** 2
14.386.865 Jorge Rincones ***** 2
19.477.653 Nikolai MEndoza ***** 2
19.199.492 Argenis Navarro ***** 3
19.290.843 Victor Medina ***** 3
19.558.814 Labrador Miguel ***** 2
18.189.229 Lepage Onas ***** 2
19.933.194 Mena Anthony ***** 2
20.303.568 Puentes Lusayaniris ***** 2
18.366.598 Vaneska Ladera ***** 4
18.995.811 Alejandro Moreno ***** 4
18.830.527 Luis Torres ***** 4
19.334.251 Juan León ***** 4
18.026.948 Ana Karina Davila ***** 2
20.028.356 Barbara Calichio ***** 2
17.907.887 Horacio Lozada ***** 2
18.935.170 Julio Rodriguez ***** 2
19.994.504 Acosta Maria ***** 4
17.751.187 Lo Huang, Susana ***** 4
18.002.854 Mendoza, José ***** 4
19.671.414 Vivenzio, Victor ***** 4
Keyla Monagas ***** 2
Omar Zavarce ***** 2
Ricardo Gonzalez ***** 2
Jose David Rey ***** 2
18994868 Johana uray ***** 2
19650448 Daniela Rincones ***** 2
19548535 Fabiana Contreras ***** 2


Nota importanten:
- Los trabajos de:
1) Ana karina, barbara calicho, horacio lozada, julio rodrigues.
2) Espinoza Jorge, Mendoza Nicolai, Rincon Angela, Rincones Jorge.
3) Keyla Monagas, Omar Zavarce, Ricardo Gonzales, Jose David Rey.
4) Johana Uray, Daniela Rincones, Fabiano Contreras.

Estan copiados, de suceder nuevamente coloco 01 a todos los grupos.

Sunday, March 7, 2010

LEPIII - Unidad 1 - Evaluacion

Aguilera Medina, Jose Luis ***** 14
Alvarez Guzman, Yuderkis Emperatriz ***** 15
Bastardo Indira, Alejandra ***** 08
Chang Mendoza, Rosymar De Los Angeles ***** 16
Chavez Velez, Victor Daniel *****
Dacasa Briceño, Jorge Luis ***** 10
Dugarte Garcia, Maria Fernanda ***** 14
Duno Vaamonde, Johan Antonio ***** 14
Duran , Oswaldo Andres ***** 14
Figueroa Carrillo, Angel Daniel ***** 10
Galan Teran, Saul Enrique ***** 14
Garcia Bolivar, Christopher Jesus ***** 14
Garcia Rodriguez, Raquel Jeniree ***** 14
Garcia Valverde , Jacqueline Lisbeth *****
Gimenez Celis, Yaritza Yurimar ***** 15
Hermoso Laguado, Exly Carolina *****
Hernandez Meza, Carlos Humberto ***** 14
Herrera Limones, Luiggi Jorge ***** 15
Laguado Arraiz, Alejandro Paul ***** 14
Linares Marquez, Yanire Katiusca ***** 16
Mariño Lozano, Erick Jefferson *****
Mendoza Rivera, Isaac Isrrael ***** 15
Morante Gutierrez, Karen Johana *****
Nava Angulo, Victor Eduardo ***** 14
Padron Molina, Billy Joe *****
Paez Galvis, Ronald Alejandro ***** 10
Pariata Diaz, Yorwin Alberto *****
Perez Alvarado, Ariana Daniela ***** 16
Rico Ramirez, Henry Antonio *****
Salas Fernandez, Emili Francelis ***** 15
Vargas Ontiveros, Katheleen Maria ***** 08
Zambrano Moreno, Andres Alejandro ***** 14
Zea Liendo, Ana Patricia *****
Medina Jurianmi (No sale en lista) ***** 16
Mendez cristian (No sale en lista) ***** 16
Garcia Mariangelis (No sale en lista) ***** 16
Juan Echarry (No sale en lista) ***** 08