Lenguaje de Programación Turbo Pascal

3.2 Estrutura de un programa en turbo Pascal 

Regesar al Menú


  • Introducción a Turbo Pascal
Palabras reservadas
Identificadores
Variables y constantes
Comentarios
  • La estructura de los programas
Estructura de los programas
Sentencia PROGRAM
Declaración de unidades o Librerias 
Declaración de constantes, tipos y variables
Programa principal

Procedimientos

Funciones

  • Ejecución de los programas
Compilación y ejecución en memoria
Compilación al disco
  • La operación de asignación
Asignación o igualación
  • Operadores

Ariméticos

Relacionales

Lógicos

 

  • Funciones estándar de Turbo Pascal

Truncamiento y redondeo

Exponenciales y logaritmicas

Aritméticas

Trigonométricas

Números aleatorios

 

 


 

Introducción a Turbo Pascal

Palabras reservadas

Para poder programar en cualquier lenguaje es necesario conocer los códigos mediante los cuales podamos expresar las tareas que queremos realizar. El Turbo Pascal, como lenguaje de programación poseé su propio código con palabras de uso exclusivo para ciertas funciones, a estas palabras les llamaremos palabras reservadas de Turbo Pascal.

Las palabras reservadas de Turbo Pascal (versiones 6.0 o mayores) son:

Pascal Estandar y Turbo Pascal 7.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.

Identificadores

Los identificadores son palabras que representan constantes, variables, tipos de datos, procedimientos, funciones y algunos otros datos. Existen dos tipos de identificadores: los predefinidos de Turbo Pascal y los definidos por el programador.

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.

Las reglas para formar los identificadores en Pascal son las siguientes :

  1. Pueden estar compuestos de caracteres alfabéticos, numéricos y el carácter de subrayado ( _ ).
  2. Deben comenzar con un carácter alfabético o el carácter de subrayado.
  3. Puede ser de cualquier longitud (sólo los 63 primeros caracteres son significativos).
  4. No se hace distinción entre mayúsculas y minúsculas.
  5. No se permite el uso de los IDENTIFICADORES RESERVADOS en los nombres de variables, constantes, programas o sub-programas.

Variables y constantes

Los tipos de datos que manejaremos en nuestro programa pueden ser de dos clases: variables o constantes.

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.

Comentarios

Es posible introducir comentarios en nuestro programa que sirvan unicamente para mejorar la comprensión del código fuente.

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*).


La estructura de los programas

Estructura de los programas

El lenguaje utilizado en Turbo Pascal es estructurado, lo que significa que cada programa requiere una forma específica de escritura para que sea entendido por el compilador.

Todo programa cuenta con algunas partes o módulos los cuales son:

Program identificador ; {cabecera opcional en Turbo Pascal}

Uses identificadores

Label lista de etiquetas ; {sección de etiquetas}

Const

definiciones de constantes

Type

declaración de tipos de datos definidos por el usuario

Var

declaración de variables

Procedure

definiciones de procedimientos

Function

definiciones de funciones

begin {cuerpo del programa}

sentencias

end.

El encabezado 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.

Sentencia PROGRAM

La sentencia PROGRAM es la declaración del nombre del programa.

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:

PROGRAM suma_de_dos_numeros ;

Esta declaración es siempre la primer linea en cualquier programa de Turbo Pascal.

Declaración de unidades o Librerias

Las unidades son módulos independientes del programa que, aunque no son ejecutables por si mismos, pueden ser utilizados por el programa principal sin necesidad de reescribir el código que contienen. Para la utilización de estos "subprogramas" es necesaria su declaración.

La palabra reservada USES cumple el propósito de declarar las unidades en el formato siguiente: USES crt, dos; Esta linea declara y habilita para su uso a la unidad crt y a la unidad dos

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 ";".

Para declarar una unidad, o lo que es lo mismo, dejarla lista para ser utilizada, se utiliza la palabra reservada USES que debe ir inmediatamente despues de la sentencia PROGRAM, despues se escriben los nombres de las unidades que se utilizarán.

