21 problemas de algoritmo resueltos
TRANSCRIPT
L os primero 6
1. Preguntar si se desea calcular el área de un cuadrado, un triángulo o un círculo y al final
mostrar en pantalla el valor del área de la figura respectiva.
Datos de entrada Variables
Cuadrado
Triangulo
circulo
3
1
2
Datos de salida Variables
Área de cuadrado
Área de triangulo
Área de circulo
A
A
a
Constantes Formulas
Inicio
Variables L,r,b,a, op,alt
Imprimir “1 para área del triangulo, 2 para área del circulo, 3 para área del cuadrado”
Leer op
si (op =1 ) entonces
imprimir “dar la base y altura”
leer b,alt
a=( b*alt) / 2
imprimir a
si (op = 2) entonces
imprimir “dar el radio”
leer r
a=π * rᶺ2
imprimir a
si (op = 3) entonces
imprimir “dar el lado”
leer L
a=L*L
imprimir a
fin
2 .-Dada la calificación de un alumno mostrar en pantalla si es aprobado siempre y cuando
tenga el 80% de sus asistencias, en caso de tener menos del 80% de asistencias se
mostrará reprobado aún cuando su calificación sea aprobatoria.
Datos de entrada Variables
Asistencia
calificación
AS
CAL
Datos de salida Variables
mensaje
Constantes Porcentaje de aprobacion
Inicio
Variables AS, CAL
Mostrar “dame tu asistencia”
Leer AS
Mostar “dame tu calificación”
Leer CAL
Si (as >= 80) entonces
Si cal>= 80 entonces
Imprimir “estas aprobado”
De lo contrario imprimir “estas reprobado”
Si (as < 80) entonces
Imprimir “estas reprobado”
Fin
3.- Leer tres números y decir cuál de ellos es el que tiene el valor intermedio.
Datos de entrada Variables
3 números X, y, z,
Datos de salida Variables
mensaje
Constantes
Inicio
Variables x,y,z
Mostrar “dame 3 números”
Leer x,y,z
Si [(x<y) y (y<z)] o [(z<y) y (y<x)] entonces imprimir y
Si [(y<x) y (x<z)] o [(z<x) y (x<y)] entonces imprimir x
De lo contrario imprimir z
Fin
4.- Leer tres números y decir cuál es el de valor mayor y el menor valor.
Datos de entrada Variables
3 numeros X, y, z,
Datos de salida Variables
mensaje
Constantes
Inicio
Variables x,y,z
Mostrar “dame 3 números”
Leer x,y,z
Si (x<y) y (y<z) entonces imprimir “el menor es ”x “y el mayor es”z
Si (x<z) y (z<y) entonces imprimir “el menor es ”x “y el mayor es”y
Si (y<x) y (x<z) entonces imprimir “el menor es ”y “y el mayor es”z
Si (y<z) y (z<x) entonces imprimir “el menor es ”y “y el mayor es”x
Si (z<x) y (x<y entonces imprimir “el menor es ”z “y el mayor es”y
Si (z<y) y (y<x) entonces imprimir “el menor es ”z “y el mayor es”x
Fin
5.- Leer tres números y decir cuál es el de valor mayor, el de valor intermedio, y el de valor
menor.
Datos de entrada Variables
Dame 3 números A, b, c
Datos de salida Variables
mensaje
Constantes
Inicio
Variables a, b, c,
Mostrar “dame tres números”
Leer a, b, c
Si (a> b) y (a>c) entonces
Imprimir a “es el mayor”
Si (b> c) y (b>a) entonces
Imprimir b “es el mayor”
Si (c> a) y (c>b) entonces
Imprimir c “es el mayor”
Si (a>b) y (a<c) entonces
Imprimir a “es el intermedio”
Si (b>c) y (b<a) entonces
Imprimir b “es el intermedio”
Si (c>a) y (c<b) entonces
Imprimir c “es el intermedio”
Si (a<b) y (a<c) entonces
Imprimir a “es el menor”
Si (b<c) y (b<a) entonces
Imprimir b “es el menor”
Si (c<a) y (c<b) entonces
Imprimir c “es el menor”
Fin
6.- Leer un número entre el 1 y el 10 e imprimir su equivalente en números romanos.
Datos de entrada Variables
numero núm.
Datos de salida Variables
mensaje Numeración romana
Constantes
Inicio
Variables núm.
Mostrar “dame un numero de 1 al 10”
Leer núm.
Si (núm. = 1) entonces
Imprimir “su valor en romano es I”
Si (núm. = 2) entonces
Imprimir “su valor en romano es II”
Si (núm. = 3) entonces
Imprimir “su valor en romano es III”
Si (núm. = 4) entonces
Imprimir “su valor en romano es IV”
Si (núm. = 5) entonces
Imprimir “su valor en romano es V”
Si (núm. = 6) entonces
Imprimir “su valor en romano es VI”
Si (núm. = 7) entonces
Imprimir “su valor en romano es VII”
Si (núm. = 8) entonces
Imprimir “su valor en romano es VIII”
Si (núm. = 9 entonces
Imprimir “su valor en romano es IX”
Si (núm. = 10) entonces
Imprimir “su valor en romano es X”
Fin
L os segundo problemas
1. A un trabajador le pagan según sus horas laboradas, si la cantidad de horas trabajadas es
mayor a 40 horas, la tarifa se incrementa en un 50% para las horas extras. Calcular el
salario del trabajador dadas las horas trabajadas y la tarifa.
Datos de entrada Variables
Horas trabajadas
Horas pagadas
Ht
p
Datos de salida Variables
sueldo s
Constantes
Inicio
Variables Ht, p, s,he
Pedir “horas trabajadas”
Leer
Th
Pedir “horas pagadas”
Leer
p
Si (Ht >40) entonces
he=ht-40
s=(40*t)+ (he*t(1.5))
Si (ht< 40) entonces
s=(ht*t)
Imprimir s
fin
2.-Dado un monto calcular el descuento considerando que por encima de 100 el
descuento es el 10% y por debajo de 100 el descuento es el 2%.
Datos de entrada Variables
Monto dado M
Datos de salida Variables
descuento d
Constantes Porcentaje de descuento
Inicio
Variables m,d
Pedir “ cuanto es tu monto” m
Leer m
Si m> 100 entonces
d= (m*.10)
Si m < 100 entonces
d= (m*.02)
Imprimir d
fin
3.- Leer una calificación de un alumno y determinar si obtuvo A, B, C o reprobó, El 10
equivale a una A, el 9 a una B, el 8 a una C y las demás es reprobado.
Datos de entrada Variables
calificaciones Cal
Datos de salida Variables
mensaje
Constantes
Inicio
Variables cal
Pedir “calificación” cal
Leer cal
Si cal=10 entonces
Imprimir “aprobaste con A”
Si cal=9 entonces
Imprimir “aprobaste con B”
Si cal=8 entonces
Imprimir “aprobaste con C”
Si cal<=7 entonces
Imprimir “reprobado”
Fin
4.- Leer tres calificaciones de un alumno y determinar su promedio, si el promedio es 10,
escribir en la pantalla tu promedio es A, si el promedio es B escribir tu promedio es B y si
el promedio es 8 escribir C, de lo contrario si la calificación es menor a 8 escribir
reprobado.
Datos de entrada Variables
calificaciones Cal1,Ca2,cal3
Datos de salida Variables
mensaje
Constantes
Inicio
Variables Cal1, Cal2, Cal3
Pedir “las tres calificaciones”
Cal1, cal2, cal3
Leer
Cal1, cal2, cal3
P= (Cal1+cal2+cal3)/3
Si P=10 entonces
Imprimir “obtuviste una” A
Si P=9 entonces
Imprimir “obtuviste una” b
Si P=8 entonces
Imprimir “obtuviste una” c
Si P<=7 entonces
Imprimir “reprobó”
Fin
5.-En un almacén se hace un 20% de descuento a los clientes cuya compra supere los
$1,000 ¿cuál será la cantidad que pagará una persona por su compra?
Datos de entrada Variables
Camisa compradas
co
Datos de salida Variables
Camisas pagados ca
Constantes
Inicio
Variables co ca
Pedir co
Leer co
Si co ˃ 1000 entonces
Ca= co-(co*0.20)
Si co˂ 1000 entonces
Ca= co
Imprimir ca
Fin
6.-Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran
tres camisas o más se aplica un descuento del 20% sobre el total de la compra y si son
menos de tres camisas un descuento del 10%
Datos de entrada Variables
Camisas comprada
Valor por camisa
cc
vc
Datos de salida Variables
Total a pagar tp
Constantes Porcentaje de descuento
Incio
Variables cc, vc, tp, pd, d
Mostrar”cuantas camisa vas a comprar”
Leer cc
Mostrar “cuánto cuesta una camisa”
Leer vc
Si cc ˃ 3 entonces
pd= cc*vc
d= pd*0.20
tp=pd-d
Si cc˂ 3 entonces
Pd=cc*vc
d=pd*0.10
Tp=pd-d
Imprimir tp
Fin
Los últimos problemas
1. Leer un número entero y determinar si tiene tres cifras.
Datos de entrada Variables
NUMERO ENTERO
NE
Datos de salida Variables
Mensaje de salida
Constantes
Inicio
Variables: NE
Leer: NE
Si (NE>=100) y (NE<1000) Entonces imprimir “tiene 3 cifras”
De lo contrario imprimir “el número no tiene tres cifras”
Fin
2. Leer un número entero menor a 1000 y determinar cuántos dígitos tiene
Datos de entrada Variables
NUMERO ENTERO
NE
Datos de salida Variables
Mensaje de salida
Constantes
Inicio
Variables: NE
Mostrar “Dame un número menor a 1000”
Leer: NE
Si (NE<1000) y (NE>=100) entonces imprimir “tiene tres dígitos”
Si (NE<100) Y (NE>=10) entonces imprimir “tiene dos dígitos”
Si (NE<10) y (NE>0) entonces imprimir “tiene un digito”
Fin
3. Leer dos números menores a 1000 y decir cuántos dígitos tienen entre los
dos números.
Datos de entrada Variables
NUMERO 1
NUMERO 2
N1
N2
Datos de salida Variables
Mensaje de salida
Constantes
Inicio
Variables: N1, N2, N3, N4, SUMA
Mostrar: “Dame dos números menores a 1000”
Leer: N1, N2
Si (N1<1000) y (N1>=100) entonces
N3=3
Si (N1<100) Y (N1>=10) entonces
N3=2
Si (N1<10) y (N1>0) entonces
N3=1
Si (N2<1000) y (N2>=100) entonces
N4=3
Si (N2<100) Y (N2>=10) entonces
N4=2
Si (N2<10) y (N2>0) entonces
N4=1
Suma= N3+N4
Imprimir “El número de cifras que tiene es “Suma
Fin
4. Leer un número menor a 1000, si el número tiene un digito elevarlo al
cuadrado y mostrar su resultado, por otro lado si el número es de dos dígitos
multiplicarlo por dos y mostrar su resultado, si el número es de tres dígitos restarle
cien y mostrar su resultado, finalmente si el número es cero, negativo o mayor a
tres dígitos mostrar la leyenda “Número no valido”.
Datos de entrada Variables
NUMERO 1 N1
Datos de salida Variables
Mensaje
Constantes
Inicio
Variables:
Mostrar: “Dame un número menor a 1000”
Leer: N1
Si (N1>=1000) Y (N1<=0) entonces
Imprimir “Numero no valido”
Si (N1<1000) y (N1>=100) entonces
Resta= N1-100
Imprimir Resta
Si (N1<100) Y (N1>=10) entonces
Multi=N1*2
Imprimir Multi
Si (N1<10) y (N1>0) entonces
Expo= N1^2
Imprimir Expo
Fin
5. Leer dos números enteros, restar el menor del mayor y mostrar el resultado.
Datos de entrada Variables
Numero 1
Numero 2
N1
N2
Datos de salida Variables
Resultado R
Constantes
Inicio
Variables: N1, N2, R
Mostrar: “Dame dos números enteros”
Leer: N1, N2
Si (N1>N2) entonces
R= N1-N2
Si (N1<N2) entonces
R= N2-N1
Imprimir R
Fin
6. Leer dos números si el primero es mayor mostrar la suma de los dos
números, por otro lado si el segundo es mayor elevar al cuadrado cada número,
sumarlos y mostrar su resultado, en caso de que los números sean iguales
mostrar la leyenda “los números son iguales”.
Datos de entrada Variables
Numero 1
Numero 2
N1
N2
Datos de salida Variables
Resultado R
Constantes
Inicio
Variables: N1, N2, R, R2, suma
Mostrar: “Dame dos números enteros”
Leer: N1, N2
Si (N1>N2) entonces
R= N1+N2
Imprimir R
Si (N1<N2) entonces
R= N1^2
R2= N2^2
Suma=R+R2
Imprimir Suma
Si (N1=N2) entonces
Imprimir “los números son iguales”
Fin
7.-El promedio de prácticas de un curso se calcula en base a cuatro prácticas calificadas de
las cuales se elimina la nota menor y se promedian las tres notas más altas. Diseñe un
algoritmo que determine la nota eliminada y el promedio de prácticas de un estudiante.
Datos de entrada Variables
calificaciones Cal1,Ca2,cal3,cal4
Datos de salida Variables
mensaje p
Constantes
Inicio
Variables cal1, cal2, cal3, cal4
Si ((cal1>cal2) y (cal2>ca3)) y (cal3>cal4) entonces
Promedio= (cal1+cal2+cal3)/3
Imprimir “el promedio es” p “la eliminada es” cal4
Si ((cal1>cal2) y (cal2>cal4)) y (cal4>cal3) entonces
Promedio= (cal1+cal2+cal4)/3
Imprimir “el promedio es” p “la eliminada es” cal3
Si ((cal1>cal4) y (cal4>ca3)) y (cal3>cal2) entonces
Promedio= (cal1+cal4+cal3)/3
Imprimir “el promedio es” p “la eliminada es” cal2
Si ((cal2>cal3) y (cal3>ca4)) y (cal4>cal1) entonces
Promedio= (cal4+cal2+cal3)/3
Imprimir “el promedio es” p “la eliminada es” cal1
Fin
8.-Diseñe un algoritmo que lea tres números y los imprima de mayor a menor y de menor
a mayor.
Datos de entrada Variables
números n1,n2,n3
Datos de salida Variables
mensaje
Constantes
Inicio
Variables n1, n2, n3
Mostrar “dame 3 números”
Leer n1, n2, n3
Si (n1>n2) y (n2>n3) entonces
Imprimir “de mayor al menor es” n1, n2, n3 “y del menor al mayor es” n3, n2, n1
Si (n1>n3) y (n3>n2) entonces
Imprimir “de mayor al menor es” n1, n3, n2 “y del menor al mayor es” n2, n3, n1
Si (n2>n3) y (n3>n1) entonces
Imprimir “de mayor al menor es” n2, n3, n1 “y del menor al mayor es” n1, n3, n2
Si (n2>n1) y (n1>n3) entonces
Imprimir “de mayor al menor es” n2, n1, n3 “y del menor al mayor es” n3, n1, n2
Si (n3>n1) y (n1>n2) entonces
Imprimir “de mayor al menor es” n3, n1, n2 “y del menor al mayor es” n2, n1, n3
Si (n3>n2) y (n2>n1) entonces
Imprimir “de mayor al menor es” n3, n2, n1 “y del menor al mayor es” n1, n2, n3
Fin
9.-Elabora un algoritmo que solicite la edad de dos hermanos y muestre un mensaje
indicando la edad del mayor y cuantos años de diferencia tiene con el menor.
Datos de entrada Variables
Edad mayor
Edad menor
EY
Em
Datos de salida Variables
Suma de edades
Mensaje
CF
Constantes
Inicio
Variables EY, Em, CF
Mostrar “dame dos edades”
Leer EY, Em
Si EY˃ EM entonces
CF=EY-EM
Imprimir “el mayor es” EY “y la diferencia es de” CF
Si Em˃ EY entonces
CF= Em -EY
Imprimir “el mayor es” Em “y la diferencia es de” CF
fin
r²
INICIO
L, r, B, Op, Alt, A
Op
Op=1 Alt, B
A=B*Alt/2
A
Si
Op=2 r
A
Op=3 L
A=L*L
A
Fin
Inicio
a, ar, x
X<80 a
X<80 na
Fin
x
Inicio
N1, n2, n3
N1, n2,
n3
(n1>n2) y
(n1>n3) N1
(n2>n1) y
(n2>n3) N2
(n3>n1) y
(n3>n2) N3
Fin
inicio
N1, n2, n3
N1, n2,
n3
(n1>n2) y
(n1>n3 N1
(n2>n1) y
(n2>n3)
(n1>n2)
y
(n1>n3
(n1>n2)
y
(n1>n3
N2
(n3>n1) y
(n3>n2) N3
1
(n1<n2) y
(n1<n3
N1
(n2<n1) y
(n2<n3)
(n1>n2)
y
(n1>n3
(n1>n2)
y
(n1>n3
(n<n1) y
(n3<n2)
N2
N3
fin
1
inicio
N1, n2, n3
N1, n2, n3
(n1>n2) y
(n1>n3) N1 es
mayor
(N2>N1)Y
(N2>N3)
N2 es
mayor
(N3>N1) Y
(N3>N2) N3 es
mayor
1
(n1<n2) y
(n1<n3)
(N2<N1)Y
(N2<N3)
(N3<N1) Y
(N3<N2)
N1 ES
MENOR
N2 ES
MENOR
N3 ES
MENOR
1
2
(N1 MAYOR
<N3) Y (N2
MENOR>N3)
(N2
MAYOR<N1) Y
(N3
MENOR>N1
(N3
MAYOR<N2) Y
(N1
MENOR>N2
N3
INTERMEDIO
N2
INTERMEDIO
N1
INTERMEDIO
FIN
2
INICIO
Y
y
(y>1) y
(y<10)
Mostrar su valor
Equivalente
en romano
fin
inicio
Hl, st
hl
(hl>40) St=hl*(.50)+hl
st
(hl<40) st
fin
inicio
M, de
m
m>100 De= m*(.10)
de
M<100 De= m*(.02)
de
fin
inicio
Ca, A, B, C, re
ca
Ca=10 A
Ca=9
Ca=8 C
B
Ca<=7 re
fin
inicio
Ca1, cal2, cal3
Cal1, cal2,
cal3
P=(cal1+cal2+cal3)/
3
P=10 Obtuviste A
P=9
P=8
Obtuviste B
Obtuviste C
1
P<=7
1
Obtuviste
reprobó
fin
inicio
Cc, cp
cc
Cc<1000 Cp= cc*(.20)
Cp=cc-(cc*(.20))
cp
fin
inicio
Cc, cp, pp,d, tp
Cc, pc
Cc>3 Cp=(cc*pc)
D= cp*(.20)
Tp= cp-d
tp
Cc<3 Cp=(cc*pc)
D= cp*(.10)
Tp= cp-d
tp
fin
inicio
ne
ne
Ç(ne>=100)
y (ne<1000) Tiene tres
cifras
No Tiene tres
cifras
fin
inicio
ne
ne
(ne<1000) y
(ne>=100) Tiene tres
cifras
(ne<100) y
(ne>=10) Tiene dos
cifras
(ne<10) y
(ne>=1) Tiene dos
cifras
fin
inicio
N1, n2
N1, n2
(n1<1000) y
(n1>=100) Nc1=3
(n1<100) y
(n1>=10)
Nc1=2
(n1<10) y
(n1>=1) Nc1=1
1
Nc2=2
1
Nc2=2
(n2<1000) y
(n2>=100)
(n2<100) y
(n2>=10)
(n2<10) y
(n2>=1)
Nc2=3
Nc2=2
Nc2=1
Suma (nc1+nc2)
suma
fin
inicio
N1
Mostrar número
menor a 1000
N1
N1>=1000
y n1<=0
Numero no
valido
N1<1000 y
n1>=100 N1-100
resta
N1<100 y
n1>=10 Multi=n1*2
1
1
multi
N1<10 y
n1>0
Expo= n1*n1
expo
fin
inicio
N1, n2, vf
N1, n2
(n1>n2) Mostrar es el mayor
n1
(n1<n2) Mostrar es el mayor
n2
Vf=
n1>n2
N1-n2
Vf=
n1<n2 N2-n1
1
N1-n2
1
N1-n2
Resultado de
resta
fin
inicio
N1, n2, r
N1, n2
N1>n2 R= n1+n2
r
N1<n2
R= n1*n1
R2= n2*n2
R, r2
N1=n2
Son iguales
fin
inicio
Ed1, ed2,, dif
Ed1, ed2
(Ed1<ed
2)
Es el mayor ed2
(Ed1>ed
2)
Es el mayor ed1
Dif= ed1-ed2
Dif=ed2-ed1
dif
fin