You are on page 1of 14

TRABAJO DE ALGORITMOS.

1. Cdigo del programa Adivine el nmero



Proceso adivina_nmero
Escribir ' '
Escribir 'Bienvenido al juego adivine un nmero'
Escribir ' '
Escribir 'Nivel Bsico (1)'
Escribir 'Nivel Experto (2)'
Escribir ' '
Leer nivel //determina el nivel
secret<-azar(1000)+1 //genera el numero aleatorio
Repetir
//Determinar el nivel
Si nivel<1 o nivel>2 Entonces
Escribir 'Opcin incorrecta'
Escribir 'Ingrese nuevamente'
Sino
Escribir 'Calculando el nmero'
Escribir 'Para iniciar presione una tecla'
Escribir ' '
Esperar Tecla
Borrar Pantalla
intentos<-0 //guarda la informacion de los intentos realizados
//Nivel basico
Si nivel=1 Entonces
Escribir 'Ingrese un nmero'
Leer numero
Mientras numero<>secret Hacer
//pista (ayuda)
Si numero>secret Entonces
Escribir 'Muy Alto'
Sino
Escribir 'Muy Bajo'
FinSi
intentos<-intentos+1
Leer numero
FinMientras
Borrar Pantalla
Escribir ' '
Escribir '*******'
Escribir 'GANASTE'
Escribir '*******'
Escribir ' '
Escribir 'El nmero de intentos fue: ', intentos+1
Escribir 'El nmero secreto era: ', secret
Escribir ' '
FinSi //termina el nivel basico
//nivel experto
Si intentos=0 Entonces
Escribir 'Ingrese un nmero'
Leer numero
Mientras numero<>secret y intentos<4 Hacer
//pista (ayuda)
Si numero>secret Entonces
Escribir 'Muy Alto'
Sino
Escribir 'Muy Bajo'
FinSi
intentos<-intentos+1
Leer numero
FinMientras
Si numero=secret Entonces
Borrar Pantalla
Escribir ' '
Escribir '*******'
Escribir 'GANASTE'
Escribir '*******'
Escribir ' '
Escribir 'El nmero de intentos fue: ', intentos
Escribir 'El nmero secreto era: ', secret
Escribir ' '
Sino
Borrar Pantalla
Escribir 'PERDISTE'
Escribir 'El nmero secreto era: ', secret
Escribir ' '
FinSi
FinSi
FinSi
//Continuar?
Escribir "Jugar de nuevo? S/N";
Leer seguir;
//Obligar respuesta
Mientras ((seguir<>"n" y seguir<>"N") y (seguir<>"s" y seguir<>"S")) Hacer
Escribir "Digite S o N"
Leer seguir
FinMientras
Hasta que seguir = "n" o seguir = "N"
FinProceso

2. Cdigo del programa calculadora

Proceso calculadora
Repetir
Escribir '-----------'
Escribir 'CALCULADORA'
Escribir '-----------'
Escribir ' '
//opciones
Escribir 'Qu desea hacer:'
Escribir ' '
Escribir 'Sumar: (1)'
Escribir 'Restar: (2)'
Escribir 'Multiplicar (3)'
Escribir 'Dividir (4)'
Escribir 'Salir (0)'
Escribir ' '
Escribir 'Digite su opcin'
Leer user
salir<-Falso//opcion de salida
Segun user Hacer
1://suma
Limpiar Pantalla
Escribir 'Digite un nmero X'
Leer x
Escribir ' '
Escribir 'Digite un nmero z'
Leer z
Escribir 'Digite una tecla'
Esperar Tecla
//operacion
suma<-x+z
Escribir ' '
Escribir ' La suma de: ', x, ' + ', z, ' = ', suma
2://resta
Limpiar Pantalla
Escribir 'Digite un nmero X'
Leer x
Escribir ' '
Escribir 'Digite un nmero z'
Leer z
Escribir 'Digite una tecla'
Esperar Tecla
//operacion
menos<-x-z
Escribir ' '
Escribir ' La resta de: ', x, ' - ', z, ' = ', menos
3://multiplicacion
Limpiar Pantalla
Escribir 'Digite un nmero X'
Leer x
Escribir ' '
Escribir 'Digite un nmero z'
Leer z
Escribir 'Digite una tecla'
Esperar Tecla
//operacion
mult<-x*z
Escribir ' '
Escribir ' La multiplicacin de: ', x, ' * ', z, ' = ', mult
4://divicion
Limpiar Pantalla
Escribir 'Digite un nmero X'
Leer x
Escribir ' '
Escribir 'Digite un nmero z'
Leer z
Escribir 'Digite una tecla'
Esperar Tecla
//operacion
div<-x+z
Escribir ' '
Escribir ' La divicin de: ', x, ' / ', z, ' = ', div

0://salir
Limpiar Pantalla
salir<-verdadero
De otro modo:
Escribir 'Opcion no valida'
FinSegun
Hasta Que salir
FinProceso


3. Cdigo del programa nmero romano

Proceso Romanos
escribir 'CONVIERTA NUMEROS ENTEROS A ROMANOS'
Escribir "Ingrese un nmero entre 1 y 5000"
Leer Numero
SePuedeConvertir<-Verdadero
Si Numero=0 Entonces
Escribir "No existe ningn smbolo para representar el 0"
SePuedeConvertir<-Falso
FinSi
Si Numero<>trunc(numero) Entonces
Escribir "El nmero debe ser entero"
SePuedeConvertir<-Falso
FinSi
Si Numero>5000 Entonces
Escribir "Muy alto"
SePuedeConvertir<-Falso
FinSi
Si Numero<0 Entonces
Escribir "Debe ser positivo"
SePuedeConvertir<-Falso
FinSi
Si SePuedeConvertir Entonces
Si Numero=5000 Entonces
Escribir "V"
Sino
Dimension nu[10],nd[10], nc[10], nm[10]
nu[1]<-''; nu[2]<-'I'; nu[3]<-'II'; nu[4]<-'III'; nu[5]<-'IV'; nu[6]<-
'V'; nu[7]<-'VI'; nu[8]<-'VII'; nu[9]<-'VIII'; nu[10]<-'IX'
nd[1]<-''; nd[2]<-'X'; nd[3]<-'XX'; nd[4]<-'XXX'; nd[5]<-'XL';
nd[6]<-'L'; nd[7]<-'LX'; nd[8]<-'LXX'; nd[9]<-'LXXX'; nd[10]<-'XC'
nc[1]<-''; nc[2]<-'C'; nc[3]<-'CC'; nc[4]<-'CCC'; nc[5]<-'CD';
nc[6]<-'D'; nc[7]<-'DC'; nc[8]<-'DCC'; nc[9]<-'DCCC'; nc[10]<-'CM'
nm[1]<-''; nm[2]<-'M'; nm[3]<-'MM'; nm[4]<-'MMM'; nm[5]<-
'IV';
unidadesdemil<-trunc(numero/1000)mod 10
centenas<-trunc(Numero/100)mod 10
decenas<-trunc(Numero/10)mod 10
unidades<-Numero mod 10
Escribir
nm[unidadesdemil+1],nc[centenas+1],nd[decenas+1],nu[unidades+1]
FinSi
FinSi

FinProceso

4. Cdigo del programa convertir decimal

