Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD
DIDÁCTICA
Guía Didáctica Módulo 4
1
TECNICATURA EN INFORMÁTICA
DE GESTIÓN
Docente
JORGE A. PRODOLLIET
OBJETIVOS
Conocer y utilizar las estructuras de control del lenguaje Java.
Resolver problemas de complejidad creciente usando el modelo de objetos, y aplicando
estructuras de control condicionales e iterativas.
Página 2
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
if ( expresión booleana )
{ sentencias por verdadero };
[ else { sentencias por falso }; ]
En esta sentencia, se evaluará la expresión booleana (lógica) que puede ser cualquier
proposición que arroje un resultado lógico: true o false.
La presencia de esta estructura en un algoritmo le indica al ejecutante que:
debe evaluar la expresión lógica planteada.
si es verdadera, debe ejecutar las acciones indicadas en las sentencias por
verdadero y luego al fin de la estructura.
si es falsa, resolver el bloque de las sentencias por falso y luego ir al fin de la
estructura.
Si se desea ejecutar más de una sentencia simple por verdadero o por falso, deberá
crear un bloque, es decir encerrar las sentencias entre llaves que, como se mencionó
anteriormente, se transforma en una sentencia compuesta que se comporta como una unidad.
Importante
La alternativa por False indicada con else es opcional. Pero la acción por True es
obligatoria.
? in line: <expresión booleana> ? Ejecución por verdadero (true): Ejecución por falso
(False)
Ejemplo: a>b? “ a es Mayor” : “b es Mayor”;
Página 3
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
Código
if ( Decisión ) {
if ( Decisión )
A;
}
else
B;
Código
if ( Decisión )
if ( Decisión )
A;
else
B;
Página 4
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
Ejemplo 4.1. Ingresar un número, si es mayor o igual que 6 mostrar el Texto ‘Aprobado’ en caso
contrario ‘Insuficiente’.
Código:
package u4_ejemplo1;
/**
* @author Fx8350
*/
import javax.swing.JOptionPane;
public class U4_ejemplo1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int nota;//declara la variable como entera
nota = Integer.parseInt(JOptionPane.showInputDialog("Ingese la nota de 0 a 10")); //Lee nota
if (nota >= 6) //decisión simple if
JOptionPane.showMessageDialog(null,"Aprobo con " + nota);
else
JOptionPane.showMessageDialog(null,"Insuficiente con " + nota);
}
}
Ejemplo 4.2. Determine el tipo de raíces de una ecuación cuadrática del tipo ax 2 + bx + c = 0
conociendo los coeficientes a, b y c de la ecuación. Informe el tipo determinado.
Resolución paso a paso: Las raíces de una ecuación cuadrática dependen del
resultado de la formula del discriminante (discriminante) pueden ser: reales distintas
(discriminante > 0), reales iguales (discriminante = 0) o complejas (discriminante < 0) siendo
discriminante = b * b – 4 * a * c
Como para la formula de la resolvente necesitaremos la operación potencia “pow()”
importaremos la librería Math y como tendremos que ingresar datos y escribir resultados por
pantalla importaremos la librería swing.JOptionPane.
Ya en el desarrollo del programa dentro de U4_ejemplo2, tendremos que definir tres
variables para almacenar los coeficientes a, b y c que pueden contener números con coma.
Para ello utilizaremos el tipo double. También nos hará falta una variable para guardar el
mensaje a mostrar en pantalla, la llamaremos texto y será de tipo String.
Con la instrucción JOptionPane.showInputDialog() leemos los valores de las variables
y con Double.parseDouble() convertimos estos String en datos de tipo Double para asignarlos
a las variables a, b y c respectivamente.
Por último luego de calcular el discriminante con la instrucción if decidimos que mensaje
le asignaremos a la variable texto para ser mostrado antes de finalizar la aplicación
Página 5
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
Código:
package u4_ejemplo2;
/**
* @author FX8350
*/
import static java.lang.Math.*;
import javax.swing.JOptionPane;
public class U4_ejemplo2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
String texto;
double a,b,c,discriminante;
a= Double.parseDouble(JoptionPane.showInputDialog("Ingrese coeficiente a"));
b= Double.parseDouble(JOptionPane.showInputDialog("Ingrese coeficiente b"));
c= Double.parseDouble(JOptionPane.showInputDialog("Ingrese coeficiente C"));
discriminante = Math.pow(b,2) - 4 * a * c;
if (discriminante >= 0)
if (discriminante >0)
texto = "Raíces Reales Distintas";
else
texto= "Raíces Reales Iguales";
else
texto = "Raíces Complejas";
JOptionPane.showMessageDialog(null,texto);
}
}
Observe en este último ejemplo, que una estructura if se anida dentro de otra, pues hay
3 posibilidades (3 tipos de raíces).
Página 6
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
Aclaración:
La alternativa default es opcional. La sentencia correspondiente será
ejecutada si el valor de la variable de control no coincide con ninguno de
los presentes en la lista del los case.
La variable de control debe ser de tipo ordinal, no puede ser un valor de
tipo double, float o String. En caso de tener que comparar multiples valores
de tipos no ordinales, se deberán utilizar if anidados.
package u4_ejemplo3;
/* @author FX8350*/
import javax.swing.JOptionPane;
public class U4_ejemplo3 {
/* @param args the command line arguments */
public static void main(String[] args) {
// TODO code application logic here
int nota;
String calificacion;
Página 7
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
.
Ejemplo 4.4. Ingrese un número entero y determine los pares menores a dicho número.
Muéstrelos ordenados en forma decreciente.
Página 8
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
Página 9
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
do {
sentencia1;
sentencia2;
…
sentenciaN;
} while ( ExpresionBooleana );
oo Las tres partes del ciclo se encuentran separadas por ; (punto y coma)
oo La primer parte del ciclo especifica el valor inicial de la variable de control
oo La segunda parte indica la condición de terminación para el ciclo, la cual
esta directamente relacionada con los valores iniciales.
oo Finalmente, la última parte especifica como serán manipulados los
valores iniciales en cada iteración del ciclo. Lo más frecuente es
incrementar o decrementar la variable de control.
Cada parte del ciclo debe incluir al menos un elemento, a la cual es posible agregar
otros elementos a partir de una , (coma).
Por ejemplo, el código situado a la izquierda produce la salida que aparece a la
derecha:
Código: Salida:
i = 1 j = 11
for (int i = 1, j = i + 10; i < 5; i++, j = 2*i) {
System.out.println(" i = " + i + " j = " + j); i=2 j=4
} i=3 j=6
i=4 j=8
Página 10
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
Ejemplo 4.5. Ingrese un número entre 1 y 10. Valide que el número este en ese rango, si no
es así reingréselo, a continuación muestre la tabla de multiplicar correspondiente.-
package u4_ejemplo5;
/**
* @author FX8350
*/
import javax.swing.JOptionPane;
public class U4_ejemplo5 {
/**
* @param args the command line arguments
*/
SÍNTESIS
11.. Las estructuras de programación o estructuras de control permiten tomar decisiones y
realizar un proceso repetidas veces.
22.. Las llaves { } sirven para agrupar en un bloque las sentencias que se han de ejecutar y no
son necesarias si sólo hay una sentencia
Página 11
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
44.. La estructura de selección múltiple switch permite ejecutar una o más acciones
selectivamente en base al valor de una variable de control que es evaluada al inicio.
switch ( variable de control) {
case valor1: sentencia1; break;
case valor2: sentencia2; break;
case valor3: sentencia3; break;
………..
case valorN: sentenciaN; break;
[default: sentencia1;]
}
55.. La estructura iterativa while permite evaluar una expresión lógica al inicio y si su valor de
verdad arroja verdadero se ejecutan las acciones incluidas en la estructura; luego se vuelve
a evaluar la expresión lógica y así sucesivamente. Las acciones incluidas en esta estructura
se podrán ejecutar 0 o más veces.
while ( ExpresiónBooleana )
{
sentencias;
}
66.. La estructura iterativa do-while actúa similarmente a la estructura while solo que la
expresión lógica se evalúa al final; si esta arroja falso se abandona la estructura, y se
continúa iterando en caso de arrojar verdadero. Mínima cantidad de iteraciones: 1
do {
sentencia1;
sentencia2;
…
sentenciaN;
} while ( ExpresionBooleana );
Página 12
Fundamentos de Programación | Guía Didáctica 1 | Módulo 4 TIG
Actividades
Los ejercicios son para la práctica de estudio y no se deben presentar.
Las respuestas a los mismos se encontraran en un archivo .pdf ubicado en el aula
virtual.
El ejercicio propuesto se podrá realizar en grupo, pero se deberá subir en forma
individual en la tarea correspondiente de la plataforma
Ejercicios
1) Escriba un programa que permita ingresar un número natural N como dato y muestre
todos los pares menores a N en forma creciente. Tener en cuenta que el dato puede
ser tanto par como impar. (Sugerencia para la solución: revise el ejemplo 4.4)
5) Diseñe una aplicación Java que permita mostrar 50 datos numéricos generados al
azar entre 1 y 50000. Obtener los siguientes parámetros estadísticos:
a) la media,
b) los 2 mayores
c) el menor de la lista y su posición.
Sugerencia para la solución: La función Java Math.random() genera enteros al azar
entre 0 y 1. (revea la Unidad 3)
Ejercicio Propuesto
Diseñe una aplicación Java que permita ingresar un entero y determine si el
número es primo o no.
Sugerencia para la solución: Un número primo solo es divisible por 1 y por sí
mismo.
Página 13