Pascal/Turbo Pascal - Por q¿?

 
Vista:

Por q¿?

Publicado por Luis (29 intervenciones) el 20/05/2012 13:50:24
Hola, tengo este mini codigo, pero la condicion q le pongo no la realiza ingreso datos superiores o inferirores y no me arroja el mensaje que quiero que podra ser.

program Zonas;
uses crt;
var
zona:integer;

begin
clrscr;
writeln('Ingrese numero de zona de 1 a 3');
readln(zona);

if (zona < 1) and (zona > 3) then
begin
writeln('Numero de Zona incorrecto');
end;
readkey
end.
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

Por q¿?

Publicado por ramon (2158 intervenciones) el 20/05/2012 20:51:47
if (zona < 1) and (zona > 3) then
begin
writeln('Numero de Zona incorrecto');
end;

Esta forma requiere se cumplan las dos condiciones.
Tendrías que poner [if (zona < 1) or (zona > 3) then]
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

Por q¿?

Publicado por Luis (29 intervenciones) el 21/05/2012 00:22:10
Ramon gracias un error de sintaxis tienes razon ahora lo q me puso a darme contra el monitor es q yo ingreso la zona incorrecta por ejemplo 4 o 5 o 0 y no me sale de una vez q la zona es incorrecta si no despues q ingreso todo los datos porq que me falta indicarle para q no mas ingrese un numero de zona erroneo me de el mensaje de numero de zona incorrecto¿??¿?¿? aqui esta el codigo (mini) XD

program Zonas;
uses crt;
var
casa,nombre:string;
cedula:real;
zona:integer;

begin
clrscr;
writeln('Ingrese numero de zona de 1 a 3');
readln(zona);
writeln('ingrese cedula');
readln(cedula);
writeln('ingrese nombre');
readln(nombre);
writeln('ingrese numero de casa');
readln(casa);
if (zona < 1) or (zona > 3) then
begin
writeln('Numero de Zona incorrecto');
end;

readkey
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

Por q¿?

Publicado por ramon (2158 intervenciones) el 21/05/2012 18:30:22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{Mira de esta forma no ejecutara el resto si la zona no es valida}
 
program Zonas;
uses crt;
var
casa,nombre:string;
cedula:real;
zona:integer;
 
begin
clrscr;
writeln('Ingrese numero de zona de 1 a 3');
readln(zona);
if (zona < 1) or (zona > 3) then
begin
writeln('Numero de Zona incorrecto');
end
else
   begin
writeln('ingrese cedula');
readln(cedula);
writeln('ingrese nombre');
readln(nombre);
writeln('ingrese numero de casa');
readln(casa);
clrscr;
writeln(' Zona  N§ : ',zona);
writeln(' Cedula   : ',cedula:8:2);
writeln(' Nombre   : ',nombre);
writeln(' N§ Casa  : ',casa);
writeln;
end;
readkey
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