HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 1 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
PROBLEMAS RESUELTOS POR PSEUDOCÓDIGO
I) PROBLEMAS SECUENCIALES
1) 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
2) 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
3) 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
4) 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.
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
5) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.
INICIO
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 2 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
6) Realizar un algoritmo que calcule la edad de una persona.
INICIO
LEER fnac, fact edad = fact - fnac IMPRIMIR edad FIN
II) PROBLEMAS CONDICIONALES
II.a) PROBLEMAS SELECTIVOS SIMPLES
1) 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.
INICIO
LEER p_int, cap int = cap * p_int
SI int > 7000 ENTONCES capf = cap + int FIN-SI
IMPRIMIR capf FIN
2) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.
INICIO
LEER calif1, calif2, calif3 prom = (calif1 + calif2 + calif3)/3 SI prom >= 70 ENTONCES
Imprimir “alumno aprobado” SI NO
IMPRIMIR “alumno reprobado” FIN-SI
FIN
3) Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. 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.
INICIO LEER ht
SI ht > 40 ENTONCES he = ht - 40
ss = he * 20 + 40 * 16 SI NO
ss = ht * 16 FIN-SI
IMPRIMIR ss FIN
4) Que lea dos números y los imprima en forma ascendente
INICIO
LEER num1, num2
SI num1 < num2 ENTONCES
IMPRIMIR num1, num2
SI NO
IMPRIMIR num2, num1 FIN-SI
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 3 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
5) 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?
INICIO
LEER compra
SI compra > 1000 ENTONCES desc = compra * 0.20 SI NO
desc = 0 FIN-SI
tot_pag = compra - desc iMPRIMIR tot_pag FIN.
6) 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.
INICIO
LEER p_int, cap int = cap * p_int
SI int > 7000 ENTONCES capf = cap + int FIN-SI
IMPRIMIR capf FIN
7) 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.
INICIO
LEER act$, tiemp
SI act$ = “dormido” ENTONCES cg = 1.08 * tiemp
SI NO
cg = 1.66 * tiemp FIN-SI
IMPRIMIR cg FIN
10) 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%, pedir prestado al banco un 30% y el resto lo pagara solicitando un crédito.
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.
INICIO
LEER costopza, numpza totcomp = costopza * numpza SI totcomp > 500 000 ENTONCES
cantinv = totcomp * 0.55 préstamo = totcomp * 0.30 crédito = totcomp * 0.15 SI NO
cantinv = totcomp * 0.70 crédito = totcomp * 0.30 préstamo = 0
FIN-SI
int = crédito * 0.20
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 4 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
8) 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).
INICIO
LEER nomb, cve, prec_orig SI cve = 01 ENTONCES
prec_desc = prec_orig - prec_orig * 0.10 SI NO
prec_desc = prec_orig - prec_orig * 0.20 FIN-SI
IMPRIMIR nomb, cve, prec_orig, prec_desc FIN
9) 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%.
INICIO
LEER num_camisas, prec tot_comp = num_camisas * prec SI num_camisas > = 3 ENTONCES
tot_pag = tot_comp - tot_comp * 0.20 SI NO
tot_pag = tot_comp - tot_comp * 0.10 FIN-SI
IMPRIMIR tot_pag FIN
II.b) PROBLEMAS SELECTIVOS COMPUESTOS
1) 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.
INICIO
LEER num1, num2
SI num1 = num2 ENTONCES resul = num1 * num2 SI NO
SI num1 > num2 ENTONCES resul = num1 - num2 SI NO
resul = num1 + num2 FIN-SI
FIN-SI FIN
2) Leer tres números diferentes e imprimir el número mayor de los tres.
INICIO
Leer num1, num2, num3
SI (num1 > num2) and (num1 > num3) ENTONCES mayor = num1
SI NO
SI (num2 > num1) and (num2 > num3) ENTONCES mayor = num2
SI NO
mayor = num3 FIN-SI
FIN-SI
IMPRIMIR mayor FIN
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 5 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
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.
INICIO
LEER ht, pph
SI ht < = 40 ENTONCES tp = ht * pph SI NO
he = ht - 40
SI he < = 8 ENTONCES pe = he * pph * 2 SI NO
pd = 8 * pph * 2 pt = (he - 8) * pph * 3 pe = pd + pt
FIN-SI
tp = 40 * pph + pe FIN-SI
IMPRIMIR tp FIN
4) 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 siguiente tabla:
Tiempo Utilidad
Menos de 1 año 5 % del salario
1 año o mas y menos de 2 años
7% del salario
2 años o mas y menos de 5 años
10% del salario
5 años o mas y menos de 10 años 15% del salario
10 años o mas 20% del salario
INICIO
LEER sm, antig
SI antig < 1 ENTONCES util = sm * 0.05 SI NO
SI (antig > = 1) and (antig < 2) ENTONCES util = sm * 0.07
SI NO
SI (antig > = 2) and (antig < 5) ENTONCES util = sm * 0.10
SI NO
SI (antig > = 5) and (antig < 10) ENTONCES util = sm * 0.15
SI NO
util = sm * 0.20 FIN-SI
FIN-SI FIN-SI
FIN-SI
IMPRIMIR util FIN
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 6 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
INICIO LEER tc, b$
SI b$ = ‘blanca’ ENTONCES d=0
SI NO
SI b$ = ‘verde’ ENTONCES d=tc*0.10
SI NO
SI b$ = ‘amarilla’ ENTONCES d=tc*0.25
SI NO
SI b$ = ‘azul’ ENTONCES d=tc*0.50
SI NO d=tc FIN-SI FIN-SI FIN-SI FIN-SI
FIN
6) 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.
INICIO
LEER edad,ant
SI edad >= 60 and ant < 25 ENTONCES IMPRIMIR “la jubilación es por edad”
SI NO
SI edad >= 60 and ant > 25 ENTONCES IMPRIMIR “la jubilación es por edad adulta”
SI NO
SI edad < 60 and ant > 25 ENTONCES
IMPRIMIR “la jubilación es por antigüedad joven” SI NO
iMPRIMIR “no tiene por que jubilarse” FIN-SI
FIN-SI FIN-SI FIN
III) PROBLEMAS HACER PARA
1) Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Herramientas Informáticas.
INICIO Sum=0 LEER Nom
HACER para c = 1 a 7 LEER calif
Sum = sum + calif FIN-PARA
prom= sum /7 IMPRIMIR prom FIN.
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 7 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
INICIO
HACER para n = 1 a 10 LEER num
cubo = num * num * num cuarta = cubo * num IMPRIMIR cubo, cuarta FIN-PARA
FIN.
3) Leer 10 números e imprimir solamente los números positivos
INICIO
HACER para n = 1 a 10 LEER num
SI num > 0 ENTONCES IMPRIMIR num FIN-SI
FIN-PARA FIN.
4) Leer 20 números e imprimir cuantos son positivos, cuantos negativos y cuantos neutros.
INICIO cn = 0 cp = 0 cneg = 0
HACER para x = 1 a 20 LEER num
SI num = 0 ENTONCES cn = cn + 1 SI NO
SI num > 0 ENTONCES cp = cp + 1 SI NO
cneg = cneg + 1 FIN-SI
FIN-SI FIN-PARA
IMPRIMIR cn, cp, cneg FIN.
5) Leer 15 números negativos y convertirlos a positivos e imprimir dichos números.
INICIO
HACER para x = 1 a 15 LEER num pos = num * -1 IMPRIMIR num, pos FIN-PARA
FIN.
6) Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un día desde las 0:00:00 horas hasta las 23:59:59 horas.
INICIO
HACER para h = 1 a 23 HACER para m = 1 a 59
HACER para s = 1 a 59
IMPRIMIR h, m, s FIN-PARA
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 8 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
7) 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.
INICIO sum = 0 baja = 9999
HACER para a = 1 a 40 LEER calif sum = sum + calif
SI calif < baja ENTONCES baja = calif FIN-SI
FIN-PARA media = sum / 2 IMPRIMIR media, baja FIN
8) Calcular e imprimir la tabla de multiplicar de un número cualquiera. Imprimir el multiplicando, el multiplicador y el producto.
INICIO LEER num
HACER para X = 1 a 10 resul = num * x
IMPRIMIR num, “ * “, X, “ = “, resul FIN-PARA
FIN.
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 9 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
PROBLEMAS RESUELTOS POR DIAGRAMAS DE NASSI – SCHNEIDERMAN
I) PROBLEMAS SECUENCIALES
1) Diseñarun algoritmo para calcular el área y el perímetro de un rectángulo
Definición del problema
Calcular área y perímetro de un rectángulo
Análisis del problema
Para desarrollar este problema es necesario conocer las fórmulas para obtener tanto el área como el perímetro de un rectángulo.
Sea b = base y h = altura, las fórmulas a utilizar son:
Area = b * h
Perímetro = 2 * (b + h)
Datos de entrada: b y h (base y altura)
Datos de salida: área y perímetro
Procesos:
área = b * h
Perímetro = 2 * (b + h)
Diseño de la solución
INICIO
ENTERO: b, h, a, p
LEER b, h
a = b * h
p = 2 (b + h)
ESCRIBIR "área:", a
ESCRIBIR "perímetro:", p
FIN
2) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.
Definición del problema
Calcular porcentaje de hombres y mujeres en un grupo.
Análisis del problema
Datos a tener en cuenta: Número hombres Número mujeres Total estudiantes Porcentaje hombres Porcentaje mujeres
Datos de entrada: número hombres, número mujeres
Datos salida: porcentaje hombres, porcentaje mujeres
Procesos:
tot estudiantes = núm. hombres + núm. Mujeres
Porc.hombres = núm. Hombres / tot estudiantes*100
Porc.hombres = núm. mujeres / tot estudiantes*100
Diseño de la solución
INICIO
ENTERO: numm, numh, totest
REAL: porch, porcm
LEER numm, numh
totest = numm + numh
porcm = numm / totest * 100
porch = numh / totest * 100
ESCRIBIR "porcentaje mujeres:", porcm
ESCRIBIR "porcentaje hombres:", porch
FIN
3) Un profesor prepara tres cuestionarios para una evaluación final: A, B y C. Se sabe que se tarda 5 minutos en revisar el cuestionario A, 8 en revisar el cuestionario B y 6 en el C. La cantidad de exámenes de cada tipo se entran por teclado. ¿Cuántas horas y cuántos minutos se tardará en revisar todas las
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 10 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
Definición del problema
Calcular el tiempo, en horas y minutos, requerido para calificar exámenes.
Análisis del problema
Se tienen tres tipos de examen A, B, C y el tiempo en minutos requerido para cada tipo son:
A = 5 B = 8 C = 6
El tiempo en minutos debe ser convertido a horas:
1 hora = 60 minutos
Para pasar de minutos a horas se realiza operación división entera, para conocer los minutos excedentes se utiliza la operación módulo.
Datos de entrada: número exámenes tipo A, B y C
Datos de salida: horas y minutos requeridos
Procesos:
Total A = número tipo A * 5
Total B = número tipo B * 8
Total C = número tipo C * 6
Tiempo total = total A + total B + total C
Horas = tiempo total / 60
Minutos = tiempo total Mod 60
Diseño de la solución
INICIO
ENTERO: numa, numb, num, tota,totb, totc, totmin, horas, minutos
LEER numa, numb, numc
tota = numa * 5
totb = numb * 8
totc = numc * 6
totmin = tota + totb + totc
horas = totmin / 60
minutos = totmin Mod 60
ESCRIBIR "tardará:",horas, "horas y", minutos, "minutos"
FIN
II) PROBLEMAS CONDICIONALES
II.a) PROBLEMAS SELECTIVOS SIMPLES
1. Se desea un algoritmo para obtener el valor absoluto de un número
Definición del problema
Encontrar el valor absoluto de un número
Análisis del problema
Para encontrar el valor absoluto del número es necesario recordar que para los enteros positivos el valor es el mismo, mientras que para los enteros negativos es necesario cambiarlos de signo.
Datos de entrada: número
Datos de salida: valor absoluto
Proceso:
número = número * (-1)
Diseño de la solución
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 11 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
Definición del problema
Identificar el mayor y menor de dos números
Análisis del problema
Datos de entrada: num1, num2
Datos salida: mayor, menor
Proceso: comparación
Diseño de la solución
3. Una empresa desea calcular los nuevos salarios de sus empleados de la siguiente forma: quienes ganan hasta $ 500.000 tendrán un incremento del 10%, quienes devengan más de $ 500.000 y hasta 800.000 recibirán un aumento del 8% y los demás del 5%. ¿Cuál será el valor del aumento? ¿Cuál será el valor del nuevo sueldo?
Definición del problema
Calcular el valor a incrementar y el valor del nuevo sueldo de los empleados.
Análisis del problema
El porcentaje de incremento en el sueldo depende del valor del sueldo actual, los sueldos más bajos tienen un mayor incremento:
10% para sueldo <= $ 500.000
8% para $ 500.000 < sueldo <= $ 800.000 5% para sueldo > 800.000
Datos de entrada: sueldo
Datos de salida: aumento, nuevo sueldo Proceso:
aumento = sueldo * porcentaje donde porcentaje = 5, 8 o 10% nuevo sueldo = sueldo + aumento
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 12 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
II.b) DECISIÓN MÚLTIPLE
1) Una distribuidora de motocicletas tiene una promoción de fin de año que consiste en los siguiente. Las motos marca HONDA tienen un descuento del 5%, las de marca Yamaha del 8% y las Suzuki el 10%, las de otras marcas el 2%.
Definición del problema
Calcular el valor del descuento y el valor a pagar por la motocicleta.
Análisis del problema
Porcentaje descuento = 5% para motos Honda.
Porcentaje descuento = 8% para motos Yamaha
Porcentaje descuento = 10% para motos Suzuki
Porcentaje descuento = 2% para motos otras marcas
Datos de entrada: marca, valor
Datos de salida: descuento, valor a pagar
Proceso:
descuento = valor * porcentaje
Valor neto = valor - descuento
Diseño de la solución
III) PROBLEMAS CICLICOS
III.a) PROBLEMAS CICLO MIENTRAS
1) Crear un algoritmo para mostrar los números del 1 al 10.
Definición del problema
Mostrar listado de números de 1 a 10.
Análisis del problema
Datos de entrada: ninguno
Datos de salida: número
Proceso: ninguno
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 13 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
Este es un algoritmo muy trivial pero permite revisar la aplicación de la estructura de repetición Mientras. Lo primero a tener en cuenta es la declaración e inicialización de la variable: num = 1. En este caso no solo se está declarando una variable de tipo entero, sino también se está asignando un valor inicial, que será el primer número mostrado.
La condición con la cual se implementa el ciclo es num <= 10, dado que num inicia en 1, la primera vez que se encuentra la instrucción mientras, la expresión es verdadera, por tanto se ejecutan las instrucciones que aparecen al interior del ciclo. Después de haber mostrado el contenido de la variable num, éste cambia, se incrementa en 1.
2) Construir un algoritmo que permita leer n números y encontrar el valor promedio, el mayor y el menor
Definición del problema
Encontrar el promedio, el mayor y el menor de varios números
Análisis del problema
Para solucionar este problema, lo primero que hay que plantear es cómo se sabrá cuando terminar la lectura de datos, ya que no se especifica la cantidad de números que serán ingresados y en el planteamiento del problema no se da ninguna condición que permita saber cuando terminar el ciclo. Este tipo de problemas es muy común.
Hay dos formas de abordar este ejercicio, la primera consiste en preguntar al usuario con cuantos números desea trabajar y guardar dicho valor en una variable que se utilizará para establecer el ciclo. La segunda consiste en preguntar después de leer cada dato, si se desea ingresar otro. En este ejercicio se utilizará la primera estrategia.
Datos de entrada:
cantidad de números número
Datos de salida: promedio mayor menor Procesos:
suma = suma + número
promedio = suma / cantidad de números
Diseño de la solución
3. La serie Fibonacci comienza con los números: 0, 1, 1, 2, 3, 5, 8, 13, 21, ... Se requiere un algoritmo para generar los primeros 10 números.
Definición del problema: Generar los 10 primeros números de la serie fibonacci
Análisis del problema
La serie Fibonacci se genera a partir de dos valores iniciales que son el 0 y el 1, que al sumarse dan como resultado 1. El siguiente número se obtiene sumando el último número obtenido con el anterior, en este caso 1 + 1 = 2, luego será 2 + 1 = 3 y así sucesivamente.
Datos de entrada: ninguno Datos de salida: serie Fibonacci Procesos:
a = 0 b = 1 f = a + b
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 14 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
III.a) PROBLEMAS CICLO PARA
1) Crear un algoritmo que permita Imprimir los números del 1 al 10
Definición del problema Imprimir números del 1 al 10
Análisis del problema
Datos de entrada: ninguno
Datos de salida: números (1 ... 10)
Proceso: ninguno
f = a + b
Diseño de la solución
2) Construir un algoritmo que permita Imprimir los números del 5 al 50 con intervalos de 5.
Definición del problema
Imprimir números de cinco en cinco
Análisis del problema
Datos de entrada: ninguno
Datos de salida: números
Proceso: ninguno
Diseño de la solución
3) Construir un algoritmo tal que dado un número n mostre los números menores o igual a éste, en orden descendente.
Definición del problema: Imprimir números en orden descendente
Análisis del problema
Datos de entrada: número
Datos de salida: números
Proceso: ninguno
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 15 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
4) Construir un algoritmo que lea 10 números y muetre la sumatoria, el promedio, el número mayor y el número menor.
Definición del problema
Leer 10 números y sumarlos, determinar el promedio, el número menor y el número mayor.
Análisis del problema Datos de entrada:
número Datos de salida:
sumatoria promedio número menor número mayor Proceso:
suma = suma + número promedio = suma / 10
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 16 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
PROBLEMAS RESUELTOS POR DIAGRAMAS DE FLUJO
1) Construir un algoritmo que permita el ingresar dos números por teclado. El mismo deberá mostrar por pantalla el resultado del promedio de tales números.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese el 1º núm ero:", a
"Ingrese el 2º núm ero:", a
prom =(a+b)/2
"El Prom edio es: ", prom
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 17 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
2) Construir un algoritmo que permita el ingresar un lote de cuatro números por teclado. El mismo deberá mostrar por pantalla el resultado del promedio de tales números.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese el 1º núm ero:", a
"Ingrese el 2º núm ero:", a
prom =(a+b+c+d)/2
"El Prom edio es: ", prom
FIN "Ingrese el 3º
núm ero:", c
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 18 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
3) Construir un algoritmo que permita el ingresar un lote de “n” números por teclado. El mismo deberá mostrar por pantalla el resultado del promedio de tales números.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese la cantidad de
num eros a prom ediar", n
prom =sum /n
"El Prom edio es: ", prom
FIN "Ingrese el
siguiente núm ero", num
cant=cant+1
cant=n
1 1
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 19 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
4) Construir un algoritmo que permita ingresar por teclado un lote de “n” de números naturales, la cantidad “n” también debe ser ingresada por teclado antes del ingreso del lote. El algoritmo deberá determinar la cantidad de números pares ingresados, mostrar el resultado por pantalla y dar la posibilidad de ingresar un nuevo lote o terminar.
NOTA: Observar que la cantidad “n” y los números ingresados deben ser naturales por lo que deberán rechazarse aquellos datos que no satisfagan esta condición.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese la cantidad de num eros del lote", n
num =[num ]
a = (-1) ^ num
cant=n
a =1
r="S"
r="N"
FIN
cant=cant +1
"La cantidad de num pareses:" cont
cont=cont +1 2
1 "El num ero ingresado es
invalido"
1 "Ingrese el 2
siguiente num ero", num
"Desea reem pezar",r
3 3
"Opcion Invalida"
4
4
5
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 20 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
5) Construir un algoritmo que permita ingresar un lote de diez números por teclado. El mismo deberá mostrar por pantalla el menor de todos los números ingresados.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese el 1º núm ero",
m enor
"El num ero m enor es",
m enor
FIN "Ingrese el
siguiente num ero", num
num <m enor
m enor=num
cant=cant+1
cant=10
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 21 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
6) Construir un algoritmo que permita el ingreso de un lote de “n” números por teclado. La cantidad n también debe ser ingresada por teclado. El algoritmo deberá mostrar por pantalla el mayor de los números ingresados y su posición en el lote.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese el 1º núm ero",
m ayor
"El num ero m ayor es", m ayor; "y esta
en ",n; "lugar
FIN "Ingrese el
siguiente num ero", num
num >m ayor
m ayor=num
cant=n
1 1
cant=cant+1
cont=cont+1 "Ingrese la
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 22 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
7) Construir un algoritmo que permita ingresar las dimensiones de los segmentos de los lados de un triángulo. El algoritmo deberá clasificar dicho triángulo según sus lados y mostrar el resultado por pantalla.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese el 1º lado", a
"Ingrese el 2º lado", b
"Ingrese el 3º lado", c
a=b
a=c b=c
a=c
"El triangulo es equliatero" "El triangulo
es isosceles" "El triangulo
es escaleno"
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 23 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
8) Construir un algoritmo que permita ingresar las dimensiones de tres segmentos por teclado. Dicho algoritmo deberá determinar e informar si tales segmentos pueden formar o no un triángulo.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese el 1º segm ento", a
"Ingrese el 2º segm ento", b
"Ingrese el 3º segm ento", c
a=b
a=c
b=c
"Los segm entos si pueden form ar un triangulo"
FIN "Los segm entos
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 24 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
9) Construir un algoritmo que permita ingresar por teclado los coeficientes A, B y C de una ecuación cuadrática. El algoritmo deberá calcular y clasificar las raíces de dicha ecuación cuadrática y mostrarla por pantalla.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese el 1º Coeficiente", a
r=(b^2)-4.a.c
r>0
r=0
x1=((-b)+sqr(r))/2.a x1=((-b)-sqr(r))/2.a
x1=r x2=x1
"Las Raices son reales e iguales", x1 "Raices reales
y distintas, las raices son:"
"x1=" x1 "x2=" x2
"Ingrese el 1º Coeficiente", a
"Ingrese el 1º Coeficiente", a
e=(-b)/2.a i=sqr(-r)/2.a
"Raices com p.conj., las raices son:
"x1=", e, "+", i "x1=", e, "-, i
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 25 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
10) Construir un algoritmo que permita ingresar un número natural, calcule su factorial y lo muestre por pantalla.
NOTA: deberá rechazarse el ingreso del dato si no es un número natural.
DIAGRAMA DE FLUJO:
INICIO
Declarar Variables
Resetear Variables
"Ingrese el num ero a calcular", num
num =[num ]
b=num -abs(num )
b=0 1
"El num ero ingresado es
invalido" 1
2 2
I I = 1a num fact =1
fact =fact.i
I
"El Factorial de"; num ; "es:
"; fact
HERRAMIENTAS INFORMÁTICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 26 de26
P
rofe
so
r Carl
o
s
I.
V
iñ
o
les
11) Construir un algoritmo, que presente un menú en pantalla con las siguientes opciones: Resistencias en serie, Resistencias en Paralelo y Salir. Al seleccionar alguna de estas opciones, el programa deberá permitir el ingreso por teclado de una cantidad “n”de resistencias, también deberá permitir el ingreso por teclado de los valores de las resistencias y hacer las asociaciones correspondientes, mostrando el resultado por pantalla. En el caso de que se ingrese una opción invalida, se deberá rechazar y permitir el reingreso de una opción.
DIAGRAMA DE FLUJO:
INICIO
Dim ensionar Variables
Resetear Variables
"1. Res. Serie 2. Res. Paralelo
3. Salir"
"Ingrese su opción:", r
a=1
a=2
a=3
"Ingrese la cant. de res.", n
I
I "Ingrese la
res.", r
resp=resp+r
"La resistencia equivalente
es:", resp
FIN
I= 1 a n "Ingrese la cant.
de res.", n
I
I "Ingrese la
res.", r
div=div+(1/r)
"La resistencia equivalente
es:", resp I= 1 a n
resp=1/div
1
1 2
2 3
3
"La opcion ingresada es