Logo Studenta

Manual Basico Turbo Pascal

¡Este material tiene más páginas!

Vista previa del material en texto

Tutorial básico de Turbo Pascal 
El lenguaje de Turbo Pascal 
Palabras reservadas 
Identificadores 
Tipos de datos 
Variables y constantes 
Comentarios 
La estructura de los programas 
Estructura de los programas 
Sentencia PROGRAM 
Declaración de unidades 
Declaración de constantes, tipos y variables 
Programa principal 
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 
Entrada y salida de datos 
Salida de datos a la pantalla 
Entrada de datos desde teclado 
Tipos de datos 
Tipos enteros 
Tipos reales 
Tipos caracter 
Tipos cadenas 
Tipos lógicos 
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 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (1 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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 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.
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, ...
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (2 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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. 
Tipos de datos 
El manejo de la información en Turbo Pascal se realiza mediante diferentes 
clases de datos. En este apartado se tratarán los principales tipos y conforme se 
vayan necesitando se explicaran los demás.
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.
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 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (3 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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*).
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:
Cabecera
Declaraciones
Programa
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (4 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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.
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 
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 
";". 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (5 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (6 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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:
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (7 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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. 
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 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (8 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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.
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.
Salida de datos a la pantalla 
Las instrucciones que permiten mostrar datos en la pantalla de la computadora 
son: Write y WriteLn. Aunque ya se hizo uso de ellas en los pequeños 
programas anteriores de ejemplo, aqui se describirán a fondo.
La sintaxis de los procedimientos es la siguiente:
Write (indentificadores);
WriteLn (indentificadores); 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (9 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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:
Write (Nombre, ApellidoP, ApellidoM);
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: 
Rodrigo González García 
Podemos obtener el mismo resultado si utilizamos la siguiente estructura:
Write (Nombre);
Write (ApellidoP);
Write (ApellidoM);
Si en lugar de utilizar la instrucción Write hacemos uso de WriteLn con la 
misma sintaxis del ejemplo anterior:
WriteLn (Nombre);
WriteLn (ApellidoP);
WriteLn (ApellidoM); 
lo que obtendriamos sería:
Rodrigo
González
García 
De este ejemplo es posible concluir que la diferencia entre las instrucciones 
Write y WriteLn es que esta última imprime el contenido de los identificadores 
y cambia el cursor al siguiente renglón de la pantalla, y la primera solo escribe 
el contenido y deja el cursor al final del dato escrito. 
Entrada de datos desde teclado 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (10 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
Las instrucciones estandar de Turbo Pascal para obtener datos desde el teclado 
son Read y ReadLn. La sintaxis de estas instrucciones es muy parecida a la de 
Write y WriteLn:
Read (Identificador);
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.
Tipos de datos
Un programa debe ser capaz de manejar diferentes tipo de datos, como pueden 
ser números enteros, reales, caracteres, cadenas de caracteres, etc. Para lograr 
el manejo de toda esta información Turbo Pascal proveé diferentes tipos de 
datos para los identificadores que se utilizarán. Algunos de los más importantes 
se citan en seguida:
Tipos enteros 
En esta categoría Turbo Pascal cuenta con 5 tipos diferentes, cada uno abarca 
un rango específico de valores y utilizan unadiferente cantidad de memoria 
dependiendo de ese rango. Naturalmente el trabajar con rangos menores nos 
ofrece una mayor velocidad y menor espacio en memoria, pero si se utilizan 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (11 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
enteros largos se cuenta con mayor presición. Los tipos de enteros en Turbo 
Pascal son:
Tipo Rango de valores que acepta 
Integer -32,768 a 32,767 
Word 0 a 65535 
ShortInt -128 a 127 
Byte 0 a 255 
LongInt -2,147,483,648 a 2,147,483,648 
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:
Cantidad := $10; 
El valor que se guarda en "Cantidad" es 16.
Tipos reales 
Los números reales son aquellos que cuentan con una parte decimal. En Turbo 
Pascal contamos con varios tipos de datos reales, pero no se puede utilizar, mas 
que el tipo real, en máquinas que no cuenten con un coprocesador matemático. 
Los tipos de datos reales son:
Tipo Rango de valores que acepta 
Real 2.9E-39 a 1.7E38
Single 1.5E-45 a 3.4E38
Double 5.0E-324 a 1.7E308
Extended 1.9E-4851 a 1.1E4932
Comp -9.2E18 a 9.2E18
Los números reales deben llevar por fuerza al menos un dígito de cada lado del 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (12 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
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 
Tipos caracter 
Los caracteres son cada uno de los símbolos que forman el código ASCII, el 
tipo estándar de Pascal para estos datos es Char. Los caracteres se especifican 
entre apostrofes:
'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.
Tipo cadena
Las cadenas son secuencias de caracteres o arreglos que tienen una longitud 
maxima de 255 caracteres. Se definen entre apostrofes. El tipo de Pascal para 
las cadenas es String.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (13 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
PROGRAM Cadena;
VAR
Nombre : String;
BEGIN
Nombre := 'Ernesto Chávez';
WriteLn (Nombre);
END. 
Este programa guarda la cadena 'Ernesto Chávez' en la variable definida como 
tipo string, y la visualiza en la pantalla por medio de la instrucción WriteLn.
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: 
Variable : String[Tamaño];
Donde Variable es la variable a definir y Tamaño es el número maximo de 
caracteres que podrá contener esa variable (naturalmente mayor a 0 y menor a 
256).
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. 
Tipos lógicos 
Este tipo de datos tienen la peculiaridad de que solo pueden tomar dos tipos de 
datos: verdadero o falso, el verdadero puede ser representado por su nombre en 
inglés: True y el falso por False; también se representan por 1 y por 0 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (14 de 15) [30/09/2003 12:35:38]
Tutorial básico de Turbo Pascal 
respectivamente.
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.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad1p.html (15 de 15) [30/09/2003 12:35:38]
Operaciones aritméticas y expresiones
Operaciones Aritméticas 
Operaciones básicas 
Operadores DIV y MOD (Enteros) 
Prioridad de operadores
Constantes variables 
Uso de las constantes variables 
Constantes expresiones 
Uso de las expresiones como constantes 
Operaciones básicas 
Las operaciones básicas en Turbo Pascal están formadas por dos partes: el 
operador y los operandos.
Un operador es el símbolo que le indica al programa que operación realizará y 
los operandos son los datos sobre los cuales se efectuará la operación.
Los operadores de Turbo Pascal son: 
Operador Operación
+ Suma
- Resta
* Multiplicación
/ División
El tipo de datos que pascal regresa como resultado de una operación dependerá 
del tipo de datos usados como operandos. Por ejemplo, la suma de dos enteros 
da como resultado otro entero, y la suma de dos números reales da como 
resultado otro número real.
Operadores DIV y MOD 
La división de dos números, sin importar su tipo, dará como resultado un 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad2p.html (1 de 4) [30/09/2003 12:36:27]
Operaciones aritméticas y expresiones
número real, así que para dividir dos enteros, y obtener el resultado como 
entero, Turbo Pascal ofrece el operador DIV, el cual da el resultado entero de 
una división entre enteros, y el operador MOD que regresa el residuo de una 
división de enteros.
Su sintaxis es:
entero := dividendo DIV divisor 
entero := dividendo MOD divisor 
El siguiente programa es un ejemplo del uso de los operadores aritméticos:
PROGRAM Operaciones_Básicas;
VAR
Suma, Resta, Multiplicacion, Division : Real;
Cociente_Entero, Residuo_Entero : Integer;
BEGIN
Suma := 12 + 8;
Resta := 12 - 8;
Multiplicacion := 12 * 8;
Division := 12/8;
Cociente_Entero := 12 DIV 8;
Residuo_Entero := 12 MOD 8;
WriteLn ('La suma de 12 + 8 es igual a: ',Suma);
WriteLn ('La resta de 12 - 8 es igual a: ',Resta);
WriteLn ('La multiplicación de 12 * 8 es igual a: ',Multiplicacion);
WriteLn ('La división de 12 / 8 es igual a: ',Division);
WriteLn ('La división entera de 12 / 8 es igual a: ',Cociente_Entero);
WriteLn ('El residuo de la división entera de 12 / 8 es: ',Residuo_Entero);
END. 
Prioridad de operadores 
Cuando se utilizan en alguna expresión mas de un operador, éstos se evaluan 
conforme a una prioridad establecida por Turbo Pascal. Es necesario conocer el 
orden de evaluación para evitar errores en nuestros programas.
El orden en que se ejecutan las operaciones es el siguiente: 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad2p.html (2 de 4) [30/09/2003 12:36:27]
Operaciones aritméticas y expresiones
*, /, DIV, MOD primeros en evaluarse, todos tienen igual prioridad.
+, - últimos en evaluarse, ambos tienen igual prioridad.
En caso de existir parentesis en la expresión se evaluará primero el contenido 
de los parentesis antes que otros operadores.
Si existen dos operadores de igual prioridad se evaluará de izquierda a derecha.
Para observar la importancia de la evaluación correcta de los operadores se 
expone el siguiente ejemplo:
PROGRAM Operadores;
VAR
Resultado_Uno, Resultado_Dos : Real;
BEGIN
Resultado_Uno:= 3 + 5 * 7;
Resultado_Dos := (3 + 5) * 7;
WriteLn ('El resultado de la operación 3 + 5 * 7 es: ',Resultado_Uno);
WriteLn ('El resultado de la operación (3 + 5) * 7 es: ',Resultado_Dos);
END. 
Como se podrá observar en la primera operación se ejecutará primero la 
operación 5*7 y al resultado se le sumarán 3,en cambio,en la segunda 
operación se realizará primero la suma 3+5 para multiplicarle al resultado 7. 
Uso de las constantes variables 
Cuando se declaran las variables en Turbo Pascal no se inicializan con algún 
valor en especial, ésto quiere decir que una variable que no ha sido igualada a 
cierto valor llevará un contenido imprevisible, cosa no deseable en la mayoría 
de los programas, para evitar resultados indeseables es posible asignarle a cada 
variable un valor "por defecto", que se guarde al iniciar el programa.
Estas variables inicializadas son llamadas constantes variables, ya que se 
declaran en la sección de constantes, pero es posible cambiar su valor.
La sintaxis para su declaración es la siguiente:
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad2p.html (3 de 4) [30/09/2003 12:36:27]
Operaciones aritméticas y expresiones
Identificador : tipo_de_datos = valor; 
Ejemplo:
PROGRAM Constantes_Variables;
CONST
Valor_Inicializado : Integer = 23;
Texto_Inicializado : String = 'Buenos Dias!';
VAR
Texto : String;
Entero : Integer;
BEGIN
WriteLn ('Cadena inicializada: ',Texto_Inicializado);
WriteLn ('Cadena sin inicializar: ',Texto);
WriteLn ('Entero inicializado: ',Valor_Inicializado);
WriteLn ('Entero sin inicializar: ',Entero);
END. 
Uso de las expresiones como constantes 
Es posible declarar constantes con base en otras constantes ya declaradas en el 
programa utilizando alguna expresión para este fin, por ejemplo:
CONST
Columnas = 80;
Filas = 24;
Total_de_espacios = Columnas * Filas; 
Solo es posible utilizar constantes en las expresiones de este tipo, si se usa 
alguna variable ocurrirá un error al momento de compilar el programa.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad2p.html (4 de 4) [30/09/2003 12:36:27]
Tutorial básico de Turbo Pascal 
Sentencias compuestas 
Sentencias compuestas 
Sentencias repetitivas 
Ciclos FOR 
Ciclos WHILE 
Ciclos REPEAT-UNTIL 
Bifurcaciones condicionales 
IF...THEN...ELSE 
IF anidados 
CASE 
Bifurcaciones incondicionales 
GOTO 
HALT 
Sentencias compuestas 
Las sentencias compuestas son grupos de sentencias, separadas cada una por un 
punto y coma ";" que son tratadas como una sola sentencia.
Para identificar una sentencia compuesta de un grupo sucesivo de sentencias se 
encierran entre las palabras reservadas BEGIN y END. Uno de los ejemplos 
más claros de una sentencia compuesta es el cuerpo de un programa principal 
en Turbo Pascal, el lenguaje toma todo lo que existe entre estas dos sentencias 
como un solo elemento a ejecutarse aún cuando contenga varias instrucciones o 
sentencias:
PROGRAM Prueba;
BEGIN
WriteLn('Primera linea de una sentencia compuesta');
WriteLn('Segunda linea de una sentencia compuesta');
WriteLn('Tercera linea de una sentencia compuesta');
END. 
El punto y coma que se encuentra antes de la palabra reservada END puede ser 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad3p.html (1 de 7) [30/09/2003 12:36:51]
Tutorial básico de Turbo Pascal 
suprimido sin afectar a la compilación. En ocasiones es necesario repetir un 
determinado número de veces la ejecución de una sentencia, ya sea sencilla o 
compuesta, para realizar esta tarea Turbo Pascal cuenta con instrucciones 
específicas para el tipo de repetición que se requiera. 
Ciclos FOR 
El ciclo FOR repite una sentencia un determinado número de veces que se 
indica al momento de llamar al ciclo.
Lo que hace FOR es que incrementa una variable en uno desde un valor inicial 
hasta un valor final ejecutando en cada incremento la sentencia que se quiere 
repetir. Su sintaxis es:
FOR identificador := inicio TO fin DO instrucción;
Donde el identificador es la variable que se incrementará, inicio es el primer 
valor que tendrá dicha variable y fin es el valor hasta el cual se incrementará la 
misma; instrucción es la sentencia (sencilla o compuesta) que se ejecutará en 
cada incremento de la variable.
El siguiente ejemplo escribe los números del 1 al 50 en pantalla. La variable 
utilizada es "Numero". 
PROGRAM Ciclo_FOR;
VAR
Numero : Integer;
BEGIN
FOR Numero := 1 to 50 DO
WriteLn(Numero);
END. 
Una de las limitaciones de los ciclos FOR es que una vez iniciado el ciclo se 
ejecutará el número de veces predefinido sin posibilidad de agregar o eliminar 
ciclos.
Es posible hacer que un ciclo cuente hacia atrás, es decir que la variable en 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad3p.html (2 de 7) [30/09/2003 12:36:51]
Tutorial básico de Turbo Pascal 
lugar de incrementarse se decremente. Para ésto cambiamos la palabra TO por 
DOWNTO, y colocamos el valor mayor a la izquierda y el menor a la derecha. 
Ejemplo:
PROGRAM Ciclo_FOR_2;
VAR
Numero : Integer;
BEGIN
FOR Numero := 50 DOWNTO 1 DO
WriteLn(Numero);
END. 
Ciclos WHILE 
Los ciclos WHILE ofrecen la ventaja de que la ejecución se realiza mientras se 
cumpla una condición, por lo tanto es posible controlar el número de 
repeticiones una vez iniciado el ciclo. Su sintaxis es:
WHILE condición DO instrucción 
Donde condición es la condición que se evaluará, mientras ésta sea verdadera 
se ejecutará la instrucción, que es una sentencia simple o compuesta.
Un programa que escriba los números del 1 al 50, utilizando el ciclo WHILE se 
vería como sigue:
PROGRAM Ciclo_WHILE;
VAR
Numero : Integer;
BEGIN
Numero := 1;
WHILE Numero <= 50 DO
BEGIN
WriteLn (Numero);
Numero := Numero +1;
END;
END. 
Al final del programa la variable Numero guardará el valor 51, que fué el valor 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad3p.html (3 de 7) [30/09/2003 12:36:51]
Tutorial básico de Turbo Pascal 
que no cumplió con la condición establecida en el ciclo WHILE.
Ciclos REPEAT-UNTIL 
Este tipo de ciclos es muy parecido a los ciclos WHILE, la diferencia entre 
ambos es que en WHILE la condición se evalúa al principio del ciclo, en 
cambio en REPEAT-UNTIL se evalúa al final, lo que significa que en un ciclo 
REPEAT-UNTIL la sentencia se ejecutará por lo menos una vez, cosa que 
puede no ocurrir en el ciclo WHILE. Ejemplo:
PROGRAM Ciclo_RepeatUntil;
VAR
Numero : Integer;
BEGIN
Numero := 1;
REPEAT
WriteLn (Numero);
Numero := Numero + 1;
UNTIL Numero = 50;
END. 
Para crear un buen programa es necesario dotarlo con capacidad de desición 
con base en las variables o eventos definidos por el programador, para que el 
programa sea aplicable en un entorno más generalizado y no solo para un 
problema específico.
Para lograr este control se cuenta con las estructuras de control que, en Turbo 
Pascal, son las siguientes:
Sentencia IF...THEN...ELSE 
Esta expresión es utilizada para ejecutar una sentencia en el caso que una 
condición establecida sea verdadera, de lo contrario se podra ejecutar una 
sentencia distinta. Su sintaxis es:
IF condición THEN instrucción ELSE otro 
Donde condición es la expresión que se evaluará, en caso de ser verdadera se 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad3p.html (4 de 7) [30/09/2003 12:36:51]
Tutorial básico de Turbo Pascal 
ejecutará la sentencia dada como instrucción, en caso de que la condición sea 
falsa se ejecutara la sentencia dada como otro. Ejemplo:
PROGRAM IF_THEN_ELSE;
VAR
Contador : Integer;
BEGIN
FOR contador := 1 to 50 DO
BEGIN
IF contador > 10 THEN WriteLn(Contador) ELSE WriteLn('*');
END;
END. 
En este pequeño programa la variable Contador se incrementará desde 1 hasta 
50, la sentencia condicional IF verificará si es verdad que Contador es mayor a 
10, de ser así se escribirá en pantalla el valor de la variable, de locontrario se 
escribira en la pantalla un caracter "*". Como el contador inicia desde 1, 
tenemos que se imprimiran 10 asteriscos antres del primer número, que será el 
11, valor que si cumple la condición "Contador > 10" (la hace verdadera).
La sección ELSE con su correspondiente sentencia son opcionales y pueden 
omitirse en caso de no necesitarse.
Sentencias IF anidadas 
Es posible utilizar en una expresión del tipo IF..THEN..ELSE una sentencia 
compuesta como la sentencia a ejecutarse en caso de que la condición sea 
verdadera, así como en la sentencia posterior a un ELSE, de esta forma 
podemos utilizar otra sentencia IF..THEN..ELSE dentro de la anterior, para de 
esta forma evaluar varias condiciones una dentro de otra. Ejemplo:
IF Numero > 5 THEN
BEGIN
IF Numero < 10 THEN Opcion := Numero;
IF Numero < 30 THEN Opcion2 := Numero;
END; 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad3p.html (5 de 7) [30/09/2003 12:36:51]
Tutorial básico de Turbo Pascal 
Selecciones CASE 
Esta forma de control se utiliza cuando se va a evaluar una expresión que puede 
contener varios datos diferentes y en cada dato deberá realizar una acción 
especial. Por ejemplo, si se crea un menú con diferentes opciones se realizará 
un determinado proceso para cada acción, aunque la selección por parte del 
usuario se haga desde el mismo lugar.
El siguiente programa ilustra el uso de la forma CASE, el programa preguntará 
un número al usuario y lo clasificará de acuerdo a su valor.
PROGRAM Case;
VAR
Numero : Integer;
BEGIN
WriteLn('Introduzca un número entero del 1 al 5: ');
ReadLn(Numero);
CASE Numero OF
1 : WriteLn('El número fué 1');
2 : WriteLn('El número fué 2');
3 : WriteLn('El número fué 3');
4 : WriteLn('El número fué 4');
5 : WriteLn('El número fué 5');
ELSE WriteLn('El número no estaba en el rango indicado');
END.
GOTO 
La sentencia GOTO es una sentencia utilizada para alterar el flujo del 
programa, es decir, para ir a ejecutar una sentencia en un lugar diferente del 
programa y no la linea siguiente.
El uso de GOTO no es aconsejable ya que destruye el modelo de la 
programación estructurada que es la que se utiliza en Turbo Pascal, además se 
cuenta con las estructuras de datos anteriores que hacen casi innecesario su uso.
Para utilizar este tipo de salto es necesario declarar etiquetas, que no son otra 
cosa que el identificador que marcará el lugar a donde se dirigirá el flujo del 
programa al momento de usar el GOTO. La declaración de etiquetas se hace 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad3p.html (6 de 7) [30/09/2003 12:36:51]
Tutorial básico de Turbo Pascal 
antes que la de constantes y variables, la palabra reservada para su declaración 
es LABEL. El nombre de la etiqueta es un nombre de un identificador como 
cualquier otro, pero al utilizarse debe terminar con dos puntos ":".
La sintaxis del comando es:
GOTO etiqueta; 
Ejemplo:
PROGRAM Uso_del_GOTO;
LABEL
Etiqueta;
BEGIN
WriteLn('Esta linea si se escribirá');
GOTO Etiqueta;
WriteLn('Esta linea no se escribirá');
Etiqueta:
WriteLn('Se efectuó el brinco');
END. 
HALT 
La instrucción HALT provoca la terminación inmediata de un programa, sin 
importar las siguientes instrucciones. Normalmente se utiliza en casos de error, 
se despliega un mensaje y se termina el programa. Ejemplo:
PROGRAM Uso_de_HALT;
BEGIN
WriteLn('Primera linea del programa');
WriteLn('Terminará la ejecución del programa');
HALT
WriteLn('');
END. 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad3p.html (7 de 7) [30/09/2003 12:36:51]
Tutorial básico de Turbo Pascal 
Procedimientos 
Definición 
Creación 
Uso de los procedimientos 
Variables locales y globales 
Paso de información entre procedimientos 
Parámetros 
Funciones 
Definición 
Uso de las funciones 
Procedimientos predefinidos en Turbo Pascal 
HALT y EXIT 
INC y DEC (incrementar y decrementar) 
Definición de procedimiento
Un procedimiento es un grupo de sentencias que realizan una tarea concreta. 
En lugar de reescribir el código completo de esa tarea cada vez que se necesite, 
unicamente se hace una referencia al procedimiento.
Por ejemplo, es muy común que se quiera visualizar un título determinado 
varias veces en un programa, para evitar teclear ese título en nuestro programa 
fuente todas las veces que sea necesario creamos un procedimiento llamado 
"Titulo" que se encargará de escribirlo.
Una vez creado un procedimiento actuará como una instrucción más de Turbo 
Pascal, y para ejecutarlo unicamente teclearemos el nombre de dicho 
procedimiento.
Para poder ejecutar un procedimiento es necesario declararlo en el programa 
que se este utilizando.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad4p.html (1 de 7) [30/09/2003 12:37:04]
Tutorial básico de Turbo Pascal 
Creación de los procedimientos 
El primer paso para crear un procedimiento es saber que queremos que haga. 
Una vez definiendo este punto declaramos el procedimiento despues de haber 
declarado variables y constantes, antes del cuerpo del programa principal. La 
palabra reservada para su declaración es Procedure seguida del nombre del 
procedimiento. Vamos a crear un procedimiento encargado de escribir en 
pantalla el enunciado "Programa de Turbo Pascal": 
PROCEDURE Titulo;
BEGIN
WriteLn ('Programa de Turbo Pascal');
END; 
Uso de los procedimientos 
Una vez declarado el procedimiento es posible utilizarlo como una instrucción 
de Turbo Pascal. Al uso de un procedimiento se le conoce como llamada al 
procedimiento.
El siguiente programa ilustra el uso o la llamada al procedimiento creado 
anteriormente:
PROGRAM Procedimientos;
PROCEDURE Titulo;
BEGIN
WriteLn ('Programa de Turbo Pascal');
END;
BEGIN
WriteLn ('Programa ejemplo del uso de procedimientos');
Titulo; 
{Llama al procedimiento}
WriteLn; 
Titulo; 
{Vuelve a llamar al procedimiento}
END; 
Variables locales y globales 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad4p.html (2 de 7) [30/09/2003 12:37:04]
Tutorial básico de Turbo Pascal 
En Turbo Pascal cada identificador tiene un campo de acción, solo dentro de 
éste campo es posible utilizarlo. Los ejemplos más claros son las variables, que 
pueden ser globales o locales. La diferencia estriba en que una variable global 
puede ser utilizada por cualquier parte del programa, incluyendo a todos los 
procedimientos, en cambio una variable local puede ser utilizada unicamente 
por el procedimiento en el que esta declarada, el programa principal y los otros 
procedimientos la toman como inexistente. Ejemplo:
PROGRAM Variables;
VAR
Hola : String;
PROCEDURE prueba;
VAR
Adios : String;
BEGIN
{En esta sección si es posible usar la variable Hola}
Adios := 'Adios, que les vaya bien';
WriteLn (Adios);
END;
BEGIN
{En esta sección no se reconoce a la variable Adios}
Hola := 'Hola, bienvenidos al programa';
WriteLn (Hola);
WriteLn (Adios); 
{Al compilar el programa se generará un error ya que la variable Adios es inexistente en esta 
sección, para eliminar el problema quites esta linea}
prueba;
END. 
Es posible darle el mismo nombre a una variable local y a una global en el 
mismo programa, pero entonces el procedimiento no podrá utilizar la variable 
global ya que le da preferencia a las locales sobre las globales. Por ejemplo:
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad4p.html (3 de 7) [30/09/2003 12:37:04]
Tutorial básico de Turbo Pascal 
PROGRAM Variables_2;
VAR
Saludo : String;
PROCEDURE Mensaje;
VAR
Saludo : String;
BEGIN
Saludo := 'Este mensaje solo es válido para el procedimiento "Mensaje"';
WriteLn('Saludo');
END;
BEGIN
Saludo := 'Primer saludo (Global)';
WriteLn (Saludo);
Mensaje;
WriteLn (Saludo); {Se escribirá el mensaje "Primer saludo"}
END. 
Parámetros 
Para poder pasar información entre el programa principal y procedimientos, o 
entre los mismos procedimientos usamos los parámetros,que son los canales de 
comunicación de datos.
Los parámetros son opcionales y si no se necesitan no se deben usar. Para 
utilizarlos es necesario declararlos son la siguiente sintaxis:
PROCEDURE nombre (lista de parámetros); 
La lista de parámetros esta compuesta de los nombres de los mismos y del tipo 
de datos que representan, los del mismo tipo se separan con comas "," y cada 
tipo diferente se separa con punto y coma ";". Ejemplo:
Procedure Ejemplo(a, b : Integer; c, d : String);
Para llamar a un procedimiento que utiliza parámetros se pueden utilizar como 
tales otras variables o constantes, siempre y cuando sean del mismo tipo que 
los declarados. Ejemplo:
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad4p.html (4 de 7) [30/09/2003 12:37:04]
Tutorial básico de Turbo Pascal 
Ejemplo(1, 2, 'Hola', 'Adios'); 
Ejemplo de un programa con procedimiento que utiliza un parámetro.
PROGRAM Parametros;
VAR
Saludo : String;
PROCEDURE Imprime_5 (a : String);
VAR
Contador : Integer;
BEGIN
FOR contador := 1 to 5 DO 
{Imprime 5 veces la cadena almacenada }
WriteLn(a); 
{en la variable "a", que es la información}
END; 
{que llega como parámetro }
BEGIN
Saludo := 'Bienvenidos al programa';
Imprime_5 (Saludo); 
{llama al procedimiento Imprime_5, usando como}
{parámetro la variable Saludo }
Imprime_5 ('Fin'); 
{Utiliza la cadena "fin" como parámetro }
END. 
Es válido crear un procedimiento que llame a otro procedimiento siempre y 
cuando el procedimiento llamado haya sido declarado antes del que lo usará. 
Definición de las funciones 
Las funciones son, al igual que los procedimientos, un conjunto de sentencias 
que se ejecutan constantemente, la diferencia entre éstas y los procedimientos 
es que las funciones regresan un valor. La declaración de las funciones se 
realiza de la siguiente forma:
FUNCTION nombre(parámetros) : tipo_de_datos; 
A continuación se escribe el contenido de la función como una sentencia 
normal (sencilla o compuesta), normalmente terminando con la igualación de la 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad4p.html (5 de 7) [30/09/2003 12:37:04]
Tutorial básico de Turbo Pascal 
función al valor que regresará. Ejemplo:
FUNCTION Promedio (a, b : Real) : Real; {Promedio de dos números reales}
BEGIN
Promedio := (a + b) / 2;
END; 
Uso de las funciones 
Como las funciones devuelven un valor específico la forma más usual de 
utilizarlas es por medio de asignaciones de una variable a la función. Ejemplo:
PROGRAM Funciones;
VAR
X, Y, Z : Real;
FUNCTION Promedio (a, b : Real) : Real;
{Promedio de dos números reales}
BEGIN
Promedio := (a + b) / 2;
END;
BEGIN
X := 5.89;
Y := 9.23;
Z := Promedio (X, Y);
{Iguala Z al valor devuelto por la función Promedio}
WriteLn('El promedio de ',X,' y ',Y,' es: ',Z);
END.
Procedimieto HALT 
El procedimiento HALT ya se habia revisado anteriormente, pero se tomó 
como una instrucción, siendo que es realmente un procedimiento predefinido 
de Turbo Pascal que nos permite terminar nuestro programa en cualquier punto 
del mismo.
El procedimiento EXIT provoca la salida del procedimiento que se está 
ejecutando y nos regresa al lugar de donde fue llamado.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad4p.html (6 de 7) [30/09/2003 12:37:04]
Tutorial básico de Turbo Pascal 
Procedimientos INC y DEC 
El procedimiento INC incrementa en 1 el contenido de cualquier variable de 
tipo entero, es lo mismo en un programa teclear:
Variable := Variable + 1; 
o telcear:
Inc(Variable);
El procedimiento DEC decrementa en 1 el valor de cualquier variable de tipo 
entero que se le indique, se usa igual que INC:
DEC (Variable); 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad4p.html (7 de 7) [30/09/2003 12:37:04]
Tutorial básico de Turbo Pascal 
Funciones estándar de Turbo Pascal 
Truncamiento y redondeo 
Exponenciales y logaritmicas 
Aritméticas 
Trigonométricas 
Números aleatorios 
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 y logarítmicas 
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 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad5p.html (1 de 4) [30/09/2003 12:37:11]
Tutorial básico de Turbo Pascal 
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. 
Las funciones Exp y Ln tratan con logaritmos naturales o neperianos. Exp 
devuelve la funcion exponencial e^x y Ln devuelve el logaritmo natural de x. 
El resultado en ambos siempre es del tipo real.
Es posible crear una función con base en estas dos para calcular el resultado de 
un número x elevado a una potencia n, la cual nos quedaría así:
FUNCTION Potencia(x,n:Real):Real;
BEGIN
Potencia := Exp(n *Ln(x))
END; 
El uso de esta función en un programa podría ser:
PROGRAM Potenciacion;
FUNCTION Potencia(x, n : Real) : Real;
BEGIN
Potencia := Exp(n * Ln(x))
END;
BEGIN
WriteLn('El resultado de 5 elevado a 3 es: ',Potencia(5,3));
END. 
Funciones aritméticas 
Abs regresa el valor absluto del identificador que se le pase como parámetro. 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad5p.html (2 de 4) [30/09/2003 12:37:11]
Tutorial básico de Turbo Pascal 
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)
Las funciones para utilizarlas son:
FUNCTION Tan(x : Real) : Real;
BEGIN
Tan := Sin(x) / Cos(x)
END;
FUNCTION Cot(x : Real) : Real;
BEGIN
Cot := Cos(x) / Sin(x)
END;
FUNCTION Sec(x : Real) : Real;
BEGIN
Sec := 1 / Cos(x)
END;
FUNCTION Csc(x : Real) : Real;
BEGIN
Csc := 1 / Sin(x)
END;
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad5p.html (3 de 4) [30/09/2003 12:37:11]
Tutorial básico de Turbo Pascal 
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.
Sin embargo el uso de la función Random es en ocasiones insuficiente por si 
sola para la generación de valores aleatorios ya que los números son realmente 
pseudoaleatorios, y cada vez que se ejecute el programa se obtendrían los 
mismos valores. Para evitar esto debemos utilizar en todo programa que utilice 
valores aleatorios el procedimiento Randomize, que inicializa el generador de 
números aleatorios, en otras palabras, asegura que los números que obtendrá 
serán diferentescada vez que se ejecute el programa.
Es recomendable usar este procedimiento antes de cada función random del 
programa.
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. 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad5p.html (4 de 4) [30/09/2003 12:37:11]
Tutorial básico de Turbo Pascal 
Operaciones básicas con cadenas 
Comparación de cadenas 
Manejo de los elementos de la cadena 
Unión de cadenas 
Operador + 
Función Concat 
Procedimientos y funciones para el manejo de cadenas 
Pos 
Copy 
Insert 
Delete 
UpCase 
Str 
Val 
Las cadenas de caracteres son secuencias de caracteres con longitudes que 
varían desde 1 hasta los 255 caracteres. El tipo identificador de las cadenas es 
String. Cuando declaramos una variable de tipo string será posible introducir 
hasta 255 caracteres en ella, pero también es factible declarar cadenas más 
cortas agregando al momento de la declaración la longitud de la variable, por 
ejemplo:
VAR
Mensaje : String[120]; {Longitud maxima = 120 caracteres} 
Comparación de cadenas 
La comparación de cadenas es una operación muy común en Turbo Pascal; 
estas comparaciones se realizan con base en el orden del código ASCII, por 
ejemplo la cadena 'Prueba' es menor a la cadena 'prueba' ya que el valor del 
código ASCII de P es 80 y el de p es 112.
Así también podemos diferenciar las cadenas con respecto a su tamaño: 'Hola' 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad6p.html (1 de 6) [30/09/2003 12:37:22]
Tutorial básico de Turbo Pascal 
es menor a 'Bienvenido'
Existe un caso especial de una cadena, que es cuando no tiene ningún caracter 
en ella, en ese momento decimos que es una cadena nula o vacía. Se 
recomienda ampliamente inicializar todos los valores de las cadenas a cadenas 
nulas al inicio del programa, ya que podrían contener datos extraños e 
indeseables.
Manejo de los elementos de la cadena 
Es posible leer cada elemento de una cadena por separado, por ejemplo, si en la 
variable Calle almacenamos la cadena 'Hidalgo' es posible asignar a otra 
cadena el valor de Calle[x] donde x es el caracter de la cadena que se quiere 
leer, así también es posible visualizar el caracter en pantalla usando la 
instrucción WriteLn. Ejemplo:
PROGRAM Caracter;
VAR
Calle : String;
Letra : String;
BEGIN
Calle := 'Hidalgo';
WriteLn(Calle[2]); {Visualiza el segundo caracter de Calle}
Letra := Calle[1]; {Guarda en Letra el primer caracter de Calle}
WriteLn(Caracter) END. 
Para conocer la longitud de una cadena utilizamos la función Length, la 
longitud es la cantidad de caracteres que contiene la cadena en un momento 
determinado.
Su sintaxis es:
Length (cadena); 
La función regresa un valor entero.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad6p.html (2 de 6) [30/09/2003 12:37:22]
Tutorial básico de Turbo Pascal 
PROGRAM Funcion_Length;
VAR
Cadena : String;
BEGIN
Cadena := 'Prueba de longitud';
WriteLn ('Longitud de la cadena: ', Length (Cadena));
END. 
El programa imprime en la pantalla un mensaje con la longitud de la cadena 
almacenada en memoria, en este caso específico 18.
En ocasiones es necesario combinar dos o más cadenas de caracteres en una 
sola, para lograr ésto utilizamos los siguientes métodos. 
Operador + 
Es una de las formas más sencillas de unir dos cadenas y se maneja 
exactamente como una suma, la única limitante es que en caso de ser mayor la 
longitud resultante de la suma que la longitud que pueda manejar la variable en 
que se almacenará se truncarán los caracteres sobrantes. Ejemplo:
Cadena1 := 'Buenos ';
Cadena2 := 'dias ';
Cadena3 := Cadena1 + Cadena2;
WriteLn (Cadena3); 
Se imprimirá en la pantalla: 'Buenos dias'. (Notese que este ejemplo es solo una 
sección del programa, para ejecutarlo es necesario completar la estructura). 
Función Concat 
La función concat produce los mismos resultados que la concatenación, es 
posible incluir cualquier número de cadenas que se necesiten concatenar.
La suma de las cadenas no deberá sobrepasar la longitud que la variable, a la 
cual se asignará dicha suma, puede manejar. Ejemplo: 
Cadena := Concat (Cad1, cad2, cad3);
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad6p.html (3 de 6) [30/09/2003 12:37:22]
Tutorial básico de Turbo Pascal 
Pos 
Laa función Pos nos sirve para localizar una determinada cadena dentro de 
otra, en otras palabras para verificar si una cadena es subcadena de otra 
segunda.
Los parámetros que requiere son: la cadena que se buscará y la cadena donde se 
buscará la primera:
Pos (Cadena1, Cadena2); 
Cuando encuentra la cadena la función devuelve su posición inicial, en caso de 
que no la encuentre devuelve el valor de 0.
Ejemplo:
Cadena := 'Domingo Lunes Martes Miercoles Jueves Viernes Sabado';
WriteLn(Cadena);
WriteLn(Pos('Lunes', Cadena)); {Muestra 9}
WriteLn(Pos('Jueves', Cadena)); {Muestra 32}
WriteLn(Pos('Ayer', Cadena)); {Muestra 0} 
Copy 
La función copy regresa una subcadena de una variable o constante dada como 
parámetro. Su sintaxis es:
Copy (Cadena, Inicio, Cantidad); 
Donde Cadena es la fuente de la subcadena, Inicio es la posición desde la cual 
se obtendrá la subcadena y Cantidad es el número de caracteres que se 
extraerán.
Los valores de Inicio y Cantidad deben ser de tipo entero.
Ejemplo:
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad6p.html (4 de 6) [30/09/2003 12:37:22]
Tutorial básico de Turbo Pascal 
Cadena := "Nuevos horizontes";
WriteLn (Copy(Cadena, 8, 10)); {Visualiza: horizontes} 
Insert 
El procedimiento Insert sirve para insertar una cadena dentro de otra en alguna 
posición determinada. Sintaxis:
Insert (Cadena1, Cadena2, Posición)
Donde Cadena1 es la que se insertará, Cadena2 es donde se insertará y Posición 
es el lugar donde se insertará. El parámetro Posición debe ser de tipo entero.
Delete 
Este procedimiento elimina un determinado número de caracteres de una 
cadena. Su sintaxis es:
Delete (Cadena, Inicio, Número) 
Cadena es la variable en la cual se eliminarán los caracteres, Inicio es la 
posición del primer caracter a eliminar y Número es la cantidad de caracteres 
que se borrarán.
UpCase 
La función UpCase regresa la letra mayuscula correspondiente al caracter dado 
como parámetro. Es muy común trabajando con cadenas que se quiera 
convertir una que contiene un número a su valor numérico, para poder 
utilizarlo en operaciones matemáticas, así como convertir un número a su 
equivalente en una cadena.
Esto es más fácil de entender si consideramos que no es lo mismo el valor 75 y 
el valor '75', en el primer caso es un número mientras que en el segundo es un 
par de caracteres ASCII.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad6p.html (5 de 6) [30/09/2003 12:37:22]
Tutorial básico de Turbo Pascal 
Para lograr estos cambios de tipo en Turbo Pascal utilizamos los 
procedimientos siguientes:
Str 
El procedimiento Str obtiene una cadena a partir de un valor numérico. Su 
sintaxis es:
Str(Valor, Cadena)
Donde valor es el número a convertir y Cadena es la variable donde se 
almacenará la cadena ya convertida.
Val 
Este procedimiento convierte una cadena en un valor de tipo numérico, el 
problema con esta función es que si la cadena no esta formada exclusivamente 
de números siguiendo las reglas para el tipo de datos que se vallan a obtener se 
generará un error. Sintaxis:
Val (Cad, Num, Código) 
Cadena contiene la cadena que será procesada, Num es la variable de tipo 
numérico donde se guardará el valor de la cadena y Código es una variable de 
tipo entero (Integer) que contendrá el valor de 0 si no hubo errores y un valor 
diferente en caso de que no se haya podido convertir la cadena, el valor de 
Código representa la posición dela cadena donde ocurrio el error.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad6p.html (6 de 6) [30/09/2003 12:37:22]
Tutorial básico de Turbo Pascal 
Concepto de unidad 
Concepto de unidad 
La declaración USES 
Creación de unidades 
Estructura de las unidades 
Creación de una unidad 
Compilación de la unidad 
Utilización de las unidades 
Uso de las unidades 
Concepto de unidad 
Las unidades son grupos de funciones o procedimientos compilados que 
pueden ser llamados y utilizados desde cualquier programa en Turbo Pascal sin 
necesidad de escribirlos de nuevo.
Las unidades no son ejecutables por si solas, dependen del programa que las 
llama para poder realizar su función.
Turbo Pascal incorpora algunas unidades que contienen una gran cantidad de 
rutinas integradas, pero para hacer uso de ellas es necesario primero declarar el 
uso de tales unidades.
La declaración USES 
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:
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad7p.html (1 de 4) [30/09/2003 12:37:36]
Tutorial básico de Turbo Pascal 
Crt
Dos
Graph
Overlay
Printer
System
Estructura de las unidades 
Las unidades estan compuestas por cuatro partes: 
Declaración 
Es obligatoria, provee el nombre de la unidad que se creará. Su suntaxis es:
UNIT nombre_de_la_unidad;
Ejemplo:
UNIT prueba; 
Interfaz 
Esta sección se declara con la palabra INTERFACE, en esta sección se 
encuentran las declaraciones de todos los elementos que pueden ser utilizados 
por el programa que llama a la unidad, por ejemplo otras unidades, variables, 
constantes, procedimientos y funciones. En esta sección no se incluyen los 
códigos de los procedimientos ni funciones, unicamente su declaración. 
Ejemplo:
INTERFACE
USES Crt, Dos;
VAR
Numero : Integer;
CONST
Columnas = 10;
PROCEDURE Colocar(Cad1 : String; X, Y : Integer);
Implementación 
La sección de implementación es exclusiva para la unidad que se está creando, 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad7p.html (2 de 4) [30/09/2003 12:37:36]
Tutorial básico de Turbo Pascal 
contiene declaraciones de etiquetas, variables, constantes, así como el 
contenido de los procedimientos y funciones declarados en la sección de 
interfaz. La palabra usada para declarar esta parte es IMPLEMENTATION. 
Ejemplo:
IMPLEMENTATION
USES Crt;
PROCEDURE Colocar(Cad1 : String; X, Y : Integer);
BEGIN
GotoXY(X,Y);
Write(Cad1);
END; 
Inicialización 
Esta sección se utiliza para inicializar los valores de las variables, no es 
indispensable y por lo mismo no siempre se incluye. Su sintaxis es parecida a 
la del cuerpo principal de un programa, se inicia con BEGIN y termina con un 
END.
Creación de una unidad 
La creación de una unidad propia se realiza utilizando las partes de la citadas 
anteriormente. Su creación se realiza en la misma forma que la de un programa.
Un ejemplo de una unidad es:
UNIT Prueba;
INTERFACE
PROCEDURE Centrar(Cad1 : String; renglon : Integer);
IMPLEMENTATION
USES Crt;
VAR C : Integer;
PROCEDURE Centrar(Cad1 : String; renglon : Integer);
BEGIN
C := (80 - Length(Cad1)) DIV 2
GotoXY (C,renglon);
Write(Cad1);
END;
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad7p.html (3 de 4) [30/09/2003 12:37:36]
Tutorial básico de Turbo Pascal 
BEGIN
END. 
Compilación de la unidad 
Para compilar una unidad y dejarla lista para su utilización en programas 
posteriores se utiliza la opción Compile en el menú del mismo nombre.
Es necesario verificar que en la opción Destination, del mismo menú, esté 
activado el almacenamiento del código al disco (Disk) y no a memoria, de lo 
contrario la unidad unicamente se podrá utilizar durante esa sesión y no en las 
sesiones posteriores porque se eliminará de la memoria al momento de salir del 
entorno integrado de desarrollo.
La secuencia de teclas [ALT] + [F9] también compilan la unidad así como los 
programas dependiendo del caso.
Uso de las unidades 
Una vez compilada una unidad se puede incorporar al programa agregando la 
sentencia USES de la que se había hablado al principio, ya declaradas las 
unidades que se utilizarán se puede hacer uso de todos los procedimientos y 
funciones incluidas como si estuvieran escritas en el mismo programa.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad7p.html (4 de 4) [30/09/2003 12:37:36]
Tutorial básico de Turbo Pascal 
Archivos de acceso secuencial 
Declaración de un archivo 
Abrir archivos 
Escribir datos en un archivo 
Leer datos de un archivo 
Fin del archivo 
Cerrar archivos 
Función Eoln 
Agregar datos a un archivo de texto 
Archivos de acceso directo 
Estructura del archivo 
Declaración de un archivo 
Asignación de un archivo 
Abrir archivos 
Registro actual y tamaño de un archivo 
Posicionamiento en el interior de un archivo 
Lectura y escritura de archivos 
Cerrar un archivo 
Archivos de acceso secuencial 
Los archivos de acceso secuencial son llamados también archivos de texto, 
están formados por cadenas de caracteres separadas unas de otras por los 
códigos retorno de carro/avance de línea, que corresponden a los caracteres 
13/10 del código ASCII. El final del archivo se indica mediante el caracter 
ASCII 26, que también se expresa como ^Z o EOF.
Es posible visualizar estos archivos con la orden TYPE del sistema operativo 
DOS y se pueden editar con cualquier editor de textos.
Este tipo de archivos solo permiten operaciones de lectura y escritura 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad8p.html (1 de 9) [30/09/2003 12:37:50]
Tutorial básico de Turbo Pascal 
secuenciales, la unica forma de modificarlos es agregando líneas al final del 
archivo.
Los pasos para leer o escribir en un archivo de este tipo son:
Declarar una variable de tipo texto y asociarla al nombre de un archivo. A esto 
también se le llama declarar el archivo. 
Abrir el archivo ya sea para lectura o escritura. 
Leer o escribir datos en el archivo. 
Cerrar el archivo 
Declaración de un archivo 
Para declarar un archivo primero se declara una variable tipo text de la 
siguiente forma:
VAR
VarArchivo : Text; 
Una vez declarada la variable se asigna al nombre de algun archivo:
ASSIGN (VarArchivo, NombreArchivo);
Donde NombreArchivo es una cadena de caracteres que contiene el nombre del 
archivo, la unidad de disco donde se encuentra y el directorio. Por ejemplo:
ASSIGN (VarArchivo, 'C:\DOS\PRUEBA.TXT');
Abrir archivos 
Exsiten tres formas de abrir un archivo:
Rewrite Reset Append
Escribir datos en un archivo 
Para escribir datos a un archivo se utilizan las instrucciones Write y WriteLn, 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad8p.html (2 de 9) [30/09/2003 12:37:50]
Tutorial básico de Turbo Pascal 
como si se quisiera escribir a la pantalla, con la diferencia de que se 
especificará la variable de archivo ya declarada. Ejemplo:
WriteLn(VarArchivo, 'Prueba de archivos');
Esta sentencia grabaría el texto 'Prueba de archivos' en el archivo asignado a 
VarArchivo.
Leer datos de un archivo 
Para leer los datos de un archivo de acceso secuencial se utilizan las 
instrucciones Read y ReadLn.
La instrucción Read lee uno o varios datos del archivo abierto y deja el puntero 
en el mismo renglón en el cual leyó los datos, en cambio ReadLn lee los datos 
y mueve el puntero al siguiente renglón.
Fin del archivo 
Normalmente los archivos de este tipo se leen renglón por renglón hasta llegar 
al final del mismo. Cuando se conoce de antemano el tamaño del archivo es 
posible utilizar un ciclo FOR, pero es más seguro utilizar la función EOF la 
cual es verdadera despuesde que el programa lee la última linea de un archivo 
de acceso secuencial.
La sintaxis de la función EOF es:
EOF (VaribleArchivo); 
Es común realizar la verificación de la función con un ciclo WHILE como en el 
ejemplo siguiente:
WHILE NOT EOF(Archivo) DO
BEGIN
ReadLn(Archivo, Datos);
WriteLn(Datos);
END; 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad8p.html (3 de 9) [30/09/2003 12:37:50]
Tutorial básico de Turbo Pascal 
Cerrar archivos 
Para asegurar que toda la información se grabe en el disco correctamente es 
necesario cerrar el archivo antes de que se termine la ejecución del programa, 
de lo contrario se corre el riego de que la última información que se haya 
accesado no se grabe en su totalidad.
La instrucción para cerrar un archivo es Close, y su sintaxis es:
Close (VaribleArchivo);
Función Eoln 
La función Eoln sirve para verificar si el puntero ha llegado al final de la linea. 
Regresa el valor verdadero si se encuentra al final. Comunmente se utiliza en 
las lecturas caracter por caracter.
Agregar datos a un archivo de texto 
Para añadir datos a un archivo de texto son necesarios los siguientes pasos:
Asignar un archivo a una variable con Assign 
Agregar los datos con el procedimiento Append 
Escribir los datos 
Cerrar el archivo 
A continuación se ilustra un ejemplo de un programa que agrega una linea a un 
archivo de texto:
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad8p.html (4 de 9) [30/09/2003 12:37:50]
Tutorial básico de Turbo Pascal 
PROGRAM Archivo;
VAR
Texto : TEXT;
BEGIN
Assign (Texto, 'PRUEBA.DAT');
Append(Texto);
WriteLn(Texto, 'Agregando una linea al archivo PRUEBA.DAT');
Close (Texto)
END. 
Archivos de acceso directo 
Un archivo de acceso directo esta formado por un conjunto de partes 
individuales que pertenecen al mismo tipo de datos. Cada uno de los 
componentes del archivo es llamado registro.
Cada uno de los componentes de este tipo de archivos es accesible 
directamente.
Los archivos de acceso directo son también llamados archivos con tipos o 
tipeados.
Estructura del archivo 
A diferencia de los archivos secuenciales, los archivos tipeados no estan 
compuestos de lineas de caracteres, sino que se acomodan en registros con 
estructuras fijas. La longitud de los registros esta determinada por la cantidad 
de bytes que se necesitan para almacenar el tipo de datos que contendrá el 
registro.
Por ejemplo, si se van a almacenar números enteros en un archivo, cada 
registro servirá para un número específico y ocupará 2 bytes, el siguiente 
registro utilizará los dos bytes siguientes del archivo y así sucesivamente hasta 
completar la cantidad de datos que se vayan a almacenar.
Este tipo de archivos no pueden ser visualizados con la instrucción type del 
sistema operativo debido al formato utilizado para guardarlos.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad8p.html (5 de 9) [30/09/2003 12:37:50]
Tutorial básico de Turbo Pascal 
Declaración de un archivo 
Para declarar un archivo de acceso directo se realiza con las palabras 
reservadas FILE OF, su sintaxis es la siguiente:
VariableArchivo : FILE OF TipoElementos; 
Esta declaración se realiza en la sección correspondiente a la declaración de las 
variables. Ejemplo:
PROGRAM Archivo_Tipeado;
VAR
Archivo : FILE OF Integer;
BEGIN
END. 
Normalmente no se desea crear archivos que puedan almacenar un solo tipo de 
datos ya que se requeririan varios archivos, por ejemplo para alguna base de 
datos: uno para los nombres, otro para apellidos, otro para la edad, etc. Para 
evitar este inconveniente es posible usar registros del tipo RECORD, que 
permiten grabar en un solo registro un grupo de datos que pueden ser de 
diferentes tipos, uno de tipo INTEGER, uno de tipo STRING, etc.
Los registros del tipo record deben ser declarados antes de las variables en una 
sección llamada TYPE con el siguiente formato:
TYPE 
Nombre_Reg = RECORD 
Campo_del_registro_1 : Tipo; 
Campo_del_registro_2 : Tipo; 
... 
Campo_del_registro_n : Tipo; 
END;
Donde Nombre_Reg es el nombre del registro que se utilizará, 
Campo_del_Registro_x son las variables que estarán contenidas en el registro 
y Tipo es el tipo de cada una de las variables del registro.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad8p.html (6 de 9) [30/09/2003 12:37:50]
Tutorial básico de Turbo Pascal 
La sección TYPE se escribe antes de la declaración de las variables.
Como ejemplo, si se quiere crear un archivo el que se guarden el nombre, 
domicilio, edad y estado civil de un grupo de personas el primer paso a realizar 
es crear un registro que contenga todos estos campos:
TYPE 
Datos = RECORD 
Nombre : String[40]; 
Domicilio : String[60]; 
Edad : Integer; 
EdoCivil : String[10]; 
END;
El siguiente paso es declarar un archivo del tipo Datos así como una variable 
del mismo tipo de los que se utilizarán en el archivo:
VAR 
Archivo : FILE OF Datos; 
Persona : Datos; 
Asignación de un archivo 
Aún cuando se tenga declarado el archivo no es posible grabar nada en él si no 
se le asigna un nombre real para guardarlo en el disco. El proceso de dicha 
asignación es el mismo que para los archivos de texto:
Assign (Archivo, 'Nombre.ext');
Nombre.txt puede ser una constante, una variable o estar escrita directamente 
en el programa. Naturalmente debe cumplir con todas las reglas para nombrar 
un archivo.
Abrir archivos 
Una vez declarado un archivo ya es posible abrirlo. En caso de querer abrir un 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad8p.html (7 de 9) [30/09/2003 12:37:50]
Tutorial básico de Turbo Pascal 
archivo nuevo se utiliza la instrucción Rewrite, o si el archivo ya existe en el 
disco se abre con el procedimiento 
Reset. 
No existe ninguna diferencia entre la apertura de un archivo de acceso directo 
para su lectura o para su escritura.
Si al utilizar el procedimiento Rewrite el archivo asignado ya existía se 
eliminará del disco y se creará uno nuevo, por lo mismo se debe tener ciudado 
al momento de abrir estos archivos.
Registro actual y tamaño de un archivo 
La función FileSize regresa el tamaño de un archivo, o mejor dicho devuelve el 
número de registros contenidos en éste.
Al momento de abrir un archivo nuevo la función FileSize regresa el valor de 
0, lo que significa que el archivo no tiene datos guardados en él.
Posicionamiento en el interior de un archivo 
Cada uno de los registros de un archivo esta referenciado por un número 
específico comenzando desde el registro 0 y aumentando de 1 en 1.
La función FilePos devuelve el número de registro actual, su sintaxis es:
FilePos (VariableArchivo) 
VariableArchivo es la variable a la cual se asignó un nombre de archivo en el 
disco.
Para moverse a un registro determinado se utiliza la función Seek, con la 
siguiente sintaxis:
Seek (VariableArchivo, NumRegistro);
Para moverse al final del archivo para agregar un nuevo registro se utiliza este 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad8p.html (8 de 9) [30/09/2003 12:37:50]
Tutorial básico de Turbo Pascal 
mismo comando con el parametro NumRegistro como sigue:
Seek (VariableArchivo, FileSize(VariableArchivo)); 
Cuando se avanza en un archivo registro por registro se utiliza la función EOF 
para determinar si ya se llegó al final del archivo.
Lectura y escritura de archivos 
Para la lectura y escritura en un archivo de acceso directo unicamente se 
utilizan los procedimientos Read y Write. Despues de cada operacion de 
lectura o escritura el puntero se posiciona en el siguiente registro.
Para estar seguros de que se leera el registro que se desea se debe emplear el 
procedimiento seek antes de cualquier procedimiento de lectura o escritura.
Cerrar un archivo 
Para cerrar los archivos abiertos se procede igual que en uno de acceso 
secuencial, utilizando el procedimientoclose:
Close (VariableArchivo);
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad8p.html (9 de 9) [30/09/2003 12:37:50]
Tutorial básico de Turbo Pascal 
Constantes predefinidas 
Modo de pantalla 
Colores 
Variables predefinidas 
CheckBreak 
DirectVideo 
LastMode 
TextAttr 
WindMin 
WindMax 
Procedimientos predefinidos 
ClrEol 
ClrScr 
Delay 
DelLine 
GotoXY 
HighVideo 
InsLine 
LowVideo 
NormVideo 
NoSound 
Sound 
TextBackground 
TextColor 
TextMode 
Window 
Funciones predefinidas 
KeyPressed 
ReadKey 
WhereX 
WhereY 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad9p.html (1 de 10) [30/09/2003 12:38:00]
Tutorial básico de Turbo Pascal 
Modo de Pantalla 
Las constantes definidas de Turbo Pascal para indicar el modo de pantalla que 
se utilizará son:
Constante Valor Modo de video
BW40 0 40x25 Blanco y negro en tarjeta de color
CO40 1 40x25 Color
BW80 2 80x25 Blanco y negro en tarjeta de color
CO80 3 80x25 Color
Mono 7 80x25 Monocromático
Colores 
Las constantes definidas para los colores son:
Colores para primer plano y fondo:
Constante Valor Color
Black 0 Negro
Blue 1 Azul
Green 2 Verde
Cyan 3 Cyan
Red 4 Rojo
Magenta 5 Magenta
Brown 6 Marrón
Light Gray 7 Gris claro
Colores para primer plano:
Constante Valor Color
Dark gray 8 Gris oscuro
Light Blue 9 Azul claro
Light Green 10 Verde claro
Light Cyan 11 Cyan claro
Light Red 12 Rojo claro
Light Magenta 13 Magenta claro
Yellow 14 Amarillo
White 15 Blanco
Parpadeo
Blink 128
La unidad CRT provee un conjunto de variables utilizadas para modificar 
aspectos referentes a entradas de teclado, modo de la pantalla, etc. A 
continuación se listan las principales con su función específica. 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad9p.html (2 de 10) [30/09/2003 12:38:00]
Tutorial básico de Turbo Pascal 
CheckBreak 
Tipo : boolean.
Cuando el contenido de esta variable es True se encuentra activada la 
terminación de un programa por medio de las teclas Crtl-Break. Si se cambia su 
valor a False se desactiva esta opción.
Su valor por defecto es True.
DirectVideo 
Tipo : boolean.
Cuando existen problemas de entrada/salida de texto se debe desactivar esta 
variable (guardar en ella el valor false) que inhibe la escritura directa de 
caracteres a la memoria de video.
LastMode 
Tipo : Word
La variable LastMode contiene el valor del modo de texto actual. Se inicializa 
al momento de iniciar el programa y se utiliza comunmente para restaurar el 
modo original al momento de terminar el programa.
TextAttr 
Tipo : Byte
Usualmente se utiliza para cambiar los atributos de colores en la pantalla, es 
más rápido que los procedimientos TextColor y TextBackground que tienen la 
misma función.
WindMin 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad9p.html (3 de 10) [30/09/2003 12:38:00]
Tutorial básico de Turbo Pascal 
Tipo : Word; Esta variable contiene las coordenadas de la esquina superior 
izquierda de la ventana de texto activa definida por el procedimiento Window.
WindMax 
Esta variable contiene las coordenadas de la esquina inferior derecha de la 
ventana de texto activa definida por el procedimiento Window.
A continuación se listan algunos de los procedimientos que incluye esta unidad 
con una breve descripción de cada uno.
ClrEol 
Sintaxis:
ClrEol; 
Este procedimiento borra todos los caracteres de la linea actual desde la 
posición del cursor hasta el final de la linea. Ejemplo:
PROGRAM Proc_ClrEol;
USES Crt;
VAR x,y : Integer;
BEGIN
FOR x := 1 TO 24 DO
FOR y := 1 TO 80 DO
Write('#');
GotoXY(15,15);
ClrEol;
END. 
ClrScr 
Sintaxis:
ClrScr; 
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad9p.html (4 de 10) [30/09/2003 12:38:00]
Tutorial básico de Turbo Pascal 
Se utiliza para borrar la pantalla completa o la ventana actual y situa el cursor 
en la esquina superior izquierda. Ejemplo:
PROGRAM LimpiarPantalla;
USES Crt;
VAR x,y : Integer;
Prb : String;
BEGIN
FOR x := 1 TO 24 DO
FOR y := 1 TO 80 DO
Write('#');
WriteLn('Presione [ENTER] para borrar la pantalla');
ReadLn(Prb);
ClrScr;
WriteLn('Se borró la pantalla');
END. 
Delay 
Sintaxis:
Delay(Tmp : Word); 
Detiene la ejecución del programa durante un tiempo especificado en Tmp en 
milisegundos. El intervalo válido es desde 0 hasta 65535, la precisión del 
retardo depende de la precisión del reloj interno de la computadora. Ejemplo:
PROGRAM Retardo;
USES Crt;
BEGIN
WriteLn('Inicia retardo de aproximadamente 5 segundos');
Delay(5000);
WriteLn('Fin del retardo');
END. 
DelLine 
Sintaxis:
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad9p.html (5 de 10) [30/09/2003 12:38:00]
Tutorial básico de Turbo Pascal 
DelLine; 
Borra la linea donde se encuentra el cursor y las lineas inferiores suben una 
posición. Ejemplo
PROGRAM BorrarLinea;
USES Crt;
VAR x : Integer;
prb : String;
BEGIN
ClrScr;
For x := 1 to 20 DO
WriteLn('Linea número: ', x);
WriteLn('Presione [ENTER] para borrar la linea 6');
GotoXY(0,6);
DelLine;
WriteLn('Linea 6 eliminada');
END. 
GotoXY 
Sintaxis:
GotoXY(x, y : Byte); 
Posiciona el cursor en las coordenadas especificadas por x y y.
El byte x representa la columna partiendo de izquierda a derecha y el byte y 
representa la fila partiendo de arriba hacia abajo. Ejemplo:
PROGRAM Posición;
USES Crt;
BEGIN
GotoXY(10,10);
Write('*');
GotoXY(20,20);
Write('*');
END. 
HighVideo 
Sintaxis:
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad9p.html (6 de 10) [30/09/2003 12:38:00]
Tutorial básico de Turbo Pascal 
HighVideo; 
Activa la pantalla de video de alta intensidad. 
InsLine 
Sintaxis:
InsLine 
Inserta una linea en blanco en la posición actual del cursor. 
LowVideo 
Sintaxis:
LowVideo 
Activa la pantalla de video de baja intensidad. 
NormVideo 
Sintaxis:
NormVideo;
Restaura los atributos de primer plano y fondo a los colores originales 
establecidos cuando arrancó el programa.
NoSound 
Sintaxis:
NoSound; 
Desactiva el sonido iniciado con el procedimiento Sound.
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad9p.html (7 de 10) [30/09/2003 12:38:00]
Tutorial básico de Turbo Pascal 
Sound 
Sintaxis:
Sound (Frecuencia : Word); 
Genera un sonido en la bocina de la computadora a una frecuencia determinada 
por el valor de Frecuencia. Para detener el sonido es necesario ejecutar el 
procedimiento NoSound.
TextBackground 
Sintaxis:
TextBackGround (Color : byte); 
Se utiliza para seleccionar el color del fondo de la pantalla. Los valores que 
puede utilizar son del 0 al 7, también es posible utilizar las constantes 
predefinidas para los colores.
TextColor 
Sintaxis:
TextColor (Color : Byte); 
El procedimiento TextColor se usa para seleccionar el color del texto en la 
pantalla.
TextMode 
Sintaxis:
TextMode (Modo : Word);
file:///D|/Downloads/Books/Transformar/Pascal%20Turbo%20(Manual%20completo)/unidad9p.html (8 de 10) [30/09/2003 12:38:00]
Tutorial básico de Turbo Pascal 
Define el modo de video, ésto es, el número de filas y columnas que se podrán 
mostrar en pantalla, también si se mostrarán en blanco y negro o en color.
Los modos válidos de pantalla de texto son:
Constante Valor Modo de video
BW40 0 40x25 Blanco y negro en tarjeta de color
CO40 1 40x25 Color
BW80 2 80x25 Blanco y negro en tarjeta de color
CO80 3 80x25 Color
Mono 7 80x25 Monocromático
Window 
Sintaxis:
Window (x1, y1, x2, y2 : Byte); 
Define las coordenadas de la ventana de texto activa; x1 y y1 son las 
coordenadas de la esquina superior izquierda, x2 y y2 son las coordenadas de la 
esquina inferior derecha.
Las siguientes son las funciones de la unidad CRT: 
KeyPressed 
Tipo: Boolean
La función KeyPressed devuelve el valor de True si se pulsó alguna tecla y 
false si no se ha presionado ninguna.
ReadKey 
Tipo: Char

Continuar navegando

Materiales relacionados

560 pag.
curso-de-programacion-cc---fco-javier-ceballos

Escola Municipal Getulio Vargas

User badge image

Alicia Castillo

153 pag.
Introduccion-prog--C

IPN

User badge image

Todos los Materiales

80 pag.
Lenguaje-C

UBAM

User badge image

Contenidos Muy Locos

81 pag.
Algoritmos e Estruturas de Dados

UBAM

User badge image

Contenidos Muy Locos