Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 23

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERÍA Y ARQUITECTURA

Guia 10

PRESENTADO POR:

● Mamani Condori Edwin

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}”)

iii. Especificar requerimientos


● Datos
○ Variables de entrada
n1:numero ingresado por teclado:entero
n2:numero ingresado por teclado:entero
n3:numero ingresado por teclado:entero
n4:numero ingresado por teclado:entero
○ Variables de salida
ordenado:indica cual es el orden de los
numeros:cadena
● Precondición
{ n1, n2, n3, n4 ∈ Z}
● Acción que debe realizar el algoritmo
Imprime el orden que tienen los numeros ingresados

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

iii. Especificar requerimientos


● Diccionario de variables
○ Variables de entrada
a:numero ingresado:entero
b:numero ingresado:entero
c:numero ingresado:entero
d:numero ingresando :entero
○ Variables de salida
ascendente:indica el orden de los numeros:cadena

● Precondición
{ a,b,c d ∈ Z}

● Acción que debe realizar el algoritmo


Ordenar 4 numeros ingresados

B.2. Diseñar
i. Pseudocodigo

Funicion ordenar (a:entero,b:entero,c:entero):cadena


INICIO
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

FIN

C. Programar en lenguaje de programación

# 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"))

ordenado = ordenar(n1, n2, n3, n4)


print(f"El orden es {ordenado}")

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

Entrad proceso Resultado


a

num prim_sup prim_inf

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

Datos Proceso Resultado

num num=4+1 cant_div=0 num

4 mientras 5>0 hacer para cont=1,1<6 hacer 5


si cant_div==2 cant_div=0
num=num
romper(brake) si 5 mod 1==0 hacer
cant_div=0+1

para cont=5,5<6 hacer
si 5 mod 5==0 hacer
cant_div=1+1

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

1.2.-Especificación del algoritmo


-Diccionario de variables
datos:
num: paramentro de un numero ingresado: entero
resultado

variables axuliares:
num=acumulador de la estructura mientras:entero
cont: contador de la estructura repetitiva para: entero

variable de salida:

num=devuelve el valor del número considerado primo superior: entero

-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

B. Programar en lenguaje de programación

# Modulo PrimoI, función


def PrimoIf(x):
Num=x-1
cont=1
cont2=0
while cont <= Num:
if Num % cont == 0:
cont2 = cont2 + 1
cont = cont + 1
Num = Num - 1
if cont2 == 2:
return Num
break
# Modulo PrimoS , función
def PrimoSu(x):
for Num in range(x+1, 1000000000):
cont=1
cont2=0
while cont<=Num:
if Num%cont==0:
cont2=cont2+1
cont=cont+1
if cont2==2:
return Num
break
# Programa Principal
Num=int(input("Ingrese un número"))
opcion=int(input("Elija una de las dos opciones : 1 Primo inferior
2:Primo superior: "))
if opcion==1:
Resultado=PrimoI(Num)
if opcion==2:
Resultado=PrimoS(Num)
print(f"Respuesta: {Resultado}")

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

Entrada Proceso Resultado

cantidad suma(cantidad) promedio=prome(cantidad)

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}”)

iii. Especificar requerimientos


● Datos
○ Variables de entrada
cantidad:numero ingresado por teclado:entero

○ 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

can j nota sum

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

iii. Especificar requerimientos


● Diccionario de variables
○ Variables de entrada
can:numero ingresado:entero

○ 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+}

● Acción que debe realizar el algoritmo


Suma “can” notas ingresadas
B.2. Diseñar
i. Pseudocodigo

Funicion ordenar (can:entero):entero


INICIO
sum=0
j=1

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

iii. Especificar requerimientos


● Diccionario de variables
○ Variables de entrada
n:numero ingresado:entero

○ Variables de salida
prome:indica el promedio de suma de notas:entero

● Precondición
{ can ∈ Z+}

● Acción que debe realizar el algoritmo


Promedia la suma notas

C.2. Diseñar
i. Pseudocodigo

Funicion ordenar (n:entero):entero


INICIO
prome = suma(n)/(n)

Retornar prome
FIN
D. Programar en lenguaje de programación

# Modulo suma
def suma(can):
sum = 0
j = 1

while j <= can:


# Leer notas
nota = int(input(f"Nota #{j}:"))
j = j + 1
sum = sum + nota

return sum

