You are on page 1of 18

PROBLEMAS RESUELTOS DE ALGORITMOS.

Profesor Freddy Muñoz

1.- Mostrar su nombre, sexo edad y estado civil, que son ingresados por teclado

ALGORITMO datopersonal
INICIO
CARACTER nombre[30], sexo, Ec
Entero edad
LEER nombre, sexo, edad, Ec // Ec = estado civil
MOSTRAR nombre, sexo, edad , Ec
FIN

2.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima tanto
el nombre como la edad

ALGORITMO edad
INICIO
CARACTER nombre[30].
Entero edad

LEER nombre, edad


MOSTRAR nombre, edad
FIN

3.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima, solo
si la persona es mayor de edad, el nombre de la persona.

ALGORITMO adulto
INICIO
CARACTER nombre
Entero edad
LEER nombre, edad
SI (edad >= 18) ENTONCES
MOSTRAR nombre
FINSI
FIN

4.-Ingresar por teclado el nombre y la edad de cualquier persona e imprima solo si


la persona es mayor de edad, el nombre de la persona, de lo contrario, imprima un
mensaje que diga: “no puede votar”.

ALGORITMO votar
INICIO
Cadena nombre
Entero edad
LEER nombre , edad
SI ( edad >= 18) ENTONCES
MOSTRAR nombre
SINO
MOSTRAR “no puede votar”
FINSI
FIN

5.- Ingresar por teclado el nombre, la edad y el sexo de cualquier persona e


imprima, solo si la persona es de sexo masculino y mayor de edad, el nombre de
la persona. NOTA: suponga que en el campo denominado sexo el número 1 es
masculino o el número 2 es femenino

ALGORITMO sex
INICIO
Cadena nombre
Entero sexo, edad
LEER nombre, sexo, edad
SI (sexo = 1) y (edad>= 18) ENTONCES
MOSTRAR nombre.
FINSI
FIN

6.- Ingresar por teclado el nombre, la edad, el sexo (1 o 2) y el estado civil de


cualquier persona e imprima solo si la persona es un hombre soltero mayor de
edad, el nombre de la persona. NOTA: en el campo de estado civil se graba el
número 1 en vez de soltero, el número 2 en vez de casado o el numero 3 en vez
de otro.

ALGORITMO hombsolt
INICIO
Cadena nombre
Entero edad, sexo, ec // ec =estado civil.
LEER nombre, edad, sexo, ec.
SI (sexo = 1) y (ec = 1) y (edad >= 18) ENTONCES
MOSTRAR nombre
FINSI
FIN

7.-Lea de un registro el nombre, la edad, el sexo y el estado civil de cualquier


persona e imprima, solo si la persona es hombre o mujer menor de edad o es
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 el nombre de la persona
solamente.

ALGORITMO mensaje
INICIO
CARÁCTER nombre[30], s, ec // s = sexo, e = edad
Entero, e // ec = estado civil
LEER nombre, e, s, ec
SI (s = “M”) o ((s = “F”) y (e < 18)) o ((s = “M”) y (ec = “C”)) ENTONCES
MOSTRAR nombre, “usted no se manda”
SINO
MOSTRAR nombre.
FINSI
FIN

8.-Ingrese un numero e imprima el numero y el valor absoluto del mismo.

ALGORITMO valorabsoluto
INICIO
Real , x, VA // {x es el numero}
LEER x
VA  abs (x)
MOSTRAR VA // VA es el valor absoluto
FIN
9.-Ingrese un número y calcule e imprima su raíz cuadrada. Si el numero es
negativo imprima el número y un mensaje que diga “tiene raíz imaginaria”

ALGORITMO RC
INICIO
Real ,num, RC
LEER num
SI (num >= 0) ENTONCES
RC  sqrt (num)
MOSTRAR RC
SINO
MOSTRAR “el”, num “tiene raíz imaginaria”
FINSI
FIN

10.-Ingrese dos números desde el teclado e imprima solo los positivos

