Pascal/Turbo Pascal - URGENTE!!!!!!

 
Vista:

URGENTE!!!!!!

Publicado por Ivan (1 intervención) el 22/09/2001 19:29:48
No se nada de programacion y necesito saber como se hacen los sig. programas. Si me puedes ayudar con alguno te lo agradeceria mucho

1.-Hacer un programa que lea caracteres y los imprima en pantalla hasta teclear la cadena SALIR, y con esto termine el programa.

2.- Hacer un programa en Pascal que mueva un asterisco por la pantalla usando las teclas de flechas. Respetar margenes de la pantalla.

3.- Hacer un programa en Pascal que dado un numero arabigo (eg. 15) nos lo devuelva en numero romano (eg. XV).

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE!!!!!!

Publicado por Diego Romero (282 intervenciones) el 23/09/2001 02:09:46
Para los numeros romanos.
www.geocities.com/diegofrom/archivos/romanos.zip
Para mover el asterico sería algo asi.
uses crt;
var
techa:char;
x,y:integer;
begin
clrscr;
repeat
gotoxy(x,y);
write('*');
tecla:=readkey;
gotoxy(x,y);
write(' ');
if tecla=#0 then
begin
tecla:=readkey;
case tecla of
#72:dec(y); {flecha arriba}
#80:inc(y); {flecha abajo}
#75:dec(x); {flecha izquierda}
#77:inc(x); {flecha derecha}
end;
if x < 1 then x:=1;
if x > 80 then x:=80;
if y < 1 then y:=1;
if y > 25 then y:=25;
end;
until tecla=#27; {hasta presionar ESC}
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE!!!!!!

Publicado por Jorge Olmedo (4 intervenciones) el 23/09/2001 21:41:58
Para el primero de los programas. Lees caracteres del teclado y usas us automata finito para detectar la cadena terminadora. Seria algo asi:

type tEstado={q1,q2,q3,q4, q5, qaceptacion}

var estado:Estado;
car: char;

begin
estado:=q1;
repeat
car:=readkey;
case car of
'S': case estado of
q1: estado:=q2;
q2: estado:=q1;
q3: estado:=q1;
q4: estado:=q1;
q5: estado:=q1;
end;
'A': case estado of
q1: estado:=q1;
q2: estado:=q3;
q3: estado:=q1;
q4: estado:=q1;
q5: estado:=q1;
end;
'L': case estado of
q1: estado:=q1;
q2: estado:=q1;
q3: estado:=q4;
q4: estado:=q1;
q5: estado:=q1;
end;
'I': case estado of
q1: estado:=q1;
q2: estado:=q1;
q3: estado:=q1;
q4: estado:=q5;
q5: estado:=q1;
end;
'R': case estado of
q1: estado:=q1;
q2: estado:=q1;
q3: estado:=q1;
q4: estado:=q1;
q5: estado:=qaceptacion;
end; %0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar