lunes, 31 de enero de 2011

LA SENTENCIA IF (CLASE 5)





• Dado que las expresiones lógicas toman el valor verdadero o falso, es necesario una sentencia de control que dirija a la computadora para ejecutar una sentencia si la expresión es verdadero y otra en caso de ser falsa. Para ello existe en pascal la sentencia de control condicional if-then-else, o estructura selectiva.







(DIAGRAMA DE FLUJO)























ESCRITURA DEL IF DIAGRAMA DE SINTAXIS


If if-->expresión lógica-->then-->sentencia A
Expresión lógica else-->sentencia B
Then
Sentencia A
Else
Sentencia B

EJEMPLO:



program Numeros;
Var
Numero:real;
begin
writeln ( ‘ introduzca un numero ’ );
read (numero);
if numero > 0.0
then
writeln (‘el numero intro es positivo)
else
writeln (‘el numero intro es negativo);
write (‘esto se imprime si numero es positivo o negativo’);
end.

NOTA: si solo se desea que una determinada acción solo se ejecute si una condición es verdadera y no realizar ninguna otra si la condición es falsa, se omite del formato la clausula else.


SENTENCIAS COMPUESTAS

• En lugar de realizar solo una acción, cuando se cumpla o no una condición, se podría desear realizar varias acciones. Esto se hace mediante sentencias compuestas.
• Una sentencia compuesta es un conjunto de sentencias separadas por puntos y comas y encerradas por las palabras begin y end.



FORMATO DE UNA SECUENCIA COMPUESTA:


begin begin
sentencia1; read (numero);
sentencia2; N:= N+1;
sentencia n write (‘el numero es’, numero:4);
end (no punto) bandera=1
end

EJEMPLO:



program Numeros;

var

x:integer;

begin

read(x);

if x > 0

then

begin

writeln(x,' espositivo');

writeln('en esta ocasion',' es positivo')

end

else

begin

writeln(x,'es negativo');

writeln(' o bien es cero')

end;

end.



LA SENTENCIA VACIA




  • pascal tiene uan sentencia que no hace absolutamente nada, esta es la sentencia nula o vacia. los puntos y comas separan sentencias en pascal.


  • supongamos que se escribe punto y coma al final de la sentencia de asignacion.



begin
readln (x);
Total:=Total + x ; {sentencia vacía}
end


• Como end no es una sentencia, el nuevo punto y coma no aparece como separación de dos sentencias. El compilador decide que hay una sentencia entre la sentencia de asignaicion y end, es decir, la sentencia nula. Esta sentencia se puede utilizar en cualquier parte que necesite una sentencia que no produzca ninguna acción ni cambio.



SENTENCIAS IF ANIDADAS



• La sentencia que sigue a la palabra reservada then o else puede ser cualquiera, incluso otra sentencia if-then-else. Cuando una o ambas bifurcaciones de una sentencia if-then-else contienen también una sentencia if-then-else, se dice que dichas sentencias if están anidadas y al proceso anidamiento. El anidamiento se puede utilizar para construir decisiones con diferentes alternativas.



Modelo 1 Modelo2
If condición 1 if condición 1
then then
sentencias x sentencias x
else else If condición 2
If condición 2 then
then sentencias y
Sentencias y else if…
else
sentencias z

EJEMPLO:

Se desea hacer un programa que lea un numero y determine si este es positivo, negativo, o cero.

program IdentificadorDeNumeros;
var
numero:integer;
begin
writeln (‘introduzca un numero’);
read (numero);
if (numero > 0)
then
writeln (‘el numero’,’Numero,’es positivo’)
else
if (numero <>

then

writeln (‘el numero’,’Numero,’es negativo’)

else

writeln (‘el numero es cero’);

end.

No hay comentarios:

Publicar un comentario