LÓGICA DE PROGRAMACIÓN Y ALGORITMOS
ALGORITMOS
“ESTRUCTURA FUNDAMENTAL DE ALGORITMOS”
Estructuras dentro de Algoritmos
Los algoritmos están conformadas por varias estructuras fundamentales, cada una con
sus respectivas divisiones. La primera estructura se trabajará en esta unidad, y las otras
en las dos siguientes. Estas estructuras son Estructuras secuenciales, Estructuras de
decisión, Estructuras Caso y Estructuras repetitivas.
1. Estructura secuencial: Un estructura secuencial es la estructura más simple dentro
de los tipos de algoritmos, donde una acción o instrucción sigue a otra en secuencia
hasta llegar al FIN del algoritmo. Está consta de las 3 partes primordiales: Los Datos de
entrada, el Proceso y los Datos de salida.
1.1. Datos de entrada: Es el lugar donde se LEEN todas las variables necesarias para
hacer los cálculos y las operaciones. Siempre empiezan con la palabra LEA o LEER, y a
continuación van el nombre de esas variables separadas por coma (,).
1.2. Proceso: Son todos los cálculos que se deben realizar dentro del algoritmos para
dar solución al problema planteado. Cada cálculo ocupa una línea por separado y cada
uno de estos debe almacenarse en una variable cualquiera.
1.3. Datos de salida: Es el lugar donde se IMPRIMEN o MUESTRAN todas las
variables que almacenaron los cálculos. Siempre empiezan con la palabra IMPRIMIR,
IMP o ESCRIBA, y a continuación van los nombres de esas variables separadas por
coma (,).
Primer ejemplo de un algoritmo. La teoría dice que para solucionar un problema por
medio de los algoritmos se deben seguir unos pasos (vistos en la unidad anterior de
PRE-LÓGICA). Acá sólo aplicaremos los tres conceptos anteriores.
PROBLEMA: Desarrolle un algoritmo que calcule la multiplicación de dos números.
Datos de entrada (Los necesarios para realizar los cálculos. Para multiplicar los dos
números, se necesitan estos dos datos). Por lo tanto manejaremos dos variables A y B,
los cuales son nombres de variables que representan esos dos números. Además, en la
parte del proceso, se necesita una variable C para almacenar el resultado. También se
dice que la línea de datos de entrada empieza con la palabra LEER y las variables
separadas por coma (,); entonces se coloca de la siguiente forma:
LEA A, B
Proceso(son los calculos a realizar). Para multiplicar dos números (A y B) se podría
poner AxB, A.B o (A)(B); pero la multiplicación el algoritmos se representa por un
asterico. Por lo tanto se pone A * B. Además, la teoría dice que el cálculo se guarde en
una variable (C), quedaría así:
C=A*B
Datos de salida (Los cálculos solicitados para dar solución al problema). En este caso
sería la mutiplicación que se pide y que se almacenó en la variable C. Además, se dice
que la línea de datos de salida empieza con la palabra IMPRIMIR (Esta es la que se va
a manejar en esta pa´gina) y luego las variables separadas por coma (,); entonces se
coloca de la siguiente forma:
IMPRIMA C
Con lo anterior hemos hecho el primer algoritmo; pero para verlo de una forma concisa,
el resultado sería el siguiente (Recuerde las partes de un algoritmo explicado en la
unidad anterior).
INICIO
LEER A, B
C=A * B
IMPRIMIR C
FIN
Volver
2. Asignación de información
2.1. Asignación Interna: La asignación interna se da dentro de un algoritmo cuando se
le lleva un valor o una variable a otra variable. Por ejemplo, cuando se coloca X = 15, le
estamos asignando el 15 a la variable X. También se pudo colocar X = W, y estamos
haciendo una asignación interna de variable a variable.
2.2. Asignación Externa: La asignación externa se da cuando se asigna por valor a la
variable por medio de la palabra LEA; pero este valor sólo lo tomará cuando se haga
una depuración o prueba de escritorio al ejercicio (Tema que se explicará más adelante).
Por ejemplo, Lea X.
2.3. Actualización: La actualización se presenta cuando una variable cambia de valor
por segunda vez. Por ejemplo, EDAD = 20 es una asignación interna; pero si luego
colocamos EDAD = EDAD + 10, la variable se actualizará al valor de 30.
Volver
3. Operaciones primordiales y básicas
Las operaciones primordiales y básicas son todas aquellas operaciones que incluyen los
operadores aritméticos, combinados con algunas variables. El ejemplo más sencillo, es
cuando en un algoritmo se pide realizar sumas, restas, multiplicaciones, divisiones,
exponentes como cuadrados o cubos, mitades, terceras o cuartas partes, raíces cuadradas
o cúbicas, entre otras.
Utilice las siguientes operaciones dependiendo lo solicitado por un algoritmo.
Para sumar dos valores: valor1 + valor2
Para restar dos valores: valor1 - valor2
Para dividir dos valores: valor1 / valor2
Para multiplicar dos valores: valor1 * valor2
Para calcular el cuadrado de un valor: (valor ** 2) o bien (valor ^ 2)
Para calcular el cubo de un valor: (valor ** 3) o bien (valor ^ 3)
Para calcular la potencia N de cualquier valor: (valor ** N) o bien (valor ^ N)
Para calcular la mitad de un valor: valor / 2
Para calcular la tercera parte de un valor: valor / 3
Para calcular la enésima parte de un valor: valor / N
Para calcular el doble de un valor: valor * 2
Para calcular el triple de valor: valor * 3
Para calcular la raíz cuadrada de un valor: valor ** (1 / 2) o bien (valor ^ (1 / 2)
Para calcular la raíz cúbica de un valor: valor ** (1 / 3) o bien (valor ^ (1 / 3))
Para calcular la raíz enésima de un valor: valor ** (1 / N) o bien (valor ^ (1 / N))
En estos ejemplos no se ponen todas las posibles operaciones; pero si la mayoría de
ellas. Algunas otras de pueden deducir como por ejemplo el quintuple de un valor:
valor * 5.
Volver
4. Fórmulas generales
Luego de trabajar la conversión de expresiones matemáticas en expresiones algorítmicas
será muy fácil el trabajo en esta unidad con fórmulas porque lo único que se tendría que
hacer es convertirla de tal forma que sea entendible en algoritmos y al mismo tiempo lo
será para un computador (esa es la finalidad de los algoritmos, realizar soluciones a
problemas usando esta potente herramienta).
5. Ejemplos de algoritmos secuenciales
Ejemplo1: Desarrolle un algoritmo que calcule e imprima el doble de un número.
INICIO
LEER NUM
DOBLE=NUM*2
IMPRIMIR DOBLE
FIN
Todo algoritmos empieza con INICIO, luego van los datos de entrada (con la palabra
LEA y las variables), en este caso sólo es una variable llamada NUM que representa el
número al cual se le va a sacar el DOBLE. Luego en el proceso se aplica la teoría del
doble de un valor (se multiplca * 2). Finalmente se ponen los datos de salida con la
palabra IMPRIMIR. Recuerde que termina con la palabra FIN.
Para ponerlo un poco más complejo, vamos a combinar varias operaciones al mismo
tiempo.
Ejemplo2: Calcular el doble de la suma de dos números y el triple de la resta de esos
mismos números.
INICIO
LEER num1, num2
sum = num1 + num2
doble = sum * 2
resta = num1 - num2
triple = resta * 3
IMPRIMIR doble, triple
FIN
También se podría hacer de siguiente manera para ahorrar código y haciendo lo mismo
del ejercicio anterior.
INICIO
LEER num1, num2
doble = (num1 + num2) * 2
triple = (num1 - num2) * 3
IMPRIMIR doble, triple
FIN
Observe en el ejercicio anterior que para poder realizar los cálculos de doble y triple,
antes se tuvo que realizar los cálculos de suma y resta. Esto es porque al desarrollar
estas operaciones, se deben realizar de derecha a izquierda, ya que las del lado derecho
son necesarias para calcular las de la izquierda, y sin ellas no se podría realizar los
cálculos. Para entender estos conceptos observe el orden en cual se desarrollan las
siguientes operaciones.
Ejemplo 3: Desarrollar un algoritmo que permita calcular la raíz cuadrada de la mitad
de la multiplicación de la dos números. Además calcular la raíz cúbica de del doble del
triple de la cuarta parte de la suma del cuadrado del primer número más el cubo del
segundo número.
INICIO
LEER num1, num2
mult = num1 * num2
mit = mult / 2
raiz2 = mit ^ (1 / 2)
cubo = num2 ^ 3
cuad = num1 ^ 2
sum = cuad + cubo
cua_parte = sum / 4
triple = cua_parte
doble = triple * 2
raiz3 = doble ^ (1 / 3)
IMPRIMIR raiz2, raiz3
FIN
También se podría hacer de esta forma más corta:
INICIO
LEER num1, num2
raiz2 = ((num1 * num2) / 2) ^ (1 / 2)
raiz3 = (((((num1 ^ 2) + (num2 ^ 3)) / 4) * 3) * 2) ^ (1 / 3)
IMPRIMIR raiz2, raiz3
FIN
Ejemplo 4: También existen algoritmos del mundo laboral como este ejemplo.
Desarrolle un algoritmo que lea el número de horas y el valor de cada laborados por un
empleado e imprima su salario básico.
INICIO
LEER NUMHOR, VLRHOR
SALBAS = NUMHORA * VLRHOR
IMPRIMIR SALBAS
FIN
Observe que para determinar el salario básico se multiplicaron las dos variables (algo
que se hace en la vida cotidiana, constantemente).
Ejemplo 5: Calcular e imprimir el área de un cuadrado.
INICIO
LEER LADO
AREA = LADO * LADO
IMPRIMIR AREA
FIN
En este ejemplo se está usando una fórmula matemática, donde para hallar el área de un
cuadrado de multiplica dos veces un lado, lo que es lo mismo que LADO ^ 2.
6. Calcular porcentajes dentro de un algoritmo
Para calcular porcentajes dentro de algoritmos existen 3 fórmulas principales:
6.1. Fórmula 1:
PORC = VAR * P/100.
VTOT = VAR ± PORC VAR Donde,
PORC: Nombre de la variable del porcentaje. : Variable a la que se le sacará el
porcentaje.
P: Porcentaje que se pide.
VTOT: Es el valor total, luego de los porcentajes.
El signo (±) depende de si el porcentaje suma o resta al valor. Si son varios los
porcentajes, se deben colocar con sus respetivos signos.
Ejemplo 1: A un empleado le retienen el 18% de su salario básico. Calcular el salario
neto, sabiendo que le entregan una bonificación del 1.3% del salario básico
INICIO
LEER sal_bas
porc1 = sal_bas * 18/100
porc2 = sal_bas * 1.3/100
vtot = sal_bas – porc1 + porc2
IMPRIMIR vtot
FIN
Al momento de usar las variables de porcentajes se recomienda utilizar un nombre
nemotécnico que permita identificar el tipo de porcentaje que se va a calcular, por tal
motivo se recomienda cambiar o asignar un nombre a cada uno de los porcentajes. Para
nuestro caso quedaría así:
INICIO
LEER sal_bas
reten = salbas * 18/100
bonif = salbas * 1.3/100
sal_neto = sal_bas – reten + bonif
IMPRIMIR sal_neto
FIN
Observe con cuidado los signos de la retención y la bonificación. Es sumamente
importante DEDUCIR que signo debe ir antes de la variable; porque si se coloca el
equivocado, cambiará totalmente el resultado.
Ejemplo 2: Las medidas de una cancha de fútbol fue ampliada en un 20%. Determinar
el área total de esa cancha.
INICIO
LEER med_can_fut
ampl = med_can_fut * 20/100
area_tot = med_can_fut + ampl
IMPRIMIR area_tot
FIN
Volver
6.2. Fórmula 2:
VTOT = VAR ± (VAR * P/100) Donde,
VAR: Variable a la que se le sacará el porcentaje(s).
P: Porcentaje(s) que se pide(n).
VTOT: Es el valor total, luego de el porcentaje(s).
Para la segunda fórmula lo que se hace es combinar las dos líneas de la primera fórmula
en una sola, reemplazando el porcentaje por su equivalente.
El signo (±) se usa igual que en la fórmula 1. Pero para el porcentaje se tiene que dar el
resultado de la división de P/100. Ej: 10%= 10/100 = 0.1
Si seguimos la definición de algoritmos, la segunda fórmula se tendría que utilizar en
todos los casos; pero sólo se debe usar CUANDO UN ALGORITMO PIDA LOS
PORCENTAJES POR SEPARADO (por ejemplo: calcular la disminución, el aumento,
incremento, etc). Si no se piden se RECOMIENDA UTILIZAR ESTA FÓRMULA
Ejemplo 3: Calcular salario neto de empleado, sabiendo que se le hace una retención
del 30% de su salario básico.
INICIO
LEER sal_bas
sal_neto = sal_bas – (sal_bas * 0.3)
IMPRIMIR sal_neto
FIN
Ejemplo 4: Calcular el área total de un terreno sabiendo que fue reducida en un 10%, y
luego le fue adicionada un 1%.
INICIO
LEER area_ter
area_tot = area_ter - (area_ter * 0.1) + (area_ter * 0.01)
IMPRIMIR area_tot
FIN
Volver
6.3. Fórmula 3:
VTOT = VAR * 1 ± P/100 Donde,
VAR: Variable a la que se le sacará el porcentaje(s).
P: Porcentaje(s) que se pide(n) - sólo el resultado.
TOT: Es el valor total, luego de los porcentajes.
Para la tercera parte lo que se hace es sumar o restar todos los porcentajes del 100% (el
100% es 1), y se multiplica por la variable que va a ser afectada por estos porcentajes.
Luego de realizar la suma o la resta de los porcentajes, SÓLO SE DEBE COLOCAR
ESE ÚLTIMO RESULTADO. Ejemplo del 10% MÁS. 10% más es igual a 0.1, si le
sumamos 1 nos dará 1.1. También se puede coger el 100% y empezar a sumarle o
restarle los porcentajes. Si tenemos 100% y le agregamos un 10% mas, nos quedaría
110%, lo que equivale a 1.1 (110/100=1.1).
Esta fórmula es considerada como la más adecuada para los algoritmos en cuanto a que
es más corta; pero se tiene que aplicar perfectamente la adición o la substracción de los
porcentajes.
Ejemplo 5: Calcular salario neto de empleado, sabiendo que se le hace una retención
del 45% de su salario básico. (Por simple lógica, si del salario básico se le retendrá un
45%, el trabajador recibirá un 55%. A esto es a lo que va enfocada esta fórmula. En el
algoritmo se hará la operación 1-45/100 = 1-0.45 = 0.55. Y se colocará este último
resultado 0.55. Además observe que 0.55 corresponde al 55%.)
INICIO
LEER sal_bas
sal_neto = sal_bas * 0.55
IMPRIMIR sal_neto
FIN
Ejemplo 6: El desempleo aumento en el primer trimestre un 9.5% y en el segundo
disminuyo en 1.5%. Calcular el valor del desempleo actual. (1 + 0.095 – 0.015 = 1 +
0.08 = 1.08)
INICIO
LEER val_des
val_tot = val_des * 1.08
IMPRIMIR val_tot
FIN
8. Ejercicios Resueltos Secuenciales (primera parte)
1- Lea dos números. Calcular e imprimir la suma, la resta, la multiplicación y la
división del primer número por el segundo.
INICIO
LEER num1, num2
suma = num1 + num2
resta = num1 - num2
mult = num1 * num2
div = num1 / num2
IMPRIMIR suma, resta, mult, div
FIN
2- lea dos números. Calcular e imprimir la suma, la resta, la multiplicación de la suma
por la resta, la división de la multiplicación por la suma y hallar el cuadrado de dichos
números.
INICIO
LEER num1, num2
suma = num1 + num2
resta = num1 - num2
mult = suma * resta
div = mult / suma
IMPRIMIR suma, resta, mult, div
FIN
3- Lea dos números. Calcular e imprimir el primer número multiplicado por el segundo
y dividir ese resultado por la suma de los dos números.
INICIO
LEER num1, num2
mult = num1 * num2
div = mult / (num1 + num2)
IMPRIMIR mult, div
FIN
4- Elabore un algoritmo que lea el número. Calcule e imprima su raíz cuadrada.
INICIO
LEER num
raiz = num ^ (1 / 2)
IMPRIMIR raiz
FIN
5- Elabore un algoritmo que lea un número negativo e imprima el número y el positivo
del mismo.
INICIO
LEER num_neg
num_pos = num_neg * (-1)
IMPRIMIR num_neg, num_pos
FIN
6- Dados los dos lados de un rectángulo, calcule el perímetro y el área del mismo.
INICIO
LEER lado1, lado2
perim = lado1 * 2 + lado2 * 2
area = lado1 * lado2
IMPRIMIR perim, area
FIN
7- Dada un cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la
unidad cambiaría es un dato desconocido.
INICIO
LEER cant_pes, unid_camb
equiv_dol = cant_pes / unid_camb
IMPRIMIR equiv_dol
FIN
8- La presión, el volumen y la temperatura de una masa de aire se relacionan por la
formula: masa = (presión * volumen)/(0.37 * (temperatura + 460)).
INICIO
LEER pres, vol, temp
masa = (pres * vol) /(0.37 * (temp + 460))
IMPRIMIR masa
FIN
9- Calcular el numero de pulsaciones que una persona debe tener por cada 10 segundos
de ejercicio, si la formula es: num. pulsaciones = (220 - edad)/10.
INICIO
LEER edad
num_pulsa = (220 - edad) / 10.
IMPRIMIR num_pulsa
FIN
10- Elaborar un algoritmo para leer la edad de una persona y permita calcular la
cantidad de meses que ha vivido.
INICIO
LEER edad
num_meses = edad * 12
IMPRIMIR num_meses
FIN
11- Realizar un algoritmo que calcule la edad de una persona por medio de su fecha de
nacimiento.
INICIO
LEER fec_nac, fec_act
edad = fec_act – fec_nac
IMPRIMIR edad
FIN
12- Escribe un programa que convierta una temperatura en grados Fahrenheit en grados
Celsius.
INICIO
LEER temp_far
temp_cels = temp_far * 123
IMPRIMIR temp_cels
FIN
13- Si un corazón humano late una media de una vez por segundo durante 78 años,
¿cuántas veces en total late en toda la vida?.
INICIO
Tot_latidos = 78 * 360 * 24 * 60 * 60
IMPRIMIR tot_latidos
FIN
14- Si un corazón humano late una media de una vez por segundo. ¿cuántas veces en
total late en 50 años?. Considere que cada año tiene 365.25 días.
INICIO
Tot_latidos = 50 * 365.25 * 24 * 60 * 60
IMPRIMIR tot_latidos
FIN
15- Elaborar un algoritmo que lea dos variables A y B respectivamente e intercambie el
valor de A para B y el valor de B para A. Imprima los dos valores.
INICIO
LEER a, b
aux = a
a=b
b = aux
IMPRIMIR a, b
FIN
16- Lea dos valores A y b e intercámbielos sin utilizar una variable auxiliar.
INICIO
LEER a, b
a=b*a
b=a/b
a=a/b
IMPRIMIR a, b
FIN
17- Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra
los tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer
la ruta en una semana cualquiera.
INICIO
LEER tiem_lunes, tiem_mier, tiem_vier
tiem_prom = (tiem_lunes + tiem_mier + tiem_vier) / 3
IMPRIMIR tiem_prom
FIN
18- Se sabe que 50 manzanas cuestan $10.000. Hacer un algoritmo que halle el valor
unitario de la manzana y determine cuánto costarían 80 manzanas.
INICIO
valor_manzanas = 10.000 / 50
valor_80m = valor_manzanas * 80
IMPRIMIR valor_manzanas, valor_80m
FIN
19- Un maestro necesita saber el porcentaje de hombres y el porcentaje de mujeres que
hay en un grupo de estudiantes.
INICIO
LEER cant_hom, cant_muj
porc_hombre = cant_hom / (cant_hom + cant_muj) * 100
porc_mujer = cant_muj / (cant_hom + cant_muj) * 100
IMPRIMIR porc_mujer, porc_hombre
FIN
20- Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas
invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con
respecto a la cantidad total invertida.
INICIO
LEER dinero1, dinero2, dinero3
tot_inver = dinero1 + dinero2 + dinero3
porc1 = dinero1 / tot_inver * 100
porc2 = dinero2 / tot_inver * 100
porc3 = dinero3 / tot_inver * 100
IMPRIMIR porc1, porc2, porc3
FIN
21- Calcular el 10% de número.
INCIO
LEER num
porc = num * 10 / 100
IMPRIMIR porc
FIN
22- Calcular el 45% del cuadrado de un número.
INICIO
LEER num
cua = num ^ 2
porc = cua * 45 / 100
IMPRIMIR porc
FIN
23- Calcular el 120% de la ecuación: J = O * M + N – K2
INICIO
LEER o, m, n, k
j = o * m + n – k * 1.2
porc = j * 120/100
IMPRIMIR porc
FIN
24- Desarrolle un algoritmo que lea dos valores y calcule el 33.33% de cada uno.
INICIO
LEER val1, val2
porc1 = val1 * 33.33 / 100
porc2 = val2 * 33.33 / 100
IMPRIMIR porc1, porc2
FIN
25- Calcular el 15% de un número y el 1.5% de otro número.
INICIO
LEER num1, num2
porc1 = num1 * 15 / 100
porc2 = num2 * 1.5 / 100
IMPRIMIR porc1, porc2
FIN
26- Calcular el 0.8% de un número y el 98% del cuadrado del cuadrado del mismo
número.
INICIO
LEER num
porc1 = num * 0.8 / 100
porc2 = (num ^ 2) * 98 / 100
IMPRIMIR porc1, porc2
FIN
27- Lea dos números. Calcular e imprimir el 18% y el 6.3% del primer número, el 7.4%
y el 3.5% del segundo número.
INICIO
LEER num1, num2
porc1 = num1 * 18/100
porc1 = num1 - num2
porc1 = num1 * num2
porc1 = num1 / num2
IMPRIMIR porc1, porc1, porc1, porc1
FIN
28- Haga un algoritmo que calcule el 80% del cuadrado de la suma de dos números. Y
el 5% del doble del triple de la mitad de la suma de los mismos números.
INICIO
LEER num1, num2
porc1 = ((num1 + num2) ^ 2)) * 80 / 100
porc2 = ((num1 + num2) / 2) * 3 * 2) * 5 / 100
IMPRIMIR porc1, porc2
FIN
29- Leer un número. Descontarle el 67%. Imprima el número, el descuento y el número
después de sacarle el porcentaje.
INICIO
LEER num
desc = num * 67 / 100
num_tot = num - desc
IMPRIMIR num, desc, num_tot
FIN
30- Se dice que el precio de una pelota de tenis es el 20% de un balón de fútbol.
Desarrolle un algoritmo que lea el precio del balón de fútbol y determine el precio de la
pelota de tenis.
INICIO
LEER prec_balon_fut
prec_balon_ten = prec_balon_fut * 20 / 100
IMPRIMIR prec_balon_ten
FIN
8. Ejercicios Resueltos Secuenciales (segunda parte)
31- A la mamá de Juan le preguntan su edad, y ella contesta: Tengo tres hijos,
pregúntele la edad a Juan. Miguel tiene 2/3 la edad de Juan, margarita tiene 4/3 de la
edad de Miguel y mi edad es la suma de las tres. Hacer un algoritmo que muestre la
edad de los cuatro.
INICIO
LEER edjuan
edmiguel = edjuan * (2 / 3)
edmarga = edmiguel * (4 / 3 )
edmama = edjuan + edmiguel + edmarga
IMPRIMIR edjuan, edmiguel, edmarga, edmama
FIN
32- Elaborar un algoritmo que lea de un mismo registro la cédula de un empleado, el
nombre, el salario básico por hora y las horas trabajadas en la semana. Se debe imprimir
la cédula, el nombre y el salario devengado en la semana.
INICIO
LEER ced, nom, sbh, hts
saldev = sbh * hts
IMPRIMIR ced, nom, saldev
FIN
33- La temperatura de ayer tuvo una disminución del 23% en la mañana de hoy, y en la
tarde aumento un 17% en relación a la misma temperatura de ayer. Determinar la
disminución, el incremento y la temperatura actual.
INICIO
LEER temp_ayer
dism = temp_ayer * 23/ 100
aum = temp_ayer * 17/ 100
temp_actual = temp_ayer – dism + aum
IMPRIMIR dism, aum, temp_actual
FIN
34- La temperatura de hoy tuvo una disminución del 5% en la mañana, y en la tarde
aumento un 40% luego de realizada esa disminución. Determinar y la temperatura
actual.
INICIO
LEER temp_hoy
dism = temp_ hoy * 5/ 100
temp_tem = temp_hoy – dism
aum = temp_tem * 40/ 100
temp_actual = temp_tem + aum
IMPRIMIR temp_actual
FIN
35- Calcular la distancia que fue reducida de una competencia, sabiendo que la
competencia tenia una distancia de 5000 mts y la reducción fue de un 37%.
INICIO
distan = 5000
reduc_comp = distan * 37/ 100
IMPRIMIR reduc_comp
FIN
36- Sacar el 10% de la raíz cuadrada de Õ.
INICIO
pi = 3,1416
porc = (pi ^ (1 /2)) * 10/ 100
IMPRIMIR porc
FIN
37- Un estudiante tuvo rendimiento no conocido. Este tuvo un incremento de 90%. Cuál
es su incremento y su rendimiento después del aumento.
INICIO
LEER rendim_est
increm = rendim_est * 90/ 100
rendim_final = rendim_est + increm
IMPRIMIR increm, rendim_final
FIN
38- Lea los datos correspondientes a una venta efectuada por un vendedor, nombre,
código del articulo, cantidad vendida, valor unitario. Se debe calcular su comisión sobre
la venta. Al vendedor le corresponde el 3.8% de comisión. Se debe imprimir los datos
del vendedor.
INICIO
LEER nom, cod, cantven, vlrunit
vta = cantven * vlrunit
comis = vta * 3.8 / 100
IMPRIMIR nom, vta, comis
FIN
39- Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el
vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres
ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su
sueldo base y comisiones.
INICIO
LEER sb, v1, v2, v3
tot_vta = v1 + v2 + v3
com = tot_vta * 0.10
tpag = sb + com
IMPRIMIR tpag, com
FIN
40- Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente
desea saber cuanto deberá pagar finalmente por su compra.
INICIO
LEER tc
d = tc * 0.15
tp = tc - d
IMPRIMIR tp
FIN
41- El dueño de una tienda compra un articulo a un precio determinado. Obtener el
precio en que lo debe vender para obtener una ganancia del 30%.
INICIO
LEER prec_compra
ganancia = prec_compra * 30 / 100
prec_venta = prec_compra + ganancia
IMPRIMIR prec_venta
FIN
42- Determinar el 50% del salario básico de un empleado.
INICIO
LEER sal_bas
porc = sal_bas * 50 / 100
IMPRIMIR porc
FIN
43- Calcular el valor de retención del salario de un empleado, sabiendo que se le hace
un descuento del ISS del 27.777%
INICIO
LEER salar
val_retenc = 27.777 / 100
IMPRIMIR val_retenc
FIN
44- Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su
salario anterior.
INICIO
LEER sal_anterior
nuevo_sal = nuevo_sal * 1.25
IMPRIMIR nuevo_sal
FIN
45- Calcular el salario real de un empleado sabiendo que es el salario neto menos una
retención del 2%.
INICIO
LEER sal_neto
sal_real = sal_neto – (sal_neto * 2 /100)
IMPRIMIR sal_real
FIN
46- A un empleado le hacen una retención para el ISS del 4% y otra para el ICBF del
3% del salario básico. Además le dan un subsidio de transporte del 1%. Calcular los
porcentajes y el salario neto.
INICIO
LEER sal_basico
retenc_iss = sal_basico * 4 / 100
retenc_icbf = sal_basico * 3 / 100
subs_transp = sal_basico * 1 / 100
sal_neto = sal_basico - retenc_iss - retenc_icbf + subs_transp
IMPRIMIR retenc_iss, retenc_icbf, subs_Transp., salneto
FIN
47- Elaborar un algoritmo que lea la cédula del empleado, el nombre, el salario básico
por hora y las horas trabajadas en la semana. Se debe calcular el salario neto sabiendo
que la retención en la fuente es del 12.5% del salario bruto. Imprimir la cédula del
empleado, el nombre, el salario bruto, valor de la retención en la fuente y el salario neto.
INICIO
LEER ced, nom, sbh, hts
salbruto = sbh * hts
retfte = salbruto * 12.5 / 100
salneto = salbruto - retfte
IMPRIMIR ced, nom, salbruto, retfte, salneto
FIN
48- Elaborar un algoritmo que lea de un mismo registro la cédula del empleado, el
nombre, el salario básico por hora y las horas trabajadas en la semana. Se debe calcular
el salario neto sabiendo que la retención en la fuente es del 2.25% del salario bruto y la
retención del ISS es de 7.35% del salario bruto. También se debe calcular una
bonificación que corresponde al 16% del salario. Imprimir todos los datos del
empleado.
INICIO
LEER ced, nom, sbh, hts
salbruto = sbh * hts
retfte = salbruto * 2.25 / 100
retiss = salbruto * 7.35 / 100
bonif = salbruto * 16 / 100
salneto = salbruto – retfte – retiss + bonif
IMPRIMIR ced, nom, salbruto, retfte, retiss, bonif, salneto
FIN
49- En una empresa desean dar un incentivo a sus trabajadores consistente en: Un
aumento de salario del 7%, una bonificación del 6% y $15.000 de subsidio de
transporte. A cada empleado se les hacen las siguientes retenciones: 1% para aportes al
seguro social, 4.99% para aportes parafiscales y un 0.87% para la natillera de la
empresa. Desarrolle un algoritmo que calcule el salario neto para un empleado e
imprima cada uno de los porcentajes, y el salario neto.
INICIO
subs_transp = 15000
LEER sal_basico
retenc_iss = sal_basico * 1 / 100
aport_paraf = sal_basico * 4.99 / 100
natillera = sal_basico * 0.87 / 100
aumen = sal_basico * 7 / 100
bonif = sal_basico * 6 / 100
sal_neto = sal_basico - retenc_iss – aport_paraf - natillera + aumen + bonif +
subs_transp
IMPRIMIR retenc_iss, aport_paraf, natillera, aumen, bonif, subs_Transp., sal_neto
FIN
50- Elaborar un algoritmo que calcule el valor neto a pagar de un artículo, sabiendo que
al comprador se le otorga un descuento del 10% y se le cobra un impuesto del IVA que
corresponde al 16%. Se debe leer el código, la descripción, la cantidad y el valor
unitario del producto.
INICIO
LEER nom, cod, cantven, vlrunit
vta = cantven * vlrunit
comis = vta * 3.8 / 100
IMPRIMIR nom, vta, comis
FIN
51- En el almacén EL TREBOL se tienen 694 unidades del producto BLU154, usted
debe elaborar un algoritmo que actualice el inventario en el momento en que se efectúa
una venta de dicho producto. Se debe imprimir el saldo actual.
INICIO
unidades = 694
LEER cant_vendida
saldo_actual = unidades – cant_vendida
IMPRIMIR saldo_actual
FIN
52- Después de una semana en Nueva York, de las vueltas que te dan en los
establecimientos te encuentras con muchas monedas de níquel y peniques. Realiza un
programa que te permita saber a cuánto asciende en dólares y centavos de dólar una
cantidad de niqueles y peniques. Nota: 1 níquel son 5 peniques, y un penique es un
centavo de dólar. 100 centavos son 1 dólar.
INICIO
LEER moneda_niq, moneda_pen
cant_pen = (moneda_niq * 5) + moneda_pen
cant_dolares = cant_pen * 100
IMPRIMIR cant_dolares
FIN
53- Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto
dinero ganara después de un mes si el banco paga a razón de 2% mensual.
INICIO
LEER cap_inv
gan = cap_inv * 0.02
IMPRIMIR gan
FIN
54- Gracias a la construcción de un túnel entre la ciudad A y la ciudad B la distancia
entre estas dos se vio reducida en un 48%. Desarrolle un algoritmo que lea la distancia
anterior y permita calcular la distancia actual.
INICIO
LEER dist_anter
dist_actual = dist_anter * 0.52
IMPRIMIR dist_actual
FIN
55- Luego de 30 años de levantado un puente en la ciudad A y B, éste sucumbe debido
al mal estado de sus bases. Al hacerlo deja incomunicadas a estas ciudades. Para llegar
de una ciudad a otra hay que tomar una ruta alterna que aumentó la distancia y el tiempo
en un 75%. Calcular el tiempo y la distancia actual sabiendo que la distancia anterior era
igual a 50Km y el tiempo era de 4 horas.
INICIO
dist_ant = 50
tiemp_ant = 4
dist_actual = dist_anter * 1.75
tiemp_actual = tiemp_anter * 1.75
IMPRIMIR dist_actual, tiemp_actual
FIN
56- En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El
presupuesto anual del hospital se reparte conforme a la siguiente información:
Ginecología 40%, Pediatría 30% y Traumatología 30%. Obtener la cantidad de dinero
que recibirá cada área, para cualquier monto presupuestal.
INICIO
LEER presup_anual
gineco = presup_anual * 40 / 100
pediat = presup_anual * 30 / 100
trauma = presup_anual * 30 / 100
IMPRIMIR gineco, pediat, trauma
FIN
57- Elaborar un algoritmo que calcule la nota definitiva de un estudiante de lógica, es de
saber que la nota definitiva consta de 4 notas que valen el 25% cada una. Se deben leer
los datos del estudiante y sus respetivas notas.
INICIO
LEER nota1, nota2, nota3, nota4
nota_def = (nota1 * 0.25) + (nota2 * 0.25) + (nota3 * 0.25) + (nota4 * 0.25)
IMPRIMIR nota_def
FIN
58- Un alumno desea saber cual será su calificación final en la materia de Algoritmos.
Dicha calificación se compone de los siguientes porcentajes: 55% del promedio de sus
tres calificaciones parciales, 30% de la calificación del examen final y 15% de la
calificación de un trabajo final.
INICIO
LEER c1, c2, c3, ef, tf
prom = (c1 + c2 + c3)/3
ppar = prom * 0.55
pef = ef * 0.30
ptf = tf * 0.15
cf = ppar + pef + ptf
IMPRIMIR cf
FIN
59- Un alumno desea saber cual será su promedio general en las tres materias mas
difíciles que cursa y cual será el promedio que obtendrá en cada una de ellas. Estas
materias se evalúan como se muestra a continuación: La calificación de las materias se
obtiene de la siguiente manera: En Matemáticas un examen del 90% y el promedio de
tareas un 10%. En Física un examen del 80% y el promedio de tareas un 20%. Y en
Química un examen del 85% y el promedio de tareas un 15%.
Nota: En matemáticas y química se pidieron tres tareas, y en física sólo dos.
INICIO
LEER ex_mat, tar_mat1, tar_mat2, tar_mat3
LEER ex_fis, tar_fis1, tar_fis2
LEER ex_quim, tar_quim1, tar_quim2, tar_quim3
nota_matem= (ex_matem * 0.9) + ((tar_mat1 + tar_mat2 + tar_mat3) * 0.1)
nota_fis= (ex_fis * 0.8) + ((tar_fis1 + tar_fis2) * 0.2)
nota_quim= (ex_quim * 0.85) + ((tar_quim1 + tar_quim2 + tar_quim3) * 0.15)
prom_general = nota_matem + nota_fis + nota_quim
IMPRIMIR prom_general
FIN
60- Calcular un porcentaje X de un valor Y y sumarle el doble de del 10% de Z.
INICIO
LEER x, y, z
porc = y * x / 100 + (2 * z * 0.1)
IMPRIMIR porc
FIN
8.1. Ejercicios propuestos de Algortimos Secuenciales con fórmulas y porcentales
(Taller 3)
Una gran parte de los algoritmos requiere de la solución de Fórmulas matemáticas,
fórmulas físicas, porcentajes y demás operaciones que se resolverán de una forma
sencilla y muy similar a como se hace una operación en la vida cotidiana.
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.
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.
3. Un atleta recorre tres distancias diferentes en tres competiciones distintas. Calcular e
imprimir la distancia promedio.
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.
5. En un montallantas se ofrece un descuento del 50% sobre el valor de la compra. Se
pide desarrollar un algoritmo que lea el número de llantas, el valor de cada llanta y el
nombre del comprador. Calcular el valor de la compra y el valor total después del
descuento.
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%.
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. Se debe leer el valor de cada hora y el número de horas
trabajadas por el empleado.
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. 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.
9. Calcular el peso equivalente en Gramos de una fruta que tiene un peso no conocido
en Kilogramos.
10. El peso de un vehiculo (en toneladas) se redujó 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.
11. Desarrolle un algoritmo que lea una cantidad de meses y una distancia recorrida en
metros. Calcule de esos meses: El número de horas, el número de minutos, el número de
segundos y el número de días. De la distancia calcular el número de centímetros, el
número de milímetros y el número de hectómetros.
12. Desarrolle un algoritmo que resuelva las siguientes ecuaciones: (un algoritmo para
cada una).
A) Área del Prisma rectangular = abc (Siendo a,b y c los lados).
B) Área de la Pirámide = 1/3 hb (Siendo h la altura y b la base).
C) Área del perímetro = 2- r (Siendo r el radio).
D) Área del pentágono regular = 1,721 a (Siendo a el lado).
E) x = -d ± b - la raíz cuadrada de 4ac
13. Desarrolle un algoritmo que permita calcular el resultado de las siguientes
ecuaciones:
A) El área de la elipse = p a b (siendo a y b las semilongitudes de sus ejes).
B) El área del cilindro = p .r2 .h (siendo r el radio y h la altura)
C) El área del círculo = p .r2 (Siendo r el radio).
D) La velocidad = d / t (Siendo d la distancia y t el tiempo).
E) La aceleración = (Vi –t ) / 2 (Siendo Vi la velocidad inicial y t el tiempo).
F) La fuerza = m / a (Siendo m la masa y a la aceleración).
G) El volumen de la esfera = 4/3 p .r3 (Siendo r el radio).
14. Leer la temperatura de un día (en grados centígrados). Convertir ese temperatura a
ºK y ºF. Luego leer una temperatura en grados Kelvin y convertirla a Fahrenheit. Por
último leer una temperatura en grados Fahrenheit y convertirlo a grados Celsius y a
grados Kelvin. Tenga en cuenta las siguientes fórmulas: °C = °K - 273.15 (convertir de
°K a °C) °F = °K (9/5) - 459.67 (convertir de °K a °F) °F = (9/5) .°C + 32 (convertir de
°C a °F).
15. Leer un número positivo. Calcular e imprimir su negativo.
16. Calcular la raíz cuadrada del 1.3% de un número, la raíz cúbica del 20% de otro
número y la tercera parte del 5% de otro número.
17. Leer dos números calcular: El 5% y el 50% del primer número. El 7% y el 0.7% del
doble del segundo número. El 23.333% de la raíz cuadrada de la suma de los dos
últimos. Por último, el doble, el triple, la mitad y la quinta parte de esa raíz.
18. Un jugador anotó tres cantidades de goles en tres encuentros. Se pide calcular el
número total de goles y su promedio.
19. 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.
20. Desarrolle un algoritmo que lea la producción de lapiceros de una empresa en el día
de ayer. Calcular e imprimir la producción actual y el valor al que asciende la
producción final, sabiendo que cada lapicero cuesta $800 y la producción creció un
93%.
21. Resuelva la ecuación Fx = (1 / (1+x*x).
22. Calcular la tangente de las funciones Seno y Coseno, sabiendo que Tan = Sen / Cos.
23. Calcular el 2% del promedio de 4 números.
24. Desarrolle un algoritmo que imprima el número 50 y otro número cualquiera que es
leído.
25. Desarrolle un algoritmo que calcule la resta de un número con el doble de otro.
Además, calcule la división del número 100 y un tercer número.
26. Una persona tiene 500 dólares y ésta desea saber a cuantos pesos colombianos
equivale, sabiendo que cada dolor cuesta $2.500.
27. Desarrolle un algoritmo con el mismo enunciado anterior; pero desconociendo el
valor de cada dólar.
28. Desarrolle un algoritmo que dé solución a la ecuación contable ACTIVO = PASIVO
+ PATRIMONIO. Además, de otra empresa calcular su patrimonio.
29. Calcule la velocidad final de un vehículo cuya velocidad inicial se decremento en 50
y posteriormente aumentó en un 3,9% después del incremento anterior.
30. Desarrolle un algoritmo que imprima la raíz cuadrada de 16, la capital de Antioquia
y la raíz cúbica de un número.
31. Calcular el número de días y horas vividos por una persona de la cual se desconoce
su año de nacimiento.
32. La banda ancha incrementó la velocidad de transferencia de datos en Internet en un
230%. Imprima la velocidad anterior y la velocidad actual.
33. 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.
34. A un libro le fueron arrancadas un porcentaje no conocido de hojas más otras 50.
Leer el número total de páginas que tenía inicialmente y calcule el número de hojas
actuales.
35. 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.
“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.
“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)
Volver
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 ENTONCES. Así
como todo algoritmo tiene su FIN, todas 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
Volver
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
...Instrucciones, cálculos y/ operaciones (pregunta falsa)
FIN-SI.
En este caso la primera instrucción se desarrollarán 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
Volver
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
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
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.
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 decició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
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”
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
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
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
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”.
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
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
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 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
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”
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
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
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
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
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
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.
Volver
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.
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 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.
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 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 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 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 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%
4.3. Taller 5 (Recuperación de estructuras de decisión)
1) Calcular el total que una persona debe pagar en un 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 numero 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 aerobico; la formula que se aplica cuando el sexo es
femenino es: [Link] = (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 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
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 fabrica 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 fabrica 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 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á 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.
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 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.
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
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 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
Volver
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:
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
“ESTRUCTURAS REPETITIVAS”
OBJETIVOS
Conocer las principales funciones de una estrucutura repetitiva y su aplicabilidad
dentro de la solución de problemas por medio de algoritmos.
Diferenciar los tipos de estructuras repetitivas (ciclo Para, Mientras y Repita) y
aplicarlos de manera correcta en la realización de algoritmos que requieran
repetir varias veces un mismo proceso.
Determinar acumuladores, contadores, promedios y porcentajes en algoritmos
que los requieran.
Calcular series y sucesiones aplicando conceptos básicos de estructuras
repetitivas.
“ESTRUCTURAS REPETITIVAS”
OBJETIVOS
Conocer las principales funciones de una estrucutura repetitiva y su aplicabilidad
dentro de la solución de problemas por medio de algoritmos.
Diferenciar los tipos de estructuras repetitivas (ciclo Para, Mientras y Repita) y
aplicarlos de manera correcta en la realización de algoritmos que requieran
repetir varias veces un mismo proceso.
Determinar acumuladores, contadores, promedios y porcentajes en algoritmos
que los requieran.
Calcular series y sucesiones aplicando conceptos básicos de estructuras
repetitivas.
“ESTRUCTURAS REPETITIVAS”
1. Definición
Como su nombre lo indica, estas estructuras se utilizan cuando se necesita REPETIR
una instrucción varias veces. Estas estructuras simplifican el trabajo considerablemente.
También son llamadas CICLOS. Por ejemplo, si un algoritmo pide que lea uno, dos,
tres o cuatro número, resultaría fácil leer una, dos, tres o cuatro variables; pero si se pide
leer 100, 1000 o 1´000.000 variables sería imposible su realización, mientras que con
las estructuras repetitivas sería demasiado sencillo.
Los algoritmos se realizan como si fueran a hacer una sola vez (un número, un
estudiante, un trabajador) y se encierran esas instrucciones en medio de la estructura
repetitiva.
Volver
2. Condiciones para utilizar un ciclo
Un ciclo PARA se usa principalmente cuando se conoce el número de
veces que se va a repetir el ciclo, si se desea se puede usar cuando se va
ha hacer N veces. NUNCA CUANDO NO SE CONOZCA EL FINAL
del ciclo.
Un ciclo MIENTRAS se usa principalmente cuando el ciclo se va a
realizar N (REGISTRO IDENTIFICADOR) o cuando NO se conoce el
número de veces que se va a repetir el ciclo (REGISTRO CENTINELA).
Se puede hacer también cuando se conoce el número de veces que se
repite el ciclo; pero en ese caso es más funcional el ciclo PARA.
Un ciclo HASTA se puede usar en cualquiera de los 3 casos anteriores;
pero su uso sólo se da en casos específicos. Este ciclo es muy usado en
programación para validar información.
Volver
3. Tipos de estructuras repetitivas
Las estructuras más importantes son: Ciclos PARA, Ciclos MIENTRAS y Ciclos
HASTA.
3.1. Ciclos PARA
Este ciclo empieza con la palabra PARA y necesita de una variable que tiene un
INICIO, un FINAL y un INCREMENTO. Todo lo anterior se coloca en una misma
línea, separados por coma (,). Y del mismo modo como un algoritmo o una estructura
de decisión tienen un fin, esta estructura repetitiva también lo tiene y se llama FIN-
PARA. Existen dos tipos de ciclos PARA: Cuando se conoce el número de veces que se
va repetir el ciclo, y el otro tipo es cuando el ciclo se va a realizar N veces (en este caso,
N es el FINAL).
3.1.1. Ciclo Para (conociendo el número de veces que se repite)
Este ciclo se utiliza cuando en el enunciado del ejercicio o problema, se coloca el final
del ciclo, o sea el número de veces que se va a repetir. Por ejemplo que se diga: Haga un
proceso para 500 estudiantes o para 20 números o 2.000 empleados. Ahí está el final del
ciclo. La sisntaxis es la siguiente:
PARA (VAR=INICIO, FINAL, INCREMENTO)
Instrucciones que se repiten N veces
FIN-PARA
3.1.2. Ciclo Para (cuando se repite N veces)
Este ciclo se utiliza cuando en el enunciado del ejercicio o problema, no se coloca el
final del ciclo, sino que se dice que el proceso de va a hacer N veces (en algunos casos
N se reemplaza por otra variables. Por ejemplo que se diga: Haga un proceso para X
estudiantes o para N números o Z empleados). N es el FINAL del ciclo. La sintaxis es la
siguiente:
LEER FINAL
PARA (VAR=INICIO, FINAL, INCREMENTO)
Instrucciones que se repiten N veces
FIN-PARA
La variable VAR se puede definir de cualquier manera (se pueda dar cualquier nombre),
siempre y cuando no tenga el mismo nombre de alguna de las demás variables que
intervienen en el algoritmo. En el primer método (cuando se conoce el número de veces
que se va a realizar el ciclo), se reemplaza el INICIO, el FINAL y el INCREMENTO
por los respectivos valores; mientras que en el segundo el FINAL no se reemplaza, sino
que se deja el nombre de esa variable que se leyó antes del ciclo.
Ejemplo 1: Desarrolle un algoritmo que lea un número y calcule su cuadrado.
INICIO
LEER NUM
CUAD=NUM**2
IMPRIMIR CUAD
FIN
Como puede observar en el enunciado del Ejemplo1, sólo se pide leer UN SOLO
número. Por tal motivo no requiere de una estructura repetitiva, mientras que los dos
ejemplos siguientes SI la necesita.
Ejemplo 2: Desarrolle un algoritmo que lea 100 números y calcule su cuadrado.
Lo que se tiene que hacer es encerrar las instrucciones del Ejemplo1, que se manejan y
se han usado anteriormente, en una estructura repetitiva, teniendo presente que la
variable empieza en 1 y termina en 100 con incrementos de 1 porque se CONOCE EL
NÚMERO DE VECES que se va a arealizar el ciclo.
INICIO
PARA (X=1, 100, 1)
LEER NUM
CUAD = NUM ** 2
IMPRIMIR CUAD
FIN-PARA
FIN
Ejemplo 3: Desarrolle un algoritmo que lea N números y calcule su cuadrado.
Este ejemplo empieza en 1 y termina en N (FINAL) con incrementos de 1, por lo tanto
NO SE CONOCE EL FINAL del ciclo (SE DEBE LEER):
INICIO
LEER FIN
PARA (X=1, FIN, 1)
LEER NUM
CUAD = NUM ** 2
IMPRIMIR CUAD
FIN-PARA
FIN
Tenga muy presente cuál va a ser el incremento a utilizar, porque dependiendo de él, el
algoritmo puede tener éxito o no. Por ejemplo, si en el ejercicio anterior se coloca
incrementos de 2, el ciclo no se hará para 100 números sino para 50, y eso no es lo que
solicita el algoritmo.
Ejemplo 4: Lea la edad de un estudiantes e imprima si es mayor de edad o no.
INICIO
LEER EDAD
SI (EDAD >= 18) ENTONCES
IMPRIMIR “ES MAYOR DE EDAD”
SINO
IMPRIMIR “NO ES MAYOR DE EDAD”
FIN-SI
FIN
Ejemplo 5: Lea la edad de 50 estudiantes e imprima a cada uno si es mayor de edad o
no.
INICIO
PARA (EST=1, 50, 1)
LEER EDAD
SI (EDAD >= 18) ENTONCES
IMPRIMIR “ES MAYOR DE EDAD”
SINO
IMPRIMIR “NO ES MAYOR DE EDAD”
FIN-SI
FIN-PARA
FIN
Ejemplo 6: Lea la edad de N estudiantes e imprima a cada uno si es mayor de edad o
no.
INICIO
LEER N
PARA (EST=1, N, 1)
LEER EDAD
SI (EDAD >= 18) ENTONCES
IMPRIMIR “ES MAYOR DE EDAD”
SINO
IMPRIMIR “NO ES MAYOR DE EDAD”
FIN-SI
FIN-PARA
FIN
Volver
3.2. Ciclo MIENTRAS
Este ciclo empieza con la palabra MIENTRAS o se pone su abreviatura MQ (Mientras
Que). Al igual que el ciclo PARA, necesita de una variable que tiene un INICIO, un
FIN y un INCREMENTO. Pero a diferencia del ciclo anterior, estos datos van en
distintas líneas. Este ciclo también tiene un fin de estructura: FIN-MIENTRAS o FIN-
MQ. Existen tres tipos de ciclos MIENTRAS: Cuando se conoce el número de veces
que se va repetir el ciclo, cuando el ciclo se va a realizar N veces y cuando no se conoce
el número de veces que se va a repetir el ciclo.
3.2.1. Ciclo Mientras (conociendo el número de veces que se repite)
Tiene la misma definición de un ciclo PARA de este tipo. La sintaxis es la siguiente:
VAR=INICIO
MIENTRAS QUE (VAR<=FIN)
Instrucciones que se repiten
VAR=VAR+INCREMENTO
FIN-MIENTRAS
3.2.2. Ciclo Mientras (con registro identificador)
Son los mismos conceptos y ejemplos de un ciclo que va hasta N. Está estructura es
también conocida como MIENTRAS con REGISTRO IDENTIFICADOR. La
sintaxis es la siguiente:
LEER FIN
VAR=INICIO
MIENTRAS QUE (VAR<=FIN)
Instrucciones que se repiten
VAR=VAR+INCREMENTO
FIN-MIENTRAS
3.2.3. Ciclo Mientras (con registro centinela)
Estructura muy diferente a las dos anteriores. En este ciclo no se conoce el número de
veces que se van a repetir las instrucciones. También conocido como Ciclo MIENTRAS
CON REGISTRO CENTINELA. Un ejemplo de este Ciclo puede ser: Realizar un
algoritmo para un grupo de estudiantes, una cantidad de empleados o varios números.
Aquí se sabe que se van a realizar varias veces las instrucciones pero no dicen cuantas
veces.
LEER VAR
MIENTRAS QUE (VAR<>VALORD)
Lea las otras variables
Instrucciones que se repiten
LEER VAR
FIN-MIENTRAS
Observe que en los dos primero casos el ejercicio es básicamente el mismo; pero tiene
una variación radical en el tercero. Porque en éste hay que leer una variable de las que
se van a usar dentro del algoritmo antes del ciclo (no es como en los casos anteriores
donde se creaba otra variable controladora para el ciclo, distinta a las que se van a leer),
luego va el ciclo con una condición con una variable VALORD, el cual es un valor
desconocido que el programador determinar para la culminación del ciclo.
Posteriormente se leen las demás variables, si las hay. Se ponen las instrucciones que se
van a realizar y por último, antes de cerrar el ciclo, se vuelve a leer la variable que se
usó como registro centinela.
Ejemplo 1: Calcular el cuadrado y el cubo de 50 números.
INICIO
X=1
MIENTRAS QUE (X<=500)
LEER NUM
CUAD = NUM ** 2
CUBO = NUM ** 3
IMPRIMIR “El cuadro es: “, CUAD
IMPRIMIR “El cubo es: “, CUBO
X=X+1
FIN-MIENTRAS
FIN
Ejemplo 2: Calcular el cuadrado y el cubo de N números.
INICIO
LEER N
X=1
MIENTRAS QUE (X<=N)
LEER NUM
CUAD = NUM ** 2
CUBO = NUM ** 3
IMPRIMIR “El cuadro es: “, CUAD
IMPRIMIR “El cubo es: “, CUBO
X=X+1
FIN-MIENTRAS
FIN
Como puede observar en el enunciado del Ejemplo1 y Ejemplo2 se sabe la cantidad de
números que se van a leer (50 y N), mientras que en el Ejemplo3 no. Por lo tanto
observe como se harían estos ejemplos con ciclo MIENTRAS.
Ejemplo 3: Calcular el cuadrado y el cubo de una cantidad de números.
INICIO
LEER NUM
MIENTRAS QUE (NUM < > 0)
CUAD = NUM ** 2
CUBO = NUM ** 3
IMPRIMIR “El cuadro es: “, CUAD
IMPRIMIR “El cubo es: “, CUBO
LEER NUM
FIN-MIENTRAS
FIN
Como en el Ejemplo3 sólo hay una variable que es el número (NUM). Esa variable se
tiene que leer antes del ciclo y en el ciclo mientras se puso la condición para terminar el
ciclo NUM < > 0, por tal motivo, se leerán números hasta que se lea un número igual a
0. Esta condición es determinada por usted, por tal motivo se pudo poner una condición
NUM >= 0, por lo que el programa leerá hasta que se lea un número negativo.
Ejemplo 4: Lea la edad, el nombre y el teléfono de los estudiantes del segundo
semestre de sistemas (36) e imprima si es mayor de edad o no.
INICIO
CE=1
MIENTRAS QUE (CE<=36)
LEER EDAD, NOM, TEL
SI (EDAD >= 18) ENTONCES
IMPRIMIR “ES MAYOR DE EDAD”
SINO
IMPRIMIR “NO ES MAYOR DE EDAD”
FIN-SI
X=X+1
FIN-MIENTRAS
FIN
Ejemplo 5: Lea la edad, el nombre y el teléfono de los X estudiantes del segundo
semestre de sistemas e imprima si es mayor de edad o no.
INICIO
CE=1
LEER X
MIENTRAS QUE (CE<=X)
LEER EDAD, NOM, TEL
SI (EDAD >= 18) ENTONCES
IMPRIMIR “ES MAYOR DE EDAD”
SINO
IMPRIMIR “NO ES MAYOR DE EDAD”
FIN-SI
X=X+1
FIN-MIENTRAS
FIN
Ejemplo6: Lea la edad, el nombre y el teléfono de los estudiantes del segundo semestre
de sistemas e imprima si es mayor de edad o no. (Haga mientras hasta que no se lea un
nombre igual a “ * ”).
INICIO
LEER NOM
MIENTRAS QUE (NOM < > “ * “)
LEER EDAD, TEL
SI (EDAD >= 18) ENTONCES
IMPRIMIR “ES MAYOR DE EDAD”
SINO
IMPRIMIR “NO ES MAYOR DE EDAD”
FIN-SI
LEER NOM
FIN-MIENTRAS
FIN
Volver
3.3. CICLO REPITA: Este ciclo empieza con la palabra REPITA, se ponen las
instrucciones y finalmente se pone HASTA (CONDICIÓN). Es muy similar al ciclo
Mientras con Registro Centinela, sólo que aquí la condición va en la parte inferior (esto
obliga a que el algoritmo se haga mínimo una vez). La estructura del ciclo REPITA, es
la siguiente:
REPITA
Instrucciones a realizar
HASTA QUE (CONDICIÓN)
La condición algunas veces es dada por el enunciado mismo del algoritmo; pero si no la
dan, el programador debe crearla de una manera lógica o coherente.
Ejemplo 1: Lee una edad hasta que se lea una edad igual a cero.
INICIO
REPITA
LEER EDAD
HASTA (EDAD < 0)
FIN
Ejemplo 2: Calcular la raíz cuadrada de un grupo de números.
INICIO
REPITA
LEER NUM
RC = NUM ** (1/2)
IMPRIMIR “La raíz es “, RC
HASTA (NUM <= 0)
FIN
Ejemplo3: Lea la edad, el nombre y el teléfono de los estudiantes del segundo semestre
de sistemas e imprima si es mayor de edad o no. Repita hasta que se lea un nombre
igual a “ * ”.
INICIO
REPITA
LEER NOM, EDAD, TEL
SI (EDAD >= 18) ENTONCES
IMPRIMIR “ES MAYOR DE EDAD”
SINO
IMPRIMIR “NO ES MAYOR DE EDAD”
FIN-SI
HASTA (NOM = “*”)
FIN
Como puede observar, en el Ejemplo1 y Ejemplo3, dieron las condiciones para
controlar el ciclo. Mientras que en el Ejmplo2 NO. Por lo tanto, se tiene que deducir que
una raíz, sólo se le puede sacar a números positivos, y que la mejor condición sería
NUM <= 0 (al leer alguno de estos valores, el ciclo terminará).
4. Ejercicios resueltos
Para empezar se van a realizar un solo problema o ejercicio por dos tipos de ciclos
principales: PARA y MIENTRAS; luego ciclos MIENTRAS (Registro identificador).
Por último ciclos MIENTRAS (Registro centinela) y cicloc REPITA. Al final sólo se
harán ejercicios por el tipo de ciclo más adecuado.
1) Calcular la nota definitiva de 25 estudiantes del Lógica de programación y
Algoritmos, sabiendo a cada estudiante se le sacan 3 notas (una del 25%, otra del 35% y
la otra del 40%).
CICLO PARA CICLO MIENTRAS (identificador)
INICIO
INICIO K=1
PARA (K=1, 25, 1) MIENTRAS QUE (K<=25)
IMPRIMIR “DIGITE LAS 3 IMPRIMIR “DIGITE LAS 3
NOTAS: ” NOTAS: ”
LEER N1, N2, N3 LEER N1, N2, N3
DEF=N1*0.25+N2*0.35+N3*0.4 DEF=N1*0.25+N2*0.35+N3* 0.4
IMPRIMIR “Definitiva: “, DEF IMPRIMIR “Definitiva: “, DEF
FIN-PARA K=K+1
FIN FIN-MIENTRAS
FIN
2) Leer 10 números y obtener su cubos y su cuarta parte.
CICLO MIENTRAS
CICLO PARA
(identificador)
INICIO
INICIO K=1
PARA (K=1, 10, 1) MIENTRAS QUE (K<=10)
IMPRIMIR “DIGITE NÚMERO: ” IMPRIMIR “DIGITE NÚMERO: ”
LEER NUM LEER NUM
CUBO=NUM ** 3 CUBO=NUM ** 3
CUARP=NUM / 4 CUARP=NUM / 4
IMPRIMIR “Cubo: “, CUBO IMPRIMIR “Cubo: “, CUBO
IMPRIMIR “Cuarta parte: “, CUARP IMPRIMIR “Cuarta parte: “,
FIN-PARA CUARP
FIN K=K+1
FIN-MIENTRAS
FIN
3) Leer 30 números e imprimir solamente los números positivos
CICLO MIENTRAS
CICLO PARA
(identificador)
INICIO
INICIO K=1
PARA (H=1, 30, 1) MIENTRAS QUE (K<=30)
LEER NUM LEER NUM
SI (NUM > 0) ENTONCES SI (NUM > 0) ENTONCES
IMPRIMIR “Número positivo: “, IMPRIMIR “Número positivo: “,
NUM NUM
FIN-SI FIN-SI
FIN-PARA K=K+1
FIN FIN-MIENTRAS
FIN
4) Leer N números y obtener su cuarta parte.
CICLO MIENTRAS
CICLO PARA
(identificador)
INICIO INICIO
IMPRIMIR “CANTIDAD DE LEER N
NÚMEROS:" K=1
LEER N MIENTRAS QUE (K<=N)
PARA (K=1, N, 1) LEER NUM
LEER NUM CUARP=NUM / 4
CUARP=NUM / 4 IMPRIMIR CUARP
IMPRIMIR CUARP K=K+1
FIN-PARA FIN-MIENTRAS
FIN FIN
5) Leer M parejas de números e imprimir cuál de los dos es el mayor o si son iguales.
CICLO PARA CICLO MIENTRAS (identificador)
INICIO INICIO
LEER M LEER M
PARA (H=1, M, 1) JAIRO=1
LEER NUM1, NUM2 MIENTRAS QUE (JAIRO<=M)
SI (NUM1 > NUM2) ENTONCES LEER NUM1, NUM2
IMPRIMIR “Número uno es mayor.“ SI (NUM1 > NUM2) ENTONCES
SINO IMPRIMIR “Número uno es mayor.“
SI (NUM2 > NUM1) ENTONCES SINO
IMPRIMIR “Número dos es mayor.“ SI (NUM2 > NUM1) ENTONCES
SINO IMPRIMIR “Número dos es mayor.“
IMPRIMIR “Números Iguales. “ SINO
FIN-SI IMPRIMIR “Números Iguales. “
FIN-SI FIN-SI
FIN-PARA FIN-SI
FIN JAIRO=JAIRO+1
FIN-MIENTRAS
FIN
Observe que la variable controladora del ciclo puede recibir el nombre que se desee, lo
importante es no olvidar ninguna de sus ubicaciones o cambiar el nombre en alguna
parte del ciclo.
6) Leer el modelo de N carros particulares e imprimir si está un poco viejo o si es
último modelo. Tenga en cuenta que es último modelo si el vehículo ha sido comprado
dentro de los último cuatro años y no se conoce el año actual.
CICLO PARA CICLO MIENTRAS (identificador)
INICIO
INICIO IMPRIMIR "Digite Año Actual:"
IMPRIMIR "Digite Año Actual:" LEER AC
LEER AC IMPRIMIR "Digite N:"
IMPRIMIR "Digite N:" LEER N
LEER N H=1
PARA (H=1, N, 1) MIENTRAS QUE (H<=N)
LEER MODELO LEER MODELO
SI (MODELO <= AC-4) ENTONCES SI (MODELO <= AC-4) ENTONCES
IMPRIMIR “Es último modelo“ IMPRIMIR “Es último modelo“
SINO SINO
IMPRIMIR “Está un poco viejo “ IMPRIMIR “Está un poco viejo “
FIN-SI FIN-SI
FIN-PARA H=H+1
FIN FIN-MIENTRAS
FIN
7) Calcular la nota definitiva de algunos estudiantes del Lógica de programación,
sabiendo a cada estudiante se le sacan 3 notas (una del 25%, otra del 35% y la otra del
40%). Elija como registro centinela la primera nota, y realice los cálculos mientras la
primera nota sea diferente de 0.
CICLO MIENTRAS (REGISTRO CENTINELA)
INICIO
IMPRIMIR “Digite la primera nota:”
LEER N1
MIENTRAS QUE (N1 < > 0)
IMPRIMIR “Digite la segunda nota:”
LEER N2
IMPRIMIR “Digite la tercer nota:”
LEER N3
DEF = N1*0.25 + N2*0.35 + N3*0.4
IMPRIMIR “Definitiva: “, DEF
IMPRIMIR “Digite la primera nota:”
LEER N1
FIN-MIENTRAS
FIN
8) Leer varios números y obtener su cubo y su cuarta parte, mientras que se lean
números diferentes de –1.
MIENTRAS (REGISTRO CENTINELA)
INICIO
IMPRIMIR “DIGITE NÚMERO: ”
LEER NUM
MIENTRAS QUE (NUM < > -1)
CUBO=NUM ** 3
CUARP=NUM / 4
IMPRIMIR “Cubo: “, CUBO
IMPRIMIR “Cuarta parte: “, CUARP
IMPRIMIR “DIGITE NÚMERO: ”
LEER NUM
FIN-MIENTRAS
FIN
9) Leer unos números e imprimir solo los positivos. ***Como No hay condición uno
puede poner por ej: Número < > -100.
MIENTRAS (REGISTRO CENTINELA)
INICIO
IMPRIMIR “DIGITE NÚMERO: ”
LEER NUM
MIENTRAS QUE (NUM < > -100)
SI (NUM > 0) ENTONCES
IMPRIMIR “Número positivo: “, NUM
FIN-SI
IMPRIMIR “DIGITE NÚMERO: ”
LEER NUM
FIN-MIENTRAS
FIN
10) Calcular el área de varios triángulos. Tenga en cuenta que el proceso Se hará
mientras la base y la altura sean mayor de cero.
MIENTRAS (REGISTRO CENTINELA)
INICIO
IMPRIMIR “DIGITE BASE Y ALTURA: ”
LEER BAS, ALT
MIENTRAS QUE (BAS < > 0 AND ALT <> 0)
AREA = BAS * ALT / 2
IMPRIMIR “El área es: “, AREA
IMPRIMIR “DIGITE BASE Y ALTURA: ”
LEER BAS, ALT
FIN-MIENTRAS
FIN
Observe que las condiciones del registro centinela pueden variar mucho (igual que el
ciclo REPITA); pero la clave es siempre utilizar un valor que la variable del ciclo nunca
vaya a tomar.
Por ejemplo nunca una nota es negativa, un nombre nunca es igual a un asterisco, una
edad nunca es igual a cero, un sexo sólo puede tomar los valores masculino y femenino.
Ahí radica la elección de una buena pregunta y es usted como programador quien elige
la condición.
11) En una institución educativas los estudiantes desean saber si son jóvenes o viejos.
Para lo anterior, lea la edad e imprima VIEJO si la edad es mayor de 50 años, de lo
contrario imprima JOVEN. Repita el proceso hasta que se lea una edad igual a 0.
CICLO REPITA
INICIO
REPITA
IMPRIMIR “Digite la edad:”
LEER EDAD
SI (EDAD > 50) ENTONCES
IMPRIMIR “VIEJO.”
SINO
IMPRIMIR “JOVEN.”
FIN-SI
HASTA QUE (EDAD = 0)
FIN
12) Leer parejas de números e imprimir cuál de los dos es el mayor o si son iguales.
Repita el proceso hasta que el segundo número sea igual a 1000.
CICLO REPITA
INICIO
REPITA
LEER NUM1, NUM2
SI (NUM1 > NUM2) ENTONCES
IMPRIMIR “Número uno es mayor.“
SINO
SI (NUM2 > NUM1) ENTONCES
IMPRIMIR “Número dos es mayor.“
SINO
IMPRIMIR “Números Iguales. “
FIN-SI
FIN-SI
HASTA QUE (NUM2 = 1000)
FIN
Volver
5. Ejercicios resueltos aplicando la estructura más adecuada
1) Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirán un
15% de descuento si compran mas de 10 kilos. Desarrolle un algoritmo que lea la
cantidad comprada en kilos y calcule cuanto pagará cada uno de ellos.
CICLO PARA
INICIO
PARA (J=1, 15, 1)
IMPRIMIR “Digite la cantidad en kgs:”
LEER CANK
IMPRIMIR “Digite el valor de cada kg:”
LEER VLRK
VTA = CANK * VLRK
SI (CANK > 10) ENTONCES
DCTO = VTA * 0.15
SINO
DCTO = 0
FIN-SI
VPAGAR = VTA - DCTO
IMPRIMIR “Valor a pagar:” VPAGAR
FIN-PARA
FIN
2) Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres
ventas a la semana. Su política de pagos es que un vendedor recibe un sueldo base, y un
10% extra por comisiones de sus ventas. El gerente de su compañía desea saber cuanto
dinero obtendrá en la semana cada vendedor por concepto de comisiones por las tres
ventas realizadas, y cuanto tomando en cuenta su sueldo base y sus comisiones.
CICLO MIENTRAS (Registro Identificador)
INICIO
IMPRIMIR “Digite el número de vendedores: ”
LEER N
K=1
MIENTRAS QUE (K<=N)
IMPRIMIR “Digite 3 ventas: ”
LEER V1, V2, V3
IMPRIMIR “Digite salario base: ”
LEER SBASE
COM = (V1 + V2 + V3) * 0.1
DINERO = SBASE + COM
IMPRIMIR “Total dinero: “, DINERO
K=K+1
FIN-MIENTRAS
FIN
3) En una empresa se requiere calcular el salario semanal de cada uno de los obreros
que laboran en ella. El salario se obtiene de la siguiente forma: Si el obrero trabaja 40
horas o menos se le paga $2000 por hora. Si trabaja mas de 40 horas se le paga $2500
por cada hora.
CICLO MIENTRAS (Registro Centinela)
INICIO
IMPRIMIR “Digite las horas trabajadas: ”
LEER HORTRA
MIENTRAS QUE (HORTRA < > -1)
SI (HORTRA > 40) ENTONCES
SSEM = HORTRA * 2500
SINO
SSEM = HORTRA * 2000
FIN-SI
IMPRIMIR SSEM
LEER HORTRA
FIN-MIENTRAS
FIN
4) La presión, volumen y temperatura de una masa de aire se relacionan por la formula:
masa= presión * volumen / 0.37 * (temperatura + 460). Calcular la masa de aire de
los neumáticos de n vehículos que están en compostura en un servicio de alineación y
balanceo.
CICLO MIENTRAS (Registro Identificador)
INICIO
IMPRIMIR “Digite número de vehículos: ”
LEER NV
K=1
MIENTRAS QUE (K<=NV)
IMPRIMIR “Digite presión, volumen y temperatura: ”
LEER P, V, T
M=(P*V) / (0.37 * (T+ 460)
IMPRIMIR “La masa es: “, M
K=K+1
FIN-MIENTRAS
FIN
5) Unas personas que van de compras a una tienda observan que ofrecen las siguiente
promoción 20% de descuento sobre aquellos artículos que tengan etiqueta roja, 10%
etiqueta azul y 100% etiqueta verde. Determinar la cantidad de dinero que estas
personas deberán pagar, sabiendo que se lee el valor de la compra y el color de la
etiqueta. Termine el proceso cuando alguien encuentre el artículo con etiqueta verde.
CICLO REPITA
INICIO
REPITA
IMPRIMIR “Digite color de la etiqueta y el valor de la compra: ”
LEER CETI, VALC
SI (CETI =”rojo”) ENTONCES
DCTO=VALC*0.2
SINO
SI (CETI =”azul”) ENTONCES
DCTO=VALC*0.1
SINO
DCTO=VALC*1
FIN-SI
FIN-SI
TOTPAG=VALC-DCTO
IMPRIMIR “Total a pagar: ”, TOTPAG
HASTA QUE (CETI = “Verde”)
FIN
6. Leer un grupo de números e imprimir si son pares o impares, múltiplos de 3 o no son
múltiplos de 3. Repita el proceso hasta leer un número igual a –1.
CICLO REPITA
INICIO
REPITA
IMPRIMIR “Digite número:”
LEER NUM
SI (NUM MOD 2 = 0) ENT
IMPRIMIR “NÚMERO PAR”
SINO
IMPRIMIR “NÚMERO IMPAR”
FIN-SI
SI (NUM MOD 3 = 0) ENT
IMPRIMIR “MÚLTIPLO DE 3”
SINO
IMPRIMIR “NO MÚLTIPLO DE 3”
FIN-SI
HASTA (NUM = -1)
FIN
6. VARIABLES QUE TRABAJAN CON ESTRUCTURAS REPETITIVAS:
Dentro de las estructuras repetitivas es muy común que se pidan calcular
sumatorias, cantidades, promedios y porcentajes. Acá se explicará su
funcionamiento.
6.1. Variable contador: Es una variable que sufre incrementos constantes dentro de un
algoritmo. Como su nombre lo indica sirve para contar o hallar cantidades dentro de un
algoritmo. Su sintaxis es:
CONTADOR = CONTADOR + INCREMENTO_CONSTANTE (normalmente es
+1).
Volver
6.2. Variable acumulado: Es una variable que sufre incrementos no constantes dentro
de un algoritmo. Sirve para calcular sumatorias o totales donde los incrementos no sean
constantes. Su sintaxis es:
ACUMULADOR = ACUMULADOR + INCREMENTO NO CONSTANTE
(Variable que pide el algoritmo acumular).
Volver
6.3. Variable Promedio: Todo promedio es la suma de valores divido la cantidad de
los mismos. Para lo cual se usa un acumulador que permite sumar valores, y un
contador por el cual se divide. Su sintaxis es:
PROMEDIO = ACUMULADOR / CONTADOR.
Algunas veces el contador no es necesario (cuando se pide un promedio general).
Volver
6.4. Variable Porcentaje: Todo porcentaje se calcula usando un contador particular y
un contador general. Los contadores particulares son los que se hacen dentro de
preguntas especificas; mientras los generales no. Su sintaxis es:
PORCENTAJE = CONT. PARTICULAR / CONT. GENERAL * 100.
Algunas veces el contador general no es necesario (cuando se conoce el total de
elementos).
Lo más importante de todas estas variables es saber cuando utilizar una y cuando la otra.
Y la clave está en que un contador se usa para CONTAR y el acumulador para
SUMAR. Cuando se habla de un promedio se debe usar un acumulador y un contador; y
para el porcentaje, sólo hay que contar.
Los acumuladores y contadores siempre se inicializan en cero(0) antes del ciclo, se
calculan dentro del ciclo y se imprimen fuera de él. Los promedios y porcentajes se
calculan e imprimen siempre fuera del ciclo.
Volver
7. Ejemplos de acumuladores y contadores
Ejemplo 1: Se pide calcular la cantidad de hombres y mujeres entre un grupo de 50
personas.
En el ejemplo1 se ha pedido calcular la cantidad de hombres y mujeres (por lo tanto
hay que usar dos contadores).
INICIO
CONT1, CONT2 = 0
PARA X = 1, 50, 1
IMPRIMIR "Digite sexo:"
LEER SEX
SI (SEX=”masculino”) ENT
CONT1 = CONT1 + 1
SINO
CONT2 = CONT2 + 1
FINSI
FINPARA
IMPRIMIR "El total de hombres es: ", CONT1
IMPRIMIR "El total de mujeres es: ", CONT2
FIN
Ejemplo 2: Se pide calcular la suma de edad de los hombres y la suma de edad de las
mujeres de un grupo de 100 personas.
En el Ejemplo2 se ha pedido sumar (por lo tanto hay que usar dos acumuladores).
INICIO
ACUM1, ACUM2 = 0
PARA X = 1, 100, 1
IMPRIMIR "Digite sexo y edad:"
LEER SEX, ED
SI (SEX=”masculino”) ENT
ACUM1 = ACUM1 + ED
SINO
ACUM2 = ACUM2 + ED
FINSI
FINPARA
IMPRIMIR "La edad de los hombres es: ", ACUM1
IMPRIMIR "La edad de las mujeres es: ", ACUM2
FIN
Las variables se pudieron haber llamado de otra forma CONTHOM, CH, CONTMUJ,
CM, SUMAEDH, SUMEDM, SEH, SEM, SUM1, SUM2, entre otros nombres.
Ejemplo 3: Se pide calcular el porcentaje de hombres y de mujeres de un grupo de 50
personas.
En el ejemplo3 se ha pedido calcular el porcentaje de hombres y de mujeres (por lo
tanto hay que usar dos contadores)
INICIO
CH, CM = 0
PARA X = 1, 50, 1
IMPRIMIR "Digite sexo:"
LEER SEX
SI (SEX=”masculino”) ENT
CH = CH + 1
SINO
CM = CM + 1
FINSI
FINPARA
PORCH = CH / 50 * 100
PORCM = CM / 50 * 100
IMPRIMIR "El porcentaje de hombres es: ", PORCH
IMPRIMIR "El porcentaje de mujeres es: ", PORCM
FIN
Ejemplo 4: Se pide calcular el promedio de edad de los hombres y de las mujeres de un
grupo de 100 personas. Además, el promedio de todas las edades.
En el Ejemplo4 se ha pedido el promedio de edad de los hombres, de las mujeres y de
todas las personas (por lo tanto hay que usar tres acumuladores y dos contadores). No
se necesita contador para el promedio de todas las personas, porque se sabe que son
100 en total.
INICIO
C1, C2, AC1, AC2, AC3 = 0
PARA X = 1, 100, 1
IMPRIMIR "Digite sexo y edad:"
LEER SEX, ED
SI (SEX=”masculino”) ENT
AC1 = AC1 + ED
C1 = C1 + 1
SINO
AC2 = AC2 + ED
C2 = C2 + 1
FINSI
ACUM1 = ACUM1 + ED
FINPARA
PROM1 = AC1 / C1
PROM2 = AC2 / C2
PROM3 = AC3 / 100
IMPRIMIR "El promedio de edad de los hombres es: ", PROM1
IMPRIMIR "El promedio de edad de los mujeres es: ", PROM2
IMPRIMIR "El promedio de edad de todos es: ", PROM3
FIN
7.1. Taller 7 (Ejercicios Estructuras repetitivas)
1) Calcular el total que 10 personas deben pagar en un 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 los clientes obtienen
un descuento dependiendo de un numero 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. Hacer el ciclo
mientras el número escogido sea diferente de 0.
3) Calcular el numero de pulsaciones que deben tener N personas por cada 10 segundos
de ejercicio aeróbico; la formula que se aplica cuando el sexo es femenino es:
[Link] = (220 - edad)/10, y si el sexo es masculino: num. pulsaciones =
(210 - edad)/10
4) Una compañía de seguros esta abriendo un departamento 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 cada cliente.
5) En una escuela la matrícula de los 38 alumnos se determina según el numero de
materias que cursan. El costo de todas las materias es el mismo. Además, 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 matrícula y no se le cobrara IVA; si el promedio
obtenido es menor que 9 deberá pagar la matrícula completa, la cual incluye el 10% de
IVA. Obtener cuanto debe pagar cada alumno.
6) N personas desean 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.
7) Unas fabricas han sido sometidas 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 fabrica desea saber cuanto dinero perderá después de ser sometido a la revisión.
8) 70 personas se encuentran 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 estas personas a determinar si deben o no comprar el automóvil.
9) En una fabrica 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
10) 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 N personas tienen que pagar por
cada una de las llantas que compra y la que tiene que pagar por el total de la compra.
11) 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, algunos clientes por la compra de su aparato.
12) Una frutería ofrece las manzanas con descuento según la siguiente tabla:
KILOS COMPRADOS % DESCUENTO
0-2 0%
2.01 - 5 10%
5.01 - 10 15%
10.01 en adelante 20%
Determinar cuanto pagara N personas que compre manzanas es esa frutería.
13) Una institución educativa estableció un programa para estimular a los alumnos con
buen rendimiento académico y que consiste en la siguiente tabla:
CRÉDITOS % DE
PROMEDIO PROGRAMA
A CURSAR DESCUENTO
>=9.5 PREPARATORIA 55 25%
>=9.0 y <9.5 PREPARATORIA 50 10%
>7.0 Y <9.0 PREPARATORIA 50 0%
<7.0 PREPARATORIA 45 0%
<7.0 PREPARATORIA 40 0%
>=9.5 PROFESIONAL 55 20%
>7.0 y <9.5 PROFESIONAL 50 10%
<7.0 PROFESIONAL 45 0%
Obtener el total que tendrá que pagar un alumno si la matrícula para alumnos de
profesional es de $80.000 por cada cinco unidades y para alumnos de preparatoria es de
$50.000 por cada cinco unidades.
14) Que lea N ternas de 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).
15) Desarrolle un algoritmo que lea el valor del pasaje y el número de pasajeros que
abordarán varios microbuses. Calcular el valor total a pagar por cada uno.
16) 100 personas reciben 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.
17) En una competencia se inscribieron un número no conocido de atletas. Cada uno
recorre tres distancias diferentes en tres competiciones distintas. Calcular e imprimir la
distancia promedio.
18) Calcular el salario neto de N empleados sabiendo que se les hace una retención del
3% para pensión y 5% para salud. Se debe leer el valor de cada hora y el número de
horas trabajadas por los empleados.
19) Calcular e imprimir el salario básico, el salario neto y cada uno de los porcentajes
que tienen los 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. 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.
20) Calcular el peso equivalente en Gramos de 250 frutas que tienen un peso no
conocido en Kilogramos.
21) Leer la fecha de nacimiento de 300 personas. Calcular e imprimir sus edades.
22) Leer la temperatura de varios días (en grados centígrados). Convertir ese
temperatura a ºK y ºF.
23) Leer la edad de N personas. Calcular e imprimir el número de días que ha vivido.
24) Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de
Diseño Estructurado de Algoritmos
22) Leer 10 números y obtener su cubo y su cuarta parte.
23) Leer 10 números e imprimir solamente los números positivos
24) Leer 20 números e imprimir cuantos son positivos, cuantos negativos y cuantos
neutros.
25) Leer 15 números negativos y convertirlos a positivos e imprimir dichos números.
26) Suponga que se tiene un conjunto de calificaciones de un grupo de 40 alumnos.
Realizar un algoritmo para calcular la calificación media y la calificación mas baja de
todo el grupo.
27) Calcular e imprimir la tabla de multiplicar de un numero cualquiera. Imprimir el
multiplicando, el multiplicador y el producto.
28) Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y
segundos de un día desde las [Link] horas hasta las [Link] horas
29) Una persona debe realizar un muestreo con 50 personas para determinar el
promedio de peso de los niños, jóvenes, adultos y viejos que existen en su zona
habitacional. Se determinan las categorías con base en la sig, tabla:
CATEGORÍA EDAD
Niños 0 -12
Jóvenes 13 - 29
Adultos 30 - 59
Viejos 60 en adelante
30) Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirán un
15% de descuento si compran mas de 10 kilos. Determinar cuanto pagara cada cliente y
cuanto percibirá la tienda por esas compras.
31) En un centro de verificación de automóviles se desea saber el promedio de puntos
contaminantes de los primeros 25 automóviles que lleguen. Asimismo se desea saber los
puntos contaminantes del carro que menos contamino y del que mas contamino.
32) Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco kilómetros
durante 10 días, para determinar si es apto para la prueba de 5 Kilómetros o debe buscar
otra especialidad. Para considerarlo apto debe cumplir por lo menos una de las
siguientes condiciones: - Que en ninguna de las pruebas haga un tiempo mayor a 16
minutos. - Que al menos en una de las pruebas realice un tiempo mayor a 16 minutos. -
Que su promedio de tiempos sea menor o igual a 15 minutos.
33) Un Zoólogo pretende determinar el porcentaje de animales que hay en las siguientes
tres categorías de edades: de 0 a 1 año, de mas de 1 año y menos de 3 y de 3 o mas años.
El zoológico todavía no esta seguro del animal que va a estudiar. Si se decide por
elefantes solo tomara una muestra de 20 de ellos; si se decide por las jirafas, tomara 15
muestras, y si son chimpancés tomara 40.
32) Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres
ventas a la semana. Su política de pagos es que un vendedor recibe un sueldo base, y un
10% extra por comisiones de sus ventas. El gerente de su compañía desea saber cuanto
dinero obtendrá en la semana cada vendedor por concepto de comisiones por las tres
ventas realizadas, y cuanto tomando en cuenta su sueldo base y sus comisiones.
33) En una empresa se requiere calcular el salario semanal de cada uno de los n obreros
que laboran en ella. El salario se obtiene de la siguiente forma: Si el obrero trabaja 40
horas o menos se le paga $20 por hora. Si trabaja mas de 40 horas se le paga $20 por
cada una de las primeras 40 horas y $25 por cada hora extra.
34) Determinar cuantos hombres y cuantas mujeres se encuentran en un grupo de n
personas, suponiendo que los datos son extraídos alumno por alumno.
35) El Departamento de Seguridad Publica y Transito del Distrito Federal desea saber,
de los n autos que entran a la ciudad de México, cuantos entran con calcomanía de cada
color. Conociendo el ultimo dígito de la placa de cada automóvil se puede determinar el
color de la calcomanía utilizando la siguiente relación:
DÍGITO COLOR
1ó2 AMARILLA
3ó4 ROSA
5ó6 ROJA
7ó8 VERDE
9ó0 AZUL
36) Obtener el promedio de calificaciones de un grupo de n alumnos.
37) Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de interés.
Cual será la cantidad de dinero que esta persona tendrá al cabo de un año si la ganancia
de cada mes es reinvertida?.
38) Calcular el promedio de edades de hombres, mujeres y de todo un grupo de
alumnos.
39) En un supermercado un cajero captura los precios de los artículos que los clientes
compran e indica a cada cliente cual es el monto de lo que deben pagar. Al final del día
le indica a su supervisor cuanto fue lo que cobro en total a todos los clientes que
pasaron por su caja.
40) Cinco miembros de un club contra la obesidad desean saber cuanto han bajado o
subido de peso desde la ultima vez que se reunieron. Para esto se debe realizar un ritual
de pesaje en donde cada uno se pesa en diez básculas distintas para así tener el
promedio mas exacto de su peso. Si existe diferencia positiva entre este promedio de
peso y el peso de la ultima vez que se reunieron, significa que subieron de peso. Pero si
la diferencia es negativa, significa que bajaron. Lo que el problema requiere es que por
cada persona se imprima un letrero que diga: “SUBIO” o “BAJO” y la cantidad de kilos
que subió o bajo de peso.
41) Se desea obtener el promedio de g grupos que están en un mismo año escolar;
siendo que cada grupo puede tener n alumnos que cada alumno puede llevar m materias
y que en todas las materias se promedian tres calificaciones para obtener el promedio de
la materia. Lo que se desea desplegar es el promedio de los grupos, el promedio de cada
grupo y el promedio de cada alumno.
42) La presión, volumen y temperatura de una masa de aire se relacionan por la
formula: masa= presión * volumen / 0.37 * (temperatura + 460). Calcular el
promedio de masa de aire de los neumáticos de n vehículos que están en compostura en
un servicio de alineación y balanceo. Los vehículos pueden ser motocicletas o
automóviles.
43) Determinar la cantidad semanal de dinero que recibirá cada uno de los n obreros de
una empresa. Se sabe que cuando las horas que trabajo un obrero exceden de 40, el resto
se convierte en horas extras que se pagan al doble de una hora normal, cuando no
exceden de 8; cuando las horas extras exceden de 8 se pagan las primeras 8 al doble de
lo que se paga por una hora normal y el resto al triple.
44) En una granja se requiere saber alguna información para determinar el precio de
venta por cada kilo de huevo. Es importante determinar el promedio de calidad de las n
gallinas que hay en la granja. La calidad de cada gallina se obtiene según la formula:
calidad = peso de la gallina * altura de la gallina / numero de huevos que pone
Finalmente para fijar el precio del kilo de huevo, se toma como base la siguiente tabla:
KILOS OPERACIÓN
mayor o igual que 15 1.2 * promedio de calidad
mayor que 8 y menor que 15 1.1 * promedio de calidad
menor o igual que 8 0.80 * promedio de calidad
45) En la Cámara de Diputados se levanta una encuesta con todos los integrantes con el
fin de determinar que porcentaje de los n diputados esta a favor del Tratado de Libre
Comercio, que porcentaje esta en contra y que porcentaje se abstiene de opinar.
46) Una persona que va de compras a la tienda “Enano, S.A.”, decide llevar un control
sobre lo que va comprando, para saber la cantidad de dinero que tendrá que pagar al
llegar a la caja. La tienda tiene una promoción del 20% de descuento sobre aquellos
artículos cuya etiqueta sea roja. Determinar la cantidad de dinero que esta persona
deberá pagar.
47) Un censador recopila ciertos datos aplicando encuestas para el ultimo Censo
Nacional de Población y Vivienda. Desea obtener de todas las personas que alcance a
encuestar en un día, que porcentaje tiene estudios de primaria, secundaria, carrera
técnica, estudios profesionales y estudios de postgrado.
48) Un jefe de casilla desea determinar cuantas personas de cada una de las secciones
que componen su zona asisten el día de las votaciones. Las secciones son: norte, sur y
centro. También desea determinar cual es la sección con mayor numero de votantes.
49) Un negocio de copias tiene un limite de producción diaria de 10 000 copias si el tipo
de impresión es offset y de 50 000 si el tipo es estándar. Si hay una solicitud de un el
empleado tiene que verificar que las copias pendientes hasta el momento y las copias
solicitadas no excedan del limite de producción. Si el limite de producción se excediera
el trabajo solicitado no podría ser aceptado. El empleado necesita llevar un buen control
de las copias solicitadas hasta el momento para decidir en forma rápida si los trabajos
que se soliciten en el día se deben aceptar o no.
50) Calcular la suma siguiente: 100 + 98 + 96 + 94 + . . . + 0 en este orden
51) Leer 50 calificaciones de un grupo de alumnos. Calcule y escriba el porcentaje de
reprobados. Tomando en cuenta que la calificación mínima aprobatoria es de 70.
52) Leer por cada alumno de Diseño estructurado de algoritmos su numero de control y
su calificación en cada una de las 5 unidades de la materia. Al final que escriba el
numero de control del alumno que obtuvo mayor promedio. Suponga que los alumnos
tienen diferentes promedios.
53) El profesor de una materia desea conocer la cantidad de sus alumnos que no tienen
derecho al examen de nivelación.
Diseñe un algoritmo que lea las calificaciones obtenidas en las 5 unidades por cada uno
de los 40 alumnos y escriba la cantidad de ellos que no tienen derecho al examen de
nivelación.
54) Leer los 250,000 votos otorgados a los 3 candidatos a gobernador e imprimir el
numero del candidato ganador y su cantidad de votos.
55) Suponga que tiene usted una tienda y desea registrar las ventas en su computadora.
Diseñe un algoritmo que lea por cada cliente, el monto total de su compra. Al final del
día que escriba la cantidad total de ventas y el numero de clientes atendidos.
56) Un grupo de 100 estudiantes presentan un examen de Física. Diseñe un algoritmo
que lea por cada estudiante la calificación obtenida y calcule e imprima:
A.- La cantidad de estudiantes que obtuvieron una calificación menor a 50.
B.- La cantidad de estudiantes que obtuvieron una calificación de 50 o más pero menor
que 80.
C.- La cantidad de estudiantes que obtuvieron una calificación de 70 o más pero menor
que 80.
D. La cantidad de estudiantes que obtuvieron una calificación de 80 o más.
57) Un avión que viaja 800 Km/hr. Dispara un proyectil auto impulsado, en el momento
del disparo, el avión hace un giro de 90 0 y acelera a 20 mtrs/seg2. El proyectil sigue su
curso, acelerando a 10 mtrs./seg2. Diseñe un pseudocódigo que escriba cada segundo, la
distancia que separa al avión del proyectil, hasta que estén a 10,000 metros. o más.
58) Una pizzería, vende sus pizzas en tres tamaños: pequeña (10 pulg. De diámetro);
mediana (12 pulg. De diámetro); y grandes (16 pulg. De diámetro); Una pizza puede ser
sencilla (con sólo salsa y carne), o con ingredientes extras, tales como pepinillos,
champiñones o cebollas
Los propietarios desean desarrollar un programa que calcule el precio de venta de una
pizza, dándole el tamaño y el numero de ingredientes extras. El precio de venta será 1.5
veces el costo total, que viene determinado por el área de la pizza, mas el numero de
ingredientes.
En particular el costo total se calcula sumando:
* Un costo fijo de preparación
* Un costo base variable que es proporcional al tamaño de la pizza
* Un costo adicional por cada ingrediente extra. Por simplicidad se supone que cada
ingrediente extra tiene el mismo costo por unidad de área.
59) En la Universidad X se presentaron 4500 aspirantes. Cada uno de ellos presentó dos
pruebas: una de matemáticas y otra de lenguaje. Calcular el resultado final e imprimir la
credencial y el resultado final sólo si alcanzó el puntaje mínimo. Tenga en cuenta que el
resultado final es la sumatoria de las dos pruebas, y el puntaje mínimo en los resultados
finales es de 900 puntos. Por cada aspirante se debe leer la credencial, el puntaje
obtenido en la prueba de matemáticas y el puntaje en la prueba de lenguaje.
60) Se realiza una encuesta a N personas. Para cada una se lee: nombre, edad, salario,
lugar de nacimiento (1: Colombia, 2: Extranjero), equipo que prefiere (1: Nacional, 2:
Medellín, 3: América, 4: Cali, 5: Otro), si fuma (S: Si, N: No), si bebe (S: Si, N: No) y
si baila (M: Mucho, P: Poco, N:Nada, D: Demasiado). Se pide imprimir y calcular la
siguiente:
1. Cantidad Colombianos
2. Cantidad Extranjeros
3. Cantidad Hinchas del nacional
4. Cantidad Hinchas del América
5. Cantidad Hinchas de otros equipos
6. Cantidad Fumadores
7. Cantidad de No fumadores
8. Cantidad Bebedores
9. Cantidad de no bebedores
10. Cuántos son mayor de edad
11. Cuántos son menores de edad
12. Cuántos tienen más de 30 años
13. Cantidad de personas que bailan mucho
14. Cantidad de personas que bailan un poco
15. Cantidad de personas que no bailan nada
16. Cantidad de personas que bailan demasiado
17. Cantidad de personas Colombianas Hinchas del Nacional
18. Cantidad de personas Colombianas Hinchas del América
19. Cantidad de personas Extranjeras Hinchas del Nacional
20. Cantidad de personas Extranjeras Hinchas del América
21. Cantidad de personas que fuman y beben
22. Cantidad de personas que fuman y no bailan nada
23. Cantidad de personas que beben y bailan demasiado
24. Cantidad de personas que beben y bailan un poco
25. Cuántos son mayor de edad hinchas de algún equipo del valle
26. Cuántos son menores de edad que ganen menos de 400.000
27. Cantidad de personas Colombianas hinchas del Nacional que no beben
28. Cantidad de personas Extranjeras que no sean hinchas del Nacional y que fumen
29. Cantidad de personas Bailen mucho, que no beban y que sena hinchas del Cali
30. Cantidad de personas que ganan menos de 200.000 y sena hinchas del Cali
31. Sumatoria de salarios de los Colombianos
32. Sumatoria de edad de los Extranjeros
33. Sumatoria de salarios de los Hinchas del nacional
34. Sumatoria de edad de los Hinchas del América
35. Sumatoria de salarios de los Hinchas de otros equipos
36. Sumatoria de edad de los Fumadores
37. Sumatoria de salarios de los Bebedores
38. Sumatoria de salarios de las personas que bailan mucho
39. Sumatoria de edad de las personas que bailan demasiado
40. Sumatoria de salarios de personas Colombianas Hinchas del Medellín
41. Sumatoria de edad de personas Colombianas Hinchas del Cali
42. Sumatoria de salarios de personas Extranjeras Hinchas del Medellín
43. Sumatoria de edad de personas Extranjeras Hinchas del Cali
44. Sumatoria de edad de personas que fuman o beben
45. Sumatoria de edad de personas que fuman o bailan mucho
46. Sumatoria de edad de personas que beben o no bailan nada
47. Sumatoria de edad de personas que beben y bailan demasiado
48. Sumatoria de salarios de personas extranjeras que les guste algún equipo paisa
49. Sumatoria de salarios de personas colombianas hinchas de Medellín que no beban,
ni fumen, pero que bailen demasiado.
50. Sumatoria de salarios de personas que ganan menos de 100.0000
51. Promedio de edad de los Colombianos
52. Promedio de salarios de los Extranjeros
53. Promedio de edad de los no fumadores
54. Promedio de salarios de los no bebedores
55. Promedio de edad de todas las personas
56. Promedio de salarios de todas las personas
57. Promedio de edad de los bailan un poco
58. Promedio de salarios de los que no bailan nada
59. Promedio de salarios de personas Extranjeras Hinchas de otros equipos
60. Promedio de edad de personas Extranjeras Hinchas de otros equipos
61. Promedio de salarios de los que no bailan ni beben
62. Promedio de edad de los que no bailan ni beben
63. Promedio de salarios de los que no bailan ni beben y sean hinchas de América o
Cali
64. Promedio de edad de los que no bailan y beben que sean hinchas del Cali.
65. Promedio de salarios de los que ganan menos de 500.000
66. Porcentaje de Colombianos
67. Porcentaje de Extranjeros
68. Porcentaje de Hinchas de otros equipos
69. Porcentaje de No fumadores
70. Porcentaje de Fumadores y bebedores
71. Porcentaje de Bebedores
72. Porcentaje de no bebedores
73. Porcentaje de los que gana más de 500.000
74. Porcentaje de personas que bailan un poco
75. Porcentaje de personas que no bailan nada
76. Porcentaje de personas Extranjeras Hinchas del América
77. Porcentaje de personas que fuman y beben
78. Porcentaje de los ganan entre 120.000 y 400.000
79. Porcentaje de personas que beben y bailan demasiado
80. Porcentaje de personas que beben y bailan un poco
81. Porcentaje de personas Colombianas hinchas del Nacional que no beben
82. Porcentaje de personas Bailen mucho, que beban y que sean hinchas del Medellín
83. Porcentaje de los que ganan hasta 200.000
84. Porcentaje de los que ganan más de un 4.000.000
85. Porcentaje de los mayores de edad.
8. Series y sucesiones
En algortimos el concepto serie es igual al término matemático que dice que serie es la
suma de términos que se aproxima cada vez más a una determinada cantidad; por
ejemplo, 1/2 + 1/4 + 1/8 + 1/16..., se acerca progresivamente a valer 1, sin llegar nunca.
Observe que el denominador aumenta de una forma constante (el cual se puede deducir
que es 2 elevado a 1, 2 elevado a 2 y así sucesivamente. Este término que forma parte de
una serie se le llama sucesión.
Lo anterior quiere decir que si se pide una sucesión, se imprimiría cada uno de los
términos, pero si se pide la serie se tendría que sumar, y en algoritmos hay una variable
para hacer ésto que es el acumulador.
Ejemplo de sucesión: 2x, 4x, 6x, 8x, 10x.
Ejemplo de serie: 2x + 4x + 6x + 8x + 10x.
Volver
8.1. Pasos para desarrollar series y sucesiones dentro de algoritmos
1) Definir cuántas sucesiones hay dentro del ejercicio y asignarle una variable para cada
una de ellas.
2) Determinar el INICIO, el FIN y el INCREMENTO (o DECREMENTO) cada
variable.
3) Definir una variable con la cual desarrollar una estructura repetitiva.
Luego se empieza a hacer el algoritmo, así:
4) Se leen las variables, en caso tal que dentro de la serie o suceción hayan variables no
conocidos (como X, Y, M o cualquier otra letra que no se conozca su valor dentro del
ejercicio).
5) Inicializar todas las variables ANTES del ciclo (menos la de esta estructura
repetitiva) en el valor del INICIO de la sucesión.
6) Hacer el ciclo con la variable antes definida y sus valores de INICIO, FIN e
INCREMENTO o DECREMENTO.
7) Calcular una fórmula (si es necesario) donde determine la serie.
8) Se acumula el valor de la fórmula (se se pide una serie)
9) Imprimir la fórmula o cada una de la variables en su respectivo orden (si se pide una
sucesión).
10) Realizar los incrementos o decrementos de cada una de las variables, excepto la
variable elegida para la estructura repetitiva.
11) Se cierra la estructura repetitiva.
12) Se imprime la variable donde se acumuló el valor de la fórmula (Si se pide calcular
la serie).
Ejemplo 1: Calcular la siguiente sucesión: X/3, 2x/6, 3x/9, 4x/12, 5x/15
Vamos a seguir los pasos antes mensionados:
1) Definir el número de sucesiones y asignarle una variable para cada una de ellas.
Las sucesiones son:
El número antes de la X toma los valores de 1, 2, 3, 4 y 5. (Variable S1).
El denominador X toma los valores de 3, 6, 9, 12 y 15. (Variable S2).
Observe que son dos sucesiones, a las cuales se les asignarán las letras S1 y S2.
2) Determinar el INICIO, el FIN y el INCREMENTO (o DECREMENTO) cada
variable.
S1: INICIO=1, FIN=5 E INCREMENTO=1
S2: INICIO=3, FIN=15 E INCREMENTO=3
3) Definir una variable con la cual desarrollar una estructura repetitiva.
En este caso vamos a decir que S1 es la variable del ciclo.
Luego se empieza a hacer el algoritmo, así:
4) Se leen las variables, en caso tal que dentro de la serie o sucesión hayan variables no
conocidos (como X, Y, M o cualquier otra letra que no se conozca su valor dentro del
ejercicio).
En este caso, dentro de la sucesión hay una variable X, por lo tanto se lee antes del
ciclo.
INICIO
LEER X
5) Inicializar todas las variables ANTES del ciclo (menos la de esta estructura
repetitiva) en el valor del INICIO de la sucesión.
S2=3
6) Hacer el ciclo con la variable antes definida y sus valores de INICIO, FIN e
INCREMENTO o DECREMENTO..
PARA S1=1, 5, 1
7) Calcular una fórmula (si es necesario) donde determine la serie.
En este caso la sucesión llamada S1 esta siendo multiplicado por X y este resultado esta
siendo dividido por la sucesión llamada S2 (X/3, 2x/6, 3x/9, 4x/12, 5x/15). Esta es la
fórmula que copiamos así:
SUCE=S1 * X / S2
7) Se acumula el valor de la fórmula (se se pide una serie)
En este caso no se pide.
8) Imprimir la fórmula o cada una de la variables en su respectivo orden (si se pide una
sucesión).
IMPRIMIR SUCE
9) Realizar los incrementos o decrementos de cada una de las variables, excepto la
variable elegida para la estructura repetitiva.
La única variable distinta a la del ciclo es S2, por lo tanto se incrementa en 3 (ya se
había definido el incremento en la parte superior)
S2 = S2 + 3
10) Se cierra la estructura repetitiva.
FINPARA
11) Se imprime la variable donde se acumuló el valor de la fórmula (Si se pide calcular
la serie).
En este caso no se pide.
El resultado final sería el siguiente:
(Al empezar ya debe estar claro el número de sucesiones que hay, las variables
asignadas, cual variable va a ir en el ciclo y los valores de INICIO, FIN, e
INCREMENTO (o DECREMENTO) para cada una de ellas. Luego el Algoritmo:
INICIO
LEA X (Se lee X)
S2=3 (Se inicializa las variables distintas a la del ciclo)
PARA S1=1, 5, 1 (Se hace el ciclo con la variable antes definida)
SUCE=S1 * X / S2 (Se calcula la fórmula)
IMPRIMIR SUCE (Se imprime la sucesión si lo pide el ejercicio)
S2 = S2 + 3 (Se incrementa la otra variable)
FINPARA (Se cierra el ciclo)
FIN
Si el ejercicio pidiera hallar la serie (X/3 + 2x/6 + 3x/9 + 4x/12 + 5x/15) y no la
sucesión, los cambios serían los siguientes:
INICIO
LEA X
SERIE=0 (Teoría de acumuladores)
S2=3
PARA S1=1, 5, 1
SUCE=S1 * X / S2
SERIE = SERIE + SUCE (Se acumula o suma cada término)
S2 = S2 + 3
FINPARA
IMPRIMIR "La serie es: ", SERIE(Se imprime la serie al terminar el ciclo)
FIN
Observe que cada término no se imprime, sólo el resultado de la suma de cada uno de
ellos. Esa es la diferencia más marcada de una serie y una sucesión.
Volver
8.2. Ejercicios resueltos (Series y Sucesiones)
Resolver las siguientes series y sucesiones
Este ejemplo ya se había trabajado en la parte superior, sólo que se le agregó un
exponente a la letra X.
Sucesión del número que multiplica a X. VAR1: Inicio=1, Fin=5, Incremento=1
(Variable del ciclo).
Sucesión del exponente de X. EXPO: Inicio=2, Fin=10, Incremento=2.
Sucesión del divisor. DIV: Inicio=3, Fin=15, Incremento=3.
Como es una serie se tiene en cuenta el acumulador, no se imprime la sucesión y se
imprime al final la serie.
INICIO
LEER X
EXPO=2
DIV=3
PARA VAR1=1, 5, 1
SUCE = (VAR1 * X ^ EXPO) / DIV
SERIE = SERIE + SUCE
EXPO = EXPO + 2
DIV = DIV + 3
FINPARA
IMPRIMIR "la serie es: ", SERIE
FIN
Como puede notar SÓLO en la variable del ciclo se usa el FINAL de la variable (porque
esas son las partes de un ciclo INICIO, FIN e INCREMENTO), mientras que para las
otras varaibles, distintas a las del ciclo, sólo interesa el INICIO (se inicializa antes del
ciclo) y el INCREMENTO (antes de cerrar el ciclo).
Este ejemplo tiene un número que se suma con una constante 4 (este número incrementa
en 50), y que a su vez está elevado a un exponente (que decrementa en 1). No hay
ninguna variable, por lo tanto no hay que leer nada.
Sucesión del número que suma con 4. VAR1: Inicio = 1, Fin = 301, Incremento = 50
(Variable del ciclo).
Sucesión del exponente. EXPO: Inicio = 4, Fin = -2, Decremento = -1.
Como es una sucesión no se acumula y se imprime cada término (la sucesión).
INICIO
EXPO=4
PARA VAR1=1, 301, 50
SUCE = 4 + VAR1 ^ EXPO
IMPRIMIR SUCE
EXPO = EXPO - 1
FINPARA
FIN
Este ejemplo tiene un número que se multiplica con Y (número que incrementa en 3), y
luego se le resta otro número (que incrementa en 1). Está la variable Y, por lo tanto hay
que leerla. Como es una sucesión no se acumula y se imprime cada término (la
sucesión).
Sucesión del número que multiplica a Y. MULT: Inicio = 6, Fin = 21, Incremento = 3
(Variable del ciclo).
Sucesión del número que resta. NUM: Inicio = 1, Fin = 5, Incremento = 1.
INICIO
LEER Y
NUM = 1
PARA MULT = 6, 21, 3
SUCE = MULT * Y - NUM
IMPRIMIR SUCE
NUM = NUM + 1
FINPARA
FIN
Esta sucesión a simple vista no tiene solución porque los incrementos no son constantes.
De 5 a 7 hay, de 7 a 7 no hay nada, de 7 a 12 hay incremntos de 5. Cuando esta
situación pase se recomienda que se analice el ejercicio intercalando términos. Tomar el
1°, el 3°, el 5°, y así sucesivamente. También se puede tomar los elementos que están en
las posiciones pares. En fin, el trabajo del programador es analizar y se van a presentar
múltiples casos de combinaciones para determinar que es una sucesión válida.
En este caso tomaremos el 1°, el 3°... hasta el 15°:
5, 5, 7, 12, 9, 19, 11, 26,13, 33, 15, 40, 17, 47, 19, quedarían los términos 5, 7, 9, 11,13,
15, 17 y 19. Y no hay que analizar mucho para concluir que es una sucesión válida que
empieza en 5, va hasta 19 y tiene incrementos de 2. Ahora hay que analizar lo términos
resultantes: 5, 5, 7, 12, 9, 19, 11, 26, 13, 33, 15, 40, 17, 47, 19, quedaría 5, 12, 19, 26,
33, 40 y 47, la cual también es una sucesión válida que empieza en 5, termina en 47 y
tiene incrementos de 7.
Sucesión1. S1: Inicio = 5, Fin = 19, Incremento = 2 (Variable del ciclo).
Sucesión2. S2: Inicio = 5, Fin = 47, Incremento = 7.
INICIO
S2 = 5
PARA S1 = 5, 19, 2
SUCE = S1
IMPRIMIR SUCE
SUCE = S2
IMPRIMIR SUCE
S2 = S2 + 7
FINPARA
FIN
Observe que este ejercicio no tiene fórmula, sólo es asignarle los valores de S1 y S2 a
SUCE e imprimir SUCE. También se podría haber colocado así (y hubiera dado el
mismo resultado):
INICIO
S2 = 5
PARA S1 = 5, 19, 2
IMPRIMIR S1, S2
S2 = S2 + 7
FINPARA
FIN
Al igual que el ejercicio anterior, esta serie hay que tomarla separando el problema en
dos sucesiones para el numerador. Así:
Serie 1. S1: Empieza en 8, termina en 40 y tiene incrementos de 8
Serie 2. S2: Empieza en 64, termina en 40 y tiene decrementos de 8
INICIO
S2 = 64
PARA S1 = 8, 40, 8
SERIE = SERIE + S1 + S2
S2 = S2 - 8
FINPARA
IMPRIMIR "La serie es: ", SERIE
FIN
Observe que en lugar de imprimir los dos como en el ejemplo anterior, aquí se sumaron
ambas variables porque estamos hablando de una serie.
Volver
8.3. Taller 8 (Series y Sucesiones)
Resolver las siguientes series y sucesiones