Sie sind auf Seite 1von 15

31/05/2015

Normalmente, las Inicio

declaraciones en un Acción 1
programa se ejecutan una
Acción 2
detrás de otra en el orden
Estructuras en que están escritos, este …

Condicionales proceso se denomina Acción N

Por: Ingº Msc. Alberto Medina Villacorta “ejecución secuencial”.


Fin

Varios estados de Java, que Para escribir programas


pronto discutiremos complejos se requiere
permiten al programador formas para controlar el
especificar que la siguiente “orden de ejecución” de las
instrucción a ejecutar no es instrucciones.
necesariamente el siguiente Esta acción se llama “Control
en la secuencia, esto se llama de Flujo”, la misma que usa
“transferencia de control”. las llamadas “Estructuras de
control de flujo”.

Ing. Msc. Alberto M. MEDINA VILLACORTA 1


31/05/2015

Entre ellas se tiene: Representación en Diagrama de Flujo


 Condicional simple,
Falso
 Condicional doble, Condición

 Condicional múltiple y Verdadero

 Repetitivas, cíclicas, lazos o bucles Bloque de Instrucciones


(Loop).

Representación en Diagrama N-S Representación en Pseudocódigo


Inicio
Condición .
Verdadero Falso .
Si <Condición> entonces
<Bloque de instrucciones>
Bloque de Fin si
Instrucciones .
Fin

Ing. Msc. Alberto M. MEDINA VILLACORTA 2


31/05/2015

Sintaxis en Java  Los programas usan las sentencias de


selección para elegir entre los cursos
Una sola
sentencia if (<Condición>) alternativos de acción. Por ejemplo,
<Instrucción>; supongamos que la calificación de aprobado
en un examen es 60 o más.
if (<Condición>)  La declaración de pseudocódigo:
{
Si la nota del estudiante es mayor o igual a 60
<Bloque de instrucciones>;
Varias
} Imprimir "Aprobado“
sentencias
FinSi

 Determina si la condición de "nota del Diagrama de actividad UML


estudiante es mayor que o igual a 60" es
verdadera o falsa. Si es true, se imprime
"Aprobado", si la condición es false, la
sentencia de impresión se pasa por alto.
 La sangría de la segunda línea de esta
instrucción es opcional, se recomienda, ya
que hace hincapié en la estructura inherente
de programas estructurados.

Ing. Msc. Alberto M. MEDINA VILLACORTA 3


31/05/2015

Representación en Diagrama de Flujo Representación en Diagrama N-S


Verdadero Falso
Condición Condición
Verdadero Falso

Bloque de Instrucciones 1 Bloque de Instrucciones 2


Bloque de Bloque de
Instrucciones 1 Instrucciones 2

Representación en Pseudocódigo Sintaxis en Java


Aquí una sola
sentencia if (<Condición>)
Si <Condición> entonces <Instrucción 1>;
<Bloque de instrucciones 1> Y aquí otra
else
Si no sentencia <Instrucción 2>;
<Bloque de instrucciones 2> Notas:
Fin si • No es necesario encerrar entre llaves si los
bloques son de una instrucción.
• Note el uso del punto y coma, compare con la
otra forma.
15-06-2014 Por: Ing. Msc. Alberto M. 15-06-2014 Por: Ing. Msc. Alberto M.
MEDINA VILLACORTA MEDINA VILLACORTA

Ing. Msc. Alberto M. MEDINA VILLACORTA 4


31/05/2015

Representación en Lenguaje Java  La declaración de doble selección “Si ... Sino”


permite al programador especificar una
if (<Condición>) acción a realizar cuando la condición es
Aquí varias { verdadera y una acción distinta cuando la
sentencias <Bloque instrucciones 1>; condición es falsa.
}  La declaración en pseudocódigo:
else Si la nota del estudiante es mayor o igual a 60
Aquí
{ Imprimir "Aprobado"
también <Bloque instrucciones 2>; Sino
} Imprimir "Desaprobado“
FinSi

15-06-2014 Por: Ing. Msc. Alberto M.


MEDINA VILLACORTA

 Imprime "Aprobado" si la calificación del Diagrama de actividad UML


estudiante es mayor o igual a 60.
 Imprime "Desaprobado" si la calificación
del estudiante es menor de 60.
 En cualquiera de los casos, se produce la
impresión de un mensaje.

Ing. Msc. Alberto M. MEDINA VILLACORTA 5


31/05/2015

 Java proporciona el operador condicional  El primer operando (a la izquierda de ?) es


(? :) que en ocasiones se puede utilizar en una expresión booleana (es decir, una
lugar de una instrucción if ... else. condición)
 Este es el único operador ternario de Java,  El segundo operando (entre ? y : ) es el valor
esto significa que se requieren tres de la expresión condicional si la expresión
operandos. booleana es verdadera y el tercer operando
 En conjunto, los operandos ? y : forman una (a la derecha de : ) es el valor de la
expresión condicional. expresión condicional si la expresión lógica
se evalúa como falsa.

 Por ejemplo, la declaración: Simple if (edad >= 18) {


System.out.println(nota>=60?"Aprobado":"Desaprobado"); if (n < 5) System.out.println(“Mayor”);
 Imprime la cadena "Aprobado" si la cont++; System.out.print(“Tiene ”+edad);
expresión booleana nota>=60 es verdadera e }
imprime "Desaprobado" si la expresión Doble
else
lógica es falsa. if (x < y)
{
 Las instrucciones con el operador z=x; System.out.println(“Menor”);
condicional realizan la misma función que la else System.out.print(“Tiene ”+edad);
sentencia if ... else. z=y; }

Ing. Msc. Alberto M. MEDINA VILLACORTA 6


31/05/2015

If ( notaFinal >= 90 )
System.out.println( "A" );
if ( x > 5 ) else if (notaFinal>= 80 )
if ( y > 5 ) System.out.println( "B" );
System.out.println( "x e y son > 5" ); else if (notaFinal>= 70 )
else System.out.println( "C" );
System.out.println( "x es <= 5" ); else if (notaFinal>= 60 )
System.out.println( "D" );
else
System.out.println( "F" );

 Java proporciona la instrucción switch de Representación en Diagrama de Flujo


selección múltiple para llevar a cabo
diferentes acciones sobre la base de los Selector
posibles valores de una variable o expresión
Caso1 Caso 2 Caso N Otro caso
entera.

...
 Cada acción se asocia con un valor integral
constante (es decir, un valor de tipo byte, Bloque 1 Bloque 2 Bloque N Bloque D
short, int o char, pero no long) que la
variable o expresión puede asumir.

Ing. Msc. Alberto M. MEDINA VILLACORTA 7


31/05/2015

Sintaxis en Java
Representación en Pseudocódigo switch (<Expresión>)
{
Según <Selector> Hacer case <Constante 1>:<Bloque 1>;
Caso 1: <Bloque 1> break;
Caso 2: <Bloque 2> case <Constante 2>:<Bloque 2>;
... break;
Caso N: <Bloque N> ...
Si no case <Constante N>:<Bloque N>;
<Bloque por defecto> break;
Fin según default: <Bloque por defecto>;
}

 <Expresión>: debe ser de uno de los siguientes


tipo: byte, char, short o int
actividad UML
Diagrama de

 El <Selector> es una expresión que produce un


valor entero, switch compara el resultado de
<Selector> con cada valor entero, si encuentra
un valor que coincida, ejecuta la sentencia
(simple o compuesta) correspondiente.
 Si no encuentra ninguna coincidencia, ejecuta
la sentencia default.

Ing. Msc. Alberto M. MEDINA VILLACORTA 8


