domingo, 20 de marzo de 2011

Breve historia del pascal

El lenguaje de programación Pascal es un lenguaje de alto nivel y propósito general (aplicable a una gran cantidad de aplicaciones diversas) desarrollado por el profesor suizo Niklaus Wirth (Instituto tecnológico de Zurich, Suiza). El propósito de Wirth era crear un lenguaje para la enseñanza de técnicas de programación a estudiantes universitarios. Pero a medida que pasaban los años, Pascal se iba convirtiendo en un estándar en el mundo de la programación.
Una versión preliminar del lenguaje apareció en 1968 y el primer compilador totalmente completo apareció a finales de 1970. Desde entonces, muchos compiladores han sido construídos y están disponibles para diferentes máquinas. Durante muchos años, el libro Pascal User Manual and Report , publicado por Wirth y Kathleen Jensen en 1974, ha servido de facto como estándar de todas las versiones.
Las diferentes versiones ofrecían iterpretaciones ligeramente diferentes que impedían la compatibilidad entre ellas. Por estas razones, diferentes proyectos se iniciaron para producir una definición estándar del lenguaje y culminaron en dos estándar: uno de la Internacional Standard Organization (ISO) en 1982 y otro por un comité conjunto del American National Standards Institute (ANSI) y del Institute of Electrical and Electronics Engineers (IEEE). Estas dos versiones o definiciones se conocen como ISO Pascal y ANSI/IEEE Pascal, y difieren en algunos aspectos no especialmente significativos. Sin embargo, una versión no estándar se ha popularizado considerablemente: Turbo Pascal (marca registrada por Borland International, Inc.). Esta versión ha contribuido en gran medida a la popularización del lenguaje Pascal.

Definicion

PASCAL es un lenguaje relativamente moderno, desarrollado por Niklaus Wirth y su grupo de Zurich en 1971. Se trata de un lenguaje de propósito general, esto quiere decir que se puede emplear para construir todo tipo de aplicaciones. En la práctica también quiere decir que se trata de un lenguaje no diseñado para desarrollar ningún tipo específico de aplicaciones. Pero el PASCAL es especialmente útil para algo: para la enseñanza de buenos modos de programación. El PASCAL es hoy en día el lenguaje más usado para la enseñanza de la programación por varios motivos:



- Posee unas reglas sencillas de sintaxis.



- Es un lenguaje muy estructurado.



- Realiza una comprobación exhaustiva de tipos de datos




El hecho de que tenga una estructuración muy marcada permite que los programas sean fáciles de leer e interpretar, y facilita la escritura de programas del modo que hoy en día se estima correcto.
El compilador de PASCAL es relativamente sencillo de realizar, por lo que se ha extendido a muchos tipos de plataformas, desde los ordenadores personales a los grandes ordenadores corporativos. Cuando una aplicación se escribe en PASCAL estandard puede compilarse en cualquier máquina en la que exista compilador de PASCAL, que son la mayoría.

¿Qué es un programa?

¿Qué es un programa? Un programa no es más que una serie de líneas de texto, cada una de las cuales contiene alguna definición sobre la información a ser usada en el programa o bien alguna instrucción que se desea que se ejecute en el computador.

Definiciones: Constante y Variable

Definiciones Constante: Como su nombre lo indica, es un valor que a lo largo de la ejecución de un programa no varía. Ej. IVA = 16%.


Variable: Este es un espacio o contenedor, es como un vaso, que puede almacenar diversos valores durante la ejecución del programa.

Tipos de variables

Pascal es un lenguaje donde se debe especificar a la computadora qué datos va a contener una variable.



Se recordará que una variable es un vaso o contenedor.
Pues bien: un humano puede, a simple vista, distinguir entre una palabra como 'Hola' o un número como 47. Pero la computadora no puede hacer esto, así que se le debe decir qué tipo de datos se pondrá en cada variable.



Una vez hecho esto, no puede almacenarse un valor de cualquier tipo en esa variable, sino de algunos tipos (Pascal permite ciertas conversiones de tipo).
Para decirle a Pascal el tipo de una variable, se usa una de las siguientes palabras clave en el lugar indicado en el esqueleto del programa (ver más abajo):




INTEGER:
Número entero entre -32,768 y 32,767




LONGLNT:
Número entero entre -2*10^31 y 2*10^31 - 1




REAL:
Número con coma decimal entre 2.9*10-39^y 1.7*10^38




STRING:
Cadena de caracteres (conjunto de números, letras, símbolos; palabras y frases)




