|
|||||||
|
|
|
|||||
|
|
|||||||
Una sentencia de selección simple , es parte de un algoritmo que permite decidir bajo una cierta condición si una instrucción o sentencia se va a ejecutar.
En general, se escribe :
SI (condición) ENTONCES sentencia(s) FIN SI
JAVA : Sentencia if
if (condición)
{
sentencia(s)
}
Ejemplos
1)
SI (ingreso bruto familiar < 120.000) ENTONCES
El estado lo considera pobre
FIN SI
if (ing_bruto < 120.000)
{
System.out.println("El estado lo considera pobre");
}
2)
SI (edad > 17) ENTONCES
Puede solicitar licencia de conducir
Puede inscribirse en los registros electorales
FIN SI
if (edad > 17)
{
System.out.println("Puede solicitar licencia de conducir");
System.out.println("Puede inscribirse en los registros..");
}
Además de ejecutar las sentencias en el caso que se cumpla la condición, podemos explicitar las instrucciones en el caso que no se cumpla dicha condición.
En general, se escribe
SI (condición) ENTONCES
sentencia(s)
SINO
sentencia(s)
FIN SI
JAVA : Sentencia if - else
if (condición)
{
sentencia(s)
}
else
{
sentencia(s)
}
Ejemplos
1)
SI (nota > 3.4 ) ENTONCES
Se tiene derecho a examen
SINO
No se tiene derecho a examen
Obligación de hacer el curso de nuevo.
FIN SI
if (nota > 3.4)
{
System.out.println("Se tiene derecho a examen");
}
else
{
System.out.println("No se tiene derecho a examen");
System.out.println("Obligación de hacer el curso de nuevo");
}
2)
SI (saldo cuenta < 500.000) ENTONCES
Inicio de trámite para préstamo
SI (está en DICOM) ENTONCES
Fin del trámite
Préstamo Rechazado
SINO
Trámite aprobado
FIN SI
SINO
Muy poco saldo para iniciar trámite
FIN SI
if (saldo_cuenta < 500.000)
{
System.out.println("Inicio de tramite para prestamo");
if (esta_dicom)
{
System.out.println("Fin del tramite");
System.out.println("Prestamo Rechazado");
}
else
{
System.out.println("Tramite aprobado");
}
}
else
{
System.out.println("Muy poco saldo para iniciar tramite");
}
Una aplicación sencilla de esta estructura, se aplica para determinar
si un número es par o impar.
Se sabe que un número par se puede reconocer si , el resto de la división de
dicho número por dos es igual a cero. Por lo tanto, el algoritmo sería de la
siguiente manera :
Leer num
SI (RESTO(num/2) = 0) ENTONCES
num es par
SINO
num es impar
FIN SI
La sentencia : leer num , nos dice que se está esperando que por algún medio (teclado, archivo,..) se le de valor a la variable num. Después de asignado el valor, se evalúa la condición y se espera la respuesta o salida del algoritmo.
if (num % 2 == 0)
{
System.out.println(num + " es par");
}
else
{
System.out.println(num + " es impar");
}
Fórmula para calcular el resto resto = num - división_entera * divisor Ej : 13 : 2 = 6 --> 6 : división_entera resto = 13 - 6*2 = 13 - 12 = 1
Ejemplo
Salida del programa :
Crear un programa que calcule la nota de presentacion a examen y la nota minima que se necesita para obtener nota final cuatro.
La notas se calculan según lo siguiente :
Controles : c1,c2,c3
Solemnes : s1,s2
promedio controles = (c1 + c2 + c3) / 3
nota presentación = (s1 + s2 + promedio controles) / 3
nota final = 0.3 * examen + 0.7 * nota presentación
Codigo fuente
import java.io.*; class notas { public static void main(String Arg[ ]) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); double c1,c2,c3; double s1,s2; double nota_present; double prom_controles; System.out.print("\n\tIngrese nota control 1 : "); c1 = Double.parseDouble(in.readLine( )); System.out.print("\n\tIngrese nota control 2 : "); c2 = Double.parseDouble(in.readLine( )); System.out.print("\n\tIngrese nota control 3 : "); c3 = Double.parseDouble(in.readLine( )); prom_controles = (c1 + c2 + c3) / 3; /* Redondeo a un decimal */ prom_controles = Math.round(prom_controles * 10) / 10.0; System.out.println("\n\tPromedio controles : " + prom_controles); System.out.print("\n\tIngrese nota solemne 1 : "); s1 = Double.parseDouble(in.readLine()); System.out.print("\n\tIngrese nota solemne 2 : "); s2 = Double.parseDouble(in.readLine()); nota_present = (s1 + s2 + prom_controles) / 3; nota_present = Math.round(nota_present * 10) / 10.0; System.out.println("\n\tNota de presentacion : " + nota_present); if(nota_present >= 3.5) { double nota_examen; nota_examen = (3.95 - 0.70 * nota_present) / 0.30; nota_examen = Math.round(nota_examen * 10) / 10.0; System.out.println("\n\tNota minima de examen para aprobar el ramo : " + nota_examen); } else System.out.println("\n\tNo tiene derecho a dar examen"); System.out.println( ); } }Bajar archivo
|
Ejemplo Crear un programa que discrimina por condición de edad y estatura para ingresar a un sistema x. Se necesita mostrar mensajes a pantalla, en función de parámetros ingresados por teclado. El algoritmo básico especifica lo siguiente : Si la edad ingresada es mayor o igual a 18 , se pregunta por la estatura, sino, se muestra el mensaje : "Ud. es menor de edad -- ACCESO DENEGADO". Ahora, si la estatura es menor que 1.85 mts, se muestra el mensaje : "Esta dentro de la estatura permitida", sino, se muestra el mensaje : "Es demasiado alto para el sistema". |
![]() ![]()
|
Codigo fuente
import java.io.*;
class sesion
{
public static void main(String Arg[ ]) throws IOException
{
BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
int edad;
double estatura;
System.out.print("\n\tIngrese su edad : ");
edad = Integer.parseInt(in.readLine( ));
if( edad >= 18 )
{
System.out.println("\n\t-- Ud. es mayor de edad -- ACCESO PERMITIDO.");
System.out.print("\n\tIngrese su estatura (ej : 1.74 ): ");
/* para leer una variable de tipo double */
estatura = Double.parseDouble(in.readLine( ));
if( estatura < 1.85)
System.out.println("\n\tEsta dentro de la estatura permitida");
else
System.out.println("\n\tEs demasiado alto para el sistema");
}
else
System.out.println("\n\t-- Ud. es menor de edad -- ACCESO DENEGADO.");
System.out.println("\n\t-- FIN DE SESION --\n");
}
}
Bajar archivo