Domingo 22 de Diciembre de 2024, 22:11
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
Que Sucede?
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Que Sucede? (Leído 2154 veces)
lizzmdq
Nuevo Miembro
Mensajes: 15
Que Sucede?
«
en:
Domingo 6 de Abril de 2008, 23:34 »
0
Hola a todos , bueno esta haciendo un pequeño programa , que la maquina elija un numero del 1 al 100 y que el usuario tenga 7 oportunidades para advinarlo, lo que pasa es que no me corre y el error que me da no lo identifico , aqui se los dejo.
Código: Text
program game;
uses crt;
var
a,ingreso,ai,i,b:integer;
begin
ai:=0;
repeat
for i:=1 to 100 do
begin
if keypressed then
ai:=i;
end;
until ai<>0;
clrscr;
Writeln(' El juego consiste en adviniar un numero del 1 al 100 en 7 oportunidades');
repeat
ingreso:=ingreso+1;
writeln('Por favor ingrese un numero del 1 al 100');
readln(b);
if ai > b then
begin
writeln('El Numero a advinar es mayor');
end;
if ai < b then
writeln('El numero a advinar es menor') else
writeln('Usted a acertado');
until ai=b or ingreso=7;
if ai=b then
writeln('Ganasteee!') else
writeln('Perdiste!');
readkey;
end.
salu2
Tweet
robbie110487
Miembro activo
Mensajes: 66
Re: Que Sucede?
«
Respuesta #1 en:
Lunes 7 de Abril de 2008, 06:30 »
0
Solo pon entre parentesis las condiciones del segundo until:
Código: Text
until (ai=b) or (ingreso=7);
Asi deberia correr
lizzmdq
Nuevo Miembro
Mensajes: 15
Re: Que Sucede?
«
Respuesta #2 en:
Martes 8 de Abril de 2008, 02:46 »
0
Gracias era eso , pero hay un problema en las operaciones. siempre que pongo un numero para adivinar me dice que es mayor o menor depende el caso y luego usted a acertado
por que sera?
salu2
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Que Sucede?
«
Respuesta #3 en:
Martes 8 de Abril de 2008, 20:51 »
0
Los if no estan bien anidados, revisalos.
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
lizzmdq
Nuevo Miembro
Mensajes: 15
Re: Que Sucede?
«
Respuesta #4 en:
Jueves 10 de Abril de 2008, 21:58 »
0
Quedo asi .
Código: Text
program game;
uses crt;
var
a,ingreso,ai,i,b:integer;
begin
clrscr;
writeln('Por Favor precione una tecla para que la maquina elija el numero a advinar y continue el juego');
ai:=0;
repeat
for i:=1 to 100 do
begin
if keypressed then
ai:=i;
end;
until ai<>0;
Writeln(' El juego consiste en adviniar un numero del 1 al 100 en 7 oportunidades');
repeat
ingreso:=ingreso+1;
writeln('Por favor ingrese un numero del 1 al 100');
readln(b);
if ai > b then
begin
writeln('El Numero a advinar es mayor');
end;
if ai < b then
begin
writeln('El numero a advinar es menor');
end;
if ai=b then
writeln('Usted a acertado');
until (ai=b) or (ingreso=7);
if ai=b then
writeln('Ganasteee!') else
writeln('Perdiste!');
readkey;
end.
Pero siempre el numero a adivinar es 100
por que sera?
salu2
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Que Sucede?
«
Respuesta #5 en:
Viernes 11 de Abril de 2008, 02:07 »
0
Cita de: "lizzmdq"
Pero siempre el numero a adivinar es 100
por que sera?
La vez pasada qie vi tu codigo no me habia dado cuenta, pero ahora que lo mencionas, el error esta en la forma que obtienes el numero a adivinar, usas un ciclo de 1 a 100, hasta que se pulse una tecla, pero no tomas en cuenta que el ciclo se termina tan rapido (en milesimas de segundo probablemente), que por lo tanto cuando tu pulsas, el numero i ya vale 100.
Mejor utiliza una funcion que te genere un numero aleatorio, no recuerdo en pascal, pero supongo que sera random, checa en la ayuda, o busca en google "random pascal"
Saludos
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
lizzmdq
Nuevo Miembro
Mensajes: 15
Re: Que Sucede?
«
Respuesta #6 en:
Sábado 12 de Abril de 2008, 01:17 »
0
Bueno quedo ahora.
Código: Text
program game;
uses crt;
var
a,ingreso,ai,i,b:integer;
begin
clrscr;
textcolor(black);
textbackground(white);
ingreso:=0;
randomize;
Writeln(' El juego consiste en adviniar un numero del 1 al 100 en 7 oportunidades');
ai:=random(99)+1;
writeln('Presione una tecla para continuar');
readkey;
repeat
ingreso:=ingreso+1;
writeln('Por favor ingrese un numero del 1 al 100');
readln(b);
if ai > b then
begin
writeln('El Numero a advinar es mayor');
end;
if ai < b then
begin
writeln('El numero a advinar es menor');
end;
if ai=b then
writeln('Usted a acertado');
until (ai=b) or (ingreso=7);
if ai=b then
writeln('Ganasteee!') else
writeln('Perdiste T_________T');
readkey;
end.
salu2
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
Que Sucede?