El PASCAL se usa 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.
Historia del Lenguaje de programación de pascal.
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 . Pero en la actualidad el término " PASCAL estándar " resulta ambiguo porque hoy existen varios estándares diferentes.
Aplicación de Pascal.
Independientemente del lenguaje que se utilice, lo que se pretende casi siempre que se usa un ordenador es representar un sistema para obtener información sobre él que favorezca su conocimiento y posibilite la toma de decisiones sobre alguna materia en cuestión relacionada.
Los sistemas a tratar pueden ser de naturaleza muy diversa : la gestión administrativa de una universidad, un fenómeno físico o químico o biológico, una instalación industrial, etc... La información que interesa obtener en cada caso será diferente pero, una vez definido el problema, en todos se puede aplicar el siguiente método para su tratamiento por ordenador :
- Elegir los datos significativos.
- Organizar los datos según estructuras adecuadas a los tratamientos que se aplicarán.
- Idear algoritmos para manejar los datos que representen bien al sistema y produzcan resultados fiables.
- Escribir un programa que integre las estructuras de datos con los algoritmos y permita usar un ordenador para repetir el proceso de introducir datos y obtener los resultados correspondientes a casos diferentes.
En definitiva, hay que seguir un proceso de ascensión desde los simples datos hasta la obtención del conocimiento:
Decisiones
Información, conocimiento
Programas
Algoritmos
Estructuras
Datos
Este proceso de ascensión parece simple sobre el papel pero puede llegar a resultar muy complicado en la práctica cuando se acomete el tratamiento de sistemas reales, por eso la escritura de programas fiables no siempre se consigue en el primer intento.
Aunque la elección del lenguaje a utilizar puede parecer irrelevante cuando ya están definidas las estructuras de datos y se han construido los algoritmos; no es así especialmente en los casos donde el programa está formado por cientos de sentencias. Si no se toman precauciones, los defectos en la construcción de los programas pueden suponer una fuente continua de problemas y trastornos en el desarrollo y mantenimiento de una aplicación.
Por eso existe una tendencia general a practicar una disciplina de programación estructurada como la que facilita el PASCAL y alguna otra técnica auxiliar como el uso de diagramas estructurados. La experiencia ha permitido constatar que con el enfoque estructurado se consiguen mayores rendimientos en la programación.
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.
EL 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 pre-definidos : 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 algún 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 explícitamente 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 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.
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
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.
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.
En la definición del lenguaje PASCAL, algunas palabras están reservadas. Se usan como nombres de sentencia, de tipos de datos y de operadores. Suelen escribirse con mayúsculas, aunque no es necesario. Sólo se pueden usar, dentro de un programa, en el contexto para el que han sido definidas. No se pueden redefinir para usarlas como identificadores.
Identificadores
Son nombres que denotan constantes, tipos, variables, procedimientos y funciones.
Pueden incluir letras y dígitos cumpliendo las restricciones siguientes:
. Un identificador no puede comenzar con un dígito.
. Un identificador no puede tener espacios en blanco ni dígitos especiales.
. Los primeros caracteres de un identificador (31 en VAX PASCAL) deben designar un nombre único dentro del bloque de programa en el que ha sido definido.
En PASCAL hay algunos identificadores que están predeclarados como nombres de procedimientos, de funciones, tipos de datos, constantes simbólicas y variables de fichero.
ESTRUCTURA DE UN PROGRAMA
Un programa escrito en PASCAL consta de un ENCABEZAMIENTO y un
BLOQUE.
En el encabezamiento se especifica el nombre del programa y los nombres de los ficheros externos que se usan para entrada de datos y salida de resultados.
El bloque está dividido en dos partes :
. La sección de las declaraciones, donde se declaran todos los datos y las rutinas.
. La sección ejecutable, que contiene sentencias ejecutables.
Un programa también puede contener lineas de comentario intercaladas en cualquier lugar.
Sintácticamente, un programa comienza con la palabra PROGRAM y termina con un punto "."
La sección ejecutable
Contiene a las sentencias que, cuando se ejecutan, realizan las acciones del programa.
La sección ejecutable sigue a la de las declaraciones y está delimitada por BEGIN y
END, terminando en un punto.
Entre BEGIN y END puede haber sentencias condicionales, repetitivas, sentencias de asignación, sentencias que controlan el flujo de la ejecución.
Tampoco se va a dedicar más atención a ésta cuestión aquí porque más adelante se describirán todas esas clases de sentencias.
Las Rutinas
El PASCAL permite agrupar definiciones, declaraciones y sentencias ejecutables en
RUTINAS.
Es muy conveniente usar rutinas para organizar un programa aislando las tareas particulares que comporta. Practicando esta técnica desde el principio se puede conseguir un diseño modular de los programas que favorece el refinamiento por etapas sucesivas durante
la etapa de desarrollo y facilita el mantenimiento posterior.
En PASCAL se usan dos tipos de rutinas: los PROCEDIMIENTOS y las
FUNCIONES.
Los procedimientos se usan para realizar un conjunto de acciones. Se invocan con una sentencia ejecutable denominada " llamada a procedimiento "
Las funciones se usan para obtener y devolver un valor. Se invocan cuando un identificador de función aparece dentro de una expresión.
El compilador de PASCAL suministra muchas rutinas pre-declaradas para realizar operaciones de uso frecuente, como las de entrada y salida.
Una rutina consta de un encabezamiento y un bloque que hay que definir en la declaración de la rutina ( recordar que los procedimientos y funciones son entidades que hay que declarar en los programas ). El encabezamiento contiene el nombre de la rutina, una lista de parámetros formales que declaran los datos externos a la rutina y, en el caso de las funciones, el tipo del resultado o valor de la función.
LOS TIPOS DE DATOS
En PASCAL hay cuatro categorías de tipos de datos:
Ordinales: INTEGER ( números enteros )
CHAR ( caracteres )
BOOLEAN ( valores lógicos : TRUE y FALSE )
Enumerativos
Subcampo
Reales: REAL ( números reales )
Estructurados: ARRAY ( tablas )
RECORD ( registros )
FILE ( secuencias )
SET ( conjuntos )
Punteros.
A los tipos Ordinales y Reales se les llama habitualmente tipos escalares o tipos simples. Son los tipos fundamentales que sirven para construir tipos estructurados.
Los tipos INTEGER, CHAR, BOOLEAN y REAL estan predefinidos por el compilador. Los tipos Enumerativos y Subcampo son definidos por el usuario.
Los tipos estructurados permiten procesar grupos de datos ordinales, reales, estructurados y punteros. Por ejemplo, se pueden tener una cadena de caracteres, un fichero de registros, una tabla de punteros. Todas son estructuras estáticas.
El tipo puntero permite manejar estructuras de datos dinámicas. Sus valores son direcciones de almacenamiento de variables dinámicas.
Operadores elementales de ficheros secuenciales.
Aquí se va a concretar la noción de acceso secuencial mediante la definición de un
conjunto de operadores elementales utilizables por el programador. Son cuatro operaciones :
1. Iniciar el proceso de generación del fichero.
2. Añadir un componente al final de la secuencia (escritura).
3. Iniciar la inspección (lectura).
4. Avanzar la inspección al componente siguiente.
Ficheros internos y externos.
En cada Sistema Operativo concreto se manejan unidades de almacenamiento de datos
en disco llamadas ficheros, que existen fuera del contexto de los programas y se caracterizan mediante atributos propios del Subsistema de Manejo de Ficheros instalado. A éstos se les conoce como ficheros externos.
Las variables de tipo FILE del Pascal son un buen modelo para representar ficheros de disco con acceso secuencial que permite manejarlos aplicando los procedimientos válidos
para las secuencias; pero ello obliga a establecer una asociación entre las variables tipo FILE del programa y los ficheros externos identificados con nombres particulares.
OPERADORES
El PASCAL proporciona varias clases de operadores para formar expresiones combinando constantes, variables y funciones:
ARITMETICOS
RELACIONALES
LOGICOS
DE CADENAS DE CARACTERES
DE CONJUNTOS
Historia del Lenguaje de programación de pascal.
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 . Pero en la actualidad el término " PASCAL estándar " resulta ambiguo porque hoy existen varios estándares diferentes.
Aplicación de Pascal.
Independientemente del lenguaje que se utilice, lo que se pretende casi siempre que se usa un ordenador es representar un sistema para obtener información sobre él que favorezca su conocimiento y posibilite la toma de decisiones sobre alguna materia en cuestión relacionada.
Los sistemas a tratar pueden ser de naturaleza muy diversa : la gestión administrativa de una universidad, un fenómeno físico o químico o biológico, una instalación industrial, etc... La información que interesa obtener en cada caso será diferente pero, una vez definido el problema, en todos se puede aplicar el siguiente método para su tratamiento por ordenador :
- Elegir los datos significativos.
- Organizar los datos según estructuras adecuadas a los tratamientos que se aplicarán.
- Idear algoritmos para manejar los datos que representen bien al sistema y produzcan resultados fiables.
- Escribir un programa que integre las estructuras de datos con los algoritmos y permita usar un ordenador para repetir el proceso de introducir datos y obtener los resultados correspondientes a casos diferentes.
En definitiva, hay que seguir un proceso de ascensión desde los simples datos hasta la obtención del conocimiento:
Decisiones
Información, conocimiento
Programas
Algoritmos
Estructuras
Datos
Este proceso de ascensión parece simple sobre el papel pero puede llegar a resultar muy complicado en la práctica cuando se acomete el tratamiento de sistemas reales, por eso la escritura de programas fiables no siempre se consigue en el primer intento.
Aunque la elección del lenguaje a utilizar puede parecer irrelevante cuando ya están definidas las estructuras de datos y se han construido los algoritmos; no es así especialmente en los casos donde el programa está formado por cientos de sentencias. Si no se toman precauciones, los defectos en la construcción de los programas pueden suponer una fuente continua de problemas y trastornos en el desarrollo y mantenimiento de una aplicación.
Por eso existe una tendencia general a practicar una disciplina de programación estructurada como la que facilita el PASCAL y alguna otra técnica auxiliar como el uso de diagramas estructurados. La experiencia ha permitido constatar que con el enfoque estructurado se consiguen mayores rendimientos en la programación.
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.
EL 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 pre-definidos : 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 algún 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 explícitamente 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 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.
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
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.
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.
En la definición del lenguaje PASCAL, algunas palabras están reservadas. Se usan como nombres de sentencia, de tipos de datos y de operadores. Suelen escribirse con mayúsculas, aunque no es necesario. Sólo se pueden usar, dentro de un programa, en el contexto para el que han sido definidas. No se pueden redefinir para usarlas como identificadores.
Identificadores
Son nombres que denotan constantes, tipos, variables, procedimientos y funciones.
Pueden incluir letras y dígitos cumpliendo las restricciones siguientes:
. Un identificador no puede comenzar con un dígito.
. Un identificador no puede tener espacios en blanco ni dígitos especiales.
. Los primeros caracteres de un identificador (31 en VAX PASCAL) deben designar un nombre único dentro del bloque de programa en el que ha sido definido.
En PASCAL hay algunos identificadores que están predeclarados como nombres de procedimientos, de funciones, tipos de datos, constantes simbólicas y variables de fichero.
ESTRUCTURA DE UN PROGRAMA
Un programa escrito en PASCAL consta de un ENCABEZAMIENTO y un
BLOQUE.
En el encabezamiento se especifica el nombre del programa y los nombres de los ficheros externos que se usan para entrada de datos y salida de resultados.
El bloque está dividido en dos partes :
. La sección de las declaraciones, donde se declaran todos los datos y las rutinas.
. La sección ejecutable, que contiene sentencias ejecutables.
Un programa también puede contener lineas de comentario intercaladas en cualquier lugar.
Sintácticamente, un programa comienza con la palabra PROGRAM y termina con un punto "."
La sección ejecutable
Contiene a las sentencias que, cuando se ejecutan, realizan las acciones del programa.
La sección ejecutable sigue a la de las declaraciones y está delimitada por BEGIN y
END, terminando en un punto.
Entre BEGIN y END puede haber sentencias condicionales, repetitivas, sentencias de asignación, sentencias que controlan el flujo de la ejecución.
Tampoco se va a dedicar más atención a ésta cuestión aquí porque más adelante se describirán todas esas clases de sentencias.
Las Rutinas
El PASCAL permite agrupar definiciones, declaraciones y sentencias ejecutables en
RUTINAS.
Es muy conveniente usar rutinas para organizar un programa aislando las tareas particulares que comporta. Practicando esta técnica desde el principio se puede conseguir un diseño modular de los programas que favorece el refinamiento por etapas sucesivas durante
la etapa de desarrollo y facilita el mantenimiento posterior.
En PASCAL se usan dos tipos de rutinas: los PROCEDIMIENTOS y las
FUNCIONES.
Los procedimientos se usan para realizar un conjunto de acciones. Se invocan con una sentencia ejecutable denominada " llamada a procedimiento "
Las funciones se usan para obtener y devolver un valor. Se invocan cuando un identificador de función aparece dentro de una expresión.
El compilador de PASCAL suministra muchas rutinas pre-declaradas para realizar operaciones de uso frecuente, como las de entrada y salida.
Una rutina consta de un encabezamiento y un bloque que hay que definir en la declaración de la rutina ( recordar que los procedimientos y funciones son entidades que hay que declarar en los programas ). El encabezamiento contiene el nombre de la rutina, una lista de parámetros formales que declaran los datos externos a la rutina y, en el caso de las funciones, el tipo del resultado o valor de la función.
LOS TIPOS DE DATOS
En PASCAL hay cuatro categorías de tipos de datos:
Ordinales: INTEGER ( números enteros )
CHAR ( caracteres )
BOOLEAN ( valores lógicos : TRUE y FALSE )
Enumerativos
Subcampo
Reales: REAL ( números reales )
Estructurados: ARRAY ( tablas )
RECORD ( registros )
FILE ( secuencias )
SET ( conjuntos )
Punteros.
A los tipos Ordinales y Reales se les llama habitualmente tipos escalares o tipos simples. Son los tipos fundamentales que sirven para construir tipos estructurados.
Los tipos INTEGER, CHAR, BOOLEAN y REAL estan predefinidos por el compilador. Los tipos Enumerativos y Subcampo son definidos por el usuario.
Los tipos estructurados permiten procesar grupos de datos ordinales, reales, estructurados y punteros. Por ejemplo, se pueden tener una cadena de caracteres, un fichero de registros, una tabla de punteros. Todas son estructuras estáticas.
El tipo puntero permite manejar estructuras de datos dinámicas. Sus valores son direcciones de almacenamiento de variables dinámicas.
Operadores elementales de ficheros secuenciales.
Aquí se va a concretar la noción de acceso secuencial mediante la definición de un
conjunto de operadores elementales utilizables por el programador. Son cuatro operaciones :
1. Iniciar el proceso de generación del fichero.
2. Añadir un componente al final de la secuencia (escritura).
3. Iniciar la inspección (lectura).
4. Avanzar la inspección al componente siguiente.
Ficheros internos y externos.
En cada Sistema Operativo concreto se manejan unidades de almacenamiento de datos
en disco llamadas ficheros, que existen fuera del contexto de los programas y se caracterizan mediante atributos propios del Subsistema de Manejo de Ficheros instalado. A éstos se les conoce como ficheros externos.
Las variables de tipo FILE del Pascal son un buen modelo para representar ficheros de disco con acceso secuencial que permite manejarlos aplicando los procedimientos válidos
para las secuencias; pero ello obliga a establecer una asociación entre las variables tipo FILE del programa y los ficheros externos identificados con nombres particulares.
OPERADORES
El PASCAL proporciona varias clases de operadores para formar expresiones combinando constantes, variables y funciones:
ARITMETICOS
RELACIONALES
LOGICOS
DE CADENAS DE CARACTERES
DE CONJUNTOS
No hay comentarios:
Publicar un comentario