Estructuras Repetitivas - Universidad Veracruzana

Anuncio
Tema 3
!
Estructuras de Datos
Estructuras Simples, Doble,
Anidada y Múltiple
•
En este tema veremos las sentencias selectivas:
•
IF (Si)
•
IF - Then (Si - Entonces)
•
IF - Then - Else ( Si - Entonces - Sino)
•
Switch (Según)
•
Una estructura selectiva es aquella en la que una acción (Instrucción)
sigue a otra en secuencia.
•
Las estructuras selectivas se utilizan para tomar decisiones lógicas; es
por ello que también son llamadas estructuras de decisión o
alternativas.
•
En estas se evalúa una condición y en función del resultado se realiza
una opción o otra.
•
Las estructuras selectivas pueden ser Simples, Dobles, Múltiples o
Anidadas.
Estructura Selectiva Simple
•
La estructura selectiva simple es un If - Then (Si - Entonces), el cual
ejecuta una determinada acción cuando la condición resulta ser
verdadera o falsa.
•
Si la condición es verdadera, se ejecuta el Si
•
Si la condición es falsa, no hace nada
•
Ejemplo de una estructura selectiva simple:
Proceso sin_titulo
Si 5 > 4 Entonces
Escribir "Hacer una accion";
FinSi
FinProceso
Estructura Selectiva Doble
•
Como vimos la estructura simple no nos permite manejar dos
opciones ya que solamente funciona cuando la condición es
verdadera.
•
Por ello tenemos una estructura selectiva Doble, también conocida
como If - Then - Else (Si - Entonces - Sino)
•
Si la condición es verdadera se ejecuta la acción S1 y si es falsa la
acción S2.
Ejemplo Selectiva Doble
Proceso sin_titulo
Si 5 > 4 Entonces
Escribir "Acción S1";
Sino
Escribir "Acción S2";
FinSi
FinProceso
Estructuras de Decisión Anidadas
•
Una estructura de selección doble implica la selección de una o
dos alternativas
•
Una estructura de selección Si puede contener mas de dos
alternativas de solución
•
Esto es porque puede contener otra condición dentro de otra
condición
Si <condición> entonces
Si <condición> entonces
.<Instrucciones>
.<Instrucciones>
FinSi
Sino
Si <condición> entonces
.<Instrucciones>
.<Instrucciones>
Sino
.<Instrucciones>
.<Instrucciones>
FinSi
FinSi
•
Por lo tanto una estructura selectiva múltiple constará de una serie
de estructuras Si anidadas, esto es una condición dentro de otra.
•
De tal forma que aparenta una escalera.
Ejemplo IF Anidado
Proceso EjercicioConvierteNum
Definir num Como Entero;
Escribir "Programa que convierte numeros a texto";
Escribir "Introduce un numero entre 1 y 5";
Leer num;
Si num > 0 && num < 6 Entonces
Si num == 1 Entonces
Escribir "Uno";
FinSi
Si num == 2 Entonces
Escribir "Dos";
FinSi
Si num == 3 Entonces
Escribir "Tres";
FinSi
Si num == 4 Entonces
Escribir "Cuatro";
FinSi
Si num == 5 Entonces
Escribir "Cinco";
FinSi
Sino
Escribir "Numero fuera del rango";
FinSi
FinProceso
Ejercicio Opcional
•
Si la ecuación es A + B = 0 y las posibles soluciones son:
•
a <> 0
x = -b / a
•
a = 0 b <> 0
entonces “Solución imposible”
•
a=0b=0
entonces “solución indeterminada”
Práctica 2
1.- Algoritmo que lee tres diferentes números enteros (A, B, C) y los imprimirá
ordenados, para esto se deberán comparar en parejas sucesivamente para encontrar el
elemento mayor.!
!
2.- Algoritmo al que lee la hora dada por el usuario (Hora, Minutos y Segundos) y nos
calcule la hora dentro de un segundo. Las variables usadas serán enteros. !
!
3.- Los empleados de una fábrica trabajan en dos turnos: Matutino y Nocturno. Se desea
calcular el sueldo diario de acuerdo a las siguientes condiciones:!
a) El sueldo por hora Matutino es de 20 pesos!
b) El sueldo por hora Nocturno es de 30 pesos!
c) En caso de ser domingo la tarifa se incrementa en 10 pesos en turno Matutino y 15
en turno Vespertino!
Estructura Selectiva Multiple
SWITCH
•
Este tipo de estructura permite decidir entre varios caminos
posibles, en función del valor que tome una determinada instrucción.
•
Permite ejecutar opcionalmente varias acciones posibles,
dependiendo del valor almacenado en una variable de tipo
numérico.
•
Al ejecutarse, se evalúa el contenido de la variable y se ejecuta la
secuencia de instrucciones asociada con dicho valor.
•
Cada opción está formada por uno o más números separados por
comas, dos puntos y una secuencia de instrucciones.
•
Si una opción incluye varios números, la secuencia de instrucciones
se debe ejecutar cuando el valor de la variable es uno de esos
números
•
Otra opción se denomina “De Otro Modo”, la cual se ejecutará sólo
si el valor almacenado en la variable no coincide con ninguna de las
opciones anteriores.
Segun <variable> Hacer <número1>: <instrucciones> <número2>,<número3>: <instrucciones> <...> De Otro Modo: <instrucciones> FinSegun
Ejemplo
Proceso EjemploSwitch
Definir opc como Entero;
Escribir "Menu";
Escribir "1.- Opcion 1";
Escribir "2.- Opcion 2";
Escribir "3.- Opcion 2";
Escribir "4.- Opcion 3";
Escribir "Elije una opción: ";
Leer opc;
Segun opc Hacer
1:
Escribir "Hola Mundo";
2:
Escribir "Algoritmica";
3:
Escribir "Universidad Veracruzana";
4:
Escribir "Adios";
De Otro Modo:
Escribir "Opcion no valida";
FinSegun
FinProceso
Práctica 4
•
1.- Convertir números de numero a texto
•
2.- Obtener el mes del año mediante el número de mes ejemplo 4
= Abril
•
3.- Hacer un menú que se este repitiendo cada vez que se
ingrese una opción incorrecta
•
4.- El usuario ingresa un numero y el algoritmo debe mostrar su
valor en ASCII
Estructuras Repetitivas
•
En este tema veremos las sentencias de:
•
While (mientras)
•
Do - While (hacer mientras)
•
For (desde / para)
¿Qué es un bucle?
•
Son estructuras que se repiten un número determinado de veces.
•
También conocidas como iteraciones.
While
•
Estructura repetitiva conocida como
“mientras”.
•
El cuerpo del bucle se repite mientras se
cumple una determinada condición.
•
Se evalúa mediante una expresión booleana.
•
Cuando esta sea falsa se sale del ciclo,
mientras sea verdadera permanece dentro
del ciclo.
Ejemplo: Sumar 10 números
Proceso EjemploWhile1
Definir Suma, x, Numero Como Entero;
x <- 0;
Suma <- 0;
Escribir "Programa que suma 10 números";
Mientras x < 10 Hacer
Escribir "Introduce un número ", x, ": ";
Leer Numero;
Suma <- Suma + Numero;
x <- x + 1;
FinMientras
Escribir "El resultado es = ", Suma;
FinProceso
Do - While
•
El do - While es un método muy parecido al
While, con la diferencia de que este
funciona al menos una vez.
•
En PSeInt se conoce como un “repetir”
•
Ejecuta una secuencia de instrucciones
hasta que la condición sea verdadera.
Ejemplo: Selecionar una opción
Proceso EjemploDoWhile
Definir opc Como Entero;
opc <- 0;
Repetir
Escribir "Elige una opción:";
Escribir "1.- Continuar";
Escribir "2.- Salir";
Leer opc;
Hasta Que opc == 2
FinProceso
For
•
La instrucción For ejecuta una secuencia de instrucciones un
número determinado de veces.
•
Es una de las estructuras más utilizadas.
•
su lógica es:
•
For ( valor inicial ; condición ; Incremento)
•
En el caso de PSeInt su lógica es:
•
Para variable inicial Hasta final ( Con Paso paso ) Hacer
•
Si se omite la cláusula Con Paso paso, la variable <variable> se
incrementará en 1.
Práctica 3
•
Ejercicio 1: Mediante el manejo de dos variables enteras (Número y
Contador) leer desde pantalla, cuantos números vas a sumar.
•
Ejercicio 2: Obtener el promedio de 10 números dados desde
lectura estándar, utilizando While.
•
Ejercicio 3: Obtener el promedio de 10 números dados desde
lectura estándar, utilizando Do-While.
•
Ejercicio 4: Obtener el promedio de 10 números dados desde
lectura estándar, utilizando For.
Continuación Práctica 3
1.- introducir el sueldo bruto de un empleado y calcular su sueldo neto con base a las
siguientes condiciones:
A) sumar ayuda de renta 1000
B) sumar apoyó por puntualidad 300
C) restar impuesto 16%
!
2.- hacer un menú que permita al usuario seleccionar una de cuatro posibles relaciones
básicas (suma, resta, multiplicación, división)
!
3.- mostrar en pantalla los primeros 30 números impares.
Descargar