sábado, 30 de julio de 2011

Acerca del Begin y End

Las instrucciones Begin y End se utilizan para marcar el inicio y fin del programa, pero de igual forma son necesarias en otros casos.

■ Por ejemplo si tenemos un if que realiza solo una instrucción lo escribiriamos así:

if n > 0 then
     write ('n es positivo');

...es decir, no hace falta colocar Begin y End en el if, pero si colocaramos más de una instrucción dentro del if, forzosamente tendríamos que encerraras o delimitarlas mediante el Begin y End, ya que con ésto le decimos al if cual es el conjunto de instrucciones que queremos que realice, por ejemplo:

if n > 0 then
Begin
     write ('n es positivo');
     suma := suma + n;
End;

De no colocar un Begin y End en el if anterior, es decir, si dejaramos el if así:

if n > 0 then
     write ('n es positivo');
     suma := suma + n;

Sólo se realizaria la primera instrucción al cumplirse la condición, y la instrucción "suma := suma + n;" se ejecutaria independientemente del propio if ya que al no haber Begin y End, ésta queda fuera del if.



■ Otro ejemplo, en el caso del for con dos o más instrucciones:

for a:=1 to 10 do
Begin
     write ('Introduce un número: ');
     readln (num);
     suma := suma + num;
End;

El for anterior pide 10 números y los suma, pero si no le colocamos Begin y End, es decir, si lo dejamos así:

for a:=1 to 10 do
     write ('Introduce un número: ');
     readln (num);
     suma := suma + num;

Lo único que haría es imprimir el mensaje 'Introduce número: ' 10 veces, ya que tanto el "readln (num);" como "suma := suma + num;" quedarían fuera de el ciclo y los ejecutaría terminando éste.

De igual forma aplica para las estructuras if-else, while y case.


■ El End

Mientras que la instrucción Begin no lleva "punto y coma" al final de ésta, el End si lo necesita, todos los End llevan "punto y coma" a excepción de dos casos:

1) El End final del programa: En ese caso se coloca un "punto" en lugar del "punto y coma" ya que marca la última línea del programa. Ejemplo:


Program MiPrograma;
Uses crt;
Begin
     { Cuerpo del programa }
End.


2) El End colocado antes de un Else: En este caso se coloca solamente el End, sin "punto y coma" ni "punto". Ejemplo:


if condición then
Begin
     { Instrucción 1 }
     { Instrucción 2 }
     { Instrucción n }
End 
Else 
Begin
     { Instrucción 1 }
     { Instrucción 2 }
     { Instrucción n }
End;

No hay comentarios:

Publicar un comentario