Beruflich Dokumente
Kultur Dokumente
a. SECUENCIA.
b. SELECCIN O INSTRUCCIN CONDICIONAL.
c. ITERATIVA O REPETITIVA.
1.- SECUENCIA
Las cajas A y B pueden ser definidas para ejecutar desde una simple
instruccin hasta un mdulo o programa completo, siempre y cuando que
estos tambin sean programas apropiados.
EJEMPLO:
Programa que lea dos nmeros por teclado y los muestre por pantalla.
2.- SELECCIN O INSTRUCCIN CONDICIONAL.
Condicional simple:
La condicin debe ser una expresion booleana es decir debe dar como resultado
un valor booleano (true false).
Condicional simple: se evala la condicin y si sta se cumple se ejecuta una
determinada accin o grupo de acciones. En caso contrario se saltan dicho grupo de
acciones.
if(expresin_booleana){
instruccin 1
instruccin 2
.......
}
EJEMPLO:
PROGRMA QUE INDIQUE SI EL NUMERO ES MAYOR O IGUAL QUE 5
Condicional doble: Se evala la condicin y si sta se cumple se ejecuta una
determinada instruccin o grupo de instrucciones. Si no se cumple se ejecuta otra
instruccin o grupo de instrucciones.
if(expresin booleana){
instrucciones 1
}
else{
instrucciones 2
}
Ejemplo de programa Java que contiene una estructura condicional doble: Programa
que lee la nota de un alumno y muestra si el alumno ha aprobado o no.
/*
* Programa que pide una nota por teclado y muestra si se ha aprobado o no
*/
import java.util.*;
public class Ejemplo0If {
public static void main( String[] args ){
Scanner sc = new Scanner( System.in );
System.out.print("Nota: ");
int nota = sc.nextInt();
if (nota >= 5 ){
System.out.println("Enorabuena!!");
System.out.println("Has aprobado");
}
else
System.out.println("Lo Siento, has suspendido");
}
}
Otro ejemplo de programa Java que contiene una estructura condicional doble:
Calcular si un nmero es par. El programa lee un nmero por teclado y muestra un
mensaje indicando si es par o impar.
/*
* programa que pide un nmero por teclado y calcula si es par o impar
*/
import java.util.*;
public class EjemploIf {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num;
System.out.println("Introduzca numero: ");
num = sc.nextInt();
if ((num%2)==0)
System.out.println("PAR");
else
System.out.println("IMPAR");
}
}
Condicional mltiple: Se obtiene anidando sentencias if ... else. Permite construir
estructuras de seleccin ms complejas.
if (expresion_booleana1)
instruccion1;
else if (expresion_booleana2)
instruccion2;
else
instruccion3;
Cada else se corresponde con el if ms prximo que no haya sido emparejado.
Una vez que se ejecuta un bloque de instrucciones, la ejecucin contina en la
siguiente instruccin que aparezca despus de las sentencias if .. else anidadas.
/*
* programa que lee una nota y escribe la calificacin correspondiente
*/
import java.util.*;
public class Ejemplo3If {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double nota;
System.out.println("Introduzca una nota entre 0 y 10: ");
nota = sc.nextDouble();
System.out.println("La calificacin del alumno es ");
if(nota < 0 || nota > 10)
System.out.println("Nota no vlida");
else if(nota==10)
System.out.println("Matrcula de Honor");
else if (nota >= 9)
System.out.println("Sobresaliente");
else if (nota >= 7)
System.out.println("Notable");
else if (nota >= 6)
System.out.println("Bien");
else if (nota >= 5)
System.out.println("Suficiente");
else
System.out.println("Suspenso");
}
}
1. Se evala la condicin.
2. Si el resultado es false las instrucciones no se ejecutan y el programa sigue
ejecutndose por la siguiente instruccin a continuacin del while.
3. Si el resultado es true se ejecutan las instrucciones y se vuelve al paso 1
/*
* Programa que lee nmeros hasta que se lee un negativo y muestra la
* suma de los nmeros ledos
*/
import java.util.*;
public class Ejemplo1While {
public static void main(String[] args) {
int suma = 0, num;
Scanner sc = new Scanner(System.in);
System.out.print("Introduzca un nmero: ");
num = sc.nextInt();
while (num >= 0){
suma = suma + num;
System.out.print("Introduzca un nmero: ");
num = sc.nextInt();
}
System.out.println("La suma es: " + suma );
}
}
Ejemplo de programa Java que contiene una instruccin while:
Programa que lee un nmero entero N y muestra N asteriscos.
/*
* programa que lee un nmero n y muestra n asteriscos
*/
import java.util.*;
public class Ejemplo2While {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n, contador = 0;
System.out.print("Introduce un nmero: ");
n = sc.nextInt();
while (contador < n){
System.out.println(" * ");
contador++;
}
}
}
Ejemplo de programa Java con una instruccin while:
/*
* programa que muestra una tabla de equivalencias entre
* grados Fahrenheit y grados celsius
*/
public class Ejemplo3While {
public static void main(String[] args) {
final int VALOR_INICIAL = 10; // limite inf. tabla
final int VALOR_FINAL = 100; // limite sup. tabla
final int PASO = 10 ; // incremento
int fahrenheit;
double celsius;
fahrenheit = VALOR_INICIAL;
System.out.printf("Fahrenheit \t Celsius \n");
while (fahrenheit <= VALOR_FINAL ){
celsius = 5*(fahrenheit - 32)/9.0;
System.out.printf("%7d \t %8.3f \n", fahrenheit, celsius);
fahrenheit += PASO;
}
}
}
for(;;){
instrucciones
}
for(;true;){
instrucciones
}
while(true){
instrucciones
}
3.5 BUCLES ANIDADOS
Bucles anidados son aquellos que incluyen instrucciones for, while o do-while unas
dentro de otras.
Debemos tener en cuenta que las variables de control que utilicemos deben ser
distintas.
Los anidamientos de estructuras tienen que ser correctos, es decir, que una
estructura anidada dentro de otra lo debe estar totalmente.
Ejemplo de programa Java con bucles anidados:
/*
* Programa que dibuja un rectngulo slido de asteriscos.
* El nmero de filas y columnas se pide por teclado
*/
import java.util.*;
public class Ejemplo1BuclesAnidados {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int filas, columnas;
//leer nmero de filas hasta que sea un nmero > 0
do{
System.out.print("Introduce nmero de filas: ");
filas = sc.nextInt();
}while(filas<1);
//leer nmero de columnas hasta que sea un nmero > 0
do{
System.out.print("Introduce nmero de columnas: ");
columnas = sc.nextInt();
}while(columnas<1);
for(int i = 1; i<=filas; i++){ //filas
for(int j = 1; j<=columnas; j++){ //columnas
System.out.print(" * ");
}
System.out.println();
}
}
}
La salida de este programa para filas = 6 y columnas = 10 es:
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
Ejemplo de programa Java con bucles anidados:
/*
* Programa que muestra una tabla con las potencias de x (x x2 x3 x4)
* para valores de x desde 1 hasta XMAX
*/
public class JavaApplication22 {
public static void main(String[] args) {
final int XMAX = 10;
int x, n;
//mostrar la cabecera de la tabla
System.out.printf("%10s%10s%10s%10s%n", "x","x^2","x^3","x^4");
for (x = 1; x <= XMAX; x++){ //filas
for (n = 1; n <= 4; n++){ //columnas
System.out.printf("%10.0f", Math.pow(x,n));
}
System.out.println();
}}}
Con la PE, elaborar programas de computador sigue siendo una labor que
demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este
nuevo estilo podemos obtener las siguientes ventajas: