ESTRUCTURA DE UN PROGRAMA EN PASCAL-CAPITULO 1
Hecha la introducción ahora empezaremos a meternos en materia. Esta vez ya
atacamos fuerte y nos metemos con cómo se "monta" un programa en
Pascal.
Al Pascal no se le llama programación estructurada porque sí. A la hora de
ponerse a hacer un programa hay que seguir una estructura bastante estricta.
El esquema
general de un programa sería este:
* Nombre del programa
* USES
* Definición de tipos globales
* Definición de constantes globales
* Definición de variables globales
* Procedimientos
* Declaración
* Tipos locales
* Constantes locales
* Variables locales
* Código del procedimiento
* Código principal
Así al principio puede parecer mucha cosa, pero si os digo que por muy
complicado que sea el programa que hagáis NUNCA vais a usar más elementos de
los que he puesto aquí... ¿entonces qué? ;) Lo que sí que podremos usar, sobre
todo al principio, son menos elementos.
Por ahora vamos por partes en qué consiste cada "trozo" de
programa.
NOMBRE DEL
PROGRAMA
Pues algo tan tonto como lo que podéis estar pensando. Consiste en darle un
nombre al programa. Se hace poniendo al principio del programa una línea como
esta:
Program Programa_Que_Dice_Hola;
"Program" es una palabra reservada del Pascal que sirve para indicar
que a continuación ponemos el nombre del programa.
El nombre del programa NO puede contener espacios ni algunos otros caracteres
"raros" como, por ejemplo, la "Ñ". El punto y coma final es
IMPRESCINDIBLE. En Pascal ese punto y como se pone como "separador"
de instrucciones. Así, después de cada instrucción pondremos un punto y coma.
Ya lo iremos viendo.
USES
Uses es la palabra reservada de Pascal para incluir librerías. Como ya he
dicho antes, una librería no es más que un conjunto de funciones, que nosotros
mismo podemos hacernos. Cualquier compilador de Pascal viene con unas librerías
estándar que traen funciones para trabajar con archivos, memoria, directorios,
servicios del Dos, servicios de video, etc...
Sin esas librerías no podríamos hacer prácticamente nada. Siempre podríamos
hacérnoslas nosotros, pero sería un trabajo inmenso.
De entre todas las librerías del Pascal hay una que es especial, la librería
SYSTEM.TPU. Es especial porque contiene las funciones más básicas, como pueden
ser las que nos sirven para escribir en la pantalla, y esta librería se incluye
SIEMPRE en nuestros programas.
Otras librerías muy utilizadas con CRT.TPU, DOS.TPU y GRAPH.TPU, por ejemplo,
pero de esto ya nos encargaremos cuando hablemos específicamente de las librerías.
Para incluir una o varias librerías hay que añadir una línea de este estilo
al programa:
USES Crt, Dos, Graph;
DEFINICION DE
TIPOS GLOBALES
En esta sesión de declaran las estructuras globales que vamos a utilizar.
Se les llama globales porque las estructuras que definamos aquí podrán ser
utilizadas en cualquier punto del programa. Los tipos de datos son una de las
cosas completas de Pascal, hablaremos de ellos en la próxima entrega. ;)
DEFINICION DE CONSTANTES GLOBALES y
DEFINICION DE VARIABLES GLOBALES
De las constantes y las variables hablaremos en el próximo capítulo. ;)
PROCEDIMIENTOS
Un procedimiento podríamos definirlo como un trozo de programa "autónomo".
Es lo que antes he llamado una función. Las librerías están llenas de pedazos
de programa autónomos de estos. ;)
Aunque en un principio puede parecer una chorrada tener que ir partiendo los
programa en procedimientos, esto resulta muy útil para hacer un programa. Para
dejarlo claro pondré un ejemplo sencillo: Pongamos que tenemos que hacer un
programa que dibuje muchos cuadrados. Cada cuadrado se dibuja a base de 4 líneas.
Y cada línea se dibuja a base de muchos puntos colocados en línea.
Podríamos hacer un programa como este:
Dibujar_Punto en 0,0
Dibujar_Punto en 1,0
Dibujar_Punto en 2,0
Dibujar_Punto en 20,20
Este programa lo que haría sería dibujar todos los puntos de todos los cuadrados
uno a uno. Si nos equivocamos en un sólo punto más nos vale volver a empezar
porque seguro que no encontraremos en qué línea nos hemos equivocado. Nos
quedaría un código muy "emborronado".
Ahora pongamos que para hacer el mismo programa declaramos un procedimiento
que dibuje una línea entera. Así, para dibujar un cuadrado ahora ya sólo
tenemos que poner:
Dibuja_Linea de 0,0 a 20,0
Dibuja_Linea de 0,0 a 0,20
Dibuja_Linea de 20,0 a 20,20
Dibuja_Linea de 0,20 a 20,20
Y ya tendríamos dibujado un cuadrado. Y si ahora al trozo de programa que
acabamos de escribir lo llamamos Dibuja_Cuadrado, podríamos poner:
Dibuja_Cuadrado de 0,0 a 20,20
De esta manera el procedimiento Dibuja_Cuadrado "llamaría" 4
veces al procedimiento Dibuja_Linea para dibujar las 4 líneas correspondientes.
Y cada procedimiento Dibuja_Linea llamaría a Dibuja_Punto las veces necesarias
para dibujar la línea en cuestión. Vendría a ser como si se repartiesen la
faena.
Así, el mismo programa del principio lo podríamos escribir así:
Dibuja_Cuadrado de 0,0 a 20,20
Dibuja_Cuadrado de 10,10 a 30,30
Espero que con este ejemplo quede demostrada la utilidad de dividir un programa
en procedimientos. Ya iremos viendo más adelante cómo se hace concretamente
esto.
CODIGO PRINCIPAL
Se trata del cuerpo del programa. Normalmente consistirá sólo en llamadas a
los procedimientos que hayamos definido.
PROGRAMA DE
EJEMPLO
Para empezar a concretar las cosas y para que os empecéis a acostumbrar a
los listados en Pascal os pongo aquí un pequeño programa de ejemplo.
Program Programa_Que_Dice_Hola;
Uses Crt; {incluir la librería CRT }
Const {declaración de constantes globales }
Texto = 'Hola!!! ¿Qué tal? ;)';
Procedure Escribe_Texto; {Declaración del procedimiento}
Begin
WriteLn(Texto); { escribe la constante "Texto" }
End;
Begin {inicio del código principal}
Escribe_Texto; {llamada al procedimiento}
End.
Y esto es todo por hoy. En la próxima entrega nos empezaremos a meter con
las variables, las constantes, los tipos y las estructuras de datos, que ya
empieza a ser un plato fuerte. Por hoy ya sólo queda el mini glosario que
incluiré en todos los fascículos que crea que tienen palabras que necesitan
explicación. ;)
GLOSARIO:
* Palabra reservada: como su nombre indica, es una palabra que en un determinado
lenguaje ha sido reservada para realizar una función concreta. Una palabra
reservada sólo puede ser usada para la finalidad que se le da en el lenguaje en
cuestión y usarla de otro modo (intentando declararla como variable o como
procedimiento, por ejemplo) dará un error de compilación.
En el próximo capítulo hablaremos de las variables que se utilizan para trabajar
con ficheros y de las variables "compuestas".
DESCARGAR CAPITULO 1 VERSIÓN PDF
CAPITULO 2
0 comentarios: