Programación en Pascal
Parte I
Las palabras reservadas de Turbo Pascal (versiones 6.0 o mayores) son:
Pascal Estandar y Turbo Pascal 6.0 |
AND | ARRAY | BEGIN | CASE |
CONST | DIV | DO | DOWNTO |
ELSE | END | FILE | FOR |
FORWARD | FUNCTION | GOTO | IF |
IN | LABEL | MOD | NIL |
NOT | OF | OR | PACKED |
PROCEDURE | PROGRAM | RECORD | REPEAT |
SET | THEN | TO | TYPE |
UNTIL | VAR | WHILE | WITH |
Turbo Pascal |
ABSOLUTE | ASM | DESTRUCTOR |
IMPLEMENTATION | INTERFACE | OBJECT |
PRIVATE | SHR | UNIT |
VIRTUAL | CONSTRUCTOR | EXTERNAL |
INLINE | INTERRUPT | SHL |
STRING | USES | XOR |
Estas palabras no pueden ser usadas como identificadores (siguiente tópico) ya que cada una de ellas tiene una función definida en Turbo Pascal.
Algunos de los identificadores predefinidos son: integer, real, byte, sin, ...
Los identificadores definidos por el programador son los elementos del lenguaje tales como variables, procedimientos, funciones, etc.
Un identificador es una secuencia de 1 a 127 caracteres, que inicia con una letra, no tienen espacios ni símbolos: &, !, *, etc. y no es alguna palabra reservada.
Para el Turbo Pascal no existen diferencias entre mayúsculas y minúsculas, así que a un identificador denominado "valor" se le puede referir como "VALOR" o "VaLoR".
Todo identificador en Pascal debe ser definido previamente a su utilización.
Integer | Números enteros sin parte decimal. |
Char | Caracteres del código ASCII |
Boolean | Pueden contener los valores de falso o verdadero |
Real | Números que pueden incluir una parte decimal |
String | En una secuencia de caracteres que se trata como un solo dato. |
Como su nombre lo indica las variables pueden cambiar a lo largo de la ejecución de un programa, en cambio las constantes serán valores fijos durante todo el proceso.
Un ejemplo de una variable es cuando vamos a sumar dos números que serán introducidos por el usuario del programa, éste puede introducir dos valores cualesquiera y no sería nada útil restringirlo a dos valores predefinidos, así que dejamos que use los valores que el necesite sumar.
Ahora, si nuestro programa de operaciones matemáticas va a utilizar el valor de PI para algunos cálculos podemos definir un identificador PI con el valor de 3.1415926 constante, de tal forma que PI no pueda cambiar de valor, ahora en lugar de escribir todo el número cada vez que se necesite en nuestro programa, solo tenemos que escribir PI.
Las variables y constantes pueden ser de todos los tipos vistos anteriormente: numéricos tanto enteros como reales, caracteres, cadenas de caracteres, etc.
Un comentario no es tomado en cuenta al momento de la compilación del programa y es de enorme importancia al momento de crearlo, modificarlo o mantenerlo.
Existen dos formas de colocar comentarios en un programa de Turbo Pascal, entre llaves: {Comentario} o entre parentesis y asteriscos: (*Comentario*).
Todo programa cuenta con algunas partes o módulos los cuales son:
Cabecera |
Declaraciones |
Programa |
La cabecera del programa unicamente lleva el nombre del programa. En la sección de declaraciones se le indica al compilador todos los identificadores y unidades que se utilizarán durante la ejecución del programa. En la sección del programa se escribe el código de instrucciones que se llevarán a cabo.
Consta de tres partes: la palabra reservada PROGRAM, a continuación un identificador utilizado como el nombre del programa y al final un punto y coma ";". Por ejemplo:
Esta declaración es siempre la primer linea en cualquier programa de Turbo Pascal.
La palabra reservada USES cumple el propósito de declarar las unidades en el formato siguiente:
Cada unidad que se declara debera estar separada de la siguiente por una coma. Al final de todas las unidades declaradas se deberá colocar un punto y coma ";".
De esta forma el identificador pi recibirá el valor de 3.1415926 y no será posible cambiarlo en el transcurso del programa.
Es posible declarar varias constantes sucesivamente, puede ser una por renglón o varias en un solo renglón. Cuando se hace ésto, la palabra CONST solo se pone una sola vez como cabecera y a continuación todas las constantes por definir. Ejemplo:
CONST PI = 3.1415926; Nombre = 'Juan Gutiérrez'; Unidad = 1; |
Otra forma de escribir lo mismo es así:
|
La declaración de variables se lleva a cabo de la misma forma, solo que en lugar de la palabra CONS utilizamos la palabra VAR, y en lugar de "= valor;", utilizamos : tipo , sustituyendo "tipo" por alguna clase válida de datos en Turbo Pascal. Ejemplo:
VAR Num_entero : Integer; Nombre : String; |
El programa principal inicia con la palabara reservada BEGIN y termina con la palabra END., esta última con un punto al final.
Cada linea de código, enunciado, sentencia o instrucción completa que se escriba deberá terminar con un punto y coma ";".
Solo se omitirá el punto y coma cuando se utiliza la palabra reservada ELSE. Aunque puede también omitirse si la siguiente expresión es END o UNTIL.
Ya conociendo la estructura es posible escribir un primer programa:
PROGRAM Primera_Prueba; VAR Entero : Integer; CONST Mensaje = 'Introduce un valor entero: '; Respuesta = 'El valor es: '; BEGIN Write(Mensaje); {Escribe en pantalla el mensaje definido como constante} ReadLn(Entero); {Lee un valor de teclado y lo almacena en la variable Entero} WriteLn(Respuesta, Entero); {Escribe en pantalla el contenido de Respuesta y el valor que se ingresó de teclado} END. |
Como podrá apreciarse, no es importante el orden en el que se declaran las variables y constantes (aplicable solo al Turbo Pascal), es decir, pueden declararse primero las variables y luego las constantes y viceversa:
PROGRAM Primera_Prueba; CONST Mensaje = 'Introduce un valor entero: '; Respuesta = 'El valor es: '; VAR Entero : Integer; BEGIN Write(Mensaje); {Escribe en pantalla el mensaje definido como constante} ReadLn(Entero); {Lee un valor de teclado y lo almacena en la variable Entero} WriteLn(Respuesta, Entero); {Escribe en pantalla el contenido de Respuesta y el valor que se ingresó de teclado} END. |
Para lograr la compilación en el entorno integrado de desarrollo de Turbo Pascal se utiliza la opción Compile del menú del mismo nombre. Para accesar al menú se utiliza la secuencia de teclas: [ALT] + [C], y luego se escoge la opción Compile.
Otra forma de realizar la compilación es con la secuencia de teclas: [ALT] + [F9].
Es posible compilarlo y ejecutarlo automaticamente utilizando la secuencia: [CONTROL] + [F9]
Para hacer esto es necesario activar la opción Destination a Disk, esto se hace entrando al menú Compile, se selecciona la opción Destination y se presiona [Enter], de esta forma se cambia el destino de compilación de memoria a disco o viceversa (Dependiendo de la opción seleccionada actualmente).
Una vez compilado un programa en el disco es posible ejecutarlo directamente desde el sistema operativo.
El símbolo utilizado para la operación es los dos puntos seguidos por un signo de igual := , a la izquierda de dicho símbolo se coloca el identificador al que se le asignará un nuevo valor y a la derecha se colocará un identificador o algún valor directo que se almacenará en el primer identificador. Ejemplo:
Nombre := 'Juan Pérez'; {Nombre guardará la cadena "Juan Pérez"} Resta := Numero1 - Numero2; {Resta gurdará el resultado de la resta de Numero2 a Numero1} Area := (Base*Altura)/2; {Obtiene el area de un triangulo y la guarda en el identificador Area} |
Es indispensable para todo programa que cuente con la capacidad de manejar entradas y salidas de información, ya que sin estas capacidades sería un programa inútil.
La sintaxis de los procedimientos es la siguiente:
Write (indentificadores); WriteLn (indentificadores); |
Donde los identificadores son aquellos que contienen la información que se desea mandar a la pantalla. Es posible utilizar varios de ellos por cada instrucción Write o WriteLn, unicamente se separan unos de otros por comas ",". Ejemplo:
Esta linea de código desplegará consecutivamente los contenidos de los identificadores Nombre, ApellidoP y ApellidoM. En caso de que la variable Nombre almacenara el valor 'Rodrigo ', la variable ApellidoP 'González ' y la variable ApellidoM 'García', el resultado en pantalla sería:
Podemos obtener el mismo resultado si utilizamos la siguiente estructura:
Write (Nombre); Write (ApellidoP); Write (ApellidoM); |
WriteLn (Nombre); WriteLn (ApellidoP); WriteLn (ApellidoM); |
lo que obtendriamos sería:
Rodrigo González García |
El identificador puede ser cualquier variable definida previamente, NO puede ser una constante. Puede ser también un conjunto de variables, separadas entre comas, en este caso se guardara el primer valor dado antes del [Enter] en el primer identificador proporcionado, luego el segundo y así sucesivamente hasta el último identificador.
La diferencia en el uso de la instrucción Read con respecto a ReadLn es que en la primera, si se le dan mas datos de los que se introducirán se guardan en un buffer y se usarán en la siguiente instrucción Read o ReadLn del programa, en cambio ReadLn ignora todo dato posterior a los que esten definidos en la instrucción.
En caso de que se le indique a Read o ReadLn que lea un tipo específico de valor, y se le proporcione otro diferente se generará un error y se detendrá la ejecución del programa.
Tipo | Rango de valores que acepta |
Integer |
|
Word |
|
ShortInt |
|
Byte |
|
LongInt |
|
Al utilizar los tipos enteros es posible representar en el programa un número en formato hexadecimal, para hacer esto solo se le antepone el símbolo "$" al valor hexadecimal, al momento de visualizar dicho valor, o utilizarlo en alguna operación será como decimal. Por ejemplo:
El valor que se guarda en "Cantidad" es 16.
Tipo | Rango de valores que acepta |
Real |
|
Single |
|
Double |
|
Extended |
|
Comp |
|
Los números reales deben llevar por fuerza al menos un dígito de cada lado del punto decimal así sea éste un cero. Como ejemplo, el número 5 debe representarse como: 5.0, el .5 como 0.5 , etc.
En este tipo de datos se utiliza la notación científica, que es igual a la de las calculadoras, el dígito que se encuentra a continuación de la E representa la potencia a la que se elevará el número 10 para multiplicarlo por la cantidad a la izquierda de dicha E:
3.0E5 = 3.0 * 10^5 = 3.0 * 100000 = 300000 1.5E-4 = 1.5 * 10^-4 = 1.5 * 0.0001 = 0.00015 |
'a' | 'B' | '2' '#' |
El tipo Char es un tipo ordinal de Pascal, ésto quiere decir que sus elementos válidos siguen una secuencia ordenada de valores individuales. La secuencia de caracteres para este tipo corresponden al número del código ASCII, del 0 al 255.
Es posible accesar a cada uno de los caracteres utilizando un signo # antes de su valor correspondiente, por ejemplo, la letra A puede ser representada como #65, el retorno de carro, o enter, se representa como #13, y así cualquier caracter.
PROGRAM Cadena; VAR Nombre : String; BEGIN Nombre := 'Ernesto Chávez'; WriteLn (Nombre); END. |
El tamaño por defecto para un tipo string es de 255 caracteres, pero es posible definir uno mas pequeño utilizando el siguiente formato:
Es posible acceder a un solo caracter de una cadena utilizando inmediatamente despues del nombre de la misma la posición del caracter encerrada entre corchetes. Por ejemplo:
PROGRAM Cadena01; VAR Nombre : String[30]; {Permite un máximo de 30 caracteres en la variable} BEGIN Nombre := 'Ernesto Chávez'; WriteLn (Nombre[5]); {Visualiza el 5to caracter de la cadena} END. |
El tipo está definido como Boolean.
Los datos lógicos tienen una enorme aplicación en la evaluación
de ciertos procesos, así como en el control de flujo de los programas.
<< Parte 1 de 9
- Siguiente >>
- AL3XWEB -