3.
ESTRUCTURAS DE CONTROL
3.1 Estructura de alternativa simple if
La estructura de alternativa simple if ejecuta una determinada acción cuando se cumple una
condición. La estructura if evalúa la condición y:
Si la condición es verdadera, ejecuta la(s) acción(es) que se encuentran dentro de la
estructura if y continua con el resto del programa.
Si la condición es falsa, no ingresará a la estructura if, pero continúa con el resto del
programa.
if (condición verdadera)
{
acción(es)
}
Resto del programa
3.1.1 Ejemplo práctico estructura if
Crear un formulario JFrame llamado IfSimple que permita capturar una nota de un
estudiante, Si la nota es mayor o igual a tres, deberá imprimir en la ventana “Aprobó
la materia... Felicitaciones”.
Modificación de propiedades de controles
Control Propiedad Valor
JLabel1 Nombre variable lblnumero
Texto Digite numero:
JTextField Nombre variable txtnumero
Texto En blanco
JLabel2 Nombre variable lblmensaje
Texto Sin digitar nota
Código objeto txtnumero
private void txtnumeroActionPerformed([Link] evt) {
// TODO add your handling code here:
float nota=[Link]([Link]());
if(nota>=3.0)
[Link]("Aprobó la materia... Felicitaciones");
}
Análisis programa
Se crea una variable llamada nota de tipo float a la cual se le asigna el valor del objeto
txtnumero obteniendo por medio del método getText(). El método parseFloat de la clase
Float, permite convertir un String a número de tipo float. Se utiliza la instrucción de control
if para preguntar si el valor de la variable nota es mayor o igual a 3.0. Si la respuesta es
verdadera el programa ingresara a la estructura if y se imprimirá en el etiqueta lblmensaje el
texto Aprobó la materia... Felicitaciones, utilizando la función setText.
Al ejecutarse el programa y digitar 45 en la caja de texto y pulsar la tecla Enter, se visualizará
la siguiente pantalla:
Figura 3.1 Ejecución IfSimple.
3.2 Estructura de alternativa compuesta if - else
Esta estructura permite elegir entre dos opciones o alternativas posibles, es decir, que realiza
una(s) acción(es), si la condición es verdadera y otra(s) acción(es), si la condición es falsa.
if (condición verdadera )
{ acción(es)1 }
else
{ acción(es)2 }
Resto del programa
3.2.1 Ejemplo práctico estructura if-else
Crear un JFrame llamado IfCompuesta que permita capturar una nota de un
estudiante, Si la nota es mayor o igual a tres, deberá imprimir en la ventana “Aprobó
la materia... Felicitaciones” en caso contrario “Reprobó la materia... ” .
Modificación de propiedades de controles
Control Propiedad Valor
JLabel1 Nombre variable lblnumero
Texto Digite numero:
JTextField Nombre variable txtnumero
Texto En blanco
JLabel2 Nombre variable lblmensaje
Texto Sin digitar nota
Código objeto txtnumero
private void txtnumeroActionPerformed([Link] evt) {
// TODO add your handling code here:
float nota=[Link]([Link]());
if(nota>=3.0)
[Link]("Aprobó la materia... Felicitaciones");
else
[Link](“Reprobó la materia...");
}
Al ejecutarse el formulario y digitarse el valor de 2.5 en la caja de texto, se visualizará la
siguiente figura:
Figura 3.2 Ejecución subprograma IfCompuesto.
3.3 Estrutura de alternativa múltiple switch- case
En algunos casos son necesarias más de dos alternativas de solución a un problema. Esto se
podría resolver por estructuras alternativas simples o compuestas anidadas; sin embargo, si
el número de alternativas es demasiado extenso puede plantear serios problemas de escritura
del algoritmo y naturalmente de legibilidad.
La estructura de alternativa múltiple switch – case evalúa una expresión numérica (int) o
carácter (char). Según el valor de la expresión, se realizará una de las n acciones. Por cada
case que se utilice es necesario colocar la palabra reservada break para salir de la estructura
de control switch. Cuando no se cumpla ningún caso se puede crear la opción default para
realizar otras acciones por omisión.
switch(variable){
case valor1:
acciones1;
break,
case valor2:
acciones2;
break,
case valor3:
acciones3;
break,
:::::::::
:::::::::
default:
otras_acciones;
}
3.3.1 Ejemplo práctico estructura switch-case.
Hacer un JFrame llamado EstructuraSwitch que permita capturar un número e
imprimir el día de la semana a que corresponde.
- Código objeto boton
int numero=[Link]([Link]());
switch(numero) {
case 1:
[Link]("Lunes");
break;
case 2:
[Link]("Martes");
break;
case 3:
[Link]("Miercoles");
break;
case 4:
[Link]("Jueves");
break; case 5:
[Link]("Viernes");
break; case 6:
[Link]("Sabado");
break;
case 7:
[Link]("Domingo");
break;
default:
[Link]("No es un dia de la semana");
break;
}
Al compilar y ejecutar el formulario, digitar programa 3 y pulsar el botón Verificar, se
visualizará la siguiente figura:
Figura 3.3 Ejecución programa EstructuraSwitch.
3.4 Estructura de repetición for
La estructura de repetición for ejecuta una(s) acción(es) mientras una condición sea
verdadera. Esta estructura contiene tres partes, su formato es:
for(inicialización; condición _ verdadera; incremento ó decremento)
{
acción(es);
}
Cada parte de la estructura debe incluir al menos un elemento, a la cual es posible
agregar otros elementos a partir de una coma (,).
for(inicialización; condición1, condición2; incremento ó decremento)
{
acción(es);
}
3.4.1 Ejemplo práctico estructura for
a) Diseñar un JFrame llamado Ciclofor que permita capturar un número e imprimir todos
los números pares que existen entre 1 y el número digitado. Los controles son: 1
JTextField (txtnumero), 1 JList (lista) y 1 JButton (botón).
- Código objeto boton
int numero=[Link]([Link]());
int inicio;
DefaultListModel modelo=new DefaultListModel();
for(inicio=1;inicio<=numero;inicio++)
{
if (inicio%2==0)
[Link](inicio);
}
[Link](modelo);
Se crean las variables numero e inicio de tipo int. Por otro lado, se define una variable llamada
modelo de tipo DefaultListModel para ir adicionando los datos que cumplan la condición de
ser pares. En el ciclo for por intermedio de la estructura if se valida si el valor de la variable
inicio es par, si esto ocurre se adiciona a la variable modelo. Al salir del ciclo se adiciona al
objeto JList llamado lista la variable modelo por intermedio de la función setModel.
Al ejecutarse el formulario, digitar 20 y pulsar el botón Verificar, se visualizará la siguiente
figura:
Figura 3.4 Ejecución programa CicloFor.
3.5 Estructura de repetición while
La estructura repetitiva while permite repetir una acción mientras la condición sea verdadera.
Cuando se ejecuta la instrucción while, si la condición se evalúa como falsa no se realiza
ninguna acción y el programa prosigue en la siguiente instrucción después del ciclo. Si la
condición es verdadera, se ejecuta las acciones que están en el ciclo. Este proceso se repetirá
mientras la condición sea verdadera.
Inicialización variable de condición
while( condición_verdadera)
{
acción(es);
instrucción (es) para salir del ciclo;
}
3.5.1 Ejemplo práctico estructura while
b) Diseñar un JFrame llamado Ciclowhile que permita capturar un número e imprimir todos
los números impares que existen entre 1 y el número digitado. Los controles son: 1
JTextField (txtnumero), 1 JList (lista) y 1 JButton (botón).
- Código objeto boton
int numero=[Link]([Link]());
int inicio=1;
DefaultListModel modelo=new DefaultListModel();
while(inicio<=numero){
if (inicio%2!=0)
[Link](inicio);
inicio++;
}
[Link](modelo);
En la estructura if se valida si en valor de la variable inicio es impar.
Al ejecutarse el formulario, digitar 20 y pulsar el botón Verificar, se visualizará la siguiente
figura:
Figura 3.5 Ejecución programa CicloWhileApp.
3.6 Estructura de repetición do - while
En ocasiones es necesario que un ciclo de repetición se ejecute por lo menos una vez antes
de evaluar la condición. La estructura do - while ejecuta una acción hasta que se cumpla una
condición determinada que se comprueba al final del ciclo. La estructura de repetición do -
while se repite mientras el valor de la condición sea falso.
Inicialización variable condición
do {
acción(es);
instrucción (es) para salir del ciclo;
}while(condición_falsa);
3.6.1 Ejemplo práctico estructura do-while
c) Diseñar un JFrame llamado Ciclodowhile que permita capturar dos números e imprimir
todos los números múltiplos de 3 que se encuentren entre el valor inicial y el valor final.
Los controles son: 2 JTextField (txtnumeroinicial, txtnumerofinal), 1 JList (lista) y 1
JButton (botón).
- Código objeto boton
int inicio=[Link]([Link]());
int fin=[Link]([Link]());
DefaultListModel modelo=new DefaultListModel();
do
{
if (inicio%3==0)
[Link](inicio);
inicio++;
}while(inicio<=fin);
[Link](modelo);
Al ejecutarse el formulario, digitar 10 y 20 y pulsar el botón Verificar, se visualizará la
siguiente figura:
Figura 3.6 Ejecución programa CicloDoWhile.
3.7 Ejercicios propuestos
Realizar los siguientes programas.
1. Diseñar un programa que capture un numero por tecleado e imprima si es par o impar.
2. Crear un programa que capture tres números e imprima cual es el mayor, el del medio
y el menor.
3. Escribir un programa que capture un número e imprima si es menor de 15, si es mayor
de 50 o sí está entre 16 y 49.
4. Hacer un programa que capture dos números e imprima la suma, la resta, la división,
la multiplicación y el residuo de la división.
5. Elaborar un programa que pida al usuario digitar en hora militar la hora, los minutos,
los segundos e imprima la hora, los minutos y los segundos un segundo después.
6. Diseñar un programa que sume los números enteros de 1 a 100, utilizando las
estructura de repetición for, while, do while.
7. Escribir un programa que capture un número e imprima si dicho numero es primo o
no.
8. Realizar un programa que permita leer una cadena de caracteres e imprimir cuantas
vocales existen de cada una.
9. Elaborar un programa que permita imprimir todos los números primos entre 3 y 999
inclusive.
10. Hacer un programa para imprimir la suma de los números impares menores o iguales
que n. donde n es un número digitado por teclado.