ALGORITMO pos
INICIO
Real A, B
LEER A, B
SI (A>0) ENTONCES
MOSTRAR A
FINSI
SI (B>0) ENTONCES
MOSTRAR B
FINSI
FIN

11.-Ingrese dos números desde el teclado e imprima ambos números sólo si son
positivos

ALGORITMO numpos
INICIO
Real A, B
LEER A, B
SI (A>0) y (B>0) ENTONCES
MOSTRAR A, B
FINSI
FIN

12.-Ingrese dos números desde el teclado e imprima ambos números si por lo


menos uno de ellos es positivo

ALGORITMO num
INICIO
Real A ,B
LEER A, B
SI (A>0) o (B>0) ENTONCES
MOSTRAR A, B
FINSI
FIN

13.-Ingrese dos números desde el teclado e imprima ambos números solo si son
de diferente signo y distintos de cero

ALGORITMO signosop
INICIO
Real A, B
LEER A, B
SI ( A B ) y ( B0 ) ENTONCES
SI (A<0 ) y (B>0) o (A>0) y (B<0) ENTONCES
MOSTRAR A, B
FINSI
FINSI
FIN
14.-Ingrese dos números desde el teclado. Calcule la suma e imprima los números
leídos y la suma.

ALGORITMO sum
INICIO
Real, A, B, S // S, es la suma
LEER A, B
S A + B
MOSTRAR A, B, S
FIN

15.- Lea dos números de un mismo registro. Calcule la suma de los números.
Imprima los números leídos y sólo si suma es negativa. Imprímala también

ALGORITMO suma
INICIO
Real A, B, S // S es la suma
LEER A, B
SA+B
SI ( S < 0 ) ENTONCES
MOSTRAR A, B, S
SINO
MOSTRAR A, B
FINSI
FIN

16.- Lea dos números de un mismo registro y calcule el cociente de dividir el


primero por el segundo. Imprima el cociente. Si el segundo número es cero no
ejecute el cálculo e imprima un mensaje que diga : “la división no es posible”.

ALGORITMO cociente
INICIO
Real A, B , COC // COC es el cociente
LEER A, B
SI ( B = 0) ENTONCES
MOSTRAR “la división no es posible”
SINO
COC  A / B
MOSTRAR COC “es el cociente”
FINSI
FIN

17.- Leer de un mismo registro el nombre de un empleado, su salario básico por


hora y el número de horas trabajadas en el mes. Calcular su salario mensual e
imprimir tanto el nombre como su salario mensual
ALGORITMO salario
INICIO
Cadena nombre
Real SxH, SM // SxH es salario por hora, SM, salario mensual
Entero HT // HT es el número de horas trabajadas
LEER nombre SxH, HT
SM  SxH * HT
MOSTRAR nombre, SM
FIN

18.- Leer un número y calcular el 5% del número leído. Obtener tanto el número
como el porcentaje calculado
ALGORITMO porciento
INICIO
Real Num , PC // PC es el porcentaje
LEER , Num
PC  (5/100) * Num
MOSTRAR PC, Num
FIN

19.- Leer de un registro el nombre de un empleado, su salario básico por hora, el


número de horas trabajadas en el período y el porcentaje de retención en la
fuente. Calcular el salario bruto, el valor de la retención y su salario neto.

ALGORITMO retencion
INICIO
Real SxH, P, R, SB, SN, HT // SxH salario por hora, P porcentaje de
retención, R Retención, SB Salario
bruto, SN salario neto, HT, horas
trabajadas.
Cadena, nombre
LEER nombre Sxh, HT, P
SBSxH * HT
R(P*SB)/100
SNSB-R
MOSTRAR SB, R, SN, nombre
FIN

20.-Para un salario bruto hasta de $1.500, no hay retención. Para un salario bruto
de $1500 a $ 3.000 el porcentaje de retención es de 5%. Para un salario bruto
mayor de $3000 el porcentaje de retención es 8%. Obtener el nombre del
empleado, el salario bruto, el valor de la retención y el salario neto. Se debe leer el
nombre y el salario.