Proceso conversor
//define el vector
Dimension vec(50)
//ejecucion del programa
Repetir
Escribir 'Conversor de bases decimales octales y binarias'
Escribir ' '
Escribir '(1) Convertir de Decimal a Binario'
Escribir '(2) Convertir de Decimal a Octal'
Escribir '(3) Convertir de Binario a Decimal'
Escribir '(0) Salir -Exit-'
Escribir ' '
Escribir 'Seleccione su Opcin'
Leer sel
Segun sel Hacer
1://decimal a binario
Limpiar Pantalla
k<-1
Escribir 'Digite un nmero decimal (Base 10)'
Leer num
Escribir ' '
Escribir 'El nmero ', num, ' en base 2 (binario) es: '
Escribir ' '
Mientras num<>0 Hacer //guardar los binarios en un vector
vec
vec(k)<-(num mod 2)
num<-trunc (num/2)
Si num<>0 Entonces
k<-k+1
FinSi
FinMientras
Mientras k<>0 Hacer
Escribir Sin Saltar vec(k)
k<-k-1
FinMientras
Escribir ' '
2://decimal a octal
Limpiar Pantalla
k<-1
Escribir 'Digite un nmero decimal (Base 10)'
Leer num
Escribir ' '
Escribir 'El nmero ', num, ' en base 8 (octal) es: '
Escribir ' '
Mientras num<>0 Hacer //guardar los octales en un vector
vec
vec(k)<-(num mod 8)
num<-trunc (num/8)
Si num<>0 Entonces
k<-k+1
FinSi
FinMientras
Mientras k<>0 Hacer
Escribir Sin Saltar vec(k)
k<-k-1
FinMientras
Escribir ' '
3://binario a decimal
Limpiar Pantalla
k<-1
Escribir 'Digite un nmero binario (Base 2)'
Leer num
Escribir ' '
Escribir 'El nmero ', num, ' en base 10 (decimal) es: '
Escribir ' '
Mientras num<>0 Hacer //guardar los binarios en un vector
bin
vec(k)<-(num mod 10)
num<-trunc (num/10)
Si num<>0 Entonces
k<-k+1
FinSi
FinMientras
pot<-k-1
Mientras k<>0 Hacer
op<-vec(k)*2^pot
total<-total+op
k<-k-1
pot<-pot-1
FinMientras
Escribir total
Escribir ' '
0://salida
exit<-Falso
//evita errores de opcion
De Otro Modo:
Escribir 'Opcin no valida'
FinSegun
// Continuar en el programa
Si sel=0 Entonces
exit=Verdadero
Sino
Escribir ' '
Escribir ' '
Escribir 'Desea Continuar? S/N'
Leer cont
Mientras cont<>'n' y cont<>'N' y cont<>'s' y cont<>'S' Hacer
Escribir ' '
Escribir 'No es correto'
Escribir 'Digite S/N'
Leer cont
FinMientras
Si cont='n' o cont='N' Entonces
exit=Verdadero
FinSi
FinSi

Hasta Que exit=Verdadero
FinProceso

5. Cdigo del programa que simula el juego de los dados

Proceso dados

Escribir ' '
Escribir '--------------------------------'
Escribir 'Bienvenido al Juego de los DADOS'
Escribir '--------------------------------'
Escribir 'Para iniciar presione una tecla'
Escribir ' '
Esperar Tecla
Borrar Pantalla
//jugadores
Escribir 'Ingrese el nombre del jugador 1'
Leer user1
Escribir Sin Bajar 'Dinero:'; Leer dinner1
Mientras dinner1<500 Hacer
Escribir 'Es muy poco dinero ponga una cantidad mayor a 500'
Escribir 'Ingrese la cantidad a apostar'
Leer dinner1
FinMientras
Borrar Pantalla
Escribir 'Ingrese el nombre del jugador 2'
Leer user2
Escribir Sin Bajar 'Dinero:'; Leer dinner2
Mientras dinner2<500 Hacer
Escribir 'Es muy poco dinero ponga una cantidad mayor a 500'
Escribir 'Ingrese la cantidad a apostar'
Leer dinner2
FinMientras


exit<-Falso
Repetir
dado1<-azar(6)+1
dado2<-azar(6)+1
Limpiar Pantalla
Escribir user1
Escribir 'Presione una tecla para lanzar su dado'
Esperar Tecla
Escribir ' '
Escribir 'Cargando'
Esperar 0.5 segundo; Escribir sin bajar '*'
Esperar 0.5 segundo; Escribir sin bajar '*'
Esperar 0.5 segundo; Escribir sin bajar '*'
Esperar 0.5 segundo; Escribir sin bajar '*'
Esperar 0.5 segundo; Escribir sin bajar '*'
Escribir ' '
Escribir 'Resultado: ', dado1
Escribir ' '
Escribir user2
Escribir 'Presione una tecla para lanzar su dado'
Esperar Tecla
Escribir ' '
Escribir 'Cargando'
Esperar 0.5 segundo; Escribir sin bajar '*'
Esperar 0.5 segundo; Escribir sin bajar '*'
Esperar 0.5 segundo; Escribir sin bajar '*'
Esperar 0.5 segundo; Escribir sin bajar '*'
Esperar 0.5 segundo; Escribir sin bajar '*'
Escribir ' '
Escribir 'Resultado: ', dado2
Si dado1<dado2 Entonces //ganador dado2
dinner1<-dinner1-500
dinner2<-dinner2+500
Escribir ' '
Escribir ' '
Escribir 'Felicidades ', user2, ' gano $500'
Escribir 'nuevos saldos'
Escribir user1, ' saldo, ', dinner1
Escribir user2, ' saldo, ', dinner2
Sino
Si dado1>dado2 Entonces //ganador dado1
dinner1<-dinner1+500
dinner2<-dinner2-500
Escribir ' '
Escribir ' '
Escribir 'Felicidades ', user1, ' gano $500'
Escribir 'nuevos saldos'
Escribir user1, ' saldo, ', dinner1
Escribir user2, ' saldo, ', dinner2
Sino
Escribir ' '
Escribir ' '
Escribir 'Es un EMPATE'
Escribir 'Desea Lanzar de Nuevo?, S/N'
Leer cont
Mientras cont<>'n' y cont<>'N' y cont<>'s' y cont<>'S' Hacer
Escribir ' '
Escribir 'Su opcin no es valida, digite S/N'
Escribir 'Digite S/N'
Leer cont
FinMientras
Si cont='n' o cont='N' Entonces
exit=Verdadero
FinSi
FinSi
FinSi
Si dado1=dado2 Entonces
exit<-Falso
Sino
Si dinner1<500 Entonces
Escribir user1, ' Tienes un saldo insuficiente'
exit<-Verdadero
Sino
Si dinner2<500 Entonces
Escribir user2, ' Tienes un saldo insuficiente'
exit<-Verdadero
Sino
Escribir ' '
Escribir 'Desea Lanzar de Nuevo?, S/N'
Leer cont
Mientras cont<>'n' y cont<>'N' y cont<>'s' y
cont<>'S' Hacer
Escribir ' '
Escribir 'Su opcin no es valida, digite S/N'
Escribir 'Digite S/N'
Leer cont
FinMientras
Si cont='n' o cont='N' Entonces
exit=Verdadero
FinSi
FinSi
FinSi
FinSi
Hasta Que exit=Verdadero
FinProceso


