Estructuras de control secuenciales y selectivas.pdf
1. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA (UNEFM)
ESTRUCTURAS DE
CONTROL
Programación estructurada
Oniel Revilla Morón
Coro - Venezuela
ESTRUCTURAS DE
CONTROL
Programación estructurada
Oniel Revilla Morón
Coro - Venezuela
Lenguajes de Programación Licdo. Oniel Revilla Morón
2. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Cuestiones preliminares
Antes de iniciar el estudio de las estructuras de control, conviene
repasar que PseInt es un pseudointérprete, esto es, una aplicación
que ayuda a escribir algoritmos como si fuesen auténticos programas.
La forma de escribir programas con PseInt es la siguiente:
Proceso nombre_del_programa
//Declaración de variables
...
//Fase de entrada
...
//Fase de proceso
...
//Fase de salida
...
FinProceso
3. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Cuestiones preliminares
Las palabras Proceso y FinProceso son obligatorias y son parte del
pseudolenguaje. Marcan el inicio y el fin del código a escribir. Dentro
de ellas se escribirán las líneas de código que definen nuestro
programa.
Debajo de Proceso..., escribiremos la declaración de variables con la
palabra Definir. Como se vio en la guía de sintaxis de programación,
las variables pueden tener distintos tipos de datos y es necesario
especificar el tipo de las variables a utilizar (entero, carácter, real o
flotante, booleano). Ejemplo: Definir peso como Real
Luego viene la fase de entrada que son las instrucciones con las
cuales se le pide al usuario que aporte datos al programa.
Luego está la fase de proceso (que pocas veces es opcional), que
serán todas aquellas instrucciones con las que se calculará y
procesarán las entradas para generar resultados.
4. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Cuestiones preliminares
Finalmente, la fase de salida, que es la parte del programa donde
escribimos las instrucciones que le darán los resultados al usuario, la
salida de información.
De tal manera que este será el modo como se escribirán los programas
en PseInt. Es algo bastante sencillo puesto que PseInt no es un
lenguaje de programación verdadero; la idea es poner el énfasis en la
lógica de programación más que en la sintaxis de los lenguajes.
La lógica de programación está parcialmente contenida en las
estructuras de control (tema de esta unidad), las cuales son los
bloques constitutivos de la lógica de todo programa de computadora.
5. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
En la programación estructurada se
parte de tres grandes estructuras de
control:
1) Estructuras secuenciales
2) Estructuras selectivas
3) Estructuras repetitivas
6. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA (UNEFM)
Computación I Licdo. Oniel Revilla Morón
Secuenciales
Selectivas
Repetitivas
Escribir
Leer
Asignar (=, <-)
Si (if)
Si – Entonces, sino (if, else)
Según
Para (for)
Para (for)
Mientras (while)
Mientras (while)
Hacer mientras (do while)
Hacer mientras (do while)
7. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
¿Estructuras Secuenciales?
Es aquella en que una acción
(instrucción) sigue a la otra en
secuencia. Las tareas se suceden de
tal modo que la salida de una es la
entrada de la siguiente y así
sucesivamente hasta el final del
proceso.
8. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Estructuras Secuenciales
Las estructuras secuenciales más básicas
son:
Instrucción de Salida (Escribir)
Instrucción de Entrada (Leer)
Instrucción de Asignación (=)
9. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Instrucciones de entrada y salida
Los cálculos que realizan las computadoras requieren para ser
útiles la entrada de los datos necesarios para ejecutar las
operaciones que posteriormente se convertirán en resultados, es
decir, la salida.
Las operaciones de entrada permiten leer determinados valores y
asignarlos a determinadas variables. Esta entrada se conoce
como operación de lectura (read). Los datos de entrada se
introducen al procesador mediante dispositivos de entrada
(teclado, ratón, etc.). La salida puede aparecer en un dispositivo
de salida (monitor, impresora, etc.). La operación de salida se
denomina escritura (write). También es común referírsele como
“impresión” por pantalla.
10. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Instrucciones de escritura en PseInt
La salida de información de programas de ambiente de terminal
escritos en PseInt (y hasta C/C++) se produce mediante la
pantalla de monitor. Es decir, todas las salidas de información
que programemos se reflejarán en él.
El comando de PseInt para esto es Escribir. Su sintaxis debe ser
Escribir <mensaje>, donde <mensaje> puede ser un literal
(cadena de texto) o incluso variables. Ejemplos:
...
Escribir “Bienvenido a mi primer programa”
Escribir “El resultado es: ”, resultado
Escribir “Sus datos: ”, nombre, cedula, edad
...
11. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Instrucciones de escritura en PseInt
Como se dijo, la instrucción Escribir también permite imprimir en
pantalla el contenido de las variables y se puede armar todo un
mensaje de salida compuesto de varias partes (variables y
literales). Ejemplo:
...
Escribir “ Edad: ”, edad, “ años”
…
Donde “Edad” y “ años” son literales (cadenas de caracteres
escritas directamente en el código) y edad es una variable de tipo
entero.
12. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Instrucciones de lectura en PseInt
La entrada de datos de programas de ambiente de terminal
escritos con PseInt (e incluso C/C++) se produce mediante el
teclado. Es decir, el usuario será quien suministre los datos de
entrada mediante este dispositivo.
El comando de PseInt para esto es Leer.
Lo que este comando permite es capturar la información
ingresada por el usuario en una variable. Esta variable tendrá
asignada, entonces, el valor leído.
13. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Instrucciones de lectura en PseInt
La sintaxis de Leer debe ir acompañada del objeto u objetos
(variables) donde almacenará el valor a capturar. Ejemplos:
...
Leer edad (Se está guardado en una variable tipo entero)
Leer a (Se está guardado en una variable tipo indeterminado)
Leer nombre, apellido (Se está guardado variables tipo carácter)
Leer letra (Se está guardado una variable tipo carácter)
...
14. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Ejercicios
1) Escriba un programa en C++ que lea la cédula, edad, año de
nacimiento y el sueldo de una persona. Seguidamente, el
programa debe mostrar todos los datos leídos.
2) Realice un programa que capture nombre, dirección, email y
años de experiencia de un trabajador. A continuación muestre los
valores obtenidos.
15. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Ejercicios
1) Escriba un programa con PseInt que lea la cédula, edad, año de nacimiento y el sueldo de
una persona. Seguidamente, el programa debe mostrar todos los datos leídos.
16. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Ejercicios
2) Realice un programa que capture nombre, dirección, email y años de experiencia de un
trabajador. A continuación muestre los valores obtenidos..
17. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Instrucción de Asignación
La operación de asignación es el modo de almacenar valores en
una variable. La operación de asignación se representa con el
símbolo =. El formato general para expresar esta operación en
PseInt es el siguiente:
Variable = expresión
Ejemplos:
Valor1 = 10
Valor2 = 35
Valor3 = valor1 + valor2
Valor4 = “Javier”
Valor5 = 19.5
Valor6 = 3.1415
.
18. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Instrucción de Asignación
La acción de asignar es destructiva, ya que el valor que tuviera
la variable antes de la asignación se pierde y se reemplaza por el
nuevo valor. Ejemplo:
n1 = 23
n2 = 134
n3 = 5
n1 = 20
Si se muestra en pantalla el valor de n1, éste será 20, puesto que
el valor 23 se perdió al sobreescribir la variable n1 con un nuevo
valor. n2 y n3 no sufren cambios en este ejemplo.
19. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Instrucción de Asignación
La mayoría de las asignaciones son de tipo aritmético, es decir,
utilizando expresiones aritméticas. Por ejemplo: Determine el
valor asignado a las variables en las siguientes asignaciones:
a = 3
b = 4
c = a + 2 * b
c = c + b
b = c – a
a = b * c
.
20. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Instrucción de Asignación
En la solución de problemas con programación, la operación de
asignación (junto a las de lectura y escritura) es altamente
productiva. Con ella podemos resolver problemas como los
siguientes:
3) Realice un programa que lea el año actual y el año de
nacimiento de una persona y muestre su edad.
4) Escriba un programa que calcule y muestre el 20% de una
cantidad leída.
.
21. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Ejercicios
3) Realice un programa que lea el año actual y el año de nacimiento de una persona y muestre
su edad.
.
22. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Ejercicios
4) Escriba un programa que calcule y muestre el 20% de una cantidad leída.
.
23. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Estructuras Selectivas
La formulación de algoritmos tiene especial
utilidad cuando el algoritmo requiere de una
descripción más complicada que una lista
sencilla de instrucciones.
Por ejemplo, a la derecha vemos un simple
algoritmo para realizar una llamada
telefónica. Aunque muestra cómo se hace,
el algoritmo presenta limitaciones puesto
que no considera posibles casos como qué
hacer SI no contestan la llamada o qué
hacer SI el número marcado es incorrecto.
24. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Estructuras Selectivas
Es decir, hay que considerar alternativas. El ejemplo de abajo lo
muestra perfectamente: una lámpara que no funciona. Para
empezar nos pregun-tamos si está apagada. Si lo está: la
encendemos. Si está encendida y sigue sin funcionar: nos
preguntamos si tiene el bombillo quemado. Si lo está: lo
cambiamos, pero si sigue sin funcionar no hay más remedio que
cambiar de lámpara o seguir considerando otras opciones.
25. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Estructuras Selectivas
Esta clase de situaciones se presentan a menudo en la
programación. Hay momentos en los que hay que plantear la
posibilidad de decidir o seleccionar entre varias opciones. De
eso se tratan las estructuras selectivas:
En estas estructuras se evalúa una condición y en función del
resultado de la misma se realiza una opción u otra. Las
estructuras selectivas se pueden utilizar para tomar “decisiones
lógicas”. Por ello se conocen también como estructuras
condicionales, de decisión o alternativas.
26. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Estructuras
Selectivas
Las condiciones se especifican
usando expresiones lógicas, las
cuales contienen un valor de
verdad, es decir, o es verdadero
o es falso.
Para ello, es necesario repasar
los operadores relacionales y
los operadores lógicos. (ver
guía didáctica de sintaxis de
programación para profundizar)
27. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Estructuras Selectivas
Pueden identificarse tres tipos de estructuras selectivas o
condicionales: Las simples, dobles y múltiples, las cuales
pueden anidarse o no.
Las palabras reservadas de PseInt utilizadas para programar
estas estructuras son:
• “Si - Entonces”, “Sino”: para las selectivas simples y
dobles.
• “según”: para las selectivas múltiples.
28. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Estructura Selectiva Simple
La selección simple Si - Entonces ejecuta
una determinada acción cuando se cumple
una determinada condición. Esta evalúa la
condición. Si es verdadera ejecuta la
acción, sino no hace nada.
Estructura Selectiva doble
La selección doble Si – entonces, sino .
Hace lo mismo: evalúa la condición; si es
verdadera ejecuta la acción, pero si no lo
es, entonces ejecuta otras acciones.
Es de hacer notar que a la hora de codificar estas estructuras, éstas deben cerrar con la
palabra FinSi en PseInt.
29. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Estructuras Selectivas
A continuación se presentan distintos formatos para expresar
esta estructura en PseInt:
Si expresión lógica Entonces
acción_por_verdadero
FinSi
Si expresión lógica Entonces
acción_por_verdadero_1
acción_por_verdadero_2
acción_por_verdadero_n
FinSi
Si expresión lógica Entonces
acción_por_verdadero
Sino
acción_por_falso
FinSi
Si expresión lógica Entonces
acción_por_verdadero_1
acción_por_verdadero_n
Sino
acción_por_falso
FinSi
Si expresión lógica Entonces
acción_por_verdadero_1
acción_por_verdadero_n
Sino
acción_por_falso_1
acción_por_falso_n
FinSi
Si expresión lógica Entonces
acción_por_verdadero
Sino
Si expresión lógica 2 Entonces
acción_por_verdadero_1
acción_por_verdadero_n
FinSi
FinSi
Este último caso es un
anidamiento: un bloque de si-
entonces dentro de otro si-
entonces. Cada uno debe
tener su respectivo FinSi
30. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Estructuras Selectivas
Debe evidenciarse que las palabras Si … Entonces siempre
están presentes. Entre ellas se coloca la expresión lógica o
condición. Luego, debajo se coloca el bloque de instrucciones a
cumplir en caso de verdadero.
Luego está opcionalmente la palabra Sino, que significa “otra
cosa”. Marca las acciones a cumplirse en caso de ser falsa la
condición.
Al terminar de escribir los bloques de código con Si – Entonces,
debe escribirse un FinSi, lo cual es parte de la sintaxis y ayuda
a entender dónde termina esa parte del código del programa.
31. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Ejemplo 1: Programa que lea un número e indique el mayor de ambos o si son iguales.
32. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Ejemplo 2: Leer tres notas y promediarlas. Muestre el promedio y señale si el estudiante aprobó o no..
33. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Ejemplo 3: Se necesita leer la nota cuantitativa de un estudiante y obtener una nota cualitativa
dependiendo del rango de aquella. Así pues, menos de 10 pts. es “Reprobado”, entre 10 y 16 pts.
es “Regular”, entre 16 y 18 pts. es “Bueno” y hasta 20 pts. es “Excelente”. Muestre la nota cualitativa.
34. UNIVERSIDAD NACIONAL EXPERIMENTAL
FRANCISCO DE MIRANDA
Lenguajes de Programación Licdo. Oniel Revilla Morón
Ejemplo 3: Se necesita leer la nota cuantitativa de un estudiante y obtener una nota cualitativa
dependiendo del rango de aquella. Así pues, menos de 10 pts. es “Reprobado”, entre 10 y 16 pts.
es “Regular”, entre 16 y 18 pts. es “Bueno” y hasta 20 pts. es “Excelente”. Muestre la nota cualitativa.