Está en la página 1de 9

Fundamentos de Programación

ESTRUCTURAS
CONDICIONALES

D. Rafael Contreras C.
© Made In Perú
D. Rafael Contreras C.

TEMA: ESTRUCTURAS CONDICIONALES

Una condición es una pregunta y esto es lo primero que debemos entender en este
tema, las estructuras condicionales o de decisión, denominadas también de
selección son estructuras que comparan una variable con otro(s) valor(es), para
que en base al resultado (Verdadero o Falso) de esta comparación, se siga un curso
de acción dentro del algoritmo o futuro programa.

“Estas estructuras son las que nos dan la capacidad de crear sistemas para
la toma de decisiones”.

Cabe mencionar que la comparación se puede hacer contra otra variable o contra
una constante y también expresiones, según se necesite.

Existen los siguientes tipos básicos: simple, doble y múltiple.

Condición Simple. Es aquella que ante dos posibles caminos, al escoger uno de
ellos, solo uno de ellos tiene instrucciones para ejecutar.

Inicio

Leer
E

V Escribir
E>=18 “Es Mayor
de Edad”
F

Fin

// Pseudocódigo para determinar


// mayoría de edad en Perú
Inicio
Var E : Entero
Leer ( E )
Si E >= 18 Entonces
Escribir (“ Es Mayor de Edad ”)
Fin_Si
Fin

Nota: No olvide que la instrucción Leer representa


el ingreso de datos desde el teclado.

Pág.2
Fundamentos de Programación

Condición Doble. Similar a la anterior pero en ambos caminos se tiene la


posibilidad de ejecutar instrucciones. Recuerde que solo uno de los caminos se
seguirá de acuerdo al resultado de la condición (Verdadero o Falso).

Inicio

Leer
E

Escribir F V Escribir
“Es Menor E>=18 “Es Mayor
de Edad” de Edad”

Fin

// Forma Nº 02 - Pseudocódigo
// mayoría de edad en Perú

Inicio
Var E : Entero
Leer ( E )
Si E >= 18 Entonces
Escribir (“ Es Mayor de Edad ”)
Sino
Escribir (“ Es Menor de Edad ”)
Fin_Si
Fin.

Como ha observado en el pseudocódigo se Observaciones:


utiliza la instrucción Si ... Entonces, en lugar
de los puntos suspensivos se coloca la 1. Estructura de Condición Simple
expresión a evaluar (en esta parte se utilizan
los operadores lógicos y relacionales), si el Si (Condición) Entonces
resultado de la condición es verdadero se Instrucción(es)
ejecutan las instrucciones que se encuentran Fin_Si
entre la condición y la palabra Sino; Pero si
el resultado es falso, se ejecutan las 2. Estructura de Condición Doble
instrucciones que se encuentran después de
la palabra Sino. Las palabras Fin_Si Si (Condición) Entonces
determinan el final de la estructura. Instrucción(es)
Sino
Nota. Colocar una sangría a las acciones Instrucción(es)
internas a la condición, mejora la legibilidad Fin_Si
de nuestro algoritmo.

Pág. 3
D. Rafael Contreras C.

Condición Múltiple. Son aquellas donde solamente se puede escoger uno de “n”
caminos posibles, la variable ha utilizar recibe el nombre de selector. Ejemplo:

Inicio

Leer
N

1 2 3 4 SINO
O
Escribir Escribir Escribir Escribir Escribir
“Verano” “Otoño” “Invierno” “Primavera” “No Existe”

Fin

En la figura anterior observamos como trabaja una estructura condicional múltiple,


el ejemplo corresponde al siguiente caso:

Ingresar un número cualquiera de 1 a 4, si el numero es 1 mostrara el nombre


VERANO, si es 2 mostrara OTOÑO, si es 3 mostrara INVIERNO y si es 4
PRIMAVERA, ahora si no cumple los números anteriores mostrara NO EXISTE.

En la forma de pseudocódigo tenemos:

// Pseudocódigo para determinar la estación del año de acuerdo a un