ALGORITMO salarioneto
INICIO
Cadena, nombre
Real, SB, SN, Ret // SB salario bruto, SN salario neto, Ret retención
LEER nombre , SB
SI (SB <= 1500) ENTONCES
Ret  0
SINO
SI ( SB > 3000) ENTONCES
Ret(8/100) * SB
SINO
Ret (5/100)*SB
FINSI
FINSI
SN SB - Ret
MOSTRAR nombre, SB, Ret, SN
FIN

21.- Leer de un registro el nombre de un empleado , el salario básico por hora y el


número de horas trabajadas durante una semana. Calcular el salario neto,
teniendo en cuenta que si el número de horas trabajadas durante la semana es
mayor de 48, esas horas demás se consideran horas extras y tienen un 35 % de
recargo. Imprima el nombre del empleado y el salario neto.

ALGORITMO sueldoneto
INICIO
Real, Sb, Ht, SN, Sextr, Extr // Sb salario por hora, Ht horas trabajadas,
Extr hora extra
// SN salario neto, Sextr, salario por hora extra
CARÁCTER, Nombre[30]
Constante, Tr = 0.35 // Tr tasa de recargo
LEER nombre, Sb, Ht,
SI ( Ht>48) ENTONCES
ExtrHt-48
Sextr Sb+Sb*Tr
SN(48*Sb) + (Extr*Sextr)
SINO
SNSb*Ht
FINSI
MOSTRAR nombre, SN
FIN

22.-Obtenga los 100 primeros números naturales.

ALGORITMO ciennum
INICIO
Entero, i
PARA i 1 HASTA i 100 HACER
MOSTRAR i
FINPARA

23.- Obtener los números pares comprendidos entre 1 y 1000

ALGORITMO numpar
INICIO
Entero i
PARA i 2 HASTA i  1000 INC = 2 HACER
MOSTRAR i
FINPARA
FIN

24.- Leer de un registro un número entero positivo y obtener los múltiplos de 3


comprendidos entre 1 y el número leído.

ALGORITMO mult3
INICIO
Entero i, N
LEER N
PARA i 1 HASTA i  N HACER
SI (i MOD 3 = 0) ENTONCES
MOSTRAR i
FINSI
FINPARA
FIN

25.- Lea los veinte primeros registros de un archivo, cada uno de los cuales
contienen un nombre. Imprimir los nombres.

ALGORITMO nombre
INICIO
Entero, i
CARACTER nombre[30]
PARA i 1 HASTA i 20 HACER
LEER nombre
MOSTRAR nombre
FINPARA
FIN

26.- Leer varios registros cada uno de ellos, conteniendo un nombre. El número de
estos registros se encuentra grabado en un registro que precede a los anteriores.
Imprimir cada uno de los hombres leídos.

ALGORITMO nombres
INICIO
CARACTER nombre
Entero i, N
LEER NReg
PARA i1 HASTA iNReg HACER
LEER nombre
MOSTRAR nombre
FINPARA
FIN

27.- Leer un conjunto de registros cada uno de ellos conteniendo el código y el


nombre de cada uno de los estudiantes de la universidad. El último registro del
conjunto (registro centinela) contiene el código 9999999 y es utilizado sólo para
chequear el final de los registros. Imprima cada uno de los códigos leídos.
Lógicamente la información del registro centinela no se imprime porque no
pertenece a ningún estudiante.

ALGORITMO estudiante
INICIO
Entero cod // cod es el código.
CARACTER nombre[30]
LEER cod, nombre
MIENTRAS (cod  9999999) HACER
MOSTRAR cod , nombre
LEER cod, nombre
FINMIENTRAS
FIN

28.-Imprimir cuatro columnas. En la primera columna, los enteros del 1 al 50 . En


las otras columnas, la segunda, la tercera y la cuarta potencia de los enteros de la
primera columna

ALGORITMOpotencia
INICIO
Entero , i , pot2, pot3, pot4
PARA i 1 HASTA i 50 HACER
pot2 sqr ( i )
pot3 pot2 * i
pot4 pot2 * pot2
MOSTRAR i , pot2, pot3, pot4
FINPARA
FIN

