Pascal/Turbo Pascal - while y textcolor...

 
Vista:

while y textcolor...

Publicado por pris (7 intervenciones) el 28/11/2006 05:04:17
Estoy haciendo un programa que debe leer mi nombre, pero lo complicado es que me piden que haga que cambie a todos los colores eso no tiene problema, lo que pasa es que debe detenerse cuando llegue al color azul, utilizando la estructura "While".
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:while y textcolor...

Publicado por Pris (7 intervenciones) el 28/11/2006 05:25:05
Mi duda es mas si esto es posible hacer esto, por que ya intente todo lo que se me ocurrio...gracias
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:while y textcolor...

Publicado por Diego Romero (996 intervenciones) el 29/11/2006 00:42:56
El color azul en modo texto VGA corresponde al valor 1, aunque Turbo Pascal define una constante Blue que vale 1 por comodidad y claridad. Sabiendo esto tu programa podría ser así:

uses crt;

var
Nombre: string;
Color: byte;

begin
clrscr;
Write:('Dime tu nombre: ');
ReadLn(Nombre);
randomize;
Color:=Random(16);
while not (Color = Blue) do
begin
TextColor(Color);
WriteLn(Nombre);
Color:=Random(16);
end; { while }
end. { main }
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:while y textcolor...

Publicado por PRIS (7 intervenciones) el 29/11/2006 17:06:53
Gracias!!!Me sirvio mucho la ayuda.
cuando lo corre no se detiene en azul :(, ¿porque?
porque si lo corre bn pero se detiene en cualquier color,¿ no podria ser un error del random?
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:while y textcolor...

Publicado por Carlos Guimaraenz (265 intervenciones) el 29/11/2006 18:07:08
Hola Pris! No es un problema de random, es simplemente que se detiene cuando aparece el azul, pero no lo muestra... modifico el código de Diego para que lo haga:

uses crt;

var
Nombre: string;
Color: byte;

begin
clrscr;
Write('Dime tu nombre: ');
ReadLn(Nombre);
randomize;
repeat
Color:=Random(16);
TextColor(Color);
WriteLn(Nombre);
until(Color = Blue);
ReadLn;
end. { main }

Uso el repeat porque al menos 1 vez lo tengo que hacer, debido a que la condición de corte, también se incluye (que sea de color azul, e imprimirlo igual).

Hasta luego!
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:while y textcolor...

Publicado por PRIS (7 intervenciones) el 29/11/2006 18:16:22
Si habia pensado en until, pero como todavia no nos lo han enseñado a utilizar, me quede solo con la idea del "while".

Muchas Gracias a los dos !!
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:while y textcolor...

Publicado por Carlos Guimaraenz (265 intervenciones) el 29/11/2006 18:23:34
Ok Pris... de todas formas, si quieres hacerlo con WHILE, lo único que debes hacer es, fuera del while, para que se realice sólo cuando encuentre el azul, repetir las instrucciones TextColor y Write... nuevamente con el ejemplo de Diego:

uses crt;

var
Nombre: string;
Color: byte;

begin
clrscr;
Write:('Dime tu nombre: ');
ReadLn(Nombre);
randomize;
Color:=Random(16);
while not (Color = Blue) do
begin
TextColor(Color);
WriteLn(Nombre);
Color:=Random(16);
end; { while }
{ aqui agregas la linea para estableces el color, y escribir el nombre }
TextColor(Color);
WriteLn(Nombre);
ReadLn; { así puedes ver el resultado, no relevante }
end. { main }

Un beso!
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:while y textcolor...

Publicado por pris (7 intervenciones) el 03/12/2006 04:52:38
de hecho me sirve mas esta por que no se bn si me acepten repeat, pero como las dos funcionan voy a utilizar las dos
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