Las unidades estándar de turbo pascal son:

Crt
Wincrt
Dos
Graph
Overlay
Printer
System

Declaración de constantes y variables

Para declarar las constantes se utiliza la palabra reservada CONST seguida de un identificador al que se le dará un valor determinado, un signo de igual "=", el valor que recibirá el identificador y al final un punto y coma ";". Ejemplo:

CONST pi = 3.1415926;

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í:

CONST PI = 3.1415926; Nombre = 'Juan Gutiérrez'; Unidad = 1;

Pero por cuestiones de legibilidad es preferible la primera opción.

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;

 

Programa principal 

( Cuerpo de Programa)

Despues de haber realizado todas las declaraciones se puede iniciar con el programa principal. (Es posible, antes del programa, declarar las funciones y procedimientos, pero eso se analizará posteriormente).

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.

Declaración de un procedimiento

Un procedimiento es un subprograma que realiza una tarea específica. Un procedimiento esta compuesto de un grupo de sentencias a la que se les asigna un nombre (identificador) y constituye una unidad de programa.

La sintaxis para declarar un procedimiento es :

Formato 1 :

 procedure nombre_procedimiento; 
  declaraciones locales
 begin
  cuerpo del procedimiento
 end;

Formato 2:

 procedure nombre_procedimiento(parámetros formales); 
  declaraciones locales
 begin
  cuerpo del procedimiento
 end;

La existencia de parámetros_formales dependerá de la naturaleza del procedimiento, esto es, de la tarea que va a realizar y de la forma en que lo ha estructurado su creador.

Funciones

La diferencia principal entre un procedimiento y una función es que el identificador de la función asume un valor, y cuando la función termina su tarea, devuelve ese valor al módulo que la invocó; mientras que el procedimiento no devuelve ningún valor.

Puesto que el nombre de la función toma un valor, dicho nombre debe tener asociado un tipo de dato.

La declaración de una función tiene la siguiente forma :

function Nombre (p1,p2,...):tipo
 {declaraciones locales y subprogramas}
begin
  <cuerpo de la función>
  Nombre := valor de la función
end; 
p1,p2,... lista de parámetros formales
tipo      tipo de dato del resultado 
          que devuelve la función

Ejemplos :

function verifica : boolean ;
{ Función sin parámetros formales} 
function cambia(Var valor_1, valor_2: real):real; 
function potencia( base, exponente : real ):real;

Ejecución de los programas

Compilación y ejecución en memoria

La compilación de un programa es el paso mediante el cual traducimos dicho programa al lenguaje maquina entendible por la computadora.

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]

Compilación al disco

Para poder ejecutar un programa sin necesidad de llamar al entorno integrado de desarrollo de Turbo Pascal es necesario compilar el programa al disco.

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.


La operación de asignación

Asignación o igualación

La operación de asignación es una de las más utilizadas en Turbo Pascal ya que nos permite darle un valor determinado a las variables que declaramos en el programa o lo que es lo mismo, igualarla a algún valor determinado.

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.


Operadores

Los operadores sirven para combinar los términos de las expresiones.

En Pascal, se manejan tres grupos de operadores :

 

Operadores aritméticos

Son aquellos que sirven para operar términos numéricos.

Operadores aritméticos básicos

Operador Operación Operandos Ejemplo Resultado
+ Suma real , integer a + b suma de a y b
- Resta real , integer a - b Diferencia de a y b
* Multiplicación real , integer a * b Producto de a por b
/ División real , integer a / b Cociente de a por b
div División entera integer a div b Cociente entero de la división
mod Módulo integer a mod b Residuo  de la división 

 

Operadores relacionales

Los operadores de relación se utilizan para expresar condiciones y describen una operación entre dos valores.

Símbolo

Significado

=

IGUAL que

<>

NO IGUAL que

<

MENOR que

>

MAYOR que

<=

MENOR o IGUAL que

>=

MAYOR o IGUAL que

 