29.- Calcule la suma de los100 primeros números naturales

ALGORITMO suma
INICIO
Entero suma, i
suma  0
PARA i 1 HASTA i  100 HACER
suma suma + i
FINPARA
MOSTRAR suma
FIN

30.- Obtener la suma de los números pares comprendidos entre 1 y 100

ALGORITMO sum
INICIO
Entero i , suma
suma  0
PARA i  2 HASTA i 100 INC = 2 HACER
suma  suma + i
FINPARA
MOSTRAR suma
FIN

31.- Encuentre la calificación promedio para un gran número, aunque


desconocido, de calificaciones de exámenes. Estas vienen grabadas en registros.
La calificación más alta posible es 10.0

ALGORITMO calificación
INICIO
Real calificación, Promedio, Totcal //Totcal suma de las calificaciones,
Entero, n // n es el número de calificaciones
Totcal  0
n0
LEER calificación
MIENTRAS (calificacion >=0 y calificación <= 10 ) HACER
Totcal  Totcal + calificación
n n + 1
LEER calificación
FINMIENTRAS
Promedio Totcal / n
MOSTRAR Promedio
FIN

32.-Leer una serie de números. Encontrar el valor absoluto (magnitud) de cada


número. Imprimir tanto los números como sus valores absolutos. Use centinela
999

ALGORITMO valorabsoluto
INICIO
Real num, VA, // VA valor absoluto, num número
LEER num
MIENTRAS (num  999) HACER //999 es el valor centinela
VA  abs ( num)
MOSTRAR VA “es el valor absoluto de” num
LEER num
FINMIENTRAS
FIN

33.- Leer una serie de números. Obtener el cuadrado y el cubo de cada número e
imprimir tanto los números como sus cuadrados y sus cubos.

ALGORITMO potencia
INICIO
Real num, cuadrado, cubo
LEER num
MIENTRAS (num  -999) HACER //-999 valor centinela
cuadradosqr ( num )
cubo cuadrado*num
MOSTRAR cuadrado, cubo,num
LEER num
FINMIENTRAS
FIN

34.- Leer una serie de pares de números y obtener de cada par el número mayor.
Imprima un mensaje especial si los números son de igual valor. Los numeros son
precedidos por la cantidad de registros

ALGORITMO mayornum
INICIO
Real A, B
LEER nreg
PARA i 1 HASTA i  nreg HACER
LEER A, B
SI (A = B) ENTONCES
MOSTRAR A, B, “son iguales”
SINO
SI ( A>B) ENTONCES
MOSTRAR A “es el mayor”
SINO
MOSTRAR B “es el mayor”
FINSI
FINSI
FINPARA
FIN

35.- Leer una serie de grupos de tres números y obtener el número mayor y el
número menor de cada terna. Escriba un mensaje si por lo menos dos de cada
tres números son iguales.
ALGORITMO ternasmayormenor
INICIO
Real A, B, C
Entero, cant
MOSTRAR "ingrese la cantidad de ternas"
LEER cant
PARA i1 HASTA icant HACER
LEER A, B, C
SI (A=B) o (B=C) o (A=C) ENTONCES
MOSTRAR "por lo menos 2 de los 3 números son ="
SINO
MENA
SI (B<MEN) ENTONCES
MENB
FINSI
SI (C<MEN) ENTONCES
MENC
FINSI
MOSTRAR MEN "es el menor"
MAYA
SI (B > MAY) ENTONCES
MAYB
FINSI
SI (C > MAY) ENTONCES
MAYC
FINSI
MOSTRAR MAY "es el mayor"
FINSI
FINPARA
FIN

36.-Identifique y obtenga el número medio de un conjunto de tres números únicos.


EL número medio es aquel que no es el menor ni el mayor.