6. Cdigo del programa mes y das

Proceso dias_mes
Escribir ' '
Escribir 'Ingrese un mes del ao en nmero'
Leer numero //determina el mes del ao
Si numero=01 Entonces
Escribir 'Enero, tiene 31 das'
sino
Si numero=02 entonces
Escribir 'escribir ao'
Leer ao
si ao mod 4=0 y ((ao mod 400=0) o (ao mod 100<>0))
Entonces
Escribir "Febrero, tiene 29 das"
Sino
escribir "Febrero, tiene 28 das"
FinSi

sino
si numero=03 entonces
Escribir 'Marzo, tiene 31 das'
Sino
si numero=04 Entonces
escribir 'Abril, tiene 30 das'
Sino
si numero=05 Entonces
escribir 'Mayo, tiene 31 das'
Sino
si numero=06 Entonces
escribir 'Junio, tiene 30
das'
sino
si numero=07 Entonces
escribir 'Julio, tiene
31 das'
Sino
si numero=08
Entonces
escribir
'Agosto, tiene 31 das'
Sino
si
numero=09 Entonces

escribir 'Septiembre, tiene 30 das'
sino
si
numero=10 Entonces

escribir 'Octubre, tiene 31 das'

Sino

si numero=11 Entonces

escribir 'Noviembre, tiene 30 das'

Sino

si numero=12 Entonces

escribir 'Diciembre, tiene 31 das'

Sino

escribir 'no corresponde a ningn mes del ao'

FinSi

FinSi

FinSi
FinSi
FinSi

FinSi

FinSi
FinSi
FinSi
FinSi
FinSi

Finsi

FinProceso








7. Cdigo del programa adivine la clave

Proceso clave
contador<-0
//interruptor
acierto<-Falso
//usamos un interruptor, cuando acertemos,
//cambiara y la condicion sera falsa
Mientras (contador<3 Y acierto=falso) Hacer
//ponemos aqui leer porque con las variables
//iniciales entra en el bucle
Escribir "introduce la contrasea de 5 digitos"
Leer contrasea
si contrasea="12345" Entonces
Escribir "la clave es correcta"
//el interruptor cambia cuando acertamos
acierto<-Verdadero
FinSi
contador<-contador+1
FinMientras
//este mensaje solo aparecera si hemos agotado
//todos los intentos y no hemos acertado
si (contador=3 Y acierto=falso) Entonces
Escribir "Ya no tienes mas intentos"
FinSi

FinProceso

8. Cdigo del programa calcular la serie

9. Cdigo del programa suma de los primeros cien nmeros

a. Ciclo mientras
Proceso sumatoria_mientras
c<-1
suma<-0
mientras c <= 100 Hacer
suma<-suma + c
c<-c+1
FinMientras
escribir 'la suma de los primeros 100 numeros es:'
escribir suma
FinProceso

