CICLO FOR JAVA
Instrucciones para ciclos resuelven el problema de repetir todo el programa, o cierta parte del programa mas de una vez.
Este ciclo es uno de los mas 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.
Antes de continuar recordar que for, asi como las instrucciones if y switch(). Son independientes del modelo de programación usado, es decir se pueden usar dentro de consola, frame, applet, servlet, jsp.
Su formato general es:
for (inicialización; condición; incremento)
{ instrucción(es); };
ejemplo:
for(x=1;x<=10;x=x+1)
{t1.setText(“pato”) };
En su forma simple la inicialización es una instrucción de asignación que carga la 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 (;)
Casos Particulares:
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 se diferente de uno, ejemplo:
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, ejemplo:
for (x=1; x<= 20; x=x+3){ etc. };
5.- Incluso pueden ser decrementos, solo que en este caso, recordar:
1.-el valor inicial de la variable debe ser mayor que el valor final.
2.-cambiar el sentido de la condición.
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—
7.- Un ejemplo para usarlo en los problemas sugeridos mas adelante, ejemplo: desplegar los números enteros, comprendidos entre el 10 y el 20, usando frame.
Ocupamos ahora un componente visual que pueda almacenar y desplegar un conjunto de los 10 resultados, el único componente visto hasta ahora con esta capacidad es el componente Combo Box?, sin embargo existe otro componente llamado List(, muy similar a Combo Box, excepto que no tiene encabezado y todos sus elementos los mantiene a la vista del usuario, no ocultos como el Combo Box, dicho componente List se analiza a fondo en la siguiente unidad, pero es el que de momento permite resolver el problema del for (desplegar un conjunto de resultados a la vez).
Tanto Combo Box como List permiten cargar todos sus elementos o valores, dentro de un programa, usando el método llamado add(valor en string), como se ve en el siguiente programa ejemplo;
Para este problema se ocupa poner en Form1, un componente Button OK que en su escuchador de raton, contiene el for y la carga del componente List:
Codigo:
import java.lang.*; import java.awt.*; import java.awt.event.*;
public class prog19 {
//declaracion, creacion e inicializacion de componentes, objetos y variables
static Frame ventana= new Frame();
static Panel p1 = new Panel();
static List lista = new List(10, false);
static Button b1 = new Button(“OK”);
public static void main(String[] args)
{ // area de definicion de propiedades de el objeto
ventana.setTitle(“mi programa”);
//agregando componentes a panel
p1.add(lista);p1.add(b1);
// agregando panel a frame
ventana.add(p1); ventana.pack(); ventana.setVisible(true);
ventana.addWindowListener( new Window Adapter?()
{ public void windowClosing(Window Event? e){
ventana.dispose(); System.exit(0);}});
b1.addMouseListener( new Mouse Adapter?()
{ public void mousePressed(Mouse Event? e){
String temp=“”; int x;
for ( x = 10; x<=20; x++){ temp = temp.valueOf(x);lista.add( temp );};
}} );
}; // termina main
} // termina clase
Corrida:
En el ejemplo el constructor de LIST, ocupa dos parametros, la cantidad de elementos y el false es para evitar que puedan sleccionarse mas de uno a la vez, de esto lo analizamos en la siguiente unidad.
En el escuchador la variable entera, se tiene que convertir a string porque add(adentro va string).
Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes.
Representación pseudocodificada.
Español Inglés Si <condición> entonces If <condición> then <acción S1> <acción S1> sino else <acción S2> <acción S2> Fin_Si End_if Entonces, si una condición C es verdadera, se ejecuta la acción S1 y si es falsa, se ejecuta la acción S2.
Ejemplo 1
Dado como dato la calificación de un alumno en un examen, escriba “aprobado” si su calificación es mayor que 8 y “Reprobado” en caso contrario. Algoritmo: Inicio Leer (cal) Si cal > 8 entonces Escribir (“aprobado”) Sino Escribir (“reprobado”) Fin_si Fin
Ejemplo 2.
Dado como dato el sueldo de un trabajador, aplicar un aumento del 15% si su sueldo es inferior a $1000 y 12% en caso contrario, luego imprimir el nuevo sueldo del trabajador.
EXPRESIONES LÓGICAS
Sirven para plantear condiciones o comparaciones y dan como resultado un valor booleano verdadero o falso, es decir, se cumple o no se cumple la condición. Se pueden clasificar en simples y complejas. Las simples son las que usan operadores relacionales y las complejas las que usan operadores lógicos.
Ejemplos: Un ejemplo en el cual usamos el operador lógico AND sería: Una escuela aplica dos exámenes a sus aspirantes, por lo que cada uno de ellos obtiene dos calificaciones denotadas como C1 y C2. El aspirante que obtenga calificaciones mayores que 80 en ambos exámenes es aceptado; en caso contrario es rechazado. En este ejemplo se dan las condiciones siguientes: Si (C1 >= 80) y (C2 >= 80) entonces Escribir (“aceptado”) Sino Escribir (“rechazado”) Fin_si
Note que también usa operadores relacionales. Por lo general cuando hay operadores lógicos, éstos van acompañados de operadores relacionales. Un ejemplo usando el operador lógico OR sería: Una escuela aplica dos exámenes a sus aspirantes, por lo que cada uno de ellos obtiene dos calificaciones denotadas como C1 y C2. El aspirante que obtenga una calificación mayor que 90 en cualquiera de los exámenes es aceptado; en caso contrario es rechazado. En este caso se dan las condiciones siguientes: Si (C1 >=90) or (C2 >=90) entonces Escribir (“aceptado”) Sino Escribir (“rechazado”) Fin_si
La instrucción equivale a OR ya que nos dice que puede ser en cualquiera de los exámenes no necesariamente en los dos. En el ejemplo 1 la palabra ambos equivalía a seleccionar la instrucción AND. Si la instrucción nos dijera que obtenga una nota en cualquiera de los exámenes pero no en ambos, nos estaría indicando una instrucción XOR que es un tipo de OR pero exclusivo. Es decir, no puede considerarse el caso en que tenga la misma nota en los dos exámenes, solo en uno de los dos.