Tema 8. Estructuras de decisión. Clases 3 y 4

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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 anidadasSe 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:

Condición

Instrucciones

F V

Condición

Instrucciones

F V

Instrucciones

La forma en que se anidan las estructuras de decisión dependerá del problema a resolver.

CondiciónF V

Condición

Instrucciones

F V

Instrucciones

CondiciónF V

Instrucciones

Notación algorítmicaSe usan las mismas palabras que en las estructuras de decisión doble:

Si - Entoncesde lo contrarioFin de si

Sintaxis en Visual Basic

If ThenElseEnd if

Ejercicio 1Elaborar 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 asignatura2. “Aprobado” si aprueba con una nota inferior a 16 puntos.3. “Eximido” si obtiene 16 puntos o más.

Análisis E-P-SEntradaNotaT: nota obtenida en teoría. Tipo: Real.NotaP: nota obtenida en práctica. Tipo: Real.

ProcesoNotaF = 0.75xNotaT + 0.25xNotaP

NotaF < 9.5 Escribir APLAZADONotaF >= 9.5 y NotaF > 16 Escribir APROBADONotaF >= 16 Escribir EXIMIDOSalidaNotaF: nota final de Informática. Tipo Real.

Algoritmo0. Inicio1. Solicitar nota obtenida en teoría (NotaT)2. Solicitar nota obtenida en práctica (NotaP)3. NotaF = 0.75xNotaT + 0.25xNotaP4. Mostrar Nota final (NotaF)5. Si NotaF < 9.5 Entonces 5.1 Mostrar mensaje "APLAZADO " De lo contrario 5.2 Si NotaF < 16 Entonces 5.2.1 Mostrar mensaje " APROBADO " De lo contrario 5.2.2 Mostrar mensaje " EXIMIDO " Fin de si 5.2 Fin de si 56. Fin

Programa en Visual BasicSub 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") If NotaF < 9.5 Then MsgBox("Estudiante APLAZADO") Else If NotaF < 16 Then MsgBox("Estudiante APROBADO") Else MsgBox("Estudiante EXIMIDO") End If End IfEnd Sub

Ejercicio 2Se 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.

No. de personas

Tarifa (Bs.)

1 6002 9003 13004 1650

Algoritmo0. Inicio1. Solicitar número de personas hospedadas (npers)2. Solicitar número de noches (nnoch)3. Si npers = 1 entonces Tarifa = nnoch * 600 De lo contrario Si npers = 2 entonces Tarifa = nnoch*900 De lo contrario Si npers= 3 entonces Tarifa = nnoch*1300 De lo contrario Si npers= 4 entonces Tarifa = nnoch*16500 De lo contrario Mostrar mensaje(“El número de personas hospedadas debe estar entre 1 y 4”) Fin de si Fin de si Fin de si Fin de si 34. Total = Tarifa + 0.01*Tarifa + 0.12*Tarifa5. Mostrar Total a pagar (Total)6. Fin

NOTA: Si la numeración se vuelve confusa, se pueden usar sangrías 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últipleAl igual que las estructuras de decisión anidadas, las estructuras de decisión múltiple se utilizan cuando se desea elegir entre varias alternativas.

Variable

Valor 1

Instrucciones Instrucciones Instrucciones . . . . . . . . Valor 2 Valor n

Diagrama de flujo:

Notación algorítmicaSeleccionar caso VariableCaso Valor 1 instruccionesCaso Valor 2 instrucciones

.

.

.Caso Valor n instruccionesDe lo contrario instruccionesFin de seleccionar

Ejercicio 1Se 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.

No. de personas

Tarifa (Bs.)

1 6002 9003 13004 1650

Algoritmo0. Inicio1. Solicitar número de personas hospedadas (npers)2. Solicitar 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 Mostrar mensaje (“El número de personas hospedadas debe estar entre 1 y 4”) Fin de si 34. Total = Tarifa + 0.01*Tarifa + 0.12*Tarifa5. MostrarTotal a pagar (Total)6. Fin

Notación en Visual BasicSelect Case VariableCase Valor 1 instruccionesCase Valor 2 instrucciones

.

.

.Case Valor n instruccionesCase else instruccionesEnd Select

Ejercicio 2Elaborar 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:

Opción Área a calcular

A TriánguloB RectánguloC Círculo

Otros formatos para Select Case en Visual BasicSelect Case VariableCase is Relación instruccionesCase valor_inicial to valor_final instrucciones

.

.

.Case else instruccionesEnd Select

Ejercicio 3Realizar un programa que dada la edad de una persona, la clasifique de la siguiente manera:

Edad ClasificaciónMenor a dos

añosBebé

2 – 12 años Niño13-17 años Adolescente

18 – 59 años Adulto60 años o más Tercera edad

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") End Select

End Sub

Recommended