b. Ciclo para
Proceso Sumatoria_para
c<-1
suma<-0
Para i<-1 Hasta 100 Con Paso 1 Hacer
suma<-suma + c
c<-c+1
Fin Para
escribir 'la suma de los primeros 100 numeros es:'
escribir suma
FinProceso

c. Ciclo repetir
Proceso sumatoria_repetir
c<-1
suma<-0
Repetir
suma<-suma+c
c<-c+1
Hasta Que c=101
escribir 'la suma de los primeros 100 numeros es:'
escribir suma
FinProceso

10. Cdigo del programa calcule el mayor y el promedio de n nmeros ledos
Proceso mayor_promedio
escribir 'cuantos numeros deseas introducir?:'
escribir x
leer x
con<-0
n<-0
suma<-0
maximo<-0
promedio<-0
Mientras con<x Hacer
escribir numero
leer n
si n>=0 Entonces
si n > maximo entonces
maximo = n
FinSi
suma<-suma+n
con<-con+1
sino
escribir 'numero negativo'
FinSi
Fin Mientras
promedio<-suma/x
escribir 'el mayor de los nmeros es:'
escribir maximo
escribir 'el promedio de los nmeros es:'
escribir promedio
FinProceso

11. Cdigo del programa men con opciones
Proceso menu
suma<-0
resta<-0
multiplicacin<-0
divisin<-0
escribir 'men con opciones'
escribir ' '
escribir '(1) leer dos nmeros enteros positivos'
escribir '(2) sumar los dos nmeros'
escribir '(3) restar primer nmero del segundo'
escribir '(4) multiplicar los dos nmeros'
escribir '(5) dividir el primer nmero del segundo'
escribir '(6) salir'
escribir ' '
escribir 'selecciones una opcin del men'
leer sel
Repetir
segun sel hacer
1://leer dos nmeros enteros positivos
escribir 'digite un nmero entero positivo'
leer num1
escribir 'digite un nmero entero positivo'
leer num2
si num1>=0 & num2>=0 Entonces
escribir 'el numero 1 es:'
escribir num1
escribir 'el numero 2 es:'
escribir num2
sino
escribir 'no se cumplen las condiciones para
realizar alguna operacin'
FinSi
leer sel
2://sumar los dos nmeros
escribir 'digite un nmero entero positivo'
leer num1
escribir 'digite un nmero entero positivo'
leer num2
si num1>=0 & num2>=0 Entonces
suma<-num1+num2
escribir 'la suma de los dos nmeros es:'
escribir suma
Sino
escribir 'no se cumplen las condiciones para
realizar alguna operacin'
FinSi
leer sel
3://restar el primer nmero del segundo nmero
escribir 'digite un nmero entero positivo'
leer num1
escribir 'digite un nmero entero positivo'
leer num2
si num1>=0 & num2>=0 Entonces
si num1>num2 Entonces
resta<-num1-num2
escribir 'la resta de los dos nmeros es:'
escribir resta
Sino
escribir 'el primero nmero es menor que el
segundo'
FinSi
sino
escribir 'no se cumplen las condiciones para
realizar alguna operacin'
FinSi
leer sel
4://multiplicar los dos nmeros
escribir 'digite un nmero entero positivo'
leer num1
escribir 'digite un nmero entero positivo'
leer num2
si num1>=0 & num2>=0 Entonces
si num1>0 & num2>0 Entonces
multiplicacin<-num1*num2
escribir 'el resultado de la multiplicacin de
los dos nmeros es:'
escribir multiplicacin
Sino
escribir 'alguno de los nmeros es 0'
FinSi
Sino
escribir 'no se cumplen las condiciones para
realizar alguna operacin'
FinSi
leer sel
5://dividir el primer nmero del segundo
escribir 'digite un nmero entero positivo'
leer num1
escribir 'digite un nmero entero positivo'
leer num2
si num1>=0 & num2>=0 Entonces
divisin<-num1/num2
escribir 'el resultado de la divisin de los dos
nmeros es:'
escribir divisin
sino
escribir ' no se cumplen las condiciones necesarias
para realizar alguna operacin'
FinSi
leer sel
6://salir
salir<-Verdadero
de otro modo:
escribir 'opcin no valida'
FinSegun
Hasta Que salir

FinProceso

You might also like