La sentencia IF
Puesto que las expresiones lógicas toman el valor verdadero o falso, se necesita una sentencia de control que indique a la computadora que ejecute una sentencia en caso de que la expresión sea verdadera y otra sentencia en el caso de que sea falsa. Esto se logra mediante la sentencia IF. El siguiente ejemplo describe su utilidad.
Ejemplo:
Program Numeros;
  Var
    Numero : Real;
  Begin
     Writeln (`Introduzca un número `);
     Read (Numero);
     If   Numero > 0.0 Then
            Begin
                 Writeln (`El número introducido es positivo´);
                 Readln
            End      Else             Begin
                Writeln (`El número introducido es negativo´);
                Readln
            End;
End.
 Sentencias IF anidadas
La sentencia que sigue a la palabra reservada then o else puede ser cualquiera, incluso otra sentencia if - then - else. Cuando existe una sentencia if - then - else dentro de otra sentencia if - then - else, se dice que dichas sentencias están anidadas.
Ejemplo:
Program Mayor;
  Uses
    Wincrt;       
Var
    A,B,C : Integer;
    Elmayor : Integer;  
  Begin
     Writeln (`Digite tres números enteros `);
     Readln (A,B,C);
     If   A > B Then
            If   A > C Then
                 Elmayor := A
            Else
                 Elmayor := C
     Else                      
            If   B > C Then
                 Elmayor := B
            Else
                 Elmayor := C;
    * Fundación Foro Educación a distancia Psicoterapias Cognitivas y Psicología Positiva
    
     Writeln (`El número mayor es: `,Elmayor)
End.
La sentencia CASE
La sentencia CASE se utiliza para elegir entre diferentes alternativas. Una sentencia CASE se compone de varias sentencias simples. Cuando un CASE se ejecuta, una y sólo una de las sentencias simples se selecciona y se ejecuta.
Ejemplo:
Program Cursor;
(* Este programa mueve el cursor a través de la pantalla mediante las teclas predefinidas, cuando se presiona otra tecla, emite un pitido de advertencia*)
  Uses
    Wincrt;       
Var
    X,Y : Integer;
    C : Char;
  Begin
     Clrscr;
      X := 40;
      Y := 10;
      GotoXY (X,Y);
      Write (`*´);
      Repeat
            C := Readkey;
            GotoXY (X,Y);
            Write (` `);
            Case C of
               `S´ : Y := Y - 1;
               `B´ : Y := Y + 1;
               `D´ : X := X + 1;
               `I´   : X := X - 1;
               `P´ :   Exit
            Else
               Write (Chr(7)
            End;   
            GotoXY (X,Y);
            Write (`*´)
      Until C = `P´        
End.
 
No hay comentarios:
Publicar un comentario