Вы находитесь на странице: 1из 19

Estructuras de Decision

Estructuras de decisin

Estructuras SELECTIVAS Estas estructuras se utilizan para TOMAR DECISIONES (por eso tambin se llaman estructuras de decisin o alternativas). Lo que se hace es EVALUAR una condicin, y, a continuacin, en funcin del resultado, se lleva a cabo una opcin u otra.

Estructuras de decisin
Como funciona la toma de decisin? La palabra SI, evala lo que se encuentra a continuacin, como si se tratara de una pregunta. La variable, expresin o comparacin deben dar como respuesta dos posibles valores Cierto o Falso. Si la respuesta es CIERTO, entonces se ejecutaran los enunciados o instrucciones que se encuentren a continuacin de la palabra ENTONCES y luego el proceso se transfiere al FIN SI; si la respuesta es FALSO, slo se ejecutaran los enunciados o instrucciones que se encuentren a continuacin de la palabra SI NO y luego el proceso se transfiere al FIN SI.

Ejemplo

SI se cumple la condicin, ENTONCES: Hago el paso 1 .... Hago el paso N fin del SI SI se cumple la condicin, ENTONCES: inicio Hago el paso 1 .... Hago el paso N fin fin del SI Es importante cerrar el SI, ya que, si no se cumple la condicin, el programa seguir a continuacin de donde termina el SI.

Ejemplo

Algoritmo para saber si una persona es mayor de edad


INICIO DEFINIR REAL: edad LEER edad SI (edad >= 18) ENTONCES IMPRIMIR "Mayor de edad" SINO IMPRIMIR "Menor de edad" FIN SI FIN

Ejemplo

En un almacn se hace un 20% de descuento a los clientes cuya compra supere los $1000 Cual ser la cantidad que pagara una persona por su compra?
Inicio Leer compra Si compra > 1000 entonces desc = compra * 0.20 si no desc = 0 fin si tot_pag = compra - desc imprimir tot_pag fin.

Ejemplo
Disee un algoritmo que lea un nmero de tres cifras y determine si es o no capica. Un nmero es capica si es igual al revs del nmero

Ejemplo
INICIO DEFINIR Entero: numero, unidad, centena LEER numero SI (numero >= 100 AND numero <= 999) ENTONCES unidad = numero%10 centena = numero/100 SI (unidad == centena) ENTONCES IMPRIMIR "El nmero es capica" SINO IMPRIMIR "El nmero no es capica" FIN SI SINO IMPRIMIR "El nmero no tiene tres cifras" FIN SI FIN

Instruccin Toma de Decisin Mltiple SEGUN: La estructura de seleccin mltiple SEGUN permite elegir una ruta de entre varias rutas posibles, usando para ello una variable denominada selector. El selector se compara con una lista de constantes enteras o de carcter C1, C2,, Cn para cada una de las cuales hay una accin A1, A2,, An.

Como funciona la toma de decisin Mltiple SEGUN? Si el selector coincide con una constante de la lista, se ejecuta la accin correspondiente a dicha constante. Si el selector no coincide con ninguna constante de la lista, se ejecuta la accin Df correspondiente al SINO, si es que existe. Las acciones A1, A2, A3,, An pueden ser acciones simples( una sola accin) o acciones compuestas (un conjunto de acciones).

Ejemplo

Considerando que las estaciones del ao se numeran como 1 para primavera, 2 para verano, 3 para otoo y 4 para invierno; disee un algoritmo que determine el nombre de la estacin del ao conociendo el nmero de la estacin.

Ejemplo
INICIO

Entero: numero Cadena: nombre

FIN

LEER numero EN CASO DE (numero) CASO 1: nombre = "Primavera" CASO 2: nombre = "Verano" CASO 3: nombre = "Otoo" CASO 4: nombre = "Invierno" DEFECTO): nombre = "No es un nmero valido" FIN SEGUN IMPRIMIR nombre

Ejemplo

Algoritmo MENU a base de EN CASO DE sea

INICIO ENTERO opcion Imprimir 'menu de opciones' Imprimir '1. Diccionario de sinonimos' Imprimir '2. Diccionario de antonimos' Imprimir '3. Buscar palabra Imprimir '4. Salir' leer opcion SEGUN SEA opcion HACER: opcion = 1 : {lo que toque a esta opcion} opcion = 2 : {lo que toque a esta opcion} opcion = 3 : {lo que toque a esta opcion} opcion = 4 : {lo que toque a esta opcion} defecto: {mensaje de error} FIN SEGUN
FIN

Ejercicio

Escribir un algoritmo que lea tres nmeros e imprima por pantalla el mayor y el menor de ellos

INICIO DEFINIR REAL N1, N2, N3, mayor, menor LEER N1, N2, N3 // Determina el mayor mayor = 0 menor = N3 SI ( N1 > mayor ) ENTONCES mayor = N1 FIN SI SI( N2 > mayor ) ENTONCES mayor = N2 FIN SI SI (N3 > mayor) ENTONCES mayor = N3 FIN SI // DETERMINAR EL MENOR SI (N1 < menor ) ENTONCES menor = N1 FIN SI SI (N2 < menor) ENTONCES menor = N2 FIN SI IMPRIMIR el mayor es mayor y el menor es menor FIN

Ejercicio
Inicio Leer num1, num2, num3 SI (num1 > num2) and (num1 > num3) entonces mayor = num1 SI NO Si (num2 > num1) and (num2 > num3) entonces mayor = num SI NO mayor = num3 FIN SI FIN SI Imprimir mayor FIN

Ejercicio
Disee un algoritmo que lea tres longitudes y determine si forman o no un tringulo. Si es un tringulo determine de que tipo de tringulo se trata entre: equiltero (si tiene tres lados iguales), issceles (si tiene dos lados iguales) o escaleno (si tiene tres lados desiguales).

INICIO DEFINIR REAL: L1, L2, L3, suma, mayor LEER L1, L2, L3 // Determina el lado mayor mayor = L1 SI ( L2 > mayor ) ENTONCES mayor = L2 SI( L3 > mayor ) ENTONCES mayor = L3 // Determina la suma de los lados a excepcin del lado mayor suma = L1 + L2 + L3 - mayor // Determina de que tipo de tringulo se trata SI ( mayor < suma ) ENTONCES SI ( ( L1 == L2 ) AND ( L2 == L3 ) ) ENTONCES IMPRIMIR "Tringulo equiltero" SINO SI ( ( L1 == L2 ) OR ( L1 == L3 ) o ( L2 == L3 ) ) ENTONCES IMPRIMIR "Tringulo issceles" SINO IMPRIMIR "Tringulo escaleno" FIN SI FIN SI SINO IMPRIMIR "No es un tringulo" FIN SI FIN

Ejercicio

Lea tres nmeros diferentes y determine el numero medio del conjunto de los tres nmeros (el numero medio es aquel numero que no es ni mayor, ni menor).

Вам также может понравиться