Upload
daniel-guerrero
View
207
Download
4
Embed Size (px)
Citation preview
UNIVERSIDAD TÉCNICA DE
AMBATO
FACULTAD DE INGENIERÍA CIVIL Y MECÁNICA
Módulo
“EMPLEO DE NTIC’s II”
Ambato, Septiembre 2012
[ ] Elemento 4
LÓGICA DE PROGRAMACIÓN Y ALGORITMOS
ESTRUCTURAS DE DECISIÓN
“ESTRUCTURAS DE DECISIÓN”
OBJETIVOS
Conocer las partes que tiene una estructura de decisión y su importancia dentro
del desarrollo de algoritmos.
Diferenciar los tipos de estructuras de decisión y aplicarlos de manera correcta
en la solución de un problema determinado.
Reconocer los componentes de las Estructuras Caso y las múltiples ventajas que
tiene en algunos casos frente a las estructuras de decisión.
| 2
[ ] Elemento 4
LÓGICA DE PROGRAMACIÓN Y ALGORITMOS
ESTRUCTURAS DE DECISIÓN
--------------------------------------------------------------------------------
“ESTRUCTURAS DE DECISIÓN”
1. Definición de una estructura de decisión
2. Tipos de estructuras de decisión
2.1. Estructuras de Decisión Simples
2.2. Estructuras de Decisión Dobles
2.3. Estructuras de Decisión Múltiples
3. Ejercicios Resueltos de estructuras de decisión
4. Estructuras de decisión anidadas
4.1. Taller 4 (Estructuras de decisión)
4.2. Solución al Taller 4
4.3. Taller 5 (Recuperación de estructuras de decisión)
4.4. Solución al Taller 5
5. Estructuras Casos
5.1. Taller 6 (Estructuras Caso)
5.2. Solución al Taller 6
| 3
[ ] Elemento 4
LÓGICA DE PROGRAMACIÓN Y ALGORITMOS
ESTRUCTURAS DE DECISIÓN
“ESTRUCTURAS DE DECISIÓN”
1. Definición de una estructura de decisión: Las estructuras de decisión, como su
nombre lo indican, son estructuras que se usan en caso tal de que un algoritmo tenga
alguna pregunta o tenga que decidir sobre una operación cualquiera.
Para realizar las condiciones, se debe repasar los operadores relacionales: IGUAL (=),
MAYOR QUE (>), MENOR QUE (<), MAYOR IGUAL QUE (> =), MENOR IGUAL
QUE (<) y DIFERENTE (<>) o (!=).
Las condiciones se pueden realizar de la siguiente manera:
VARIABLE contra VARIABLE: SI (SALARIO = SALARIONETO) ENT
VARIABLE contra CONSTANTE: SI (SALARIO > 5´000.000) ENT
CONSTANTE contra VARIABLE: SI (500.000 < SALARIONETO) ENT
VARIABLE contra CÁLCULO: SI (SALARIO >= SALARIO+AUMENTO)
CÁLCULO contra VARIABLE: SI (SALARIO–AUMENTO <= SALNETO)
CONSTANTE contra CÁLCULO: SI (450.000 != SALARIO - DISMIN)
CÁLCULO contra CONSTANTE: SI (NETO + AUMENTO = 550.000)
CÁLCULO contra CÁLCULO: SI (SALBAS – RETEF > SALBAS + AUM)
2. Tipos de estructuras de decisión
2.1. Estructuras de Decisión Simples: Es cuando sólo se requiere de una sólo
estructura o una sola pregunta. Su sintaxis es la palabra SI, seguida de una pregunta o
condición (la cual va encerrada en medio de paréntesis), y por último termina con la
palabra ENTONCES (algunos colocan sólo sus 3 primeras letras: ENT), que significa
| 4
[ ] Elemento 4
ENTONCES. Así como todo algoritmo tiene su FIN, toda estructura de decisión
OBLIGATORIAMENTE, tiene su fin, el cual se escribe FIN-SI. Ejemplo:
SI (CONDICIÓN) ENTONCES
...Instrucciones, cálculos y/operaciones
FIN-SI
En medio de la estructura, SOLO se colocan las instrucciones, cálculos u operaciones
que se deban desarrollar cuando la pregunta sea verdadera. Las demás operaciones van
fuera de la estructura de decisión. Las instrucciones o cálculos se debe colocar un poco
corridos hacia la derecha para identificar perfectamente donde empieza la estructura y
donde termina.
Ejemplo: Desarrolle un algoritmo que lea dos número y calcule división del primero
por el segundo. Tenga en cuenta que sólo se puede dividir si el segundo número no es
igual a cero.
INICIO
LEER num1, num2
SI (num2 <> O) ENT
div = num1/num2
IMPRIMIR div
FIN-SI
FIN
2.2. Estructuras de Decisión Dobles: Es cuando sólo se requiere de dos estructuras,
dos preguntas o sólo se tienen dos posibilidades. Su sintaxis es idéntica a la estructura
simple, sólo que como ya se manejan dos posibilidades se agrega la palabra SINO, en
medio de la estructura. Ej:
SI (CONDICIÓN) ENTONCES
...Instrucciones, cálculos y/ operaciones (pregunta verdadera)
SINO
| 5
[ ] Elemento 4
...Instrucciones, cálculos y/ operaciones (pregunta falsa)
FIN-SI.
En este caso la primera instrucción se desarrollará cuando la pregunta sea verdadera, y
la otra, cuando sea falsa.
Ejemplo: Desarrolle un algoritmo que lea dos número y calcule división del primero
por el segundo sólo si el segundo número no es igual a cero, de lo contrario calcule su
multiplicación.
INICIO
LEER num1, num2
SI (num2 != O) ENT
div = num1 / num2
IMPRIMIR div
SINO
mult = num1 * num2
IMPRIMIR mult
FIN-SI
FIN
2.3. Estructuras de Decisión Múltiples: Es cuando se requiere el uso de mas de dos
estructuras, dos preguntas o tiene muchas posibilidades. Su sintaxis es una combinación
de las dos estructuras anteriores. Se debe utilizar un SI-SINO para cada una de las
probabilidades, EXCEPTO PARA LA ÚLTIMA. Y se debe tener en cuanta que el
número de SI que tenga un algoritmo, TIENE que ser igual al de FIN-SI. Cada
estructura se debe desplazar un poco hacia la derecha al momento de abrirla, pero se
cierran hacia el lado izquierdo. Ejemplo:
SI (CONDICIÓN1) ENTONCES
...Instrucciones, cálculos y/ operaciones (pregunta1 verdadera)
SINO
| 6
[ ] Elemento 4
SI (CONDICIÓN2) ENTONCES
...Instrucciones, cálculos y/ operaciones (pregunta2 verdadera)
SINO
SI (CONDICIÓN-n) ENTONCES
...Instrucciones, cálculos y/ operaciones (pregunta-n verdadera)
FIN-SI
FIN-SI
FIN-SI
En este caso las primeras instrucciones se desarrollarán cuando la pregunta sea
verdadera, y las otras, cuando sea falsa.
Ejemplo: Desarrolle un algoritmo que lea dos número y calcule división del primero
por el segundo sólo si el segundo es menor que el primero. Si el segundo es mayor que
el primero calcule su suma y si son iguales calcule su resta.
INICIO
LEER num1, num2
SI (num1 < num2) ENT
div = num1 / num2
IMPRIMIR div
SINO
SI (num2 > num1) ENT
sum = num1 + num2
IMPRIMIR sum
SINO
SI (num2 = num1)
resta = num1 –num2
IMPRIMIR resta
FIN-SI
FIN-SI
FIN-SI
FIN
| 7
[ ] Elemento 4
Para evitar el uso de muchas variables y el algoritmo se realice de una manera optima se
recomienda utilizar una sola variable para mostrar el resultados de las operaciones.
Observe el siguiente ejemplo:
INICIO
LEER num1, num2
SI (num1 < num2) ENT
resultado = num1 / num2
SINO
SI (num2 > num1) ENT
resultado = num1 + num2
SINO
SI (num2 = num1)
resultado = num1 –num2
FIN-SI
FIN-SI
FIN-SI
IMPRIMIR resultado
FIN
Además observe, y tenga muy en cuenta que CUANDO SE REALIZA UNA
OPERACIÓN, O UN CÁLCULO EN TODAS LAS ESTRUCTURAS DE DECISIÓN,
ÉSTA INTRUCCIÓN SE PUEDE COLOCAR DESPUÉS DE CERRAR TODAS LAS
ESTRUCTURAS DE DECISIÓN. Ese es el caso de la instrucción IMPRIMIR
resultado, que se podría colocar después de cada cálculo, pero como se repite en todas
las condiciones, es recomendable colocarlo al final, después de cerrar las estructuras.
Algunas preguntas dentro de un ejercicio, requerirán de preguntas con varias
condiciones, para lo cual se usan los operadores booleanos para separarlas: And o ^ que
es Disyunción Y. Or o v que es Conjunción O. Not o ! que es Negación. En los
algoritmos manejaremos los operadores ^, v y !.
Por ejemplo: Se pide determinar si un triangulo es equilátero, escaleno o isósceles. Se
leen sus 3 lados.
| 8
[ ] Elemento 4
INICIO
LEER Lado1, Lado2, Lado3
SI (Lado1=Lado2) ^ (Lado1=Lado3) ENT
IMP “ES EQUILÁTERO”
SINO
SI (Lado1!=Lado2) ^ (Lado1!=Lado3) ^ (Lado2!=Lado3) ENT
IMP “ES ESCALENO”
SINO
IMP “ES ISOSCELES”
FIN-SI
FIN-SI
FIN
Para entender mejor las estructuras de decisión, vamos a realizar varios ejercicios del
tema; pero basado en el último taller de algoritmos secuenciales.
3. Ejercicios Resueltos de estructuras de decisión
1. Desarrolle un algoritmo que lea el valor del pasaje y el número de pasajeros que
abordarán un microbús. Calcular el valor total a pagar. Además, imprima un mensaje
que diga si tiene sobre cupo o no. Tenga en cuenta que a un microbús le caben 20
pasajeros.
INICIO
LEER numpas, valpas
valtot = numpas * valpas
IMPRIMIR valtot
SI (numpas > 20)
IMPRIMIR “TIENE SOBRECUPO”
SINO
IMPRIMIR “NO TIENE SOBRECUPO”
FINSI
FIN
| 9
[ ] Elemento 4
2. Una persona recibe una cantidad no conocida en dólares. Haga un algoritmo que
determine el valor equivalente en pesos, sabiendo que el dólar tiene un costo de $2.550
si se cambian menos de 100 dólares, $2.600 si se cambian entre 100 y 350 y finalmente,
cuestan $3.000 si se cambian más de 350.
INICIO
LEER cantdol
SI (cantdol < 100)
ceqpes = cantdol * 2550
SINO
SI (cantdol >= 100)
ceqpes = cantdol * 2600
SINO
SI (cantdol > 350)
ceqpes = cantdol * 3000
FINSI
FINSI
FINSI
IMPRIMIR ceqpes
FIN
3. Un atleta recorre tres distancias diferentes en tres competiciones distintas. Calcular e
imprimir la distancia promedio. Imprima “Excelente distancia” si el promedio es mayor
a 12 kilómetros.
INICIO
LEER dis1, dis2, dis3
disprom = (dis1 + dis2 + dis3) / 3
IMPRIMIR disprom
SI (disprom > 12)
IMPRIMIR “EXCELENTE DISTANCIA”
| 10
[ ] Elemento 4
FINSI
FIN
4. Una persona ingresa a un gimnasio pesando una cantidad desconocida. Luego de una
sesión de trabajo redujo su peso en un 10%, posteriormente, asistió a una última sesión
en la que rebajó 18.5%. En un período de 8 días de inactividad aumentó un 3% de su
peso. Calcular e imprimir cada una de las disminuciones, el aumento y el peso actual de
esa persona, además imprima si tiene sobrepeso o no. Nota: El límite es hasta 78 kg).
INICIO
LEER pesd
red1 = pesd * 0.1
red2 = pesd * 0.185
aum = pesd * 0.03
pesact = pesd – red1 – red2 + aum
IMPRIMIR red1, red2, aum, pesact
SI (pesact > 78)
IMPRIMIR “TIENE SOBRE PESO”
SINO
IMPRIMIR “NO TIENE SOBRE PESO”
FINSI
FIN
5. En un montallantas se ofrece un descuento del 20% sobre el valor de cada llanta si el
número de llantas no supera las 10, de lo contrario tiene un descuento del 50%. Se pide
desarrollar un algoritmo que lea el número de llantas y el valor de cada llanta. Calcular
el valor de la compra y el valor total después del descuento.
INICIO
LEER nll, vll, nc
SI (nll <=10)
vrll = vll *0.8
| 11
[ ] Elemento 4
SINO
vrll = vll *0.5
FINSI
compra = nll * vll
vreal = nll * vrll
IMPRIMIR compra, vreal
FIN
6. Desarrollar el mismo ejercicio anterior, pero sabiendo que el valor de cada llanta es
de $40.000 y que el descuento es del 35% y 60%.
INICIO
LEER nll, nc
SI (nll <=10)
vrll = 40.000 * 0.65
SINO
vrll = 40.000 * 0.4
FINSI
compra = nll * 40.000
vreal = nll * vrll
IMPRIMIR compra, vreal
FIN
7. Calcular el salario neto de un empleado sabiendo que se le hace una retención del 3%
para pensión y 5% para salud si su salario básico no llega a los $400.000, si este es
mayor a $800.000 los porcentajes serán del 4% para pensión y 7% para salud; en caso
contrario los porcentajes serán 9% y 7% respectivamente. Se debe leer el valor de cada
hora y el número de horas trabajadas por el empleado.
INICIO
LEER vh, nht
sb = vh * nht
| 12
[ ] Elemento 4
SI (sb < 400.000)
pension = sb * 0.03
salud = sb * 0.05
SINO
SI (sb > 800.000)
pension = sb * 0.04
salud = sb * 0.07
SINO
pension = sb * 0.09
salud = sb * 0.07
FINSI
FINSI
sneto = sb – salud - pension
IMPRIMIR sneto
FIN
8. Calcular e imprimir el salario básico, el salario neto y cada uno de los porcentajes que
tiene un empleado en su liquidación de nómina. Tenga en cuenta que recibe un auxilio
de alimentación del 1% del salario básico y un subsidio de transporte de $45.000 si su
salario no asciende a $300.000, sino no tendrá auxilio de alimentación y el subsidio de
transporte será de $25.000. Luego se le hacen unas deducciones correspondientes al
1.5%, 28.1% y 0.55% por concepto de salud, pensión y aportes parafiscales
respectivamente. Luego de calculado el salario neto, se pide sacar un 0.05% del salario
neto para una donación a una catástrofe.
INICIO
LEER vh, nht
sb = vh * nht
SI (sb < 300.000)
aux = sb * 0.01
subt = 45.000
SINO
aux = 0
| 13
[ ] Elemento 4
subt = 25.000
FINSI
salud = sb * 0.015
pension = sb * 0.281
paraf = sb * 0.55
sneto = sb + aux + subt – salud – pension – paraf
donac = sneto * 0.005
sneto2 = sneto - donac
IMPRIMIR sb, sneto2, aux, salud, pension, paraf, donac
FIN
9. Calcular el peso equivalente en Gramos de una fruta que tiene un peso no conocido
en Kilogramos, sólo si el peso sobrepasa los 5 kilogramos, de lo contrario calcular el
equivalente en onzas. 16 onzas son una libra. 2 libras son 1 kilogramo. Un kilogramo
son 1000 gramos.
INICIO
LEER pesfrut
SI (pesfrut > 5)
peso = pesfrut * 1000
SINO
peso = (pesfrut / 2) * 16
FINSI
IMPRIMIR peso
FIN
10. El peso de un vehículo (en toneladas) se redujo en un 15% luego de hacerle unas
reparaciones. Se pide calcular el peso actual luego de la reducción. Por último se pide
calcular el equivalente en kilogramos y en gramos de ese peso actual. Si la reducción es
mayor a 3½ toneladas imprima un mensaje “El vehículo quedó liviano”.
| 14
[ ] Elemento 4
INICIO
LEER pesveh
red = pesveh * 0.15
pesact = pesveh – red
peskil = pesact * 1000
pesgr = peskil * 1000
IMPRIMIR pesact, peskil, pesgr
SI (red > 3,5)
IMPRIMIR “VEHÍCULO QUEDÓ LIVIANO”
FINSI
FIN
11. Resolver la ecuación del área del perímetro = 2- R, sólo si R es diferente de 2.
INICIO
LEER r
SI (R <> 0)
aperim = 2 - r
IMPRIMIR aperim
FINSI
FIN
12. Resolver la ecuación = (-b Öa) / 2bc, sólo si a es positivo y las variables c y b no son
iguales a 0.
INICIO
LEER d, b, a, c
SI (a > 0) ^ (b < > 0) ^ (c < > 0)
x1 = (-b * a ^ (1/2)) / (2 * b * c)
IMPRIMIR x1
FINSI
FIN
| 15
[ ] Elemento 4
13. Leer la temperatura de un día (en grados centígrados). Imprimir un mensaje “HACE
FRIO” si la temperatura es menor a 23°C, imprima “ES UN BUEN DÍA” si la
temperatura es mayor e igual que 23°C e inferior a 30°C. En caso que la temperatura sea
igual o superior a 30°C imprima “HACE CALOR”.
INICIO
LEER tempgc
SI (tempgc < 23)
IMPRIMIR “HACE FRIO”
SINO
SI (tempgc < 30)
IMPRIMIR “BUEN DÍA”
SINO
IMPRIMIR “HACE CALOR”
FINSI
FINSI
FIN
14. Leer un número. Calcular e imprimir su valor absoluto (el valor absoluto de un
número negativo es su positivo, y el de un número positivo es el mismo número.
Ejemplo: Valor Absoluto de –5 = 5, Valor absoluto de 3 = 3).
INICIO
LEER num
SI (num > 0)
vabs = num
SINO
vabs = num * (-1)
FINSI
IMPRIMIR vabs
FIN
| 16
[ ] Elemento 4
15. Leer la nota de un estudiante (en números enteros) e imprimir su equivalente en
letras sabiendo que si la nota es 5 su equivalente es EXCELENTE, 4 es BUENO, 3 es
ACEPTABLE, 2 INSUFICIENTE y 1 DEFICIENTE.
INICIO
LEER nota
SI (nota = 5)
IMPRIMIR “EXCELENTE”
SINO
SI (nota = 4)
IMPRIMIR “BUENO”
SINO
SI (nota = 3)
IMPRIMIR “ACEPTABLE”
SINO
SI (nota = 2)
IMPRIMIR “INSUFICIENTE”
SINO
SI (nota = 1)
IMPRIMIR “DEFICIENTE”
FINSI
FINSI
FINSI
FINSI
FINSI
FINSI
FIN
16. Desarrollar el mismo ejercicio anterior pero leyendo una nota con sus decimales y
teniendo en cuenta que si la nota es mayor o igual que 4.6 es EXCELENTE, si la nota
está entre 3.6 y 4.5 es BUENO, si la nota está entre 3.0 y 3.5 es ACEPTABLE, si la
| 17
[ ] Elemento 4
nota mayor o igual que 2.0 y menor que 3.0 es INSUFICIENTE y si la nota es menor a
2.0 la nota en letras es DEFICIENTE.
INICIO
LEER nota
SI (nota >= 4.6)
IMPRIMIR “EXCELENTE”
SINO
SI (nota >= 3.6)
IMPRIMIR “BUENO”
SINO
SI (nota >= 3.0)
IMPRIMIR “ACEPTABLE”
SINO
SI (nota >= 2.0)
IMPRIMIR “INSUFICIENTE”
SINO
SI (nota < 2.0)
IMPRIMIR “DEFICIENTE”
FINSI
FINSI
FINSI
FINSI
FINSI
FINSI
FIN
17. Un ratón se comió el 40% de un pedazo de queso y su peso aumentó en un 1,1%.
Leer el peso del queso y el peso del ratón. Calcular e imprimir el peso actual de los dos
sólo si el 20% del peso del ratón es inferior al peso final del queso.
INICIO
LEER pesr, pesq
| 18
[ ] Elemento 4
SI (pesr * 0.2 < pesq * 0.6)
red = pesq * 0.4
aum = pesr * 0.01
pesactq = pesq - red
pesactr = pesr + aum
IMPRIMIR pesactr, pesactq
FINSI
FIN
18. Calcule el promedio de goles anotados por un jugador en 4 encuentros, sólo si la
suma de éstos es superior a 20.
INICIO
LEER cg1, cg2, cg3, cg4
SI (cg1 + cg2 + cg3 + cg4 > 20)
prom = (cg1 + cg2 + cg3 + cg4) / 4
IMPRIMIR prom
FINSI
FIN
19. Calcular la tangente de las funciones Seno y Coseno, sabiendo que Tan = Sen / Cos.
Tenga en cuenta que no se puede dividir por 0; en caso contrario imprima “NO ES
POSIBLE DIVIDIR”
INICIO
LEER sen, cos
SI (cos < > 0)
tan = sen /cos
IMPRIMIR tan
SINO
IMPRIMIR “NO ES POSIBLE DIVIDIR”
| 19
[ ] Elemento 4
FINSI
FIN
20. Desarrolle un algoritmo que dé solución a la ecuación contable ACTIVO = PASIVO
+ PATRIMONIO. Además, imprima si la empresa tiene saldo en cero, tiene perdida o
tiene alguna ganancia.
INICIO
LEER pas, pat
act = pas + pat
SI (act = 0)
IMPRIMIR “EMPRESA TIENE SALDO EN CERO”
SINO
SI (act < 0)
IMPRIMIR “EMPRESA TIENE PERDIDA”
SINO
IMPRIMIR “EMPRESA TIENE GANANCIAS”
FINSI
FINSI
FIN
21. Calcular el número de días y horas vividos por una persona de la cual se desconoce
su año de nacimiento. Sólo si el año de nacimiento es anterior al año 2000.
INICIO
LEER anac, aactual
SI (anac < 2000)
numdias = (aactual – anac) * 365
numhoras = (aactual – anac) * 24
IMPRIMIR numdias, numhoras
FINSI
FIN
| 20
[ ] Elemento 4
22. La banda ancha incrementó la velocidad de transferencia de datos en Internet en un
230%. Imprima la velocidad anterior y la velocidad actual, teniendo en cuenta que un
equipo tiene banda ancha y otro no. Leer si tiene banda ancha o no un computador y
tenga en cuenta que si no la tiene el incremento es 0.
INICIO
LEER velant, tba
SI (tba = “SI”)
velact = velant * 3.3
SINO
LEER porc
velact = velant * porc / 100
FINSI
IMPRIMIR velant, velact
FIN
23. En una biblioteca se prestaron 457 libros en los últimos días. Calcular el número
total de libros que hay en la actualidad sabiendo que al iniciar la biblioteca había
Ylibros, imprima si hay libros o no.
INICIO
LEER Ylibros
totlib = Ylibros – 457
SI (totlib > 0)
IMPRIMIR “HAY LIBROS”
SINO
IMPRIMIR “NO HAY LIBROS”
FINSI
FIN
| 21
[ ] Elemento 4
24. Un tendero empezó el día con un Valor X en dinero. Luego tuvo 4 ventas por un
valor de $800.000 y finalmente pagó a sus acreedores el 10% de todo lo que tenía en
caja. Imprima el dinero con el que empezó, el dinero con el que terminó y el pago a sus
acreedores. Imprima si se le pagó a proveedores más de $50.000 o no.
INICIO
LEER xvalor
acreed = (xvalor + 800.000) * 0.1
vfinal = xvalor + 800.000- acreed
IMPRIMIR Xvalor, vfinal, acreed
SI (acreed > 50.000)
IMPRIMIR “PAGÓ MÁS DE 50.000 A ACREEDORES”
SINO
IMPRIMIR “NO PAGÓ MÁS DE 50.000 A ACREEDORES”
FINSI
FIN
25. Calcular el salario neto de empleado sabiendo que se le hace una retención del 25%.
Imprima un mensaje que diga si gana más del mínimo, gana menos o gana el salario
mínimo.
INICIO
LEER salbas, salmin
salneto= salbas * 0.75
IMPRIMIR salneto
SI (salneto > salmin)
IMPRIMIR “GANA MAS DEL SALARIO MINIMO”
SINO
SI (salneto > salmin)
IMPRIMIR “GANA MENOS DEL SALARIO MINIMO”
SINO
IMPRIMIR “GANA EL SALARIO MINIMO”
FINSI
| 22
[ ] Elemento 4
FINSI
FIN
26. Resolver la siguiente ecuación Aux = i (n-3) / n2+x
INICIO
LEER salbas, salmin
salneto= salbas * 0.75
IMPRIMIR salneto
SI (salneto > salmin)
IMPRIMIR “GANA MAS DEL SALARIO MINIMO”
SINO
SI (salneto > salmin)
IMPRIMIR “GANA MENOS DEL SALARIO MINIMO”
SINO
IMPRIMIR “GANA EL SALARIO MINIMO”
FINSI
FINSI
FIN
27. Calcular la raíz cuadrada del triple del valor de PI - X.
INICIO
LEER x
rta = 3 * 3,1416 - x
SI (x > 0)
raiz = rta ^ (1 / 2)
IMPRIMIR raiz
SINO
IMPRIMIR “NO SE PUEDE SACAR RAÍZ DE UN NÚMERO NEGATIVO”
FINSI
FIN
| 23
[ ] Elemento 4
28. Goku es un personaje de las tiras cómicas que tiene la particularidad que puede
transformarse y aumentar su nivel de pelea luego de determinados entrenamientos.
Desarrolle un algoritmo que lea el nivel de pelea antes de una transformación que
aumentó su nivel de pela en un 300%. Imprimir su nivel de pelea actual y su aumento,
sólo si el nivel final es mayor a 5000.
INICIO
LEER nivelantes
aum = nivelantes * 300 / 100
nivelfinal = nivelantes + aum
SI (nivelfinal > 5000) ENT
IMPRIMIR nivelantes, nivelfinal
SINO
IMPRIMIR “NIVEL FINAL NO SUPERÓ LOS 5000”
FINSI
FIN
4. Estructuras de decisión anidadas
Las estructuras de decisión anidadas se usan cuando una pregunta va dentro de otra (s)
preguntas sin la palabra SINO. Este tipo de estructuras se usan cuando se necesitan que
se cumplan una condición para seguir con la otra y reemplaza a las estructuras que usan
el operador (Y) (AND) o (^). Por ejemplo: Calcular la suma de 2 números sólo si los
dos son pares y los dos son positivos.
INICIO
LEER num1, num2
SI (num1 mod 2 = 0) ^ (num2 mod 2 = 0) ^ (num1 > 0) ^ (num2 > 0)
suma = num1 + num2
IMPRIMIR suma
FINSI
FIN
| 24
[ ] Elemento 4
Para que este ejercicio pueda calcular la suma, tendrán que cumplirse las 4 condiciones
antes mencionadas. Este ejercicio también se puede hacer con Estructuras de decisión
Anidadas.
INICIO
LEER num1, num2
SI (num1 mod 2 = 0)
SI (num2 mod 2 = 0)
SI (num1 > 0)
SI (num2 > 0)
suma = num1 + num2
IMPRIMIR suma
FINSI
FINSI
FINSI
FINSI
FIN
Como ya se explicó el manejo de las estructuras de decisión, cuando se cumple una
condición (o sea que es verdadera) se pasa a realizar las instrucciones que hay allí; pero
acá se encuentra con otra preguntas que repite el mismo proceso hasta el final, y para
ejecutar la suma, se tendrían que cumplir las 4 condiciones, en caso contrario no haría
nada.
4.1. Taller 4 (Estructuras de decisión)
1- Leer dos números e imprimirlos si por lo menos hay uno positivo.
2- Leer dos números calcular la suma de los números. Imprima los números leídos y la
suma sólo si su suma es negativa.
3- Leer el nombre, la edad y el sexo de cualquier persona e imprimir el nombre sólo si
la persona es de sexo masculino y es mayor de edad. Tenga en cuenta que la variable
sexo puede tomar dos valores: M si es Masculino o F es Femenino.
| 25
[ ] Elemento 4
4- Leer la cédula, el nombre, la edad, el sexo y el estado civil de cualquier persona e
imprimir el nombre sólo si la persona es una mujer, soltera, mayor de edad. Tenga en
cuenta que la variable sexo puede tomar dos valores: M si es Masculino o F es
Femenino y la variable estado civil se manejará: 1 si es casado, 2 si es soltero y 3 si es
otro.
5- Elaborar un algoritmo que lea la cédula de un empleado, el nombre, el salario básico
por hora y las horas trabajadas en la semana. Si el salario bruto es mayor a $250.000 la
retención en la fuente es del 27% del salario bruto. Imprimir la cédula del empleado, el
nombre, el salario bruto, el valor de retención y el salario neto.
6- Leer un número, imprimirlo y decir si es par o impar.
7- Leer un número, imprimirlo y decir si es positivo o negativo.
8- Leer dos número e imprimir sólo los positivos.
9- Leer un numero y escribir el valor absoluto del mismo.
10- Leer dos números, calcular e imprimir su división sólo si el segundo número es
diferente de cero. Si el segundo número es igual cero no ejecute el cálculo e imprima un
mensaje que diga DIVISIÓN NO ES POSIBLE”.
11- Leer el nombre y la edad de cualquier persona. Imprimir el nombre sólo si la
personas es mayor de edad, de lo contrario imprima un mensaje que diga “NO PUEDE
VOTAR”.
12- Leer el nombre, la edad, el sexo y el estado civil de cualquier persona e imprimir, si
es hombre o mujer menor de edad, o es un hombre casado de cualquier edad, el nombre
de la persona y un mensaje que diga “USTED NO SE MANDA”. En los demás casos
imprima sólo el nombre.
13- Elaborar un algoritmo que lea la cédula de un empleado, el nombre, el salario básico
| 26
[ ] Elemento 4
por hora y las horas trabajadas en la semana. Si el salario bruto es menor a $130.000 la
retención en la fuente es del 9% y la retención para el ISS será del 5%; de lo contrario la
retención en la fuente será del 12% y la retención para el ISS será del 8% del salario
bruto. Se debe imprimir todos los datos del empleado.
14- Elaborar un algoritmo que lea la cédula de un empleado, el nombre, el salario básico
por hora y las horas trabajadas en la semana. Calcular el salario neto sabiendo que si las
horas trabajadas en la semana es mayor a 48, esas horas demás se consideran como
horas extras y tienen un 35% de recargo. Se debe imprimir la cédula del empleado, el
nombre y el salario neto.
15- Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la
cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y
cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendrá
finalmente en su cuenta.
16- Un vendedor desea calcular la comisión sobre la venta de cualquier cantidad de un
articulo. El vendedor le corresponde el 5% de comisión si el valor unitario del articulo
vendido es menor a $350 y el 7% si el valor unitario es de $350 o más. Se debe
imprimir los datos del vendedor.
17- Elaborar un algoritmo que calcule la nota definitiva de un estudiante de lógica,
teniendo en cuenta que la nota definitiva consta de 4 notas que valen un 25% cada una.
Imprimir los datos del estudiante y un mensaje que diga “PERDIÓ” si en realidad lo
perdió; de lo contrario imprima “GANÓ”. Se deben leer los datos del estudiante y sus
respectivas notas. Gana con una nota mayor o igual a 3.0 de lo contrario pierde.
18- Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobará si su
promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.
19- En un almacén 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?
20- Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente
manera: Si trabaja 40 horas o menos se le paga $16 por hora, si trabaja mas de 40 horas
se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra.
| 27
[ ] Elemento 4
21- Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la
cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y
cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendrá
finalmente en su cuenta.
22- Desarrolle un algoritmo que lea dos números y los imprima en forma ascendente.
23- Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber cuantas
calorías consume su cuerpo durante todo el tiempo que realice una misma actividad. Las
actividades que tiene permitido realizar son únicamente dormir o estar sentado en
reposo. Los datos que tiene son que estando dormido consume 1.08 calorías por minuto
y estando sentado en reposo consume 1.66 calorías por minuto.
24- Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y
su precio con descuento. El descuento lo hace en base a la clave, si la clave es 01 el
descuento es del 10% y si la clave es 02 el descuento en del 20% (solo existen dos
claves).
25- Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se
compran tres camisas o mas se aplica un descuento del 20% sobre el total de la compra
y si son menos de tres camisas un descuento del 10%
26- Se debe elaborar un algoritmo que calcule el salario neto de un trabajador, sabiendo
que si el salario bruto es menor a $135.000 la retención en la fuente es del 7% y la
retención del ISS es del 8.5%. de lo contrario la retención en la fuente es del 9.5% y la
retención del ISS es del 10%. Se debe leer cédula y salario básico. Imprimir todos los
datos y los cálculos efectuados.
27- Una empresa quiere hacer una compra de varias piezas de la misma clase a una
fabrica de refacciones. La empresa, dependiendo del monto total de la compra, decidirá
que hacer para pagar al fabricante. Si el monto total de la compra excede de $500 000 la
empresa tendrá la capacidad de invertir de su propio dinero un 55% del monto de la
compra, pedir prestado al banco un 30% y el resto lo pagara solicitando un crédito al
fabricante. Si el monto total de la compra no excede de $500 000 la empresa tendrá
capacidad de invertir de su propio dinero un 70% y el restante 30% lo pagara
| 28
[ ] Elemento 4
solicitando crédito al fabricante. El fabricante cobra por concepto de intereses un 20%
sobre la cantidad que se le pague a crédito.
28- Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el
segundo que los reste y si no que los sume.
29- Leer tres números diferentes e imprimir el numero mayor de los tres.
30- Determinar la cantidad de dinero que recibirá un trabajador por concepto de las
horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo
exceden de 40, el resto se consideran horas extras y que estas se pagan al doble de una
hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las
primeras 8 al doble de lo que se pagan las horas normales y el resto al triple. Leer el
número de horas trabajadas y precio por cada hora.
31- Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este
se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en
la empresa de acuerdo con la siguientes condiciones: Si el tiempo es de menos de 1 año
la utilidad es 5 % del salario. Si el tiempo es de 1 año o mas y menos de 2 años la
utilidad es del 7% del salario. Si son 2 años o mas y menos de 5 años, la utilidad es de
10%. Si son 5 años o mas y menos de 10 años, la utilidad es del 15% y si son 10 años o
mas la utilidad es del 20%.
32- En una tienda de descuento se efectúa una promoción en la cual se hace un
descuento sobre el valor de la compra total según el color de la bolita que el cliente
saque al pagar en caja. Si la bolita es de color blanco no se le hará descuento alguno, si
es verde se le hará un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si
es roja un 100%. Determinar la cantidad final que el cliente deberá pagar por su compra.
se sabe que solo hay bolitas de los colores mencionados.
33- El IMSS requiere clasificar a las personas que se jubilaran en el año de 1997.
Existen tres tipos de jubilaciones: por edad, por antigüedad joven y por antigüedad
adulta. Las personas adscritas a la jubilación por edad deben tener 60 años o mas y una
antigüedad en su empleo de menos de 25 años. Las personas adscritas a la jubilación por
antigüedad joven deben tener menos de 60 años y una antigüedad en su empleo de 25
años o mas. Las personas adscritas a la jubilación por antigüedad adulta deben tener 60
| 29
[ ] Elemento 4
años o mas y una antigüedad en su empleo de 25 años o mas. Determinar en que tipo de
jubilación, quedara adscrita una persona.
34- Se debe elaborar un algoritmo que lea cédula, nombre, básico hora y las horas
trabajadas en la semana de un empleado. Calcular el salario neto teniendo en cuenta que
si el salario bruto es menor o igual a $120.000 la retención en la fuente será del 14% y
la retención del ISS será del 8%. Si el salario bruto está entre $120.000 y $160.000 la
retención en la fuente será del 16% y la retención del ISS será del 13%. Pero si el
salario bruto es superior a $160.000 la retención en la fuente será del 17% y la retención
del ISS será del 10%. Se debe imprimir la cédula del empleado, el nombre, el salario
bruto, el valor de deducciones y el salario neto.
35- Para calcular el salario neto de un empleado se debe leer cédula, nombre y salario
básico. Y se debe tener en cuenta las siguientes condiciones: para salarios básicos hasta
$400.000, no hay retenciones de ninguna clase. Para salarios de más $400.000 hasta
$800.000 la retención en la fuente será del 12% y la retención del ISS será del 10%. Y
para salarios superiores a $800.00 la retención en la fuente que le corresponde será del
15% y la retención del ISS será del 12%. Imprimir todos los datos y cálculos del
empleado.
36- Elabore un algoritmo que calcule salario neto mensual de un empleado. Se debe leer
cédula, nombre, salario básico hora y las horas trabajadas. Para calcularlo se debe tener
en cuenta lo siguiente: Si el salario básico es menor o igual a $480.000 se le hará una
retención en la fuente del 4% y para el ISS un 6%. Si el salario básico es mayor a
$480.000 y menor o igual a $560.000 se le hará una retención en la fuente del 7% y para
el ISS un 8%. Si el salario básico es mayor a $560.000 y menor o igual a $745.000 se le
hará una retención en la fuente del 10% y para el ISS un 11%. Si el salario básico es
mayor a $560.000 y menor o igual a $900.000 se le hará una retención en la fuente del
20% y para el ISS un 30%. Si el salario básico es mayor a $900.000 se le hará una
retención en la fuente del 25% y para el ISS un 35%. Imprimir todos los datos.
37- Realice un algoritmo que lea nombre, edad, sexo (F = Femenino, M = Masculino),
estado civil (1 = Casado, 2 = Soltero, 3 = Otro) de cualquier persona e imprimir: Si es
menor de edad un mensaje que diga “NO PUEDE VOTAR”. Si es mujer, mayor de
edad y casada imprima un mensaje que diga “PUEDE VOTAR EN LA MESA 1”. Si es
| 30
[ ] Elemento 4
mujer, mayor de edad y soltera imprima un mensaje que diga “PUEDE VOTAR EN LA
MESA 2”. Si es hombre mayor de edad imprima un mensaje que diga “PUEDE
VOTAR EN LA MESA 3”. Y Si es hombre o mujer que no sea ni soltero ni casado
imprima un mensaje que diga “PUEDE VOTAR EN LA MESA 4”.
38- Un hombre desea calcular la comisión sobre la venta de una cantidad no conocida
de un articulo. Al vendedor le corresponde el 5% de comisión si el valor de la venta
total es menor o igual a $545.000. Si el valor de la venta total es mayor a $545.000 y
menor o igual a $750.000 la comisión será del 7% y si la venta total es mayor a
$750.000 la comisión será del 9%. Se debe leer el nombre del vendedor, la descripción
del articulo, la cantidad vendida, el valor unitario. Imprimir todos los datos del
vendedor.
39- Elaborar un algoritmo que calcule la nota definitiva de un estudiante, teniendo en
cuenta que la nota definitiva consta de 4 notas que valen las dos primeras un 10% y las
otras dos 40% respectivamente. Imprimir los datos del estudiante y un mensaje que diga
“DEBE HABILITAR” si perdió la materia con una nota definitiva menor a 3.0 y mayor
igual a 2.5. Si la nota definitiva es menor a 2.5 imprima un mensaje “PERDIÓ. DEBE
REPETIR”. Y si la nota definitiva es mayor o igual a 3.0 imprima un mensaje que diga
“GANÓ. FELICITACIONES”. Se deben leer los datos del estudiante y sus respectivas
notas.
40- Lea 3 números y calcule su promedio. Luego imprimir un mensaje que diga “ES
MAYOR AL PROMEDIO”, “ES MENOR QUE EL PROMEDIO” o “ES IGUAL AL
PROMEDIO” a los números que cumplan cada condición.
41- Lea 3 números e imprima el número mayor y un mensaje, el número menor y un
mensaje y el número medio con su respectivo mensaje. Asuma que no existen números
iguales.
42- Lea 3 números e imprima el número mayor, el número menor y el número medio.
Además, imprimir los números que sean iguales.
43- Calcular el pago de un local por parte de inquilino. Lea el nombre del inquilino, la
cédula, la dirección del local, fecha en que fue ocupado el local y la fecha de pago. Para
calcular el valor a pagar se debe tener en cuenta: El valor del arrendamiento mensual
| 31
[ ] Elemento 4
equivale a $1.500.000, pero si el inquilino paga antes de 30 días se concede un
descuento del 0.5% por cada día que le falta para cumplir el mes y si el pago es después
de 30 días se le cobrará un interés equivalente al 2.5% por cada día que esté en mora. Se
debe imprimir el total pagado y los datos del inquilino.
44-Tomando como base los resultados obtenidos en un laboratorio de análisis clínicos,
un medico determina si una persona tiene anemia o no, lo cual depende de su nivel de
hemoglobina en la sangre, de su edad y de su sexo. Si el nivel de hemoglobina que tiene
una persona es menor que el rango que le corresponde, se determina su resultado como
positivo y en caso contrario como negativo. La tabla en la que el medico se basa para
obtener el resultado es la siguiente:
EDAD ------------NIVEL HEMOGLOBINA
0 - 1 mes ----------------13 - 26 g%
> 1 y < = 6 meses -------10 - 18 g%
> 6 y < = 12 meses ------11 - 15 g%
> 1 y < = 5 años ---------11.5 - 15 g%
> 5 y < = 10 años -------12.6 - 15.5 g%
> 10 y < = 15 años ------13 - 15.5 g%
mujeres > 15 años -------12 - 16 g%
hombres > 15 años ------14 - 18 g%
| 32
[ ] Elemento 4
4.3. Taller 5 (Recuperación de estructuras de decisión)
1) Calcular el total que una persona debe pagar en una llantera, si el precio de cada
llanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 o mas.
2) En un supermercado se hace una promoción, mediante la cual el cliente obtiene un
descuento dependiendo de un número que se escoge al azar. Si el numero escogido es
menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a
74 el descuento es del 20%. Obtener cuanto dinero se le descuenta.
3) Calcular el numero de pulsaciones que debe tener una persona por cada 10 segundos
de ejercicio aeróbico; la formula que se aplica cuando el sexo es femenino es:
num.pulsaciones = (220 - edad)/10, y si el sexo es masculino: num. pulsaciones = (210 -
edad)/10
4) Una compañía de seguros esta abriendo un depto. de finanzas y estableció un
programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se
efectúa la fianza es menor que $50 000 la cuota a pagar será por el 3% del monto, y si el
monto es mayor que $50 000 la cuota a pagar será el 2% del monto. La afianzadora
desea determinar cual será la cuota que debe pagar un cliente.
5) En una escuela la colegiatura de los alumnos se determina según el numero de
materias que cursan. El costo de todas las materias es el mismo.
Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo
siguiente: si el promedio obtenido por un alumno en el ultimo periodo es mayor o igual
que 9, se le hará un descuento del 30% sobre la colegiatura y no se le cobrara IVA; si el
promedio obtenido es menor que 9 deberá pagar la colegiatura completa, la cual incluye
el 10% de IVA.
Obtener cuanto debe pagar un alumno.
6) Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes
condiciones: Si los ingresos del comprador son menores de $8000 o mas el enganche
será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en
diez años. Si los ingresos del comprador son menos de $8000 o mas el enganche será
del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 7
| 33
[ ] Elemento 4
años. La empresa quiere obtener cuanto debe pagar un comprador por concepto de
enganche y cuanto por cada pago parcial.
7) El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro) que
consiste en que los dueños de la empresa deben obligatoriamente depositar en una
cuenta bancaria un porcentaje del salario de los trabajadores; adicionalmente los
trabajadores pueden solicitar a la empresa que deposite directamente una cuota fija o un
porcentaje de su salario en la cuenta del SAR, la cual le será descontada de su pago. Un
trabajador que ha decidido aportar a su cuenta del SAR desea saber la cantidad total de
dinero que estará depositado a esa cuenta cada mes, y el pago mensual que recibirá.
8) Una persona desea iniciar un negocio, para lo cual piensa verificar cuanto dinero le
prestara el banco por hipotecar su casa. Tiene una cuenta bancaria, pero no quiere
disponer de ella a menos que el monto por hipotecar su casa sea muy pequeño. Si el
monto de la hipoteca es menor que $1 000 000 entonces invertirá el 50% de la inversión
total y un socio invertirá el otro 50%. Si el monto de la hipoteca es de $ 1 000 000 o
mas, entonces invertirá el monto total de la hipoteca y el resto del dinero que se necesite
para cubrir la inversión total se repartirá a partes iguales entre el socio y el.
9) El gobierno del estado de México desea reforestar un bosque que mide determinado
numero de hectáreas. Si la superficie del terreno excede a 1 millón de metros cuadrados,
entonces decidirá sembrar de la sig. manera:
Porcentaje de la superficie del bosque Tipo de árbol
70% pino
20% oyamel
10% cedro
Si la superficie del terreno es menor o igual a un millón de metros cuadrados, entonces
decidirá sembrar de la sig. manera:
Porcentaje de la superficie del bosque Tipo de árbol
50% pino
30% oyamel
20% cedro
| 34
[ ] Elemento 4
El gobierno desea saber el numero de pinos, oyameles y cedros que tendrá que sembrar
en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15 metros
cuadrados caben 15 oyameles y en 18 metros cuadrados caben 10 cedros. También se
sabe que una hectárea equivale a 10 mil metros cuadrados.
10) Una fabrica ha sido sometida a un programa de control de contaminación para lo
cual se efectúa una revisión de los puntos IMECA generados por la fabrica. El programa
de control de contaminación consiste en medir los puntos IMECA que emite la fabrica
en cinco días de una semana y si el promedio es superior a los 170 puntos entonces
tendrá la sanción de parar su producción por una semana y una multa del 50% de las
ganancias diarias cuando no se detiene la producción. Si el promedio obtenido de puntos
IMECA es de 170 o menor entonces no tendrá ni sanción ni multa. El dueño de la
fábrica desea saber cuanto dinero perderá después de ser sometido a la revisión.
11) Una persona se encuentra con un problema de comprar un automóvil o un terreno,
los cuales cuestan exactamente lo mismo. Sabe que mientras el automóvil se devalúa,
con el terreno sucede lo contrario. Esta persona comprara el automóvil si al cabo de tres
años la devaluación de este no es mayor que la mitad del incremento del valor del
terreno. Ayúdale a esta persona a determinar si debe o no comprar el automóvil.
12) En una fábrica de computadoras se planea ofrecer a los clientes un descuento que
dependerá del numero de computadoras que compre. Si las computadoras son menos de
cinco se les dará un 10% de descuento sobre el total de la compra; si el numero de
computadoras es mayor o igual a cinco pero menos de diez se le otorga un 20% de
descuento; y si son 10 o mas se les da un 40% de descuento. El precio de cada
computadora es de $11,000
13) En una llantera se ha establecido una promoción de las llantas marca “Ponchadas”,
dicha promoción consiste en lo siguiente: Si se compran menos de cinco llantas el
precio es de $300 cada una, de $250 si se compran de cinco a 10 y de $200 si se
compran mas de 10. Obtener la cantidad de dinero que una persona tiene que pagar por
cada una de las llantas que compra y la que tiene que pagar por el total de la compra.
14) En un juego de preguntas a las que se responde “Si” o “No” gana quien responda
correctamente las tres preguntas. Si se responde mal a cualquiera de ellas ya no se
| 35
[ ] Elemento 4
pregunta la siguiente y termina el juego. Las preguntas son:
1. Colon descubrió América?
2. La independencia de Colombia fue en el año 1810?
3. The Doors fue un grupo de Rock Americano?
15) Un proveedor de estéreos ofrece un descuento del 10% sobre el precio sin IVA, de
algún aparato si este cuesta $2000 o mas. Además, independientemente de esto, ofrece
un 5% de descuento si la marca es “NOSY”. Determinar cuanto pagara, con IVA
incluido, un cliente cualquiera por la compra de su aparato.
16) Determinar cuanto pagara una persona que compre manzanas en una frutería que
tiene los siguientes descuentos:
NUM. DE KILOS COMPRADOS % DESCUENTO
0 - 2 0%
2.01 - 5 10%
5.01 - 10 15%
10.01 en adelante 20%
17) El dueño de una empresa desea planificar las decisiones financieras que tomara en
el siguiente año. La manera de planificarlas depende de lo siguiente: Si actualmente su
capital se encuentra con saldo negativo, pedirá un préstamo bancario para que su nuevo
saldo sea de $10 000. Si su capital tiene actualmente un saldo positivo pedirá un
préstamo bancario para tener un nuevo saldo de $20 000, pero si su capital tiene
actualmente un saldo superior a los $20 000 no pedirá ningún préstamo.
Posteriormente repartirá su presupuesto de la siguiente manera. $5000 para equipo de
computo, $2000 para mobiliario y el resto la mitad será para la compra de insumos y la
otra para otorgar incentivos al personal. Desplegar que cantidades se destinaran para la
compra de insumos e incentivos al personal y, en caso de que fuera necesario, a cuanto
ascendería la cantidad que se pediría al banco.
18. Una institución educativa estableció un programa para estimular a los alumnos con
buen rendimiento académico y que consiste en lo siguiente:
Si el promedio es de 9.5 o mas y el alumno es de preparatoria, entonces este podrá
| 36
[ ] Elemento 4
cursar 55 unidades y se le hará un 25% de descuento.
Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de preparatoria,
entonces este podrá cursar 50 unidades y se le hará un 10% de descuento.
Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria, este podrá
cursar 50 unidades y no tendrá ningún descuento.
Si el promedio es de 7 o menor, el numero de materias reprobadas es de 0 a 3 y el
alumno es de preparatoria, entonces podrá cursar 45 unidades y no tendrá descuento.
Si el promedio es de 7 o menor, el numero de materias reprobadas es de 4 o mas y el
alumno es de preparatoria, entonces podrá cursar 40 unidades y no tendrá ningún
descuento.
Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entonces podrá
cursar 55 unidades y se le hará un 20% de descuento.
Si el promedio es menor de 9.5 y el alumno es de profesional, entonces podrá cursar 55
unidades y no tendrá descuento.
Obtener el total que tendrá que pagar un alumno si la colegiatura para alumnos de
profesional es de $300 por cada cinco unidades y para alumnos de preparatoria es de
$180 por cada cinco unidades.
19) Que lea tres números diferentes y determine el numero medio del conjunto de los
tres números (el numero medio es aquel numero que no es ni mayor, ni menor).
20) Leer el nombre, la edad y el teléfono de dos personas. Imprimir todos los datos, sólo
si tienen la misma edad.
21) En las pruebas ICFES se presentan dos tipos pruebas, una de aptitud matemática y
otra de lenguaje. Leer los puntajes obtenidos por un estudiante en cada prueba e
imprimir en cuál obtuvo el mayor puntaje o si fueron iguales.
22) Leer un símbolo químico e imprimir el elemento sólo si es Hidrógeno, Oxigeno o
Nitrógeno.
23) Leer la fecha de nacimiento de una persona e imprimir su signo del zodiaco.
| 37
[ ] Elemento 4
24) Leer los tres lados de un triángulo (A,B y C). Imprima que tipo de triángulo es
teniendo en cuenta que es equilátero sólo si tres lados son iguales, si dos de sus lados
son iguales es un triángulo isósceles y si todos son desiguales es escaleno.
25) Leer el nombre, la edad y el teléfono de dos personas. Imprimir todos los datos, sólo
si tienen la misma edad y tienen distinto nombre.
26) Leer tres números e imprimir cual de ellos es el mayor.
27) Leer dos números e imprimir sólo los positivos.
28) Se pide leer la edad, el peso y la estatura de una persona e imprimir si puede o no
participar en una competencia. Los requisitos para participar son: ser mayor de edad,
pesar mas de 50 Kilogramos y medir mas de 1.50 Metros.
29) Lea un día de la semana e imprima ES UN EXCELENTE DÍA si es sábado o
domingo, de lo contrario imprima ES UN PÉSIMO DÍA, TENEMOS QUE
ESTUDIAR.
30) Calcule el cuadrado de un número sólo si es igual a 10, 20 o 30.
31) Una persona desea realizar un viaje a alguna de estas tres ciudades: ESTADOS
UNIDOS, FRANCIA O ITALIA. Desarrolle un algoritmo que lea el estado del clima, y
el valor de descuento ofrecido por la agencia de viaje. Diga a cual ciudad debe ir
teniendo en cuenta que si el estado del clima es bueno y el descuento es de 500 dólares
viajará a ESTADOS UNIDOS, si el clima está regular y el descuento es de 1000 dólares
viajará a FRANCIA, sino lo hará a ITALIA.
32) Desarrolle un algoritmo que lea el salario básico de un empleado, el estado
(1:ACTIVO, 2:SUSPENDIDO) y el número de hijos. Calcular el salario neto de un
empleado teniendo en cuenta que si está activo y el número de hijos es mayor de 4 le
hace un descuento del 10% del salario básico y se le da un auxilio de alimentación de
50.000. Si está activo y el número de hijos es menor o igual que 4 se le hace un
descuento del 15% y un auxilio de 25.000. Si está suspendido y el número de hijos es
mayor de 5 se le hace un descuento del 5% y se le da un auxilio de 40.000 y en los
| 38
[ ] Elemento 4
demás casos a cada empleado se le hace un descuento del 5% y se da un auxilio de
30.000.
33) A nivel nacional se van a desarrollar unas competencias para estudiantes. Se pide
hacer un algoritmo que lea edad, sexo (M: MASCULINO, F: FEMENINO), estatura y
peso de un participante e imprima a que competencia se puede inscribir, tenga en cuenta
que si es hombre, mayor de edad y mide más de 1.80 puede participar en baloncesto. Si
es hombre, mayor de edad y mide 1.80 o menos puede participar en fútbol. Si es
hombre, mayor de edad y pesa más de 150Kg puede participar en sumo. Si es mujer,
pesa más de 50Kg y mide más de 1.60 puede participar en voleibol. Y si es mujer, con
edad entre 15 y 40 años puede participar en atletismo.
34) Lea la edad de una persona y el estado civil (1:SOLTERO, 2:CASADO
3:SEPARADO) e imprima NO DEPENDO DE MÍ MISMO sólo si es una persona
menor de edad o si es casado. De lo contrario imprima YO YA ME MANDO.
35) Leer 4 números y calcular la suma de los 4 números sólo si el primer número es
positivo y el segundo mayor de 10, calcular la resta de los tres primeros números sólo si
el tercer número es negativo y el cuarto es menor de 100 y calcular la multiplicación del
primero y el último sólo si el tercero es positivo o el cuarto es mayor de 100.
36) El costo de la entrada al parque norte depende de la edad que tenga la persona que
va a entrar: Si la persona tiene entre 0 y 2 años entran gratis. Si tiene entre 3 y 7 años
paga $2.000. Si tiene entre 8 y 16 años paga $3.000. Si tiene entre 17 y 35 años paga
$3.500. Y si tiene más de 35 paga $4.000.
37) Leer el mes en el cual nació una persona, y decir si nació en navidad o no.
38) Leer la base y la altura de un triángulo. Calcule su área sólo si la base es diferente
que la altura, sino calcule el doble de su base y el cuadrado de la altura.
| 39
[ ] Elemento 4
5. Estructuras Caso
Estas estructuras son similares a las estructuras de decisión, pero con la diferencia de
que ahorra espacio y es mucha más sencillo de manejar. Aunque tiene algunas
limitaciones y condiciones.
SINTAXIS:
CASO (VARIABLE)
CASO VALOR1: INSTRUCCIONES
CASO VALOR2: INSTRUCCIONES
CASO VALOR3: INSTRUCCIONES
CASO VALORN: INSTRUCCIONES
OTRO CASO: MENSAJES DE ERROR
FIN CASO
Esta estructura se usa cuando el valor que tome una variable sea finito y se conozcan
esos valores. Y al final tiene una opción en caso de digitarse un valor erróneo. Por
ejemplo: Leer el número de un día e imprimir el nombre de ese día, teniendo en cuenta
que 1 es lunes, 2 es el martes, y así sucesivamente. Con estructuras de decisión sería así:
INICIO
LEER numdia
SI (numdia = 1) ENT
IMPRIMIR “LUNES”
SINO
SI (numdia = 2) ENT
IMPRIMIR “MARTES”
SINO
SI (numdia = 3) ENT
IMPRIMIR “MIÉRCOLES”
SINO
SI (numdia = 4) ENT
IMPRIMIR “JUEVES”
SINO
SI (numdia = 5) ENT
| 40
[ ] Elemento 4
IMPRIMIR “VIERNES”
SINO
SI (numdia = 6) ENT
IMPRIMIR “SÁBADO”
SINO
SI (numdia = 7) ENT
IMPRIMIR “DOMINGO”
FINSI
FINSI
FINSI
FINSI
FINSI
FINSI
FINSI
FIN
Observe que la variable numdia toma valores finitos (de 1 hasta 7) y todos son
conocidos; por tal motivo se puede usar en una estructura caso.
INICIO
LEER numdia
CASO (numdia)
CASO 1: IMPRIMIR “LUNES”
CASO 2: IMPRIMIR “MARTES”
CASO 3: IMPRIMIR “MIÉRCOLES”
CASO 4: IMPRIMIR “JUEVES”
CASO 5: IMPRIMIR “VIERNES”
CASO 6: IMPRIMIR “SÁBADO”
CASO 7: IMPRIMIR “DOMINGO”
OTRO CASO: IMPRIMIR “ERROR. NÚMERO DE DÍA NO EXISTE.”
FINCASO
FIN
EJEMPLO 2: Leer la nota de un estudiante (en números enteros) e imprimir su
equivalente en letras sabiendo que si la nota es 5 su equivalente es EXCELENTE, 4 es
| 41
[ ] Elemento 4
BUENO, 3 es ACEPTABLE, 2 INSUFICIENTE y 1 DEFICIENTE.
INICIO
LEER nota
CASO (NOTA)
CASO 5: IMPRIMIR “EXCELENTE”
CASO 4: IMPRIMIR “BUENO”
CASO 3: IMPRIMIR “ACEPTABLE”
CASO 2: IMPRIMIR “INSUFICIENTE”
CASO 1: IMPRIMIR “DEFICIENTE”
OTRO CASO: IMPRIMIR “ERROR. NOTA NO EXISTE.”
FINCASO
FIN
EJEMPLO3: En una tienda de descuento se efectúa una promoción en la cual se hace un
descuento sobre el valor de la compra total según el color de la bolita que el cliente
saque al pagar en caja. Si la bolita es de color blanco no se le hará descuento alguno, si
es verde se le hará un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si
es roja un 100%. Determinar la cantidad final que el cliente deberá pagar por su compra.
se sabe que solo hay bolitas de los colores mencionados.
INICIO
LEER tot_comp, bol
CASO (bol)
CASO “Blanca”: desc = 0
CASO “Verde”: desc = tot_comp * 0.10
CASO “Amarilla”: desc = tot_comp * 0.25
CASO “Azul”: desc = tot_comp * 0.50
CASO “Roja”: desc= tot_comp
OTRO CASO: IMPRIMIR “ERROR. COLOR NO EXISTE”
FIN
IMPRIMIR desc
FIN
| 42
[ ] Elemento 4
5.1. Taller 6 (Estructuras Caso)
1) Leer el número de un mes y decir a que mes corresponde teniendo en cuenta que 1 es
enero, 2 es febrero y así sucesivamente.
2) Una persona desea viajar a una ciudad de Colombia. Las opciones que tiene son las
siguientes: 01-Medellín, 02-Bogotá, 03-Cali, 04-Bucaramanga, 05-Cartagena, 06-San
Andres y Providencias y 07-Santamarta. Leer el código de una de esas ciudades e
impirmir el nombre de la ciudad.
3) Determinar el salario neto de un empleado sabiendo que si es de tipo A1 gana
$450.000, A2 gana $500.000, A3 gana $600.000, A4 $800.000, y A5 gana $1.000.000.
A cada empleado se le hace una retención del 1.5% para ahorros.
4) En una central telefónica se tienen los siguientes códigos postales, provincias y
tarifas. Desarrolle un algoritmos que lea el código postal e imprima la provincia a la que
se llama y la tarifa para esa provincia.
CODIGO PROVINCIA TARIFA
984 GALICIA PTS 50
578 ALAVES PTS 60
284 ZAMORA PTS 70
259 ARMUNIA PTS 80
219 VIGO PTS 85
025 MADRID PTS 90
018 OSASUNA PTS 95
005 CANTABRIA PTS 100
001 SEVILLA PTS 110
000 MURCIA PTS 150
5) Desarrolle una algoritmo que lea la marca (T: TOYOTA, M: MAZDA, C:
CHEVROLET Y O: OTRO. Además, lea el tipo de vehículo (1: NACIONAL 2:
EXTRANJERO) e imprima el valor sabiendo que este depende de la siguiente tabla:
| 43
[ ] Elemento 4
MARCA TIPO DE VEHÍCULO VALOR
TOYOTA NACIONAL $40.000.000
MAZDA NACIONAL $45.000.000
CHEVROLET NACIONAL $30.000.000
TOYOTA EXTRANJERO $50.000.000
MAZDA EXTRANJERO $55.000.000
CHEVROLET EXTRANJERO $38.000.000
OTRO NACIONAL O EXTRANJERO $30.000.000
| 44