Guia 10 - Mamani Condori Edwin.
Guia 10 - Mamani Condori Edwin.
Guia 10
PRESENTADO POR:
CUSCO - PERÚ
Actividad 1.- Elaborar un algoritmo que utilizando función ordene en forma
ascendente 4 números ingresados.
A. Modulo principal
A.1. Analisis
i. Entender el problema
Entrada Resultado
n1 n2 n3 n4 =ordenar(n1,n2,n3,n4)
5 2 10 11 =ordenar(5,2,10,11)
3 8 6 12 =ordenar(3,8,6,12)
ii. Modelo
Leer n1
Leer n2
Leer n3
leer n4
ordenado=ordenar(n1,n2,n3,n4)
Escribir({El orden es {ordenado}”)
A.2. Diseñar
i. Pseudocodigo
Inicio {Imprime el orden que tienen los numeros ingresados}
{Leer datos}
Leer n1
Leer n2
Leer n3
leer n4
ordenado=ordenar(n1,n2,n3,n4)
Escribir(“El orden es {ordenado}”)
B. Modulo especifico
B.1. Analisis
i. Entender el problema
Entrada Resultado
a b c d ascendente
5 2 10 11 2,5,10,11
3 8 6 12 3,6,8,12
ii. Modelo
SI a<b , c<b,c<d,a<d y d< b entonces
Si a>c entonces
ascendente=”d,c,a,b”
Sino
ascendente=”a,c,b,d”
Si a<c y b<c:
Si a>b entonces
ascendente=”b,d,a,c”
Sino
ascendente=”a,b,c,d”
Si ,c<d y a<d entonces
Si c>d entonces
ascendente=”b,c,a,d”
Sino
ascendente=”d,c,b,a”
Si a<c y d<c:
Si a>d entonces
ascendente=”b,a,c,d”
Sino
ascendente=”a,b,c,d”
Si d<a y c<d entonces
Si c>d entonces
ascendente=”b,c,d,a”
Sino
ascendente=”c,b,a,d”
Sino
ascendente = “a,b,c,d”
Retornar ascendente
● Precondición
{ a,b,c d ∈ Z}
B.2. Diseñar
i. Pseudocodigo
FIN
# Modulo ordenar
def ordenar(a, b, c, d):
if a < b and c < b:
if a > c:
ascendente = f"{d},{c}, {a}, {b}"
else:
ascendente = f"{a}, {c}, {b},{d}"
elif a < c and b < c:
if a > b:
ascendente = f"{b}, {a}, {c},{d}"
else:
ascendente = f"{a}, {b}, {c},{d}"
elif b < a and c < a:
if c > b:
ascendente = f"{b}, {d} , {c}, {a}"
else:
ascendente = f"{c}, {b}, {a}, {d}"
elif a < d and d < c:
if a > d:
ascendente = f"{b}, {a}, {c},{d}"
else:
ascendente = f"{a}, {b}, {c},{d}"
elif b < d and c < d:
if c > d:
ascendente = f"{b}, {c}, {a},{d}"
else:
ascendente = f"{c}, {b}, {a},{d}"
else:
ascendente = f"{a}, {b}, {c}, {d}"
return ascendente
# Modulo principal
# Leer datos
n1 = int(input("Ingresa un numero:"))
n2 = int(input("Ingresa un numero:"))
n3 = int(input("Ingresa un numero:"))
n4 = int(input("ingrese un numero"))
D. Poner en funcionamiento
Actividad 2.- Elaborar un algoritmo que utilizando funciones determine el primo superior o
el primo inferior de un número ingresado
A. Modulo principal
A.1. Analisis
i. Entender el problema
4 si 1==1 hacer 5
prim_sup=
primo_superior(4)
4 si 2==2 hacer 3
prim_inf=primo_in
ferior(4)
ii. Modelo
si opcion==1 hacer
prim_sup= primo_superior(num)
si opcion==2 hacer
prim_inf=primo_inferior (num)
iii. Especificar requerimientos
● Datos
○ Variables de entrada
○ num: numero ingresado : tipo entero
○ Variables de salida
○ prim_sup: numero determinado si es superior o
inferior
● Precondición
{ num y opcion ∈ Z+}
● Acción que debe realizar el algoritmo:
{Determina el numero superior o el primo inferior de un
numero ingresado}
A.2. Diseñar
i. Pseudocodigo
Inicio {determinar el número primo superior o el inferior de un
número}
{leer datos}
leer num
{proceso}
leer opcion
si opcion==1 hacer
prim_sup= primo_superior(num)
{escribir resultado}
escribir(prim_sup)
si opcion==2 hacer
prim_inf=primo_inferior (num)
{escribir resultado}
escribir (prim_inf)
B)Modulo primo_superior
Analisis
1.1.-Entender problema
Modelo
num=num+1
mientras num>0 hacer
para cont=1,1<num hacer
cant_div=0
si num mod cont ==0 hacer
cant_div=cant_div+1
si cant_div==2
num=num
romper(break)
sino
num=num+1
variables axuliares:
num=acumulador de la estructura mientras:entero
cont: contador de la estructura repetitiva para: entero
variable de salida:
-Precondicion
{num>0}
-Accion
{determinar el primo superior o el primo inferior de un numero ingresado}
2-Diseño
funcion primo_superior (num: entero)
INICIO
num=num+1
mientras num>0 hacer
para cont=1,1<6 hacer
cant_div=0
si num mod cont ==0 hacer
cant_div=cant_div+1
si cant_div==2
num=num
romper(break)
sino
num=num+1
retornar num
FIN
C. Poner en funcionamiento
Actividad 3.- Elaborar un algoritmo que utilizado funciones halle el promedio de N
números ingresados, utilizando una función suma para acumular la suma de N
números
A. Modulo principal
A.1. Analisis
i. Entender el problema
2 suma(2) promedio=prome(2)
4 suma(4) promedio=prome(4)
ii. Modelo
Leer cantidad
promedio=prom(cantidad)
Escribir({“Tu promedio es de {Promedio}”)
○ Variables de salida
promedio:indica cual es el promedio de las
notas:entero
● Precondición
{cantidad ∈ Z+}
● Acción que debe realizar el algoritmo
Halla el promedio de n notas utilizando un funcion para la
suma de notas
A.2. Diseñar
i. Pseudocodigo
Inicio {Halla el promedio de n notas utilizando un funcion para la
suma de notas}
Leer cantidad
promedio=prom(cantidad)
Escribir({“Tu promedio es de {promedio}”)
B. Modulo especifico (suma)
B.1. Analisis
i. Entender el problema
Entrada Resultado
2 1 12 27
2 15
4 1 16 65
2 18
3 13
4 18
ii. Modelo
sum=0
j=1
Mientras j <=can :
{Leer notass}
Leer nota
j=j+1
sum=sum+nota
Retornar sum
○ Variables auxiliares
suma:alamcenador de la suma:entero
j:contador auxiliar:entero
○ Variables de salida
sum:indica la suma de las notas:entero
● Precondición
{ can ∈ Z+}
Mientras j <=can :
{Leer notass}
Leer nota
j=j+1
sum=sum+nota
Retornar sum
FIN
C. Modulo especifico (prom)
C.1. Analisis
i. Entender el problema
Entrada Resultado
n prome
2 suma(2)/2
4 suma(4)/4
ii. Modelo
prome = suma(n)/(n)
Retornar prome
○ Variables de salida
prome:indica el promedio de suma de notas:entero
● Precondición
{ can ∈ Z+}
C.2. Diseñar
i. Pseudocodigo
Retornar prome
FIN
D. Programar en lenguaje de programación
# Modulo suma
def suma(can):
sum = 0
j = 1
return sum
# Modulo promedio
def prom(n):
prome = suma(n) / n
return prome
# Modulo principal
cantidad = int(input("Cuantas notas tienes:"))
promedio = prom(cantidad)
E. Poner en funcionamiento
Actividad 4.- Elaborar un algoritmo que utilizando funciones determine si una fecha
ingresada es válida (datos de entrada 3 variables día, mes año)
A. Modulo principal
A.1. Analisis
i. Entender el problema
ii. Modelo
Leer dia
Leer mes
Leer anio
A.2. Diseñar
i. Pseudocodigo
Inicio {Determina si una fecha es valida o no}
Leer dia
Leer mes
Leer anio
Resultado
Entrada
d m a val_dia
2 29 2020 Verdadero
2 29 2021 Falso
ii. Modelo
Si (a MOD 4 == 0) y m==2
Si 0 < d <= 31 entonces
Retornar Verdadero
Sino
Retornar Falso
Sino
Si m==2 entonces
Si 0 < d <= 28 entonces
Retornar Verdadero
Sino
Retornar Falso
Sino
Si 0 < d <= 31 entonces
Retornar Verdadero
Sino
Retornar Falso
● Precondición
{ d ∈ Z+}
Entrada Resultado
m val_mes
2 Verdadero
14 Falso
ii. Modelo
Si 0 < d <= 12 entonces
Retornar Verdadero
Sino
Retornar Falso
● Precondición
{ m ∈ Z+}
C.2. Diseñar
i. Pseudocodigo
Entrada Resultado
a val_anio
1984 Verdadero
-15 Falso
ii. Modelo
Si 0 < a entonces
Retornar Verdadero
Sino
Retornar Falso
● Precondición
{ a ∈ Z+}
D.2. Diseñar
i. Pseudocodigo
def val_dia(d):
if 0 < d <= 31:
return True
else:
return False
def val_mes(m):
if 0 < m <= 12:
return True
else:
return False
def val_anio(a):
if 0 < a:
return True
else:
return False
# Modulo Proncipal
dia = int(input("Ingresa el dia:"))
mes = int(input("Ingresa el mes:"))
anio = int(input("Ingresa el año:"))
else:
print(f"La fecha {dia}/{mes}/{anio} es valida ")
F. Poner en funcionamiento