Universidad San Pedro SAD Barranca
Escuela: Ingeniería Informática y de Sistemas Curso: Introducción a la Ing. Informática y de Sistemas Ciclo: I Docente: Ing. CIP Jorge Pariasca León
ESTRUCTURA DE CONTROL CONDICIONAL SIMPLE (SELECTIVA SIMPLE) Una sentencia condicional 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: PSEUDOCODIGO: Si (condición) entonces sentencia(s); FinSi
DIAGRAMA DE FLUJO
Ejemplo: Se quiere diseñar el algoritmo de un programa que: 1º) Pida por teclado la nota (dato real) de una asignatura. 2º) Muestre por pantalla: • "APROBADO", en el caso de que la nota sea mayor o igual que 11. El algoritmo en pseudocódigo y diagrama de flujo puede ser: Algoritmo Calificacion_segun_nota Variables Real nota; Inicio Escribir "Introduzca nota (real): "; Leer nota; Si ( nota >= 11 ) Entonces Escribir "APROBADO"; FinSi Fin Ejercicio 1 - Cambio de signo: Escribir un programa que: 1º) Pida por teclado un número (dato real). 2º) Muestre por pantalla el número introducido, pero, cambiado de signo y, sólo en el caso de que el número no sea mayor o igual que cero. En pantalla: Introduzca número (real): -9.6 9.6
Introduzca número (real): 7.11
Algoritmo Cambio_de_signo Variables Real numero; Inicio Escribir "Introduzca número (real): " ; Leer numero; Si ( numero < 0 ) Entonces Escribir -numero ; FinSi Fin
Universidad San Pedro SAD Barranca
Escuela: Ingeniería Informática y de Sistemas Curso: Introducción a la Ing. Informática y de Sistemas Ciclo: I Docente: Ing. CIP Jorge Pariasca León
Universidad San Pedro SAD Barranca
Escuela: Ingeniería Informática y de Sistemas Curso: Introducción a la Ing. Informática y de Sistemas Ciclo: I Docente: Ing. CIP Jorge Pariasca León
Ejercicio 2 - Media aritmética: Escribir un programa que: 1º) Pida por teclado dos números (datos enteros). 2º) Muestre por pantalla la media aritmética de los números introducidos, pero, sólo en el caso de que ambos números sean mayores que cero. En pantalla: Introduzca primer número (entero): 7 Introduzca segundo número (entero): 10 La media aritmética es: 8.5 Introduzca primer número (entero): 6 Introduzca segundo número (entero): -2
Algoritmo Media_aritmetica Variables Entero a, b; Inicio Escribir "Introduzca primer número (entero): "; Leer a ; Escribir "Introduzca segundo número (entero): " ; Leer b ; Si (a > 0 y b > 0 ) Entonces Escribir “La media aritmética es: ”,( (a + b ) / 2) ; FinSi Fin ESTRUCTURA DE CONTROL CONDICIONAL COMPUESTA (CONDICIONAL DOBLE O SELECTIVA DOBLE) 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: PSEUDOCODIGO Si (condición) entonces sentencia(s); Sino sentencia(s); FinSi
DIAGRAMA DE FLUJO
Ejemplo: Se quiere diseñar el algoritmo de un programa que: 1º) Pida por teclado la nota (dato real) de una asignatura. 2º) Muestre por pantalla: • "APROBADO", en el caso de que la nota sea mayor o igual que 11. • "SUSPENDIDO", en el caso de que la nota sea menor que 11.
Universidad San Pedro SAD Barranca
Escuela: Ingeniería Informática y de Sistemas Curso: Introducción a la Ing. Informática y de Sistemas Ciclo: I Docente: Ing. CIP Jorge Pariasca León
Para resolver el problema planteado se puede escribir el siguiente algoritmo:
Universidad San Pedro SAD Barranca
Escuela: Ingeniería Informática y de Sistemas Curso: Introducción a la Ing. Informática y de Sistemas Ciclo: I Docente: Ing. CIP Jorge Pariasca León
Algoritmo Calificacion_segun_nota Variables Real nota; Inicio Escribir "Introduzca nota (real): " ; Leer( nota ); Si nota >= 5 Entonces Escribir( "APROBADO" ; Sino Escribir "SUSPENDIDO"; FinSi Fin Cuando en un algoritmo existe una condición de la cual depende que a continuación se ejecuten unas instrucciones u otras, se dice que existe una bifurcación. Ejercicio 1 - Suma de dos números (Alternativa doble): Escribir un programa que: 1º) Pida por teclado dos números (datos enteros). 2º) Calcule la suma de los números introducidos por el usuario. 3º) Muestre por pantalla: •"LA SUMA SÍ ES MAYOR QUE CERO.", en el caso de que sí lo sea. •"LA SUMA NO ES MAYOR QUE CERO.", en el caso de que no lo sea.
En pantalla: Introduzca primer número (entero): 14 Introduzca segundo número (entero): -17 LA SUMA NO ES MAYOR QUE CERO.
Algoritmo Suma_de_dos_numeros Variables Entero a, b, suma;
Algoritmo Suma_de_dos_numeros Variables Entero a, b;
Inicio Escribir "Introduzca primer número (entero): " ; Leer a ; Escribir "Introduzca segundo número (entero): " ; Leer b ;
Inicio Escribir "Introduzca primer número (entero): " ; Leer a ; Escribir "Introduzca segundo número (entero): " ; Leer b ;
suma ← a + b; Si ( suma > 0 ) Entonces Escribir "LA SUMA SÍ ES MAYOR QUE CERO." ; Sino Escribir "LA SUMA NO ES MAYOR QUE CERO." ; FinSi Fin
Si ( a + b > 0 ) Entonces Escribir "LA SUMA SÍ ES MAYOR QUE CERO." ; Sino Escribir "LA SUMA NO ES MAYOR QUE CERO." ; FinSi Fin
ANIDAMIENTO DE ESTRUCTURAS CONDICIONALES Las instrucciones condicionales pueden escribirse una dentro de otra. A este hecho se le conoce como anidamiento. Las instrucciones condicionales permiten realizar las siguientes combinaciones de anidamiento: • Doble en doble. • Doble en simple. • Simple en simple. • Simple en doble. De ellas, vamos a estudiar, como ejemplo, la siguiente combinación: • Doble en doble.
Universidad San Pedro SAD Barranca
Escuela: Ingeniería Informática y de Sistemas Curso: Introducción a la Ing. Informática y de Sistemas Ciclo: I Docente: Ing. CIP Jorge Pariasca León
En pseudocódigo, para anidar una alternativa doble en otra, se utiliza la sintaxis: Si ( <expresión_lógica_1> ) Entonces /* Inicio del anidamiento */ Si ( <expresión_lógica_2> ) Entonces <bloque_de_instrucciones_1>; Sino <bloque_de_instrucciones_2>; FinSi /* Fin del anidamiento */ Sino <bloque_de_instrucciones_3>; FinSi
O también: Si ( <expresión_lógica_1> ) Entonces <bloque_de_instrucciones_1>; Sino /* Inicio del anidamiento */ Si ( <expresión_lógica_2> ) Entonces <bloque_de_instrucciones_2>; Sino <bloque_de_instrucciones_3>; FinSi /* Fin del anidamiento */ FinSi
Ejemplo: Se quiere diseñar el algoritmo de un programa que: 1º) Pida por teclado la nota (real) de una asignatura. 2º) Muestre por pantalla: • "APTO", en el caso de que la nota sea mayor o igual que 5 y menor o igual que 10. • "NO APTO", en el caso de que la nota sea mayor o igual que 0 y menor que 5. • "ERROR: Nota incorrecta.", en el caso de que la nota sea menor que 0 o mayor que 10. Una solución al problema es: Algoritmo Calificacion_segun_nota Variables Real nota; Inicio Escribir "Introduzca nota (real): “; Leer nota; Si ( nota >= 5 y nota <= 10 ) Entonces Escribir "APTO" ; Sino /* Inicio del anidamiento */ Si ( nota >= 0 y nota < 5 ) Entonces Escribir "NO APTO" ; Sino Escribir "ERROR: Nota incorrecta." ; FinSi /* Fin del anidamiento */ FinSi Fin
Como se puede observar, el anidamiento de instrucciones alternativas permite ir descartando valores hasta llegar al bloque de instrucciones que se debe ejecutar.
Universidad San Pedro SAD Barranca
Escuela: Ingeniería Informática y de Sistemas Curso: Introducción a la Ing. Informática y de Sistemas Ciclo: I Docente: Ing. CIP Jorge Pariasca León
Ejercicios propuestos:
1. Dado como dato el sueldo de un trabajador, aplíquele un aumento del 15% si su sueldo es inferior a $1000. Imprima en este caso, el nuevo sueldo del trabajador. 2. Dados dos números enteros, se desea determinar si el primero es divisible por el segundo, si es cierto desplegar “es divisible” y si no lo es, desplegar “no es divisible”. 3. Escriba un programa que pida un número y a continuación escriba si es par o impar. 4. Calcular el mayor de dos números leídos del teclado y visualizarlo en pantalla. 5. Calcular el mayor de tres números leídos del teclado y visualizarlo en pantalla. 6. Modificar el programa anterior para mostrar también el menor en la misma solución. 7. Desarrollar una solución que calcule el costo total de hospitalización, sabiendo el total de días y el costo de la habitación. El costo de la habitación se determina de acuerdo a la siguiente tabla: Área 1 2 3
Costo 150 120 100
8. Dado un número introducido por el usuario, indicar si éste es positivo, negativo o nulo. 9. Determinar en que estado está el agua en función de su temperatura. Si es negativa el estado será sólido, si es menor que 100 será líquido y si es mayor o igual que 100 será gas. Pedir al usuario el valor de la temperatura. 10. Calcular el promedio de calificaciones de un alumno. Las dos primeras notas valen 30% cada una y la tercera 40%. Si el promedio es mayor o igual a 13 imprimirá aprobado, de lo contrario dirá reprobado. Si el promedio es igual a 20, dirá alumno excelente. Se desea imprimir el nombre del alumno, código de la materia y el promedio obtenido. 11. Desarrollar una solución que permita ingresar un número comprendido entre 1 y 5. Muestre el número en letras. 12. Desarrollar una solución que permita determinar cómo se clasifica un ángulo ingresado por teclado. Los ángulos se clasifican de la siguiente manera: ángulo = 0 Nulo 0 < ángulo <90 Agudo ángulo = 90 Recto 90 < ángulo < 180 Obtuso ángulo = 180 Llano 180 < ángulo < 360 Cóncavo ángulo = 360 Completo 13.
14. Una empresa paga a sus empleados un sueldo básico en base a la siguiente tabla: Categoría A B C D
Básico S/.400 S/.500 S/.600 S/.700
Adicionalmente les paga una comisión en base al monto de sus ventas, según se detalla en el cuadro siguiente: Ventas Básico 0 a 500 0% 501 a 1500 20.5% 1501 a 2500 30.5% Más de 2500 45.5%
Desarrolle una solución que permita calcular y mostrar el sueldo básico, la comisión y el sueldo a cobrar (sueldo básico + comisión), por un empleado.
15. Desarrollar una solución que permita ingresar la temperatura promedio (tp) de un día y permita mostrar el tipo de clima de acuerdo a la siguiente tabla: Temperatura (tp)
Tipo de clima
Universidad San Pedro SAD Barranca
Escuela: Ingeniería Informática y de Sistemas Curso: Introducción a la Ing. Informática y de Sistemas Ciclo: I Docente: Ing. CIP Jorge Pariasca León tp <= 9 9 < tp <=17 17 < tp <= 27 tp > 27
Frío Nublado Caluroso Tropical