31/05/2015

 Si la ejecución llega a una sentencia break la switch (oper) {


sentencia switch termina. case ‘+’: x+= y; break;
 Esta sentencia es equivalente a una case ‘-’: x-= y; break;
case ‘*’: x*= y; break;
sentencia if – else anidada.
case ‘/’: x /= y; break;
 La sentencia break no es necesaria para el
case ‘i’: x++; break;
último caso (o el caso por defecto, cuando case ‘r’:
aparece en último lugar), ya que la case ‘m’: System.out.print("No definido"); break;
ejecución continúa con la siguiente default: System.out.print(“Error!");
declaración después de switch. }

// Programa que ingresa 3 números enteros e


// imprime el menor de ellos.
switch (iDiaSemana) { import java.util.Scanner;
case 1: sDia= “Es lunes”; break; public class numeroMenor
case 2: sDia= “Es martes”; break; {
case 3: sDia= “Es miércoles”; break; public static void main(String args[ ] )
case 4: sDia= “Es jueves”; break; {
case 5: sDia= “Es viernes”; break; int a, b, c, menor;
case 6: sDia= “Es sábado”; break; Scanner lector = new Scanner(System.in);
case 7: sDia= “Es domingo”; break; System.out.print("Ingrese valor de a: ");
default: sDia= “No se que día es…!"); a=lector.nextInt( );
} System.out.print("Ingrese valor de b: ");
System.out.print(sDia); b=lector.nextInt( );

Ing. Msc. Alberto M. MEDINA VILLACORTA 9


31/05/2015

// Programa que permite ingresar dos valores


System.out.print("Ingrese valor de c: ");
c=lector.nextInt( ); // enteros e imprime la relación entre ellos.
/*Se procede a la comparación de valores import java.util.Scanner;
usando una sentencia if anidada*/ public class relacionNumeros
if ( a<=b && a<=c) {
menor=a; public static void main(String args[ ] )
else {
if (b<=a && b<=c) int a, b;
menor=b; Scanner lector = new Scanner(System.in);
else System.out.print("Ingrese valor de A: ");
menor=c; a=lector.nextInt( );
System.out.println(“El menor es: ” +menor); System.out.print("Ingrese valor de B: ");
}}
b=lector.nextInt( );

if ( a==b) // Programa que ingresa los coeficientes de


System.out.println(“ Son números iguales” ); // una ecuación de 2do grado e imprime sus
else // raíces si estas existen en los Reales
if (a>b) { import java.util.Scanner;
System.out.println(a+“ es mayor que ”+b); public class ecuacionCuadratica
} {
else { public static void main(String args[ ] )
System.out.println(a +“ es menor que ” +b); {
} double a, b, c, d, x1, x2;
} Scanner lector = new Scanner(System.in);
} System.out.print(“Dar Coeficiente a:");
a=lector.nextDouble( );

Ing. Msc. Alberto M. MEDINA VILLACORTA 10


31/05/2015

if (d>=0) {
System.out.print(“Dar Coeficiente b:"); x1=(-b+Math.sqrt(d))/(2*a);
b=lector.nextDouble ( ); x2=(-b-Math.sqrt(d))/(2*a);
System.out.print(“Dar Coeficiente c:"); System.out.println(“ Raíz X1= ”+ x1);
c=lector.nextDouble ( ); System.out.println(“ Raíz X2= ”+ x2);
if ( a==0) }
System.out.println(“ a no puede ser cero”); else
else System.out.println(“Raíces imaginarias”);
{ }
d=b*b-4*a*c; }
}

/*Programa que lee el número de páginas de un // Declara variables


libro e imprime su precio que se calcula así: El int nPag; double precio;
precio base es S/. 30, si tiene más de 50 hojas, el //Objeto para leer datos
precio se incrementa en S/. 0.50 por hoja Scanner lector = new Scanner(System.in);
excedente. Si tiene más de 100 hojas el precio se //Entrada de datos
incrementa en 20%.*/ System.out.print(“Dar Nº de páginas:");
nPag=lector.nextInt( );
import java.util.Scanner; //Importa clase if ( nPag>0)
public class precioLibro {
{ precio=30;
public static void main(String args[ ] ) if (nPag>50)
{ precio=precio + 0.5*(nPag-50);

Ing. Msc. Alberto M. MEDINA VILLACORTA 11


31/05/2015

// Programa que ingresa cuatro números


if (nPag>100) // enteros e imprime el mayor de ellos.
precio=precio + 0.2*precio;
System.out.print(“ El precio es: ”+precio); import java.util.Scanner;
} public class numeroMayor
else {
System.out.print(“Dato incorrecto”); public static void main(String args[ ] )
} {
} int a, b, c, d;
int mayor, may1, may2;
Scanner lector = new Scanner(System.in);
System.out.print(“ Ingrese 4 valores enteros: ”);

a=lector.nextInt( );
b=lector.nextInt( ); if (may1>=may2)
c=lector.nextInt( ); mayor=may1;
d=lector.nextInt( ); else
if (a>=b) mayor=may2;
may1=a; System.out.print(“El mayor es: ” +mayor);
else }
may1=b; }
if (c>=d)
may2=c;
else
may2=d;

Ing. Msc. Alberto M. MEDINA VILLACORTA 12


31/05/2015

/* Programa que ingresa una nota e imprime


System.out.print(“ Ingrese Nota: ”);
su calificativo así: de 0 a 5 es pésima, de 6
n=lector.nextInt( );
a 10 es deficiente, de 11 a 15 es regular y
if ( n<0 || n>20)
de 16 a 20 es excelente. */
System.out.print(“ Nota NO válida”);
else
import java.util.Scanner;
if (n>=16)
public class calificaNota
System.out.print(“ Está excelente!!”);
{
else
public static void main(String args[ ] )
if (n>=11)
{
System.out.print(“ Está regular!!”);
int n;
else
Scanner lector = new Scanner(System.in);

else /*Programa que lee la clase de un vehículo


if (n>=6) (1=Automóvil, 2=omnibus, 3=camión) e
System.out.print(“ Es deficiente!!”); imprime tipo de vehículo y peaje a pagar.*/
else import java.util.Scanner;
System.out.print(“ Nota Pésima!!”); public class costoPeaje
} {
} public static void main(String args[ ] )
{
int tipo, p;
Scanner lector = new Scanner(System.in);
System.out.print(“Indique clase de vehiculo”);

Ing. Msc. Alberto M. MEDINA VILLACORTA 13


31/05/2015

tipo=lector.nextInt( ); case 3:
switch (tipo) p=15;
{ System.out.println(“ Camión, peaje= ”+p);
case 1: break;
p=5; default:
System.out.println(“Automóvil, peaje= ” +p); System.out.println(“ Clase desconocida!!”);
break; }
case 2: }
p=10; }
System.out.println(“ Omnibus, peaje= ”+p);
break;

case 2:
import java.util.Scanner;
case 3:
public class calificaNota
case 4:
{
case 5:
public static void main(String args[ ] )
System.out.println(“ Nota pésima“); break;
{
case 6:
int nota;
case 7:
Scanner lector = new Scanner(System.in);
case 8:
System.out.print(“ Ingrese Nota: “);
case 9:
nota=lector.nextInt( );
case 10:
switch (nota)
case 11:
{
System.out.println(“ Deficiente!“); break;
case 1:

Ing. Msc. Alberto M. MEDINA VILLACORTA 14


31/05/2015

case 12: case 13: case 14: case 15: Hallar el sueldo de un operador, conociendo el
case 16: número de horas trabajadas por día, el número
System.out.print(“ Regular!“); de días trabajados, su tarifa horaria y su
break; número de hijos. Si el número de hijos es más
case 17: case 18: case 19: de 5 y su sueldo es menor que S/. 1000 se hace
case 20: un aumento de 25% y solo de 10% en otro caso.
System.out.print(“ Excelente”); Si el operador está afiliado a una AFP se le
break; descuenta el 12% del total y el descuento es de
default: 15% si no lo está. Mostrar el sueldo bruto, la
System.out.print("Fuera de Rango"); bonificación, el descuento por AFP y el sueldo
} neto. Debe validar la entrada de los datos en un
} rango adecuado y mostrar los resultados con
} dos decimales.

En una pollería se venden seis tipos de combos, según


los precios dados en la siguiente tabla:
Tipo 1/8 Pollo ¼ Pollo ½ Pollo Un Pollo 1 ½ Pollo Dos Pollos
Costo S/. 4.50 S/. 9.00 S/. 17.0 S/. 32.00 S/. 48.00 S/. 60.00

Hallar el costo total a pagar por un consumo, sabiendo


que los precios NO incluyen IGV, el servicio es en mesa o
delivery, si es en mesa se debe pagar 10% del total por
el servicio y 5% del costo por propinas, en caso
contrario se paga el taxi según la zona:
A S/. 5.00 B S/. 10.00 C S/. 15.00 D S/. 20.00

Además si el usuario paga al contado gana un punto por


cada sol, mientras que si paga con tarjeta de crédito
gana dos puntos por cada sol.
Reportar el monto a pagar, el costo por servicio, la
propina, el costo del taxi y los puntos ganados.
15-06-2014

Ing. Msc. Alberto M. MEDINA VILLACORTA 15

Das könnte Ihnen auch gefallen