You are on page 1of 3

Proceso adivinarnumero

//Adivinar un numero entre 0 y max


max<-1000;

//El numero a adivinar es
n<-1+azar(max);

proximidad<-6;
Dimension proximidades[proximidad];
proximidades[1]<-"Muy muy cerca";
proximidades[2]<-"Muy cerca";
proximidades[3]<-"Cerca";
proximidades[4]<-"Lejos";
proximidades[5]<-"Muy lejos";
proximidades[6]<-"Muy muy lejos";

intentos<-0;
Repetir
Escribir "";
Escribir "Que numero piensa?"
Leer pensado;

intentos<-intentos+1;

distancia<-abs(n-pensado);

Si distancia>0 Entonces
calcular<-1+trunc(ln(distancia/(max/exp(proximidad))));
Escribir pensado, " esta " ,proximidades[calcular];
Sino
Escribir "Ha adivinado el numero ",n, " despues de
",intentos," intentos";
FinSi

Hasta Que pensado=n;

FinProceso





Proceso romanos

Repetir

Repetir
Escribir "Escriba un numero menor a 1000";
Leer nNumero
Hasta Que nNumero<1000;

cent<-TRUNC(nNumero/100);
x<-nNumero%100;

dece=TRUNC(x/10);
unid=nNumero%10;

nRomano<-"";

Segun cent Hacer
1: nRomano<-nRomano+"C";
2: nRomano<-nRomano+"CC";
3: nRomano<-nRomano+"CCC";
4: nRomano<-nRomano+"CD";
5: nRomano<-nRomano+"D";
6: nRomano<-nRomano+"DC";
7: nRomano<-nRomano+"DCC";
8: nRomano<-nRomano+"DCCC";
9: nRomano<-nRomano+"CM";
FinSegun

Segun dece Hacer
1: nRomano<-nRomano+"X";
2: nRomano<-nRomano+"XX";
3: nRomano<-nRomano+"XXX";
4: nRomano<-nRomano+"XL";
5: nRomano<-nRomano+"L";
6: nRomano<-nRomano+"LX";
7: nRomano<-nRomano+"LXX";
8: nRomano<-nRomano+"LXXX";
9: nRomano<-nRomano+"XC";
FinSegun

Segun unid Hacer
1: nRomano<-nRomano+"I";
2: nRomano<-nRomano+"II";
3: nRomano<-nRomano+"III";
4: nRomano<-nRomano+"IV";
5: nRomano<-nRomano+"V";
6: nRomano<-nRomano+"VI";
7: nRomano<-nRomano+"VII";
8: nRomano<-nRomano+"VIII";
9: nRomano<-nRomano+"IX";
FinSegun

Escribir nNumero," es en romano ",nRomano;

Escribir "Desea hacer otra conversion? (s/n)"
Leer cOpcion
Hasta Que cOpcion='n'| cOpcion='N'

FinProceso


Proceso Algoritmo
Escribir "Ingrese el valor de binario:";
Leer binario;
decimal <- (binario MOD 10)*1+(((binario-
binario MOD 10)/10) MOD 10)*2+(((binario-
binario MOD 100)/100) MOD 10)*4+(((binario-
binario MOD 1000)/1000) MOD 10)*8+(((binario-
binario MOD 10000)/10000) MOD 10)*16+(((binario-
binario MOD 100000)/100000) MOD 10)*32+(((binario-
binario MOD 1000000)/1000000) MOD 10)*64+(((binario-
binario MOD 10000000)/10000000) MOD 10)*128+(((binario-
binario MOD 100000000)/100000000) MOD 10)*256+(((binario-
binario MOD 1000000000)/1000000000) MOD 10)*512;
Escribir "Valor de decimal: ", decimal;
FinProceso

You might also like