viernes, 25 de marzo de 2011

portada

UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO

COLEGIO DE CIENCIAS Y HUMANIDADES

PLANTEL SUR

FABIOLA HURTADO ZUZUARREGUI

LENGUAJE PASCAL

CIBERNETICA

VESPERTINO

indice

leguaje pascal

elementos basicos

concepto de tipo de datos

elementos gramaticales

simbolos especiales en pascal

reglas sintacticas

estructura de un programa

caracteristicas

implementacion

ejemplos

compiladores disponibles publicos

introduccion

Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth entre los años 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que:
  1. El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.
  2. El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.

lenguaje pascal

Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que: 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.


Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que:
  1. El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.
  2. El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.
El PASCAL se usa hoy ampliamente en los Estados Unidos de América y en
Europa, como lenguaje de enseñanza y como lenguaje de propósito general para una
gran variedad de aplicaciones diferentes. Su uso se esta generalizando en ordenadores
grandes y pequeños. Efectivamente el PASCAL ha llegado a ser muy popular entre
usuarios de ordenadores personales, hasta el punto de que se especula sobre si podrá
llegar a sustituir al BASIC como lenguaje dominante en los microprocesadores en un
próximo futuro. Otros lenguajes como el FORTRAN y el COBOL, muy arraigados en
los ámbitos científico y comercial, han ido adoptando algunas de las estructuras de
datos y estructuras lógicas del PASCAL y son cada vez más parecidos.Es el resultado
de una tendencia generalizada hacia la práctica de la programación estructurada. Hoy es
frecuente oir hablar de FORTRAN estructurado, COBOL estructurado. Sin embargo,
en el PASCAL es donde se encuentra la vía más natural hacia el método estructurado y,
además, mantiene características diferenciadoras como la recursividad y las estructuras
de datos dinámicas.
En este curso se hablará del PASCAL estándar ISO/ANSI, aunque también se
presentarán algunas extensiones de uso muy común. Todo este material proporciona la
base para casi todas las implementaciones comerciales del PASCAL, por lo que quien
domine esta materia encontrará muy pocas dificultades en aprender otras versiones del
lenguaje.

El PASCAL es un lenguaje de programación de alto nivel y de propósito general
que ha derivado del ALGOL-60 y fue diseñado para enseñar técnicas de programación
estructurada. Es de alto nivel porque su repertorio de instrucciones lo hacen próximo a
los lenguajes humanos y a los procesos humanos de pensamiento. Sus instrucciones o
sentencias se componen de expresiones de apariencia algebraica y de ciertas palabras
inglesas como BEGIN, END, READ, WRITE, IF, THEN, REPEAT, WHILE, DO.
Es de propósito general como el BASIC, el COBOL, el FORTRAN, el PL/I;
porque no está enfocado a un tipo especifico de aplicaciones.
Pero el PASCAL, a diferencia de otros lenguajes, contiene algunos rasgos
singulares que han sido diseñados para estimular el uso de la "programación
estructurada", un enfoque ordenado y disciplinado de la programación que conduce a
la obtención de programas claros, eficientes y libres de errores. Por ello, el PASCAL se
utiliza ampliamente en la enseñanza de la informática.
Con PASCAL no sólo se dispone de un lenguaje de programación, sino que
además se adquiere una metodología para el diseño y escritura de programas.
El nombre PASCAL fue elegido en honor de Blaise Pascal (1623-1662), brillante
científico y matemático francés entre cuyos logros se encuentra la invención de la
primera máquina de calcular mecánica.
El PASCAL fue desarrollado inicialmente a principios de los años 70 por Niklaus
Wirth, en la Universidad Técnica de Zurich, Suiza. El propósito original de Wirth fue
crear un lenguaje de alto nivel para enseñar programación estructurada.
La definición original del lenguaje debida a Wirth se suele conocer como
PASCAL estándar o " PASCAL estándar según definición de Jensen y Wirth " (4) .Pero
en la actualidad el término " PASCAL estándar " resulta ambiguo porque hoy existen
varios estándares diferentes.
La mayor parte de las implementaciones actuales se diferencian algo de la
definición original de Wirth. La Organización Internacional de Normas (ISO/DIS 7185)
ha propuesto un estándar europeo. También se desarrolla un estándar americano muy
parecido bajo los auspicios conjuntos del Instituto Nacional Americano de Normas
(ANSI, comité X3J9, plan BSR X3.97-1983) y del Instituto de Ingenieros Eléctricos y
Electrónicos ( IEEE ) .

  1. El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.
  2. El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.