CHAR:
Un carácter (un dígito o una letra o un símbolo)
Existen otros tipos de datos, pero no son necesarios para completar el programa del Laboratorio.

La programacion

En lo que sigue vamos a ver los fundamentos de la programación en Pascal, primero intentando ceñirnos al Pascal estándar, y luego ampliando con las mejoras que incluye Turbo Pascal, la versión más difundida.


Los primeros programas, los más sencillos, se podrán compilar con cualquier versión del lenguaje Pascal (o casi), aunque la mayoría de los más avanzados (los que incluyan manejo de gráficos, por ejemplo) estarán creados pensando en el que posiblemente sea en estos momentos el compilador de Pascal más usado: Free Pascal, o bien en el clásico Turbo Pascal 7.0 para Dos.


Lo primero que llama la atención es que casi todas las palabras están escritas en inglés. Esto será lo habitual: la gran mayoría de las palabras clave de Pascal (palabras con un significado especial dentro del lenguaje) son palabras en inglés o abreviaturas de éstas.
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.


También hay otras tres excepciones: no es necesario un punto y coma después de un "begin", ni antes de una palabra "end" o de un "until" (se verá la función de esta palabra clave más adelante), aunque no es mala técnica terminar siempre cada sentencia con un punto y coma, al menos hasta que se tenga bastante soltura.


Cuando definamos variables, tipos, constantes, etc., veremos que tampoco va punto y coma después de las cabeceras de las declaraciones.
Comienza con la palabra program.
En algunos compiladores, puede que "nos regañe" si la palabra que sigue a "program" es distinta del nombre que tiene el fichero (es el caso de las primeras versiones de Tmt Pascal Lite), pero normalmente el programa funcionará a pesar de ello.


En nuestro caso, a nuestro programa lo hemos llamado "Saludo".  La palabra "Saludo" es un identificador.  Los "identificadores" son palabras que usaremos para referirnos a una variable, una constante, el nombre de una función o de un procedimiento, etc.  Ya iremos viendo todos estos conceptos, pero sí vamos a anticipar un poco uno de ellos: una variable equivale a la clásica incógnita "x" que todos hemos usado en matemáticas (eso espero), que puede tomar cualquier valor.  Ahora nuestras "incógnitas" podrán tener cualquier valor (no sólo un número: también podremos guardar textos, fichas sobre personas o libros, etc) y podrán tener nombres más largos (y que expliquen mejor su contenido, no hará falta limitarnos a una única letra, como en el caso de "x").
Estos nombres de "identificadores" serán combinaciones de letras (sin acentos) y números, junto con algunos (pocos) símbolos especiales, como el de subrayado (_).  No podrán empezar con un número, sino por un carácter alfabético (A a Z, sin Ñ ni acentos) o un subrayado, y no podrán contener espacios.


Las palabras "begin" y "end" marcan el principio y el final del programa, que esta vez sólo se compone de una línea.  Nótese que, como se dijo, el último "end" debe terminar con un punto.


"Write" es la orden que permite escribir un texto en pantalla.  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 entre comillas.
El punto y coma que sigue a la orden "write" no es necesario (va justo antes de un "end"), pero tampoco es un error, y puede ser cómodo, porque si después añadimos otra orden entre "write" y "end", sería dicha orden la que no necesitaría el punto y coma (estaría justo antes de "end"), pero sí que pasaría a requerirlo el "write".
La orden "write" aparece 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 se encuentran a un mismo nivel, algo más a la derecha los que están en un nivel inferior, y así sucesivamente, buscando mayor legibilidad.

Los detalles concretos sobre cómo probar este programa dependerán del compilador que se esté utilizando. Unos tendrán un Entorno Integrado, desde el que escribir los programas y probarlos (como Free Pascal, Turbo Pascal y Surpas), mientras que en otros hará falta un editor para teclear los programas y el compilador para probarlos (como Tmt Lite) y otros no incluyen editor en la distribución normal, pero es fácil conseguir uno adaptado para ellos (es el caso de FPK y de Gnu Pascal).

Las variables son algo que no contiene un valor predeterminado, una posición de memoria a la que nosotros asignamos un nombre y en la que podremos almacenar datos. En el primer ejemplo que vimos, puede que no nos interese escribir siempre el mensaje "Hola", sino uno más personalizado según quien ejecute el programa.  Podríamos preguntar su nombre al usuario, guardarlo en una variable y después escribirlo a continuación de la palabra "Hola", con lo que el programa quedaría




program Saludo2;var
nombre: string[20];
begin
writeln('Introduce tu nombre, por favor');
readln(nombre);
write('Hola ',nombre);
end.