ALGORITMO numeromedio
INICIO
Real A, B, C.
MOSTRAR "ingrese tres números distintos"
LEER A, B, C
SI ( A>B) ENTONCES
SI (A>C) ENTONCES
SI (B>C) ENTONCES
MEDB
SINO
MEDC
FINSI
SINO
MEDA
FINSI
SINO
SI (B>C) ENTONCES
SI (A>C) ENTONCES
MEDA
SINO
MEDC
FINSI
SINO
MEDB
FINSI
FINSI
MOSTRAR MED "es el número medio"
FIN
37.- El Dane está interesado en saber el número de personas mayores de 18
años, tanto hombres como mujeres en la ciudad de Medellín . Calcule e imprima el
resultado de esta investigación. Se deben leer registros que contiene cada uno el
sexo y el número de años.

ALGORITMO dane
INICIO
Entero edad, h, m, sexo
h 0
m0
LEER edad , sexo
MIENTRAS (edad  999)
SI (edad >= 18) y (sexo = 1) ENTONCES
hh + 1
SINO
SI (edad > = 18) y (sexo = 2) ENTONCES
mm + 1
FINSI
FINSI
LEER edad, sexo
FINMIENTRAS
MOSTRAR h, m
FIN

38.-Una tienda de libros y géneros diversos al menudeo ofrecen un descuento de


cortesía del 10% para profesores. Muestre como la computadora puede calcular e
imprimir el 10% de 1.00, 1.10, 1.20, etc hasta $25.00.

ALGORITMO menudeo
INICIO
Real, desc //desc es el descuento
Entero, i
i1.00
MIENTRAS (i < = 25.00) HACER
desc  0.10 * i
MOSTRAR desc
i  i + 0.10
FINMIENTRAS
FIN

39.-Un vendedor desea calcular su comisión total sobre la venta de varios


artículos. Al vendedor le corresponde el 5% de su comisión sobre artículos cuyo
precio es menor de $100 y el 7.5 % de comisión sobre aquellos artículos
cuyo precio es de $100 o más. Suponga que el vendedor hizo N ventas

ALGORITMO comisión
INICIO
Constantes
TC1 = 0,05
TC2 = 0.075
Entero N, i.
Real comision ,tcom, venta
men  0
may  0
MOSTRAR " ingrese el número de ventas que hizo "
LEER N
i1
MIENTRAS (i <= N ) HACER
LEER precio, nart
SI (precio< 100) ENTONCES
venta (nart*precio)
comision  venta * tc1
SINO
venta (nart*precio)
comision  venta * tc2
FINSI
tcom  tcom + comision
ii+1
FINMIENTRAS
MOSTRAR tcom
FIN
40.-Coldeportes de Antioquia está interesado en promover el básquetbol y para
ello desea conocer personas que tengan las siguientes características, edad
máxima: 18 años, estatura mínima: 1.80 metros, peso máximo: 80 kilos. Lea
identificación. Edad , estatura y peso. Use centinela identificacion 99999
ALGORITMO basquet
INICIO
Entero identificación, edad
Real, estatura, peso
LEER identificación, edad, estatura, peso
MIENTRAS (identificación  99999) HACER
SI (edad <= 18) y (estatura >=1.80 ) y (peso<=80) ENTONCES
MOSTRAR identificación, edad, estatura , peso
FINSI
LEER, identificación, edad, estatura, peso
FINMIENTRAS
FIN

41.-Lea de un mismo registro A, B, C (coeficientes de la ecuación cuadrática.


Calcule e imprima x1 y x2 (raíces de la ecuación ) Recuerde que x1 y x2 se
pueden calcular sólo sí a) B2 - 4. AC >= O b) A  0.

ALGORITMO ecuación
INICIO
Real, x1, x2 , A, B, C
LEER A, B, C
SI ( A  0 ) ENTONCES
Disc  sqr (B) – 4*A*C
SI (Disc >= 0) ENTONCES
X1( - B + sqrt(Disc) ) / (2*A)
X2( - B - sqrt(Disc) ) / (2*A)
MOSTRAR x1, x2
SINO
MOSTRAR “Tiene raices imaginarias”
FINSI
FINSI
FIN

42.-Se tienen registro con los datos de los estudiantes de una universidad, así:
código del estudiante, nombre del estudiante. Valor crédito del estudiante, número
de créditos tomados, valor del recargo en la matrícula. Se requiere leer los
registros e imprimir un listado con la siguiente información por estudiante: código,
nombre del estudiante, valor crédito, número de créditos, valor del recargo, valor
total pagado por estudiante. También se debe calcular e imprimir al final del listado
el total pagado por todos los estudiantes y el promedio por estudiante. Use codigo
de centinela = 9999

ALGORITMO pago
INICIO
Entero, código, n, ct // n, número de estudiantes, ct créditos
tomados
Real, vc, rec, totpag, p // vc valor crédito, ,rec valor de recargo,
totpag total pagado
CARÁCTER nombre[30]
n 0
totpag 0
LEER código, nombre, vc, ct, rec
MIENTRAS ( cod  9999) HACER
PE ( vc* ct) + rec
n n + 1
totpag  totpag + PE
MOSTRAR cod, nombre, vc, ct, rec, PE
LEER cod, nombre, vc, ct, rec
FINMIENTRAS
P totpag / n
MOSTRAR p,“es el promedio”
FIN

43.-Se tiene un conjunto de registros de los empleados de una compañía, cada


registro contiene los siguientes datos: número del empleado, nombre del
empleado, salario básico por hora, horas trabajadas en el mes, deducciones, Se
requiere leer los registros e imprimir un listado con la siguiente información por
empleado : número del empleado , nombre del empleado, salario básico por hora,
horas trabajadas, deducciones, salario mensual. También se debe calcular e
imprimir al final del listado, el total de salarios pagados a todos los empleados y el
promedio salarial por empleado.

ALGORITMO compañía
INICIO
Entero, num, i
// num, número del empleado, nov, nombre, sh salario por hora,
// ht, horas trabajadas,d, deducciones i, número de empleados, tot,
// Total pagado, SM, salario mensual, P, promedio salarial//,
Real, sh, ht, d, tot sm , p
CARÁCTER nomb [30]
i0
tot 0
LEER num, nomb, sh, ht, d
MIENTRAS ( num  9999) HACER
i i + 1
sm  (sh * ht) – d
tot  tot + sm
MOSTRAR num, nomb, sh, ht, d, sm
LEER num, nomb, sh, ht, d
FINMIENTRAS
MOSTRAR tot
itot/ i
MOSTRAR “p: ”P “es el promedio salarial por empleado”
FIN

44.-Calcular e imprimir los salarios que se adeudan a trabajadores, basados en


tasa a 1.5 veces la tasa regular, cuando Las horas trabajadas excedan de 40 por
semana

ALGORITMO salarios
INICIO
Real, ht, d, ext, t// ht, horas trabajadas, d deuda, sh salario básico por hora,
extr,
// horas extras, TD total de la deuda
LEER ht, sh
MIENTRAS (ht  0) HACER
SI (ht > 40) ENTONCES
Extr ht – 40
D  1.5 * extr * sh
MOSTRAR D
TD  TD + D
FINSI
LEER ht, Sh
FINMIENTRAS
MOSTRAR TD
FIN

45.- Dado que un peso de mañana tiene menor valor que un peso de hoy
(fenómeno económico que llamamos inflación) las empresas cuando calculan los
futuros ingresos transformados a pesos de hoy superan el monto de la inversión
hecha. La fórmula general para el cálculo del valor actual es:

VA = C / (1 + i) N donde: C es la cantidad del ingreso


i es la tasa de inflación
N son los años en consideración

Una empresa tiene información sobre la tasa de inflación, la inversión y los


ingresos calculados para diez años seguidos. Con ésta desea saber si al cabo de
dicho tiempo ha recuperado la inversión, hablando en pesos del día en que se
hace la misma

ALGORITMO inflación
INICIO
Entero, N
Real, VA,. C, inv, i, den
LEER i , inv , C, N
denexp( N * ln (1+i))
VA  C / den
SI ( VA > inv ) ENTONCES
MOSTRAR “recupera inversión”
SINO
MOSTRAR “ no recupera la inversión”
FINSI
MOSTRAR VA
FIN

You might also like