A diferencia de lenguajes de programación descendientes de C, Pascal utiliza el símbolo ":=" para la asignación en vez de "=". Si bien el segundo es más conocido, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo ==. Esta sintaxis conduce a muchos errores o bugs difíciles de rastrear en código C. Dado que Pascal no permite asignaciones dentro de expresiones y utiliza sintaxis distintas para asignaciones y comparaciones, no sufre estos errores.
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; y también evita la necesidad de notación húngara, que vienen a ser prefijos que se añaden a los nombres de las variables y que indican su tipo.
Introducción
1 - 2

elementos basicos

Un programa en PASCAL es un conjunto de instrucciones o sentencias, escritas según
ciertas reglas, para realizar operaciones sobre entidades de datos conocidas como
constantes, variables y resultados de funciones.
La constante es una entidad cuyo valor no puede ser modificado durante la ejecución.
La variable es una entidad cuyo valor puede modificarse durante la ejecución.
Una función es un conjunto de operaciones asociadas a un nombre y que devuelve un
valor.

concepto de tipo de datos

En PASCAL, todo dato está asociado a un TIPO de datos y debe ser declarado antes
de utilizarse.
Un TIPO de datos está representado por un identificador y determina el rango de
valores que un elemento de datos puede tomar, así como las operaciones a que puede ser
sometido. Además, el TIPO determina el espacio en memoria necesario para almacenar
cualquiera de los valores posibles que puede tomar esa entidad.
El compilador de PASCAL proporciona identificadores para algunos tipos que están
predefinidos : números enteros y reales, valores lógicos, caracteres alfanuméricos, registros,
tablas, cadenas de caracteres, conjuntos, ficheros y punteros a estructuras dinámicas. Pero,
además, el PASCAL permite al usuario crear sus propios tipos definiendo identificadores de
su elección para representar rangos de valores. Estos también llevan asociados un conjunto
de operadores admisibles y unas necesidades determinadas de espacio en memoria.
El tipo de una constante es el tipo de su valor correspondiente. El tipo de una variable
es el tipo establecido cuando se declaró y no puede modificarse en general. El tipo de una
función es el del valor que devuelve.
Los valores de las variables y de las funciones pueden cambiar tantas veces como se
desee durante la ejecución de un programa, pero esos valores deben permanecer siempre
dentro del rango establecido por su tipo. Una variable no adopta un valor hasta que el
programa le asigna uno. El valor de una función se calcula durante la ejecución de dicha
función.


En PASCAL también existen las EXPRESIONES que, igualmente, corresponden a
algun tipo siempre. Una expresión representa al valor resultante de operar alguna
combinación de constantes, variables, funciones, con ciertos operadores. Se pueden usar
operadores aritméticos, relacionales, lógicos, de manejo de cadenas de caracteres, y de
conjuntos. Las operaciones aritméticas producen valores enteros o reales. Las operaciones
relacionales y lógicas producen valores booleanos. Las operaciones entre conjuntos permiten
obtener la unión, la intersección y las diferencias entre conjuntos.
Resumiendo y hablando en términos generales, se puede enunciar el principio básico
de que cada constante, variable, expresión o función es de un tipo determinado.
Como en los equipos de proceso de datos sólo hay un tipo de escritura, la norma que
se adopta para hacer distinciones consiste en manifestar explicitamente el tipo asociado a
cada entidad en sentencias de declaración y hacer que esta declaración preceda en el texto a
la utilización de las constantes, variables o funciones.
Las características del concepto de TIPO que están incorporadas al PASCAL son las
siguientes :
1. Un tipo de datos determina el conjunto de valores al que pertenece una
constante,o que puede tomar una variable o expresión, o que pueden ser
generados por un operador o función.
2. El tipo de valor identificado por una constante, variable o expresión puede
deducirse de su forma o de su declaración sin necesidad de ejecutar el proceso
de cálculo.
3. Cada operador o función presupone argumentos de un tipo determinado y
produce un resultado también de un tipo determinado. Si un operador admite
argumentos de varios tipos ( por ejemplo, se utiliza el símbolo "+" igualmente
para sumar enteros y reales ) el tipo del resultado puede determinarse a partir
de reglas específicas del lenguaje.

