lunes, 22 de noviembre de 2010

.: Sintaxis Pascal :.

:: Sintaxis de Pascal ::




Materia. Lenguajes de Programación
Hora. M1 - M3 (Martes)

Ahora veamos algo de la sintaxis que corresponde al lenguaje de Pascal:
Estructura General de Pascal
program nombre;
const
                Declaración de constantes;
var
                Declaración de variables;
begin
                proceso del programa principal;
end.
Declaración de variables
Variables Comunes
Para declarar variables normales sólo se colocan dentro de la sección var de la siguiente forma:
var
                nombre_de_la_variable : tipo_de_dato;
Ejemplos:
var
   A, B, C: integer; --->> Variables de tipo entero
   D : real; --->> Variable tipo real (punto flotante)
Arreglos
Para la definición de arreglos, primero debemos definir el tipo de dato del arreglo a como sigue:
type
     list = array[inicio .. fin, inicio .. fin] of integer
Con esto sólo definimos una especie de tipo de dato (como cuando hacemos estructuras en lenguaje C) del tipo arreglo, que por cierto, es bidimensional.
Las palabras inicio se refieren a los índices iniciales de nuestro arreglo, y las de fin, pues los índices finales del arreglo. A diferencia de C que siempre comienzan con posición cero (0), en Pascal podemos definir desde que posición comenzará el arreglo.
Lo siguiente es declarar la variable que se utilizará como arreglo en la sección var:
var
    Matriz : list;
Si se dan cuenta, list corresponde a lo que es el tipo de dato que es un arreglo bidimensional.
Todo junto, lo tendríamos así:
type
    list = array[inicio .. fin, inicio .. fin] of integer;
var
    Matriz : list;
Definición de funciones.
En Pascal es más fácil identificar una subrutina si es una función o sólo un procedimiento.
En el procedimiento, para empezar, sabemos que no devuelve valores. Lo identificamos por la palabra “procedure”.
La función sabemos que si nos regresa un valor, y la podemos identificar por medio de la palabra “function”.
Debido a que sólo utilice lo que es la función, sólo podré hablarles de ella.
La sintaxis de una función a la cual le enviamos parámetros desde el proceso principal puede ser el siguiente:
function nombre_función (var_1:tipo;
         var_2:tipo;var_3:tipo):tipo_de_resultado;
begin
                proceso de la función;
end;
Un ejemplo de ello puede ser la que utilice en mi programa se suma de matrices:
function suma(A : list; B:list; ren:integer;
         col:integer):integer;
begin
   suma:= A[ren,col] + B[ren,col];
end;
Entrada y Salida Estándar
Para lo que es la salida estándar, contamos con dos instrucciones:
writeln. Con esto, comenzando desde la línea en donde se encuentra la ejecución del programa, brinca un salto de línea y coloca en pantalla lo que le ordenas. Ejemplos de escritura:
writeln(‘Suma = ‘, suma); --->> Impresión del texto “Suma =” y la
                                variable suma.
En el terminal quedaría así:
Línea 1: ->
Línea 2: -> Suma = 20 --->> Suponiendo que suma es igual a 20.
write. A diferencia del writeln, esta instrucción imprime todo en la misma línea.
Viendo el mismo ejemplo:
write(‘Suma = ‘, suma); --->> Impresión del texto “Suma =” y la
                              variable suma.
En el terminal saldría:
Línea 1 -> Suma = 20 ----->> Suponiendo que suma es igual a 20.
Hablando de la entrada estándar o la lectura de variables, tendríamos también dos instrucciones:
readln. Al igual que en el writeln, dependiendo de la línea donde nos encontremos, se hace un salto de línea y se comienza la captura. Ejemplo:
write(‘Dame número: ‘);
readln(numero);
En la ejecución tendríamos:
Línea 1 -> Dame un número:
Línea 2 -> **captura aquí**
read. Al igual que en write, todo lo hace en el mismo renglón. Tomando el ejemplo anterior podemos entenderlo aun más:
write(‘Dame número: ‘);
readln(numero);
En la ejecución tendríamos:
Línea 1 -> Dame un número: **captura aquí**
Asignación
Este proceso nunca nos falta en algún programa de problemas numéricos, en donde le damos un valor a una variable o en donde escribimos una operación matemática.
En lenguaje C, Python, Perl, etc, solemos usar el signo clásico del igual (=).
En Pascal se escribe de la siguiente forma: (:=). Ejemplos:
i:=1;
C:=A+B;
Uso del punto y coma
El uso de este signo de admiración lo resumo a como sigue:
SI se escribe:
  • Al final del encabezado del programa.
  • Al final de la declaración de alguna variable, constante o tipos.
  • Después de cada línea de código, ya sea de entrada, salida, operación, asignación, etc.
  • En el último END presente en una subrutina o de cualquier otro proceso que inicio con in BEGIN.
NO se escribe:
  • Cuando en la siguiente línea tenemos un END.
  • Después de la condición de algún FOR o IF
  • Al final de las palabras BEGIN, THEN, CONST, VAR, TYPE, DO; sólo por decir algunas.
  • El último END presente en nuestro programa termina con un punto (.).  END.
Sintaxis del FOR
La sintaxis presente en esta instrucción iterativa es la siguiente:
for i:=inicio to final do
    begin
        proceso iterativo
    end;
Donde i representa nuestra variable que funciona de contador; inicio se refiere al valor inicial del contador; final hace referencia al valor máximo que deberá tener el contador para que no se invalide lo que es el FOR.
Un FOR anidado seria de la siguiente forma:
for i:=inicio1 to final1 do for j:=inicio2 to final2 do
    begin
         proceso iterativo
    end;
Ejemplo:
for i:= 1 to ren do
   begin
      writeln;
      for j:= 1 to col do
      begin
         write(M[i,j]:0:2,'   ')
      end
   end;
Sintaxis de IF
La sintaxis manejada en Pascal es la siguiente:
if condición
   then
        begin
             proceso IF
        end;
Veamos un ejemplo:
if i <> k   ----->> Si "i" es diferente de "k"
      then
         begin
            fact:= - M[i,k];
           
            for j:= 1 to col do
               begin
                    M[i,j]:= M[i,j] + fact * M[k,j]
               end
         end;
Sé que esto es muy básico para Pascal. Sólo trate de ser lo más explicito posible más que nada por la razón de que yo siempre busco una explicación detallada de algo.
Tutorial Pascal
Aquí les comparto lo que es el tutorial que me fue de utilidad para este lenguaje.
Saludos.

3 comentarios: