Está en la página 1de 6

PROGRAMACIÓN DE COMPUTADORAS I – CURSADA 1º AÑO

ACTIVIDAD PRÁCTICA ENTREGABLE NRO º 1

COMISIÒN B

INTEGRANTES:

Gabriel Avendaño
Gustavo Amaya

RESOLUCION

Parte 1 - Análisis y Diseño del problema

Problema Nro º 1

ANÁLISIS

Datos de Entrada: dia, mes, año de tipo enteros

Pre-condiciones: año >=1

mes>=1 y mes <=12

dia>=1 y dia<=28, 30 o 31 dependiendo del mes

Datos de Salida: nmagic de tipo entero

Post-condiciones: nmagic >0

Casos de Prueba:
28/02/2000 2000+2+28 = 2030=>2+0+3+0=5
09/09/2000 2000+9 +9 =2018 =>2+ 1+ 0+8 =11=> 1+1 =2
04/07/1988 1988+7+4= 1999=>1+9+9+9 = 28 => 2+ 8 = 10 =>1+0 = 1

Diseño de la solución en pseudocódigo:


Algoritmo nmagico

definir año Como Entero

definir mes Como Entero


definir dia Como Entero

definir suma como entero

definir n1 Como Entero

definir n2 Como Entero

definir nmagic Como Entero

escribir " ingrese año de nacimiento"

leer año

Mientras año<0

Repetir

escribir "año no valido"

escribir "ingrese año de nacimiento"

leer año

hasta que año>0

FinMientras

escribir " ingrese mes de nacimiento"

leer mes

mientras mes<0 o mes >12

Repetir

escribir "mes no valido"

escribir "ingrese mes de nacimiento"

leer mes

hasta que mes>0 y mes<=12

FinMientras

escribir " ingrese dia de nacimiento"


leer dia

si (mes=2) Entonces

mientras dia<1 o dia>28

Repetir

escribir "dia no valido"

escribir "ingrese dia de nacimiento"

leer dia

hasta que dia>0 y dia <29

Finmientras

FinSi

si (mes=4 o mes=6 o mes=9 o mes=11) Entonces

mientras dia<1 o dia>30

Repetir

escribir "dia no valido"

escribir "ingrese dia de nacimiento"

leer dia

hasta que dia>0 y dia <31

Finmientras

FinSi

si (mes=1 o mes=3 o mes=5 o mes=7 o mes=8 o mes=10 o mes=12) Entonces

mientras dia<1 o dia>31

Repetir

escribir "dia no valido"

escribir "ingrese dia de nacimiento"


leer dia

hasta que dia>0 y dia <32

Finmientras

FinSi

suma = año + mes + dia

mientras suma > 0 Hacer

n1 = n1+ (suma mod 10)

suma = trunc(suma/10)

FinMientras

mientras n1 > 0

n2 = n2 + (n1 mod 10)

n1 = trunc (n1/10)

FinMientras

mientras n2 > 0

nmagic = nmagic + (n2 mod 10)

n2 = trunc (n2/10)

FinMientras

escribir "su numero magico es: ",nmagic

FinAlgoritmo

Problema Nro º 2:

ANÁLISIS

Datos de Entrada: num de tipo entero

Pre-condiciones: num >= 0


Datos de Salida: numMasRepetido, MasVecesRepetido de tipo entero

Post-condiciones: numMasRepetido > 0

MasVecesRepetido > 0

Casos de Prueba:
89999666920 ------> “El número más repetido es el 9 y se ha repetido 4 veces”

44560 ---------------> “El número más repetido es el 4 y se ha repetido 2 veces”

Diseño de la solución en pseudocódigo

Algoritmo numeroRepetido

Definir numRepetido como entero

Definir vecesRepetido como entero

Definir numMasRepetido como entero

Definir masVecesRepetido como entero

Definir anterior como entero

numRepetido = 0

vecesRepetido = 1

numMasRepetido = 0

masVecesRepetido = 1

anterior = 0

mostrar "Ingrese números naturales uno a uno e ingrese el numero 0 para

finalizar el programa"

Leer num

mientras (num > 0)

Si (num == anterior)

numRepetido = num

vecesRepetido = vecesRepetido + 1
Si (vecesRepetido > masVecesRepetido)

masVecesRepetido = vecesRepetido

numMasRepetido = num

FinSi

SiNo

vecesRepetido = 1

FinSi

anterior = num

leer num

FinMientras

Mostrar "El número más repetido es el " numMasRepetido " y se ha repetido "
MasVecesRepetido " veces"

FinAlgoritmo

También podría gustarte