A finales de los años 80 y principios de los 90, el lenguaje Pascal era uno de los mejor considerados a la hora de enseñar los fundamentos de la programación de ordenadores. Hoy en día hay lenguajes más potentes que también pueden ser adecuados para comenzar, pero suelen tener una curva de aprendizaje un poco más pronunciada que la de Pascal, por lo que existen bastantes centros de estudios que siguen usando Pascal como lenguaje de introducción a la programación y/o a la resolución de problemas con la ayuda de una computadora.
Voy a intentar que este curso sea muy práctico, con muchos ejemplos, pocas explicaciones teóricas y muchos ejercicios propuestos (aunque en un apéndice al final de este texto encontrarás fundamentos teóricos adicionales, para cuando te apetezca leer un rato). Por eso, lo primero que haremos es ver la apariencia de un programa básico e instalar un entorno que nos permita probarlo y practicar a partir de ese momento:
program Saludo;
(* Escribe Hola en pantalla *)
begin
write('Hola');
end.
Como se puede observar, casi todas las palabras están escritas en inglés. Será lo habitual en las "órdenes" que podremos dar en lenguaje Pascal, y también ocurrirá en la mayoría de lenguajes de programación.
Es habitual, aunque es opcional en la mayoría de versiones de Pascal, usar al principio la palabra "program", seguida del nombre que demos a nuestro programa. Nos ayudará a recordar de un vistazo para qué sirve el programa.
Si queremos añadir algún comentario más detallado, lo podemos indicar entre "(*" y "*)". Lo que escribamos entre esos símbolos será una aclaración para nosotros, que no afecta al funcionamiento real del programa. La mayoría de versiones de Pascal permiten también usar llaves: "{" y "}".
En el lenguaje Pascal no existe distinción entre mayúsculas y minúsculas, por lo que "BEGIN" haría el mismo efecto que "begin" o "Begin". Así, lo mejor será adoptar el convenio que a cada uno le resulte más legible: algunos autores emplean las órdenes en mayúsculas y el resto en minúsculas,otros todo en minúsculas, otros todo en minúsculas salvo las iniciales de cada palabra... Yo emplearé normalmente minúsculas, y a veces mayúsculas y minúsculas combinadas cuando esto haga que alguna orden especialmente larga resulte más legible.
Si sabemos un poco de inglés, podríamos traducir literalmente el programa anterior, y así intuir lo que hace:
programa saludo
comienzo
escribir 'Hola'
final
Efectivamente, todo programa en Pascal deberá empezar con la orden "begin" y terminar con "end." (cuidado: esa palabra "end" debe terminar con un punto).
Y para escribir usaremos "write". El conjunto de todo lo que se desee escribir se indica entre paréntesis. Cuando se trata de un texto que queremos que aparezca "tal cual", éste se encierra además entre comillas (una comilla simple para el principio y otra para el final, como aparece en el ejemplo).
La orden "write" debe terminar en punto y coma y lo mismo ocurrirá con todas las órdenes que formen nuestro programa. En ocasiones podremos omitir ese punto y coma, pero veremos más adelante qué ocasiones son esas.
Hemos escrito la orden "write" algo más a la derecha que el resto. Esto se llama escritura indentada, y consiste en escribir a la misma altura todos los comandos que pertenecen a un mismo bloque, para conseguir una mayor legibilidad. Realmente, en un programa en Pascal no hay necesidad de conservar una estructura tal que aparezca cada orden en una línea distinta. Los espacios en blanco, así como las líneas en blanco y los comentarios, son cosas que se suelen añadir claridad, pero realmente son los puntos y coma lo que indica el final de una orden, por lo que el programa anterior se podría haber escrito:
program Saludo; begin write('Hola'); end.
o bien
program Saludo;
begin write('Hola');
end.
lo que desde luego no se puede hacer es "partir palabras": si escribimos
pro gram Saludo;
el ordenador creerá que "pro" y "gram" son dos órdenes distintas, y nos dirá que no sabe qué es eso.
Antes de ver cómo probar este programa, vamos a proponer unos pocos ejercicios que puedas intentarlos cuanto tengas tu entorno funcionando:
Ejercicio propuesto 0.2.1: Crea un programa que te salude por tu nombre (por ejemplo, "Hola, Nacho").
Ejercicio propuesto 0.2.2: Crea un programa que primero te diga "Hola" y luego te diga "Adios", usando dos órdenes "Write" distintas. (¿Se comporta como esperabas?)
Ejercicio propuesto 0.2.3: Crea una nueva versión del programa anterior que incluya dos comentarios: uno antes de decirte "Hola" y otro antes de decirte "Adios". (¿Cambia su comportamiento?)
Ha llegado el momento de escoger un entorno para probar este programa y para hacer los ejercicios. Elige el que más se aproxime a tu tipo de computadora. No necesitarás leer las instrucciones de instalación de todos ellos, sino sólo del que vayas a emplear: