Algoritmos
Algoritmos
Integrantes:
Jorge Martínez
Edisson Roa
1 Diseñe una solución para resolver los siguientes problemas y trate de refinar sus soluciones
mediante algoritmos adecuados
Inicio
div=2, num
leer: num
Si(num<=3)
Sino
Mientras(div<num){
Si(num%div==0)
Hasta(div=num/2)
Sino
div++
Fin
(i)Calcular el tiempo transcurrido entre dos horas dadas en formato hh:mm de un mismo
dia
Inicio
Leer: h1
Leer: h2
Leer: m1
Leer: m2
the=(h1*60)+m1
ths=(h2*60)+m2
rm=(ths-the)
ht=(rmDIV60)
mt=(rm%60)
Presentar: “Horas”
Presentar: “Min”
Fin
Inicio
leer: primo
Mientras(div<primo)&&(cont<=30){
Si(div=primo/2)
acumulador = acumulador+primo
cont++
Sino
primo++
Presentar: “”
Fin
Inicio
Leer: fac
Leer: num
Leer: con
Mientras (cont<=num)
fact=(fact*cont)
cont++
Presentar: “Factorial”
Fin
3. Escriba un programa que obtenga tres números, los almacene y luego calcule y muestre un
reporte sobre su suma y promedio
Inicio
Leer: num1
Leer: num2
Leer: num3
num1=a
num2=b
num3=c
suma= a+b+c
prom= suma/3
Fin
Ax+by=c
Dx+ey=f
Inicio
Si (px==sx)&&(py==sy){
sx= (sx*-1)
sy=(sy*-1)
sr=(sr*-1)
Sino
sx=(sx*-px)
sy=(sy*-px)
sr=(sr*-px)
tx=px+sx
ty=py+sx
tx=pr+sr
y= tr/ty
px= px
py=py*y
pr=pr
x= pr-py
FIN
Inicio
Leer: num
Si (num%2)==0
Presentar: “El número es par”
Sino
Presentar: “El número es impar”
FIN
Inicio
Leer:
Num
Presentar: “El
Presentar: “El (num%2)==0 número No es
número es par” SI NO
par”
FIN
Inicio
Leer: num1, num2, mayor
Si(num>num2){
mayor=num1
Sino
mayor=num2
}
Presentar: “mayor”
FIN
Inicio
Leer:
num1,
num2,
mayor
mayor=num1 SI num1>num2 NO
mayor=num2
FIN
Este programa lo que haces es evaluar las variables y comprobar cuál de las dos variables es
mayor
Si es un buen programa porque es fácil de entenderlo, pero hay como optimizarlo y quitar un
proceso que es incensario en el diagrama.
INICIO
a,b
x=a>b
SI x=(b>a) NO
“b es mayor “a es mayor
que a” que b”
FIN
Inicio
Leer: año
Si (año%4)== 0
Sino
Fin
10. Realice un programa para encontrar los 100 primeros números perfectos.
Inicio
Leer: b=1,a, k, l, p
For K=2,700,1
a=0
For l= l,k,l
Si (K/l)==0
a =a+1
si (a-k)=k
p=k
b= b+1
sino
Fin
Sino
Fin
Fin For
FIN
12. Leer dos números positivos a y b e imprimir los a primeros números primos si a < b. En
Inicio
Si(a<b)
Mientras (div<=a)&&(cont<=0)
Si(div=numero/2)
primo= num
Presentar: “primo”
cont++
Fin si
Fin Mientras
Sino
Mientras (cont<=b)
divisor: (cont*a)
Presentar: “ 1/divisor ”
cont++
FIN
14. Realice un diagrama de flujo que indique el procedimiento para hallar el máximo común
divisor de dos números enteros (MCD) por el algoritmo de Euclides
Inicio
Num1, Num2, r
“Diga dos
números ”
Num1,
Num2
Hasta
Num1<Num2 Num1=Num2 Num2=Num1 r= Num1-Num2 Num1=Num2 Num2=r
(Num1=Num2)
R=Num1
FIN
15. Efectuar el cálculo de la siguiente serie de números:
Inicio
Leer: n, r, producto=1
Mientras (n<20)
producto= producto*n
r= 1/ producto
Fin
24. Obtener el número en sistema binario que corresponda a un número en sistema decimal
introducido desde un dispositivo de E/S.
Inicio
Repetir
num%2
Mod= A[i]
Hasta (num=1)
Presentar: “A[j]”
Fin
7. Se tiene 3 jugadores que deben adivinar un número entero generado por la computadora
en forma aleatoria (entre 1 y 100). Los jugadores rotan tratando de adivinar el número. Gana
el jugador que adivina primero. Cuando el jugador da el número: si su distancia al número
que se desea adivinar está en los rangos presentados a continuación, la computadora
mostrará los siguientes mensajes.
[ 30 ... ∞) ‡ Frío
Inicio
Si (num<=10)
Si (num>=11)&&(num<=20)
Presentar: “Caliente”
Si (num>=21)&&(num<=30)
Presentar: “Tibio”
Sino
Presentar: “Frio”
Fin Si
FIN
a) B * A – B ^ 2 / 4 * C = 13,75
b) (A*B) / 3 ^ 2 = 2,22
3.11 Encontrar el valor de cada una de las siguientes expresiones o decir si no es una
expresión valida:
a) 9 – 5 – 3= 1
b) 2 div 3 + 3 / 5= 1,2
c) 9 div 2 / 5= 0,9
d) 7 mod 5 mod 3= 1
f) (7 mod 5) mod 3= 2
i) 12/ 2*3= 2
Inicio
Si ((num%2)==2)&&(num=<200)
s1= s1+num
num++
Presentar: s1
Sino ((num%2)==1)&&(num=<200)
s2=s2+num
num++
Presentar: s2
Fin
3.13 Leer una serie de números distintos de cero (el último número de la serie es -99) y
obtener el número mayor. Como resultado se debe visualizar el número mayor y un mensaje
de indicación de número negativo, caso de que haya leído un número negativo.
Inicio
Leer: n
Si(│n│>mayor)
mayor=n
Si (n<0)
positivo= Falso
Sino
positivo= True
Presentar: “mayor”
Si (positivo=falso){
Presentar: “negativo”
Fin
3.16 Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una
compra de un artículo determinado, del que se adquiere una o varias unidades. El IVA a
aplicar es del 15 por 100 y si el precio bruto (precio venta mas IVA) es mayor de 1000 euros,
se debe realizar un descuento del 5 por 100
Inicio
Leer: valorart
Leer: numart
valsiniva= (valorar*numart)
valconiva=(valsiniva+(valsiniva*15))
Si (valconiva>1000)
Valcondes=(valconiva-(valconiva*0.005))
Sino
FIN
Inicio
Si (num%2)==0
suma= suma+num
Sino
suma++
Hasta (num=100)
Presentar: “Suma”
Fin
3.23 Dados diez números enteros, visualizar la suma de los números pares de la lista,
cuantos números pares existen, y cuál es la media aritmética de los números impares.
Inicio
Si (num[actual%2]==0)
s1= s1+num-actual
contr=contr+1
num++
Sino
s2=s2+ num[actual]
num++
m= s2/ num[actua;]
Presentar: “suma”
Presentar “n”
Fin
Inicio
Si (num[actual]<15)
contr=contr+1
Fin si
contr==0
Si(num[actual]>50)
Contr=contr+1
Fin si
Contr==0
Si (num[actual]>25)&&(num[actual]<45)
contr=contr+1
Fin si
FIN