Operadores lógicos

 Al igual que las relaciones, en las operaciones con operadores lógicos se tienen resultados cuyo valor de verdad toma uno de los valores booleanos true o false.

Los operadores lógicos en Pascal son : 

 

NOT

Sintaxis : not operando 

Descripción : Invierte el valor de verdad de operando. 

Operando 1 Not E1
T F
F T
AND 

Sintaxis : operando.1 and operando.2 

Descripción : Produce un resultado con valor de verdad true cuando ambos operandos tienen valor de verdad true; en cualquier otro caso el resultado tendrá un valor de verdad false. 

Op1 Op2 Op1 And Op2
T T

T

T F F
F T F
F F F
OR 

Sintaxis : operando.1 or operando.2 

Descripción : Produce un resultado con valor de verdad false cuando ambos operadores tienen valores de verdad false; en cualquier otro caso el resultado tendrá un valor de verdad true. 

Op1 Op2 Op1 Or Op2
T T T
T F T
F T T
F F F
XOR 

Sintaxis : operando.1 xor operando.2 

Descripción : Un operando debe tener valor de verdad true y el otro false para que el resultado tenga valor de verdad true.

Op1 Op2 Op1 Xor Op2
T T F
T F T
F T F
F F F

 


Funciones estándar de Turbo Pascal

Truncamiento y redondeo

La función Round (número) redondea un número real al entero más cercano y devuelve el resultado como un número real.

La función Trunc (número) elimina la parte decimal del número real y devuelve el resultado como tipo entero. Ejemplo:

PROGRAM Redondeo;
VAR
Entero : Integer;
ValorReal1, ValorReal2 : Real;

BEGIN
ValorReal1 := 123.435;
ValorReal2 := Round(ValorReal1);
Entero := Trunc (ValorReal1);
WriteLn('El resultado de la función Round sobre el valor');
WriteLn(ValorReal1, ' es: ','ValorReal2, ' (Número real)');
WriteLn('El resultado de la función Trunc sobre el valor');
WriteLn(ValorReal1, ' es: ', Entero, ' (Número entero)');
END.

Funciones exponenciales 

La función Sqr devuelve el cuadrado del valor utilizado como parámetro.

Sqrt regresa la raíz cuadrada del valor dado como parámetro, el resultado siempre es real aunque se utilice un número de tipo entero como argumento. Ejemplo:

PROGRAM Exponentes;
VAR
Dato, Cuadrado : Integer;
Raiz : Real;
BEGIN
Dato := 45;
Cuadrado := Sqr(Dato);
Raiz := Sqrt(Dato);
WriteLn(' El cuadrado de ',Dato, ' es: ',Cuadrado);
WriteLn('La raíz cuadrada de ',Dato,' es: ',Raiz);
END.

Funciones aritméticas

Abs regresa el valor absluto del identificador que se le pase como parámetro. El valor que devuelve será del mismo tipo que el argumento. Abs(-24) {Regresa el valor 24} La función Int devuelve la parte entera de un valor real, como tipo real.

La función Frac regresa la parte decimal de un valor real, también como valor real.

Funciones trigonométricas

Las funciones trigonometricas definidas en Turbo Pascal son: Sin(valor), Cos(valor) y Arctan(valor), todas las demas pueden definirse desde estas:

Tan(x) Sin(x) / Cos(x)
Cot(x) Cos(x) / Sin(x)
Sec(x) 1 / Cos(x)
Csc(x) 1 / Sin(x)

Generación de números aleatorios

Para generar números aleatorios Turbo Pascal cuenta con la función Random y el procedimiento Randomize.

La función Random genera un número aleatorio de tipo real comprendido entre 0 y 1, en cambio la función Random (x) genera un entero aleatorio entre 0 y x.

Ejemplo de un programa generador de números aleatorios:

PROGRAM Nums_Aleatorios;
VAR
x : Integer;

BEGIN
Randomize
WriteLn('Lista de números aleatorios');
For x := 1 to 20 do
WriteLn(Random);
END.


 

Regesar al Menú