# Modulo promedio
def prom(n):
prome = suma(n) / n
return prome

# Modulo principal
cantidad = int(input("Cuantas notas tienes:"))
promedio = prom(cantidad)

print(f"Tu promedio es de {promedio}")

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

Entrada Proceso Resultado

dia mes anio Si val_anio(anio) y val_mes(mes) y val_dia(dia)


entonces
Escribir(“La fecha{dia}/{mes}/{anio} no
es valida”)
Sino
Escribir(“La fecha{dia}/{mes}/{anio} es
valida”)

6351 11 222 Si val_anio(222) y val_me(11) y val_dia(6351)) La fecha 6351/11/222


entonces no es valida
Escribir(“La fecha{dia}/{mes}/{anio} no es
valida”)
Sino
Escribir(“La fecha{dia}/{mes}/{anio} es
valida”)

31 12 2021 Si val_anio(2021) y val_mes(12) y val_dia(31) La fecha 31/12/2021


entonces es valida
Escribir(“La fecha{dia}/{mes}/{anio} no es
valida”)
Sino
Escribir(“La fecha{dia}/{mes}/{anio} es
valida”)

ii. Modelo
Leer dia
Leer mes
Leer anio

Si val_anio(anio) y val_mes(mes) y val_dia(dia) == falso entonces


Escribir(“La fecha{dia}/{mes}/{anio} no es valida”)
Sino
Escribir(“La fecha{dia}/{mes}/{anio} es valida”)

iii. Especificar requerimientos


● Datos
○ Variables de entrada
dia:numero ingresado por teclado:entero
mes:numero ingresado por teclado:entero
anio:numero ingresado por teclado:entero
● Precondición
{dia, mes, anio ∈ Z+}
● Acción que debe realizar el algoritmo
Determina si una fecha es valida o no

A.2. Diseñar
i. Pseudocodigo
Inicio {Determina si una fecha es valida o no}

Leer dia
Leer mes
Leer anio

Si val_anio(anio) y val_mes(mes) y val_dia(dia) == falso entonces


Escribir(“La fecha{dia}/{mes}/{anio} no es valida”)
Sino
Escribir(“La fecha{dia}/{mes}/{anio} es valida”)
B. Modulo especifico (val_dia)
B.1. Analisis
i. Entender el problema

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

iii. Especificar requerimientos


● Diccionario de variables
○ Variables de entrada
d:numero ingresado:entero

● Precondición
{ d ∈ Z+}

● Acción que debe realizar el algoritmo


Valida el dia
B.2. Diseñar
i. Pseudocodigo

Función val_dia (d:entero):booleana


INICIO
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
FIN
C. Modulo especifico (mes)
C.1. Analisis
i. Entender el problema

Entrada Resultado

m val_mes

2 Verdadero

14 Falso

ii. Modelo
Si 0 < d <= 12 entonces
Retornar Verdadero
Sino
Retornar Falso

iii. Especificar requerimientos


● Diccionario de variables
○ Variables de entrada
m:numero ingresado:entero

● Precondición
{ m ∈ Z+}

● Acción que debe realizar el algoritmo


Valida el mes

C.2. Diseñar
i. Pseudocodigo

Funicion val_dia (m:entero):booleana


INICIO
Si 0 < d <=12 entonces
Retornar Verdadero
Sino
Retornar Falso
FIN
D. Modulo especifico (val_anio)
D.1. Analisis
i. Entender el problema

Entrada Resultado

a val_anio

1984 Verdadero

-15 Falso

ii. Modelo
Si 0 < a entonces
Retornar Verdadero
Sino
Retornar Falso

iii. Especificar requerimientos


● Diccionario de variables
○ Variables de entrada
a:numero ingresado:entero

● Precondición
{ a ∈ Z+}

● Acción que debe realizar el algoritmo


Valida el año

D.2. Diseñar
i. Pseudocodigo

Funicion val_anio (a:entero):booleana


INICIO
Si 0 < a entonces
Retornar Verdadero
Sino
Retornar Falso
FIN
E. Programar en lenguaje de programación

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:"))

if not (val_anio(anio) and val_mes(mes) and val_dia(dia)):


print(f"La fecha {dia}/{mes}/{anio} no es valida ")

else:
print(f"La fecha {dia}/{mes}/{anio} es valida ")
F. Poner en funcionamiento

También podría gustarte