ESTRUCTURA DE UN PROGRAMA EN PASCAL-CAPITULO 1

20:57:00 Unknown 0 Comments

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: