Beruflich Dokumente
Kultur Dokumente
Pascal
Es un lenguaje de alto nivel desarrollado en Alemania a finales de la década de los 70s por
Niklaus Wirth. La idea fue crear un lenguaje que permitiese la enseñanza y el aprendizaje de
la programación. A tal fin, la sintaxis del Pascal es muy similar a la del idioma inglés y los
programas son fáciles de leer e interpretar. Además, Pascal no toma en consideración el
hecho que las letras estén en mayúsculas o minúsculas. En el Laboratorio de Informática se
emplea el compilador de Pascal de Borland, que ofrece muchas facilidades para el
aprendizaje, como el realzado de sintaxis y la ubicación de los errores en la línea de código
en que ocurren. Para uso en la casa, existen varios compiladores gratis en Internet; el autor
recomienda BloodShed DevPascal, disponible en http://www.bloodshed.nu. Algunos detalles
sobre su uso aparecen en http://www.intec.edu.do/~ceis/pascal/
Tipos de datos
Todos los programas de Pascal comparten ciertas características comunes, algunas de las
cuales son opcionales. Esto se llama esqueleto del programa y se muestra a continuación.
Program <identificador>;
Uses WinCrt;
Const {constantes}
<identificador> = <valor>;
Var {variables}
<identificador> : <tipo>;
Begin {instrucciones}
. . .
End.
En este esqueleto, como en todas estas guías, lo que se ponga entre signos de mayor y
menor (<>) indicarán elementos que deben reemplazarse en un programa real.
La línea Program es opcional y sirve para ponerle un nombre al programa; de esta manera,
se tiene una idea de lo que hace el mismo.
La línea que dice 'Uses WinCrt' es una forma de que Pascal active la capacidad de leer desde
el teclado y de escribir hacia la pantalla; en Windows, se hace esto sobre una pequeña
ventana blanca, y en DOS sobre la pantalla completa (se debe escribir 'Uses Crt' en
compiladores de DOS).
Las secciones llamadas Const y Var son para declarar las constantes y las variables,
respectivamente. Son opcionales e intercambiables. Se pone un identificador que será el
nombre con el que tanto Pascal como el programador conocerán la constante o variable.
Nótese que a una constante no se le especifica el tipo, sólo el valor. De igual manera, a una
variable no se le puede dar un valor en este momento; Pascal le asigna un valor por defecto,
y más adelante se verá cómo dar valor a una variable.
La sección entre las palabras Begin y End es la parte principal del programa y es aquí donde
van las instrucciones del programa. Estas palabras fungen como paréntesis, de manera que
se requieren estas dos pero además pueden ponerse más dentro de éstas, siempre poniendo
primero el Begin y luego el End y de manera que, por ahora, en un programa correctamente
escrito, haya tantos Begins como Ends. El último End debe terminar con un punto, para que
Pascal sepa que el programa ha terminado.
Nótese que al final de varias líneas del esqueleto aparece un punto y coma. En general,
todas las líneas de código Pascal terminan en punto y coma, a menos que terminen en una
palabra reservada (no obstante, las líneas que terminan en un End que no sea el último del
programa deben llevar punto y coma). Las excepciones se irán viendo sobre la marcha.
Una última observación: las palabras entre llaves ({}) son comentarios, y Pascal las ignora
por completo. Son una forma valiosa de incluir información para los humanos dentro del
código para la computadora.
Además sus programas tienen definidas dos partes: declarativa y ejecutiva. En la primera
debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta como
desconocido y evita ciertas incomprensiones como veremos más adelante. En la parte
declarativa se enuncian Unit existentes, procedimientos, funciones, variables, constantes y
nuevos tipos de datos estructurados.
Otra diferencia importante es que en Pascal, el tipo de una variable se fija en su definición; la
asignación a variables de valores de tipo incompatible no están autorizadas (En C, en
cambio, el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de
asignaciones). Esto previene errores comunes donde variables son usadas incorrectamente
porque el tipo es desconocido. Esto también evita la necesidad de notación húngara, esto es
prefijos que se añaden a los nombres de las variables y que indican su tipo.
Implementaciones [editar]
Las primeras versiones del compilador de Pascal, entre ellas la más distribuida fue UCSD
Pascal, traducían el lenguaje en código para una máquina virtual llamada máquina-P. La gran
ventaja de este enfoque es que para tener un compilador de Pascal en una nueva
arquitectura de máquina solo hacía falta reimplementar la máquina-P. Como consecuencia de
esto, solo una pequeña parte del interprete tenía que ser reescrita hacia muchas
arquitecturas.
En los años 1980, Anders Hejlsberg escribió el compilador Blue Label Pascal para la Nascom-
2. Más tarde fue a trabajar para Borland y reescribió su compilador que se convirtió en Turbo
Pascal para la IBM PC. Este nuevo compilador se vendió por $49, un precio orientado a la
distribución masiva.
El económico compilador de Borland tuvo una larga influencia en la comunidad de Pascal que
comenzó a utilizar principalmente en el IBM PC. En busca de un lenguaje estructurado
muchos aficionados al PC reemplazaron el BASIC por este producto. Dado que Turbo Pascal,
solo estaba disponible para una arquitectura, traducía directamente hacia el código máquina
del Intel 8088, logrando construir programas que se ejecutaban mucho más rápidamente
que los producidos en los esquemas interpretados.
Durante los años 1990, estuvo disponible la tecnología para construir compiladores que
pudieran producir código para diferentes arquitecturas de hardware. Esto permitió que los
compiladores de Pascal tradujeran directamente al código de la arquitectura en que
corrieran.
Con Turbo Pascal versión 5, Borland, agregó programación orientada a objetos a Pascal.
Sin embargo, Borland después decidió mejorar esa extensión del lenguaje introduciendo su
producto Delphi, diseñado a partir de estándar Object Pascal propuesto por Apple como
base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambio el
nombre a lenguaje de programación Delphi en sus últimas versiones.
var x, y: real;
respuesta: string;
begin
writeln('** Calcular la raíz cuadrada de x **');
writeln('Entrar x (> 0): ');
readln(x);
y := sqrt(abs(x)); (* Raíz cuadrada del valor absoluto de x para
evitar raíces imaginarias *)
writeln;
if (x<0) then (* Si x es negativo, el resultado se notifica como
imaginario *)
writeln('La raíz cuadrada de ', x, ' es el número imaginario ',
y,'i');
else
writeln('La raíz cuadrada de ', x, ' es ', y);
writeln;
writeln('** Fin **');
readln; (* Espera a que el usuario pulse enter para salir del
programa *)
end.
Otro Ejemplo:
program multi;
{$APPTYPE CONSOLE}
uses
SysUtils;
var n,x:integer;
begin
x:=0;
writeln('Entra un numero de la serie');
readln(n);
while n<>0 do
if (n mod 3)=0 then
begin
x:=x+1;
writeln('Dame otro numero');
readln(n);
end
else
begin
writeln ('Dame otro numero');
end;
writeln ('El numero de multiples de 3 es',x);
readln;
end.