Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2 SENTENCIAS SELECTIVAS
Las estructuras de control Selectivas, permiten "seleccionar" una ruta alterna a la solución del
problema, según el resultado de evaluar una expresión relacional y/o lógica.
Si se considera un ejemplo de la vida diaria, podría ser semejante a las decisiones que se toman para
realizar acciones específicas:
Estas decisiones que se toman diariamente, están reflejadas en programación como estructuras
selectivas.
Para la representación gráfica de las estructuras selectivas se utiliza la figura geométrica "rombo"
para ingresar la condición que determinará el camino a seguir.
Figura 1.1
Para el diseño en Pseudocódigo se utiliza la palabra "Si" y "finSi". La sintaxis está detallada en la
explicación de cada instrucción.
Para identificar qué instrucciones van en cada sección de la instrucción selectiva debe preguntarse
lo siguiente:
Todas las respuestas a esta pregunta deben escribirse como instrucciones en la sección verdadera
de la sentencia selectiva.
En este caso, la condición es: num>0; por lo tanto, si es la evaluación es verdadera, entonces: ¿qué
debe hacer el programa?:
Imprimir "positivo"
num = num - 1
residuo = num % 2
De igual manera, para identificar las instrucciones de la sección falsa, debe preguntarse:
Todas las respuestas a esta pregunta deben escribirse como instrucciones en la sección falsa de la
sentencia selectiva; sin embargo, es posible que no deba realizarse ninguna acción, en cuyo caso la
instrucción únicamente tiene parte verdadera.
RECUERDE: Una instrucción selectiva, puede no tener parte falsa, pero siempre debe tener una
parte verdadera;
Ejemplo: Realice un programa que verifique si un número es positivo, en caso afirmativo imprima el
mensaje indicando qué es positivo, y réstele 1, y obtenga el residuo del número dividido para 2. Si
se trata de un número negativo: Imprima el mensaje Negativo y súmele 1 al número.
Respuesta
En este caso, la condición es: num>0; por lo tanto, si es la evaluación es verdadera, entonces: ¿qué
debe hacer el programa?:
Imprimir "positivo"
num = num - 1
residuo = num % 2
Imprimir "Negativo"
num = num + 1
If
La Instrucción If, "Si" en pseudocódigo, permite alterar la secuencia seleccionando entre dos
opciones posibles. Esta instrucción puede escribirse de las siguientes formas:
SI SIMPLE
En esta forma, los pasos o instrucciones que se encuentran dentro se ejecutan únicamente cuando
la evaluación de la condición sea verdadera.
Sintaxis:
Figura 1.2
En esta forma, los pasos o instrucciones que se encuentran entre el inicio y fin de la estructura,
tienen dos secciones:
Figura 1.3
SI ANIDADO
Sintaxis:
Figura 1.4
Como puede observarse en la tabla de la figura anterior, esta característica de la instrucción if,
permite decidir entre más de dos posibilidades de respuesta, siendo posible extenderse tantas como
sea necesario. Es necesario aclarar que tanto la parte verdadera como la parte falsa pueden anidar
dentro de sí mismas otra instrucción de tipo if con o sin su correspondiente caso contrario.
Ejemplo if Simple
ANÁLISIS
Una vez conocido el proceso matemático, es conveniente hacer una representación gráfica de todas
las variables que intervienen.
Figura 1.5
Así en la figura 1.5 se observa que será necesario realizar una suma (nota1 + nota2) y con su
resultado (suma) verificar si es superior o igual a 14 en cuyo caso se deberá indicar que SÍ APROBÓ
(respuesta)
Entradas:
Salidas:
String respuesta
DISEÑO
Si (suma >=14)
respuesta = "APROBADO"
FinSi
Escribir respuesta
DFD
Figura 1.6
El diseño toma la mayoría de datos de la fase de análisis, para incorporarlo a un proceso secuencial.
Al distinguir cuáles son las acciones que se realizan una sola vez y las que se realizan varias veces,
éstas últimas son aquellas que van dentro de las instrucciones repetitivas
IMPLEMENTACIÓN
Ejemplo if Completo
ANÁLISIS
El problema consiste en determinar si UN estudiante (SÓLO UNO), aprobó o reprobó una asignatura,
a través de la suma de las notas del bimestre 1 y bimestre 2.
SINO REPRUEBA
Una vez conocido el proceso matemático, es conveniente hacer una representación gráfica de todas
las variables que intervienen.
Figura 1.7
Así en la figura 1.7 se puede observar que será necesario realizar una suma (nota1 + nota2) y con su
resultado (suma) verificar si es superior o igual a 14 en cuyo caso se deberá indicar que SÍ APROBÓ
(respuesta) y en caso contrario NO APROBÓ (respuesta alterna)
Entradas:
Salidas:
int fact
DISEÑO
Si (suma >=14)
respuesta = "APROBADO"
sino
respuesta = "REPROBADO"
FinSi
Escribir respuesta
DFD
Figura 1.8
El diseño toma la mayoría de datos de la fase de análisis, para incorporarlo a un proceso secuencial.
Al distinguir cuáles son las acciones que se realizan una sola vez y las que se realizan varias veces,
éstas últimas son aquellas que van dentro de las instrucciones repetitivas.
IMPLEMENTACIÓN
else
Ejemplo if Anidado
ANÁLISIS
El problema consiste en determinar si UN estudiante (SÓLO UNO), aprueba, rinde examen supletorio
o reprueba una asignatura, a través de la suma de las notas del bimestre 1 y bimestre 2. Tienen
oportunidad de rendir el examen supletorio aquellos que obtengan una suma menor a 14 pero
mayor a 10.
Para calcular la nota a obtener en el supletorio, se conoce que el promedio debe ser 7 ya sea con 2
o 3 calificaciones, por lo tanto, la fórmula sería:
Una vez conocido el proceso matemático, es conveniente hacer una representación gráfica de todas
las variables que intervienen.
Figura 1.9
Así en la figura 1.9 se observa si será necesario realizar una suma (nota1 + nota2) y con su resultado
(suma) verificar si es superior o igual a 14 en cuyo caso se deberá indicar que SÍ APROBÓ (respuesta),
si está entre 11 y 13 deberá rendir un supletorio y en caso contrario se deberá indicar que NO
APROBÓ.
Entradas:
Salidas:
int fact
DISEÑO
Si (suma >=14)
respuesta = "APROBADO"
sino
respuesta = "SUPLETORIO"
supletorio = 21 - suma
sino
respuesta = "REPROBADO"
FinSi
FinSi
Escribir respuesta
DFD
Figura 1.10
El diseño toma la mayoría de datos de la fase de análisis, para incorporarlo a un proceso secuencial.
Las estructuras selectivas se utilizan cuando la decisión debe tomarse UNA SOLA VEZ, y luego
continuar con el flujo de instrucciones.
IMPLEMENTACIÓN
Figura 1.11
Switch
La Instrucción Switch, es una alternativa a la instrucción if, y se caracteriza por ofrecer la posibilidad
de elegir entre más de dos opciones. En pseudocódigo, se le conoce de diferentes formas:
• En caso de
• Según sea
Pero al igual que en la instrucción if, el camino a seguir depender del valor que se evalúe. En esta
instrucción no existe una condición explícita en su sintaxis, sin embargo, de acuerdo al lenguaje es
posible evaluar un carácter o un número, siendo esta una limitación que impide la escritura directa
de condiciones; por lo que es útil en algunos problemas en los que se requiere elegir opciones
directas. Su sintaxis es la siguiente:
En Pseudocódigo:
opcion_1:
Escribir "acciones1"
opcion_2:
Escribir "acciones2"
opcion_3:
Escribir "acciones3"
De Otro Modo:
Escribir "accionesSiNoCumpleNinguna"
Fin_SegunSea
Figura 1.12
switch (op){
case 1:
instrucciones
break;
case 2:
instrucciones
break;
default:
instrucciones
break;
Realice el análisis, diseño, pruebas e implementación de un programa que escriba el nombre del
mes, de acuerdo al orden de su sucesión en el año.
ANÁLISIS
El problema consiste en escribir en letras el nombre del mes de acuerdo al número que le
corresponde: 1 (Enero), 2 (Febrero), hasta el mes 12 (Diciembre)
Entradas:
int mes
Salidas:
String mesLetras
DISEÑO
opcion_1:
mesLetras = "Enero"
opcion_2:
mesLetras = "Febrero"
opcion_3:
mesLetras = "Marzo"
De Otro Modo:
Fin_SegunSea
Escribir mesLetras
DFD
Figura 1.13
IMPLEMENTACIÓN
int mes;
String mesLetras;
mes = Integer.parseInt(entrada.next());
switch (mes){
case 1: mesLetras= "Enero"; break;
System.out.println(mesLetras);
Ejercicios propuestos