numero
Inicio
Var N : Entero
Observación:
Escribir (“Ingrese un numero de 1 a 4 :”)
Leer ( N )
3. Estructura de Condición Múltiple
Según Caso N
Caso 1
Según Caso (Variable Selector)
Escribir (“ Verano”)
Caso valor1
Caso 2
Instrucción(es)
Escribir (“ Otoño”)
Caso valor2
Caso 3
Instrucción(es)
Escribir (“ Invierno”)
Caso valor n
Caso 4
Instrucción(es)
Escribir (“ Primavera”)
Caso Sino
Caso Sino
Instrucción(es)
Escribir (“ No Existe”)
Fin_Segun
Fin_Segun
Fin

Algunos lenguajes de programación permiten trabajar con rangos en los Casos.

Pág.4
Fundamentos de Programación

Problema: Ingresar la edad de una persona y determinar si es Niño, Joven, Adulto


o Anciano, según la siguiente tabla:

Edad Observación
0 a 13 Niño
14 a 25 Joven
26 a 59 Adulto
60 a mas Anciano

// Pseudocódigo para determinar si una persona es Niño, Joven, Adulto o


Anciano
Inicio
Var E : Entero Aquí el valor de comparación es un
Escribir (“Ingrese su Edad :”) rango.
Leer ( E ) Los 2 puntos indican la palabra “a”
Según Caso E o “hasta”, ejemplo:
Caso 0 .. 13 : Escribir (“ Niño ”) Caso 0 a 13
Caso 14 .. 25 : Escribir (“ Joven ”) Puede existir una comparación o
Caso 26 .. 59 : Escribir (“ Adulto ”) una lista de valores ejemplo:
Caso Es >= 60 : Escribir (“ Anciano ”) Caso 5, 10, 15
Caso Sino : Escribir (“ No Determinado”) Caso Es < 30
Fin_Segun También se debe indicar que el
Fin Caso Sino es opcional.

Nota: Otros autores mencionan la estructura Según Caso como Según Sea,
la lógica que cumple es la misma.

A continuación otros ejemplos:

1. Ingresar 2 números y luego dividirlos, pero tener en cuenta que la


división entre cero no se puede efectuar.
Variables a Utilizar:

Variables Descripción
A Primer número ingresado
B Segundo
R Resultado

PSEUDOCÓDIGO:
Inicio
Var A, B, R : Real
Leer (A, B)
Si (B = 0) Entonces
Escribir ( “No se puede dividir” )
Sino
R=A/B
Escribir ( R )
Fin_Si
Fin

Pág. 5
D. Rafael Contreras C.

DIAGRAMA DE FLUJO:
Inicio

Leer
A, B

F B=0 V
RA/B Escribir
“No se puede
dividir”

Escribir
R

Fin

2. Una tienda deportiva ofrece un descuento del 10% a sus clientes por
una compra mayor o igual que S/.50.00, ingresar el monto de la
compra para calcular el descuento, el IGV y el importe a pagar por el
cliente, mostrar estos resultados. Nota: no olvidar que el IGV se
calcula tenga o no descuento al cliente.

Variables a Utilizar:

Variables Descripción
MC Monto de compra
D Descuento
IGV El IGV
MP Monto a pagar

PSEUDOCÓDIGO:
Inicio
Var MC, D, IGV, MP : Real

Leer ( MC )
Si (MC >= 50) Entonces
D = MC * 0.10
IGV = (MC - D) * 0.18
MP = (MC - D) + IGV
Escribir ( MP )
Sino
D=0
IGV = MC * 0.18
MP = MC + IGV
Escribir ( MP )
Fin_Si
Fin

Pág.6
Fundamentos de Programación

Inicio

Leer
MC

F V
MC >= 50

D0 D  MC * 0.10
IGV  MC *0.18 IGV  (MC - D) *0.18
MP  MC + IGV MP  (MC - D) + IGV

Escribir Escribir
D, IGV, MP D, IGV, MP

Fin

3. Ingresar los datos de un estudiante: Apellidos, Nombres, Curso,


Notas del Examen 1, Examen 2 y Examen Final. Calcular y mostrar el
promedio además del siguiente mensaje:

