250 likes | 584 Views
Tema 8. Estructuras de decisión. Clases 3 y 4. Informática. Prof. María Alejandra Quintero. Contenido. Operadores relacionales Operadores lógicos Expresiones lógicas Estructuras de decisión simple Estructuras de decisión doble Estructuras de decisión anidadas
E N D
Tema 8. Estructuras de decisión. Clases 3 y 4. Informática Prof. María Alejandra Quintero
Contenido • Operadores relacionales • Operadores lógicos • Expresiones lógicas • Estructuras de decisión simple • Estructuras de decisión doble • Estructuras de decisión anidadas • Estructuras de decisión múltiple
Estructuras de decisión anidadas • Se utilizan cuando hay más de dos alternativas entre las cuales se puede elegir. Cuando en una estructura de decisión, alguna de sus instrucciones es otra estructura de decisión, se dice que las estructuras están anidadas. • Ejemplos: F V Condición Instrucciones F V Condición Instrucciones Instrucciones
V F Condición La forma en que se anidan las estructuras de decisión dependerá del problema a resolver. F F V V Condición Condición Instrucciones Instrucciones Instrucciones
Notación algorítmica Se usan las mismas palabras que en las estructuras de decisión doble: Si - Entonces de lo contrario Fin de si Sintaxis en Visual Basic IfThen Else Endif
Ejercicio 1 Elaborar un programa que calcule la nota final de Informática, a partir de la nota obtenida en teoría (75%) y la nota de práctica (25%). Además de la nota final, el programa debe indicar los siguientes mensajes: 1. “Reprobado” si no aprueba la asignatura 2. “Aprobado” si aprueba con una nota inferior a 16 puntos. 3. “Eximido” si obtiene 16 puntos o más.
Análisis E-P-S Entrada NotaT: nota obtenida en teoría. Tipo: Real. NotaP: nota obtenida en práctica. Tipo: Real. Proceso NotaF = 0.75xNotaT + 0.25xNotaP NotaF < 9.5 Escribir APLAZADO NotaF >= 9.5 y NotaF > 16 Escribir APROBADO NotaF >= 16 Escribir EXIMIDO Salida NotaF: nota final de Informática. Tipo Real.
Algoritmo 0. Inicio 1. Obtener nota obtenida en teoría (NotaT) 2. Obtener nota obtenida en práctica (NotaP) 3. NotaF = 0.75xNotaT + 0.25xNotaP 4. Escribir Nota final (NotaF) 5. Si NotaF < 9.5 Entonces 5.1 Escribir APLAZADO De lo contrario 5.2 Si NotaF < 16 Entonces 5.2.1 Escribir APROBADO De lo contrario 5.2.2 Escribir EXIMIDO Fin de si 5.2 Fin de si 5 6. Fin
Programa en Visual Basic Sub Main() Dim NotaT, NotaP, NotaF As Single NotaT = InputBox("Escriba la nota obtenida en teoría: ") NotaP = InputBox("Escriba la nota obtenida en práctica: ") NotaF = 0.75 * NotaT + 0.25 * NotaP MsgBox("La nota final es " & NotaF & " puntos") IfNotaF < 9.5 Then MsgBox("Estudiante APLAZADO") Else IfNotaF < 16 Then MsgBox("Estudiante APROBADO") Else MsgBox("Estudiante EXIMIDO") EndIf EndIf EndSub
Ejercicio 2 Se necesita un programa para calcular el monto total a pagar por la estadía en una posada. Las tarifas de la posada por noche son: Deben considerarse dos impuestos: 1% por el fondo de turismo y 12% de IVA.
Algoritmo • 0. Inicio • 1. Obtener número de personas hospedadas (npers) • 2. Obtener número de noches (nnoch) • 3. Si npers = 1 entonces • Tarifa = nnoch * 300 • De lo contrario • Si npers = 2 entonces • Tarifa = nnoch*500 • De lo contrario • Si npers= 3 entonces • Tarifa = nnoch*800 • De lo contrario • Si npers= 4 entonces • Tarifa = nnoch*1000 • De lo contrario • Escribir (“ERROR: El número de personas hospedadas debe estar entre 1 y 4”) • Fin de si • Fin de si • Fin de si • Fin de si 3 • 4. Total = Tarifa + 0.01*Tarifa + 0.12*Tarifa • 5. Escribir Total a pagar (Total) • 6. Fin NOTA: Si la numeración se vuelve confusa, se pueden usar márgenes en las estructuras de decisión para mantener el orden.
Ejercicio 3 Realizar un programa que dados tres números diferentes determine cuál es el mayor.
Estructuras de decisión múltiple • Al igual que las estructuras de decisión anidadas, las estructuras de decisión múltiple se utilizan cuando se desea elegir entre varias alternativas. • Diagrama de flujo: Variable Valor 1 Valor 2 Valor n Instrucciones Instrucciones . . . . . . . . Instrucciones
Notación algorítmica Seleccionar caso Variable Caso Valor 1 instrucciones Caso Valor 2 instrucciones . . . Caso Valor n instrucciones De lo contrario instrucciones Fin de seleccionar
Ejercicio 1 Se necesita un programa para calcular el monto total a pagar por la estadía en una posada. Las tarifas de la posada por noche son: Deben considerarse dos impuestos: 1% por el fondo de turismo y 12% de IVA.
Algoritmo • 0. Inicio • 1. Obtener número de personas hospedadas (npers) • 2. Obtener número de noches (nnoch) • 3. Seleccionar caso nnoch • Caso 1 • Tarifa = nnoch * 300 • Caso 2 • Tarifa = nnoch*500 • Caso 3 • Tarifa = nnoch*800 • Caso 4 • Tarifa = nnoch*1000 • De lo contrario • Escribir (“ERROR: El número de personas hospedadas debe estar entre 1 y 4”) • Fin de si 3 • 4. Total = Tarifa + 0.01*Tarifa + 0.12*Tarifa • 5. Escribir Total a pagar (Total) • 6. Fin
Notación en Visual Basic Select Case Variable Case Valor 1 instrucciones Case Valor 2 instrucciones . . . Case Valor n instrucciones Else instrucciones EndSelect
Ejercicio 2 Elaborar un programa para determinar el área de un triángulo, de un rectángulo o de un círculo. El usuario debe seleccionar una opción de acuerdo al área que desea calcular:
Otros formatos para Select Case en Visual Basic Select Case Variable Case isRelación instrucciones Case valor_inicialtovalor_final instrucciones . . . Else instrucciones EndSelect
Ejercicio 3 Realizar un programa que dada la edad de una persona, la clasifique de la siguiente manera:
Sub Main() Dim edad As Byte edad = InputBox("Introduzca la edad de la persona") Select Case edad Case Is < 2 MsgBox("Bebé") Case 2 To 12 MsgBox("Niño") Case 13 To 17 MsgBox(“Adolescente") Case 18 To 59 MsgBox("Adulto") Case Is >= 60 MsgBox("Tercera edad") EndSelect EndSub