elementos gramaticales



Las PALABRAS usadas en un programa en PASCAL son combinaciones de
caracteres alfabéticos y numéricos. Ocasionalmente pueden incluirse el signo del dólar ($),
el de subrayar ( _ ) y el del tanto por ciento (%) en algunas implementaciones.
Algunas PALABRAS están RESERVADAS para nombres de sentencias ejecutables,
de operaciones y de estructuras de datos predefinidas. En la tabla 2.3 se presentan todas las
PALABRAS RESERVADAS. Ejemplo : ARRAY, BEGIN, CASE, DIV, etc...
Otras PALABRAS usadas en los programas son los IDENTIFICADORES. Algunos
están PREDEFINIDOS y representan rutinas y tipos de datos que proporciona el PASCAL.
Otros identificadores usados son los DEFINIDOS POR EL USUARIO para poner nombre
a programas, constantes simbólicas, variables y cualquier elemento del programa que no
haya sido denominado. En las tablas 2.4 y 2.5 se indican los IDENTIFICADORES
PREDEFINIDOS. Ejemplo : CHAR, EOF, EXP, WRITE, etc...


El conjunto de caracteres
El PASCAL estandar usa el conjunto de la tabla de codificación ASCII ( American
Standard Code for Information Interchange ) que contiene 128 caracteres puestos en orden.
Hay varias clases de caracteres :
. Las letras mayúsculas y las minúsculas desde la " A " a la " Z " y desde la " a " a
la " z ".
. los números del " 0 " al " 9 ".
. Caracteres especiales, tales como el "ampersand" (&), el signo de interrogación (?),
el signo de igualdad (=).
. Caracteres no imprimibles, tales como el espacio en blanco, el tabulador, el salto
de linea, el retorno de carro, el pitido.
En general, los compiladores de PASCAL no distinguen entre letras mayúsculas y
minúsculas excepto cuando se escriben entre apóstrofos.
Ejemplo : PROGRAM Uno y PROGRAM UNO son equivalentes.
' Pepe Pérez ' y ' PEPE PEREZ ' son diferentes.
La tabla 2.1 resume el conjunto de caracteres ASCII. Cada elemento es un valor
constante del tipo predefinido CHAR.
El número decimal que lleva asociado cada elemento es el ordinal que devuelve la
función ORD de PASCAL aplicada a ese carácter.



Conjunto de caracteres ASCII

 
Significado de algunas abreviaturas:
nul nulo nl salto de linea
ht tabulador horizontal esc escape
cr retorno de carro bs retroceso
bel campana vs tabulador vertical
Observacioes:
• Los códigos de los caracteres 0 a 31 y 127 no son imprimibles
• Los códigos de las letras mayúsculas, los de las minúsculas y los de las cifras son
contiguos entre sí.
• La diferencia entre una letra mayúscula y su correspondiente minúscula es 32.

Las sentencias de un programa en PASCAL se forman con elementos que pueden ser :
- símbolos individuales, tales como los operadores aritméticos.
- palabras con un significado especial en PASCAL y palabras definidas
por el usuario.
Los elementos gramaticales se construyen con caracteres. Un carácter es cualquier
elemento de la tabla de codificación ASCII ( Tabla 2.1 ).
Algunos caracteres son SIMBOLOS ESPECIALES que se usan en PASCAL como
delimitadores de sentencias, como operadores y como elementos sintácticos del lenguaje.
Ejemplo : " ; " , " > ", " < > " , " = " . En la tabla 2.2 se indican todos.