Promedio Mensaje
0 a menor que 6 Pésimo
De 6 a menor que 11 Malo
De 11 a menor que 15 Regular
De 15 a menor que 18 Bueno
De 18 a 20 Excelente

Variables a Utilizar:

Variables Descripción
A Apellidos
N Nombres
C Curso
E1 Examen 1
E2 Examen 2
EF Examen Final
P Promedio

PSEUDOCÓDIGO:

Inicio
Var A, N, C : Cadena
Var E1, E2, EF, P : Real
Leer ( A, N, C )
Leer ( E1, E2, EF )
P = (E1 + E2 + EF) / 3

Pág. 7
D. Rafael Contreras C.

Escribir P
Si ( P >= 0 ) y ( P < 6 ) Entonces
Escribir “Pésimo”
Sino
Si (P>=6) y (P<11) Entonces
Escribir “Malo”
Sino
Si (P>=11) y (P<15) Entonces
Escribir “Regular”
Sino
Si (P>=15) y (P<18) Entonces
Escribir “Bueno”
Sino
Si (P>=18) y (P<=20) Entonces
Escribir “Excelente”
Sino
Escribir “Promedio no valido”
Fin_Si
Fin_Si
Fin_Si
Fin_Si
Fin_Si

Fin

** Realice Ud. el diagrama de flujo de acuerdo al pseudocódigo.

4. La estructura tarifaría de SEDAPAL para el consumo de domestico de


agua potable es el siguiente:

Consumo (m3) Tarifa (S/.)


0 a 20 0.80
21 a 30 1.11
31 a 50 1.55
51 a 80 2.13
81 a más 3.00

Las tarifas se aplican a los excesos sobre los límites establecidos. Así
para un consumo de 28m3, los primeros 20m3 se pagan a S/. 0.80por
m3 y los 8 restantes a S/. 1.11 por m3.

Las tarifas no incluye el IGV, además hay que considerar que el


consumo básico es de S/. 3.80 (consuma o no consuma el usuario).

Calcular el importe total del mes, conociendo que es la suma del


importe del consumo más el IGV y la pensión básica. No olvide
considerar que el consumo es una cantidad entera.

Pág.8
Fundamentos de Programación

PSEUDOCÓDIGO (Utilizando la instrucción Según Caso) :

Inicio
Var C : Entero
Var CB, IC, IGV, IM : Real
Leer ( C )
CB = 3.80
Según Caso ( C )
Caso 0 hasta 20
IC = C*0.80
Caso 21 hasta 30
IC = (20*0.80) + ((C-20)*1.11)
Caso 31 hasta 50
IC = (20*0.80) + (10*1.11) + ((C-30)*1.55)
Caso 51 hasta 80
IC = (20*0.80) + (10*1.11) + (20*1.55) + ((C-50)*2.13)
Caso Es > =81
IC = (20*0.80) + (10*1.11) + (20*1.55) + (30*2.13) + ((C-80)*3)
Fin_Según
IGV = IC * 0.18
IM = IC + IGV + CB
Escribir ( IC, IGV, CB, IM )
Fin

** Realice Ud. el diagrama de flujo de acuerdo al pseudocódigo.

Actividad.- Realizar los diagramas de flujo y pseudocódigos para los


siguientes casos:

1. Ingresar un número entero y determinar si es múltiplo de 5.

2. Ingresar un número entero y determinar si es múltiplo de 3 pero no de 6.

3. Ingresar un número entero de 0 a 999 y obtener su equivalente en letras.

4. Ingresar 3 números y obtener el mayor de ellos.

5. Ingresar 3 números y luego mostrarlos ordenados de menor a mayor.

6. Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades


si a este se le asigna un porcentaje de su salario mensual que depende de
su antigüedad en la empresa de acuerdo con la siguiente tabla:

Tiempo Utilidad
Menos de 1 año 5% del salario
1 año o mas y menos de 2 años 7% del salario
2 años o mas y menos de 5 años 10% del salario
5 años o mas y menos de 10 años 15% del salario
10 años o mas 20% del salario

Pág. 9

También podría gustarte