Vous êtes sur la page 1sur 27

C

1.

A P

T U L O

El lenguaje Turbo Pascal


Palabras reservadas
Para poder programar en
cualquier lenguaje es necesario
conocer los cdigos mediante los
cuales podamos expresar las tareas
que queremos realizar. El Turbo
Pascal,
como
lenguaje
de
programacin posee su propio cdigo
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 ESTNDAR 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

INTERRUPT

SHL

STRING

Estas palabras no pueden ser


INLINE
usadas
como
identificadores
USES
(siguiente tpico) ya que cada una de
ellas tiene una funcin definida en Turbo Pascal.

XOR

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
smbolos: &, !, *, etc. y no es alguna palabra reservada.
Para el Turbo Pascal no existen diferencias entre maysculas y minsculas, 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 utilizacin.
Tipos de datos
El manejo de la informacin en
Turbo Pascal se realiza mediante
diferentes clases de datos. En este
apartado se tratarn los principales
tipos y conforme se vayan necesitando
se explicaran los dems.

Integer
Char
Boolean
Real
String

Nmeros enteros sin parte decimal.


Caracteres del cdigo ASCII
Pueden contener los valores de falso o verdadero
Nmeros que pueden incluir una parte decimal
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 ejecucin de un programa, en cambio
las constantes sern valores fijos durante todo el proceso.
Un ejemplo de una variable es cuando vamos a sumar dos nmeros que sern introducidos por el usuario del
programa, ste puede introducir dos valores cualesquiera y no sera nada til restringirlo a dos valores predefinidos,
as que dejamos que use los valores que el necesite sumar.
Ahora, si nuestro programa de operaciones matemticas va a utilizar el valor de PI para algunos clculos
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 nmero 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: numricos tanto enteros como
reales, caracteres, cadenas de caracteres, etc.
Comentarios

Es posible introducir comentarios en nuestro programa que sirvan nicamente para mejorar la comprensin
del cdigo fuente.
Un comentario no es tomado en cuenta al momento de la compilacin 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 parntesis y asteriscos: (*Comentario*).

2.

La Estructura de los programas


El lenguaje utilizado en Turbo Pascal es estructurado, lo que significa que cada programa requiere una forma
especfica de escritura para que sea entendido por el compilador. Todo programa cuenta con algunas partes o
mdulos los cuales son:
La cabecera del programa nicamente lleva el nombre del programa. En la seccin de
declaraciones se le indica al compilador todos los identificadores y unidades que se utilizarn
durante la ejecucin del programa. En la seccin del programa se escribe el cdigo de
instrucciones que se llevarn a cabo.

CABECERA
DECLARACIONES
PROGRAMA

Sentencia PROGRAM
La sentencia PROGRAM es la declaracin del nombre del programa.
Consta de tres partes: la palabra reservada PROGRAM, a continuacin un identificador utilizado como el
nombre del programa y al final un punto y coma ";". Por ejemplo:
PROGRAM
suma_de_dos_numeros ;

Esta declaracin es siempre la primera lnea en cualquier programa de


Turbo Pascal.

Declaracin de unidades

Las unidades son mdulos independientes del programa que, aunque


no son ejecutables por si mismos, pueden ser utilizados por el programa
principal sin necesidad de reescribir el cdigo que contienen. Para la
utilizacin de estos "subprogramas" es necesaria su declaracin.
La palabra reservada USES cumple el propsito de declarar las
unidades en el formato siguiente:

USES crt, dos;

Esta lnea declara y habilita para su uso a la unidad crt y a la unidad


dos
Cada unidad que se declara deber estar separada de la siguiente por
una coma. Al final de todas las unidades declaradas se deber colocar
un punto y coma ";".
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.

Declaracin
variables

de

constantes

Es posible declarar varias constantes


sucesivamente, puede ser una por
rengln o varias en un solo rengln.
Cuando se hace esto, la palabra
CONST solo se pone una sola vez
como cabecera y a continuacin
todas las constantes por definir.
Ejemplo:
Otra forma de escribir lo mismo es
as:
CONST PI = 3.1415926; Nombre =
'Juan Gutirrez'; Unidad = 1;

CONST
PI
=
3.1415926;
Nombre = 'Juan Gutirrez';
Unidad = 1;

VAR Num_entero
Integer;
Nombre : String;

Pero por cuestiones de legibilidad es preferible la primera opcin.


La declaracin 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 vlida de
datos en Turbo Pascal. Ejemplo:

Programa principal

Despus 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
palabra reservada BEGIN y termina con la
palabra END., esta ltima con un punto al
final.
Cada lnea de cdigo, enunciado,
sentencia o instruccin completa que se
escriba termina con un punto y coma ";"
Solo se omitir el punto y coma
cuando se utiliza la palabra reservada ELSE.
Aunque puede tambin omitirse si la
siguiente expresin es END o UNTIL

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.

Ya conociendo la estructura es posible


escribir un primer programa:
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:

3.

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.

Ejecucin de programas
Compilacin y ejecucin en memoria
La compilacin de un programa es el paso mediante el cual traducimos dicho programa al lenguaje maquina
entendible por la computadora.
Para lograr la compilacin en el entorno integrado de desarrollo de Turbo Pascal se utiliza la opcin Compile
del men del mismo nombre. Para acceder al men se utiliza la secuencia de teclas: [ALT] + [C], y luego se escoge
la opcin Compile. Otra forma de realizar la compilacin es con la secuencia de teclas: [ALT] + [F9].
Es posible compilarlo y ejecutarlo automticamente utilizando la secuencia: [CONTROL] + [F9]
Compilacin 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 opcin Destination a Disk, esto se hace entrando al men Compile, se
selecciona la opcin Destination y se presiona [Enter], de esta forma se cambia el destino de compilacin de
memoria a disco o viceversa (Dependiendo de la opcin seleccionada actualmente). Una vez compilado un
programa en el disco es posible ejecutarlo directamente desde el sistema operativo.

4.

La operacin de asignacin
Asignacin o igualacin
La operacin de asignacin es una de las ms 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 algn valor
determinado.
El smbolo utilizado para la operacin es los dos puntos seguidos por un signo de igual := , a la izquierda de
dicho smbolo se coloca el identificador al que se le asignar un nuevo valor y a la derecha se colocar un
identificador o algn valor directo que se almacenar en el primer identificador. Ejemplo:

Es indispensable para todo programa que


cuente con la capacidad de manejar entradas y
salidas de informacin, ya que sin estas
capacidades sera un programa intil.

5.

Nombre := 'Juan Prez';


{Nombre guardar la cadena "Juan Prez"}
Resta := Numero1 - Numero2;
{Resta guardar el resultado de la resta de Numero2 a Numero1}
Area := (Base*Altura)/2;
{Obtiene el rea de un triangulo y la guarda en el identificador Area}

La entrada y salida de datos


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 pequeos programas anteriores de ejemplo, aqu se describirn a fondo.
La sintaxis de los procedimientos es la siguiente:
Donde los identificadores son aquellos que contienen la informacin que se
desea mandar a la pantalla. Es posible utilizar varios de ellos por cada instruccin
Write o WriteLn, nicamente se separan unos de otros por comas ",".

Write
(identificadores);
WriteLn
(identificadores);

Ejemplo:
Write (Nombre, ApellidoP, ApellidoM);
Esta linea de cdigo 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 'Gonzlez ' y la
variable ApellidoM 'Garca', el resultado en pantalla sera:
Rodrigo Gonzlez Garca
Podemos obtener el mismo resultado si utilizamos la siguiente estructura:
Write (Nombre);
Write (ApellidoP);
Write (ApellidoM);

Si en lugar de utilizar la instruccin Write hacemos uso de WriteLn con la misma sintaxis del ejemplo anterior:
WriteLn (Nombre);
WriteLn
(ApellidoP);
WriteLn
(ApellidoM);

Lo que obtendramos sera:


Rodrigo
Gonzlez
Garca
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 rengln de la pantalla, y la primera solo
escribe el contenido y deja el cursor al final del dato escrito.
Entrada de datos desde teclado
Las instrucciones estndar 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
tambin 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 instruccin Read con respecto a ReadLn es que en la primera, si se le dan mas
datos de los que se introducirn se guardan en un buffer y se usarn en la siguiente instruccin Read o ReadLn del
programa, en cambio ReadLn ignora todo dato posterior a los que estn definidos en la instruccin.
En caso de que se le indique a Read o ReadLn que lea un tipo especfico de valor, y se le proporcione otro
diferente se generar un error y se detendr la ejecucin del programa.

6.

Tipos de datos
Un programa debe ser capaz de manejar diferentes tipos de datos, como pueden ser nmeros enteros, reales,
caracteres, cadenas de caracteres, etc. Para lograr el manejo de toda esta informacin Turbo Pascal provee
diferentes tipos de datos para los identificadores que se utilizarn. Algunos de los ms importantes se citan en
seguida:
Tipos enteros

En esta categora Turbo Pascal cuenta con 5 tipos


diferentes, cada uno abarca un rango especfico de valores y
utilizan una diferente 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 enteros largos se cuenta con mayor
preescisin.
Los tipos de enteros en Turbo Pascal son:

Tipo
Integer
Word
ShortInt
Byte
LongInt

Rango de valores que acepta


-32,768 a 32,767
0 a 65535
-128 a 127
0 a 255
-2,147,483,648 a 2,147,483,648

Al utilizar los tipos enteros es posible representar en el programa un nmero en formato hexadecimal, para
hacer esto solo se le antepone el smbolo "$" al valor hexadecimal, al momento de visualizar dicho valor, o utilizarlo
en alguna operacin ser como decimal. Por ejemplo:
Cantidad:= $10;
El valor que se guarda en "Cantidad" es 16.
Tipos reales
Los nmeros 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 mquinas que no cuenten con un coprocesador
matemtico. Los tipos de datos reales son:

Tipo
Real
Single
Double
Extended
Comp

Rango de valores que acepta


2.9E-39 a 1.7E38
1.5E-45 a 3.4E38
5.0E-324 a 1.7E308
1.9E-4851 a 1.1E4932
-9.2E18 a 9.2E18

Los nmeros reales deben llevar por fuerza al menos


un dgito de cada lado del punto decimal as sea ste un cero. Como ejemplo, el nmero 5 debe representarse como:
5.0, el .5 como 0.5 , etc.
En este tipo de datos se utiliza la notacin cientfica, que es igual
a la de las calculadoras, el dgito que se encuentra a continuacin de la
E representa la potencia a la que se elevar el nmero 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 smbolos que forman el cdigo
ASCII, el tipo estndar de Pascal para estos datos es Char. Los caracteres se
especifican entre apostrofes:

'a' </TD

'B' </TD

'2' '#'

El tipo Char es un tipo ordinal de Pascal, esto quiere decir que sus elementos vlidos siguen una secuencia
ordenada de valores individuales. La secuencia de caracteres para este tipo corresponde al nmero del cdigo
ASCII, del 0 al 255.
Es posible acceder 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 mxima de 255 carac---teres. Se definen entre apostrofes.
El tipo de Pascal para las cadenas es String.
Este programa guarda la cadena 'Ernesto Chvez' en la variable definida
como tipo string, y la visualiza en la pantalla por medio de la instruccin WriteLn.
El tamao por defecto para un tipo string es de 255
caracteres, pero es posible definir uno mas pequeo utilizando el
siguiente formato: Variable: String[Tamao];
Donde Variable es la variable a definir y Tamao es el
nmero mximo 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 despus del nombre de la misma la
posicin del caracter encerrada entre corchetes. Por ejemplo:
Tipos lgicos

PROGRAM Cadena;
VAR
Nombre : String;
BEGIN
Nombre := 'Ernesto Chvez';
WriteLn (Nombre);
END.

PROGRAM Cadena01;
VAR
Nombre: String[30];
{Permite un mximo de 30 caracteres en la
variable}
BEGIN
Nombre:= 'Ernesto Chvez';
WriteLn (Nombre[5]);
{Visualiza el 5to caracter de la cadena}
END.

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 ingls: True y el falso por False; tambin se representan por 1
y por 0 respectivamente.
El tipo est definido como Boolean.
Los datos lgicos tienen una enorme aplicacin en la evaluacin de ciertos procesos, as como en el control de flujo
de los programas.

C
1.

A P

T U L O

Operaciones Aritmticas
Operaciones bsicas
Las operaciones bsicas en Turbo Pascal estn formadas por dos partes: el
operador y los operandos.
Un operador es el smbolo que le indica al programa que operacin realizar y los
operandos son los datos sobre los cuales se efectuar la operacin.

Operador
+
*
/

Operacin
Suma
Resta
Multiplicacin
Divisin

Los operadores de Turbo Pascal son:


El tipo de datos que pascal regresa como resultado de una operacin 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 nmeros
reales da como resultado otro nmero real.
Operadores DIV y MOD
La divisin de dos nmeros, sin
importar su tipo, dar como resultado un
nmero 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
divisin entre enteros, y el operador MOD
que regresa el residuo de una divisin de
enteros.
Su sintaxis es:
entero := dividendo DIV divisor
entero := dividendo MOD divisor
El siguiente programa es un ejemplo del
uso de los operadores aritmticos:

PROGRAM Operaciones_Bsicas;
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 multiplicacin de 12 * 8 es igual a: ',Multiplicacion);
WriteLn ('La divisin de 12 / 8 es igual a: ',Division);
WriteLn ('La divisin entera de 12 / 8 es igual a: ',Cociente_Entero);
WriteLn ('El residuo de la divisin entera de 12 / 8 es: ',Residuo_Entero);
END.

Prioridad de operadores
Cuando se utilizan en alguna expresin mas de un operador, stos se evaluan conforme a una prioridad
establecida por Turbo Pascal. Es necesario conocer el orden de evaluacin para evitar errores en nuestros
programas.
El orden en que se ejecutan las
operaciones es el siguiente:

*, /, DIV, MOD

Primeros en evaluarse, todos tienen igual prioridad.

+, -

ltimos en evaluarse, ambos tienen igual prioridad.

En caso de existir parntesis en la expresin


se evaluar primero el contenido de los parntesis
antes que otros operadores.
Si existen dos operadores de igual prioridad
se evaluar de izquierda a derecha.
Para observar la importancia de la evaluacin
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 operacin 3 + 5 * 7 es:
',Resultado_Uno);
WriteLn ('El resultado de la operacin (3 + 5) * 7 es:
',Resultado_Dos);
END.

Como se podr observar en la primera operacin se ejecutar primero la operacin 5*7 y al resultado se le
sumarn 3, en cambio, en la segunda operacin se realizar primero la suma 3+5 para multiplicarle al resultado 7.

2.

Constantes Variables.

Uso de las constantes variables


Cuando se declaran las variables en Turbo Pascal no se
inicializan con algn 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 mayora 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 seccin de constantes, pero
es posible cambiar su valor.
La sintaxis para su declaracin es la siguiente:
Identificador : tipo_de_datos = valor;
Ejemplo:

3.

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.

Constantes expresiones
Uso de las expresiones como constantes
Es posible declarar constantes con base en otras constantes ya
declaradas en el programa utilizando alguna expresin para este fin, por
ejemplo:
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.

C A P
1.

U L O

I I

CONST
Columnas = 80;
Filas = 24;
Total_de_espacios = Columnas * Filas;

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 ms 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 an 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 suprimido sin afectar a la
compilacin. En ocasiones es necesario repetir un determinado nmero de veces la ejecucin de una sentencia, ya
sea sencilla o compuesta, para realizar esta tarea Turbo Pascal cuenta con instrucciones especficas para el tipo de
repeticin que se requiera.

2.

Sentencias repetitivas
Ciclos FOR
El ciclo FOR repite una sentencia un determinado nmero 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 instruccin;
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; instruccin es la sentencia (sencilla o compuesta) que se
ejecutar en cada incremento de la variable.
El siguiente ejemplo escribe los nmeros del 1 al 50 en pantalla. La
variable utilizada es "Numero".
Una de las limitaciones de los ciclos FOR es que una vez
iniciado el ciclo se ejecutar el nmero de veces predefinido sin
posibilidad de agregar o eliminar ciclos.

PROGRAM Ciclo_FOR;
VAR
Numero : Integer;
BEGIN
FOR Numero := 1 to 50 DO
WriteLn(Numero);
END.

Es posible hacer que un ciclo cuente hacia atrs, es decir que la


variable en lugar de incrementarse se decremente.
Para esto cambiamos la palabra TO por DOWNTO, y colocamos el
valor mayor a la izquierda y el menor a la derecha.
Ejemplo:
Ciclos WHILE
Los ciclos WHILE ofrecen la ventaja de que la ejecucin se realiza
mientras se cumpla una condicin, por lo tanto es posible controlar el
nmero de repeticiones una vez iniciado el ciclo. Su sintaxis es:
WHILE condicin DO instruccin
Donde condicin es la condicin que se evaluar, mientras sta
sea verdadera se ejecutar la instruccin, que es una sentencia simple o
compuesta.
Un programa que escriba los nmeros del 1 al 50, utilizando el ciclo
WHILE se vera como sigue:

PROGRAM Ciclo_FOR_2;
VAR
Numero : Integer;
BEGIN
FOR Numero := 50 DOWNTO 1 DO
WriteLn(Numero);
END.

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 Nmero guardar el valor 51, que fue el valor que no cumpli con la condicin
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 condicin se evala al principio del ciclo,
en cambio en REPEAT-UNTIL se evala 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:
Para crear un buen programa es necesario dotarlo con capacidad de
desicin con base en las variables o eventos definidos por el programador,
para que el programa sea aplicable en un entorno ms generalizado y no
solo para un problema especfico.

PROGRAM Ciclo_RepeatUntil;
VAR
Numero : Integer;
BEGIN
Numero := 1;
REPEAT
WriteLn (Numero);
Numero := Numero + 1;
UNTIL Numero = 50;
END.

Para lograr este control se cuenta con las estructuras de control que, en Turbo Pascal, son las siguientes:

3.

Bifurcaciones condicionales
Sentencia IF...THEN...ELSE
Esta expresin es utilizada para ejecutar una sentencia en el caso que una condicin establecida sea
verdadera, de lo contrario se podr ejecutar una sentencia distinta. Su sintaxis es:
IF condicin THEN instruccin ELSE otro
Donde condicin es la expresin que se
evaluar, en caso de ser verdadera se ejecutar la
sentencia dada como instruccin, en caso de que la
condicin sea falsa se ejecutara la sentencia dada
como otro. Ejemplo:
En este pequeo 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 lo contrario se
escribira en la pantalla un caracter "*". Como el
contador inicia desde 1, tenemos que se imprimiran
10 asteriscos antres del primer nmero, que ser el
11, valor que si cumple la condicin "Contador >
10" (la hace verdadera).

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.

La seccin ELSE con sus correspondientes sentencias son opcionales y pueden omitirse en caso de no
necesitarse.

Sentencias IF anidadas
Es posible utilizar en una expresin del tipo IF..THEN..ELSE
una sentencia compuesta como la sentencia a ejecutarse en caso de
que la condicin 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:
Selecciones CASE
Esta forma de control se utiliza cuando se va a
evaluar una expresin que puede contener varios datos
diferentes y en cada dato deber realizar una accin
especial.
Por ejemplo, si se crea un men con diferentes
opciones se realizar un determinado proceso para cada
accin, aunque la seleccin por parte del usuario se
haga desde el mismo lugar.
El siguiente programa ilustra el uso de la forma
CASE, el programa preguntar un nmero al usuario y lo
clasificar de acuerdo a su valor.

4.

IF Numero > 5 THEN


BEGIN
IF Numero < 10 THEN Opcion := Numero;
IF Numero < 30 THEN Opcion2 := Numero;
END;

PROGRAM Case;
VAR
Numero : Integer;
BEGIN
WriteLn('Introduzca un nmero entero del 1 al 5: ');
ReadLn(Numero);
CASE Numero OF
1 : WriteLn('El nmero fu 1');
2 : WriteLn('El nmero fu 2');
3 : WriteLn('El nmero fu 3');
4 : WriteLn('El nmero fu 4');
5 : WriteLn('El nmero fu 5');
ELSE WriteLn('El nmero no estaba en el rango indicado');
END.

Bifurcaciones incondicionales
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 lnea siguiente.
El uso de GOTO no es aconsejable ya que destruye el modelo de la programacin estructurada que es la que
se utiliza en Turbo Pascal, adems se cuenta con las estructuras de datos anteriores que hacen casi innecesario su
uso.
Para utilizar este tipo de salto es necesario declarar
PROGRAM Uso_del_GOTO;
etiquetas, que no son otra cosa que el identificador que marcar el
LABEL
lugar a donde se dirigir el flujo del programa al momento de usar
Etiqueta;
BEGIN
el GOTO. La declaracin de etiquetas se hace antes que la de
WriteLn('Esta linea si se escribir');
constantes y variables, la palabra reservada para su declaracin es
GOTO Etiqueta;
LABEL. El nombre de la etiqueta es un nombre de un identificador
WriteLn('Esta linea no se escribir');
como cualquier otro, pero al utilizarse debe terminar con dos
puntos ":".
Etiqueta:
La sintaxis del comando es:
WriteLn('Se efectu el brinco');
GOTO etiqueta;
END.
Ejemplo:
HALT
La instruccin HALT provoca la terminacin 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:

C A P

1.

U L O

PROGRAM Uso_de_HALT;
BEGIN
WriteLn('Primera linea del programa');
WriteLn('Terminar la ejecucin del programa');
HALT
WriteLn('');
END.

I V

Procedimiento
Definicin
Un procedimiento es un grupo de sentencias que realizan una tarea concreta. En lugar de reescribir el cdigo
completo de esa tarea cada vez que se necesite, nicamente se hace una referencia al procedimiento.
Por ejemplo, es muy comn que se quiera visualizar un ttulo determinado varias veces en un programa, para
evitar teclear ese ttulo 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 instruccin ms de Turbo Pascal, y para ejecutarlo
nicamente teclearemos el nombre de dicho procedimiento.
Para poder ejecutar un procedimiento es necesario declararlo en el programa que se este utilizando.

Creacin de los procedimientos


El primer paso para crear un procedimiento es saber que
queremos que haga. Una vez definiendo este punto declaramos el
procedimiento despus de haber declarado variables y constantes, antes
del cuerpo del programa principal. La palabra reservada para su
declaracin es Procedure seguida del nombre del procedimiento. Vamos
a crear un procedimiento encargado de escribir en pantalla el enunciado
"Programa de Turbo Pascal":
Uso de los procedimientos
Una vez declarado el procedimiento es posible
utilizarlo como una instruccin 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:

Variables locales y globales


En Turbo Pascal cada identificador
tiene un campo de accin, solo dentro de
ste campo es posible utilizarlo.
Los ejemplos ms 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
nicamente por el procedimiento en el que
esta declarada, el programa principal y los
otros procedimientos la toman como
inexistente.
Ejemplo:

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:

2.

PROCEDURE Titulo;
BEGIN
WriteLn ('Programa de Turbo Pascal');
END;

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;

PROGRAM Variables;
VAR
Hola : String;
PROCEDURE prueba;
VAR
Adios : String;
BEGIN
{En esta seccin si es posible usar la variable Hola}
Adios := 'Adios, que les vaya bien';
WriteLn (Adios);
END;
BEGIN
{En esta seccin 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 seccin, para eliminar el problema quites esta linea}
prueba;
END.
PROGRAM Variables_2;
VAR
Saludo : String;
PROCEDURE Mensaje;
VAR
Saludo : String;
BEGIN
Saludo := 'Este mensaje solo es vlido para el procedimiento "Mensaje"';
WriteLn('Saludo');
END;
BEGIN
Saludo := 'Primer saludo (Global)';
WriteLn (Saludo);
Mensaje;
WriteLn (Saludo); {Se escribir el mensaje "Primer saludo"}
END.

Paso de informacin entre procedimientos


Parmetros
Para poder pasar informacin entre el programa principal y procedimientos, o entre los mismos
procedimientos usamos los parmetros, que son los canales de comunicacin de datos.
Los parmetros son opcionales y si no se necesitan no se deben usar. Para utilizarlos es necesario
declararlos son la siguiente sintaxis:

PROCEDURE nombre (lista de parmetros);


La lista de parmetros 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
parmetros se pueden utilizar como tales otras
variables o constantes, siempre y cuando sean del
mismo tipo que los declarados. Ejemplo:
Ejemplo(1, 2, 'Hola', 'Adios');
Ejemplo de un programa con procedimiento que utiliza
un parmetro.
Es vlido crear un procedimiento que llame a
otro procedimiento siempre y cuando el procedimiento
llamado haya sido declarado antes del que lo usar.

3.

Funciones
Definicin
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 declaracin de las funciones se realiza de la
siguiente forma:
FUNCTION nombre(parmetros) : tipo_de_datos;
A continuacin se escribe el contenido de la
funcin como una sentencia normal (sencilla o
compuesta), normalmente terminando con la
igualacin de la funcin al valor que regresar.
Ejemplo:
Uso de las funciones
Como las funciones devuelven un valor
especfico la forma ms usual de utilizarlas es por
medio de asignaciones de una variable a la funcin.
Ejemplo:

4.

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 informacin}
END;
{que llega como parmetro }
BEGIN
Saludo := 'Bienvenidos al programa';
Imprime_5 (Saludo);
{llama al procedimiento Imprime_5, usando como}
{parmetro la variable Saludo }
Imprime_5 ('Fin');
{Utiliza la cadena "fin" como parmetro }
END.

FUNCTION Promedio (a, b : Real) : Real; {Promedio de dos


nmeros reales}
BEGIN
Promedio := (a + b) / 2;
END;

PROGRAM Funciones;
VAR
X, Y, Z : Real;
FUNCTION Promedio (a, b : Real) : Real;
{Promedio de dos nmeros 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 funcin Promedio}
WriteLn('El promedio de ',X,' y ',Y,' es: ',Z);
END.

Procedimientos predefinidos en Turbo Pascal


Procedimiento HALT
El procedimiento HALT ya se haba revisado anteriormente, pero se tom como una instruccin, 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.
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 teclear:
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);

C A P
1.

U L O

Funciones estndar en Turbo Pascal


Truncamiento y redondeo
La funcin Round (nmero) redondea un nmero
real al entero ms cercano y devuelve el resultado como
un nmero real.
La funcin Trunc (nmero) elimina la parte
decimal del nmero real y devuelve el resultado como tipo
entero. Ejemplo:

Funciones exponenciales y logartmicas


La funcin Sqr devuelve el cuadrado del valor
utilizado como parmetro.
Sqrt regresa la raz cuadrada del valor dado como
parmetro, el resultado siempre es real aunque se utilice
un nmero de tipo entero como argumento. Ejemplo:

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 funcin con base en estas dos para
calcular el resultado de un nmero x elevado a una
potencia n, la cual nos quedara as:

El uso de esta funcin en un programa podra ser:

Funciones aritmticas
Abs regresa el valor absoluto del identificador que se le
pase como parmetro. El valor que devuelve ser del
mismo tipo que el argumento.
Abs(-24) {Regresa el valor 24}
La funcin Int devuelve la parte entera de un valor real,
como tipo real.
La funcin Frac regresa la parte decimal de un valor
real, tambin como valor real.
Funciones trigonomtricas
Las funciones trigonomtricas definidas en Turbo Pascal
son: Sin(valor), Cos(valor) y Arctan(valor), todas las
dems pueden definirse desde estas:

Las funciones para utilizarlas son:

PROGRAM Redondeo;
VAR
Entero : Integer;
ValorReal1, ValorReal2 : Real;
BEGIN
ValorReal1 := 123.435;
ValorReal2 := Round(ValorReal1);
Entero := Trunc (ValorReal1);
WriteLn('El resultado de la funcin Round sobre el valor');
WriteLn(ValorReal1, ' es: ','ValorReal2, ' (Nmero real)');
WriteLn('El resultado de la funcin Trunc sobre el valor');
WriteLn(ValorReal1, ' es: ', Entero, ' (Nmero entero)');
END.
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 raz cuadrada de ',Dato,' es: ',Raiz);
END.

FUNCTION Potencia(x,n:Real):Real;
BEGIN
Potencia := Exp(n *Ln(x))
END;

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.
Tan(x)
Cot(x)
Sec(x)
Csc(x)

Sin(x) / Cos(x)
Cos(x) / Sin(x)
1 / Cos(x)
1 / Sin(x)

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;

Generacin de nmeros aleatorios


Para generar nmeros aleatorios Turbo Pascal cuenta con la funcin Random y el procedimiento Randomize.
La funcin Random genera un nmero aleatorio de tipo real comprendido entre 0 y 1, en cambio la funcin
Random (x) genera un entero aleatorio entre 0 y x.
Sin embargo el uso de la funcin Random es en ocasiones
insuficiente por si sola para la generacin de valores aleatorios ya que los
nmeros son realmente pseudoaleatorios, y cada vez que se ejecute el
programa se obtendran los mismos valores. Para evitar esto debemos
utilizar en todo programa que utilice valores aleatorios el procedimiento
Randomize, que inicializa el generador de nmeros aleatorios, en otras
palabras, asegura que los nmeros que obtendr sern diferentes cada vez
que se ejecute el programa.
Es recomendable usar este procedimiento antes de cada funcin
random del programa. Ejemplo de un programa generador de nmeros
aleatorios:

C A P
1.

U L O

PROGRAM Nums_Aleatorios;
VAR
x : Integer;
BEGIN
Randomize
WriteLn('Lista de nmeros aleatorios');
For x := 1 to 20 do
WriteLn(Random);
END.

V I

Operaciones bsicas con cadenas


Las cadenas de caracteres son secuencias de caracteres con longitudes que varan 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 tambin es factible declarar cadenas ms cortas agregando al momento
de la declaracin la longitud de la variable, por ejemplo:
VAR
Mensaje : String[120]; {Longitud maxima = 120 caracteres}

Comparacin de cadenas
La comparacin de cadenas es una operacin muy comn en Turbo Pascal; estas comparaciones se realizan
con base en el orden del cdigo ASCII, por ejemplo la cadena 'Prueba' es menor a la cadena 'prueba' ya que el valor
del cdigo ASCII de P es 80 y el de p es 112.
As tambin podemos diferenciar las cadenas con respecto a su tamao: 'Hola' es menor a 'Bienvenido'
Existe un caso especial de una cadena, que es cuando no tiene ningn caracter en ella, en ese momento decimos
que es una cadena nula o vaca. Se recomienda ampliamente inicializar todos los valores de las cadenas a cadenas
nulas al inicio del programa, ya que podran contener datos extraos 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 tambin
es posible visualizar el caracter en pantalla usando la
instruccin 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 funcin Length, la longitud es la
cantidad de caracteres que contiene la cadena en un momento determinado. Su sintaxis es:
Length (cadena);
La funcin regresa un valor entero.
El programa imprime en la pantalla un mensaje con la
longitud de la cadena almacenada en memoria, en este caso
especfico 18.
En ocasiones es necesario combinar dos o ms
cadenas de caracteres en una sola, para lograr esto
utilizamos los siguientes mtodos.

2.

PROGRAM Funcion_Length;
VAR
Cadena : String;
BEGIN
Cadena := 'Prueba de longitud';
WriteLn ('Longitud de la cadena: ', Length (Cadena));
END.

Unin de cadenas
Operador +
Es una de las formas ms 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 los caracteres sobrantes. Ejemplo:

Cadena1 := 'Buenos ';


Cadena2 := 'dias ';
Cadena3 := Cadena1 + Cadena2;
WriteLn (Cadena3);

Se imprimir en la pantalla: 'Buenos das'. (Ntese que este ejemplo es solo una seccin del programa, para
ejecutarlo es necesario completar la estructura).
Funcin Concat
La funcin concat produce los mismos resultados que la concatenacin, es posible incluir cualquier nmero 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);

3.

Procedimientos y funciones para el manejo de cadenas


Pos
La funcin 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 parmetros que requiere son: la cadena que se buscar y la cadena donde se buscar la primera:
Pos (Cadena1, Cadena2);
Cuando encuentra la cadena la funcin
devuelve su posicin 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 funcin copy regresa una subcadena de una variable o constante dada como parmetro. Su sintaxis es:
Copy (Cadena, Inicio, Cantidad);
Donde Cadena es la fuente de la subcadena, Inicio es la posicin desde la cual se obtendr la subcadena y
Cantidad es el nmero de caracteres que se extraern.
Los valores de Inicio y Cantidad deben ser de tipo
entero.

Cadena
:=
"Nuevos
horizontes";
WriteLn (Copy(Cadena, 8, 10)); {Visualiza: horizontes}

Ejemplo:
Insert
El procedimiento Insert sirve para insertar una cadena dentro de otra en alguna posicin determinada.
Sintaxis:
Insert (Cadena1, Cadena2, Posicin)
Donde Cadena1 es la que se insertar, Cadena2 es donde se insertar y Posicin es el lugar donde se
insertar. El parmetro Posicin debe ser de tipo entero.
Delete
Este procedimiento elimina un determinado nmero de caracteres de una cadena. Su sintaxis es:
Delete (Cadena, Inicio, Nmero)
Cadena es la variable en la cual se eliminarn los caracteres, Inicio es la posicin del primer caracter a
eliminar y Nmero es la cantidad de caracteres que se borrarn.
UpCase
La funcin UpCase regresa la letra mayuscula correspondiente al caracter dado como parmetro. Es muy
comn trabajando con cadenas que se quiera convertir una que contiene un nmero a su valor numrico, para poder
utilizarlo en operaciones matemticas, as como convertir un nmero a su equivalente en una cadena.
Esto es ms fcil de entender si consideramos que no es lo mismo el valor 75 y el valor '75', en el primer caso
es un nmero mientras que en el segundo es un par de caracteres ASCII.
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 numrico. Su sintaxis es:
Str(Valor, Cadena)
Donde valor es el nmero 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 numrico, el problema con esta funcin es que si
la cadena no esta formada exclusivamente de nmeros siguiendo las reglas para el tipo de datos que se vallan a
obtener se generar un error. Sintaxis:
Val (Cad, Num, Cdigo)
Cadena contiene la cadena que ser procesada, Num es la variable de tipo numrico donde se guardar el
valor de la cadena y Cdigo 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 Cdigo representa la posicin de
la cadena donde ocurri el error.

C
1.

A P

T U L O

I I

Concepto de unidad
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 funcin.
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 declaracin 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 despus de la sentencia
PROGRAM, despus se escriben los nombres de las unidades que se utilizarn.

Crt
Dos
Graph

Overlay
Printer
System

Las unidades estndar de turbo pascal son:

2.

Creacin de unidades
Estructura de las unidades
Las unidades estn compuestas por cuatro partes:
Declaracin
Es obligatoria, provee el nombre de la unidad que se crear. Su sintaxis es:
UNIT nombre_de_la_unidad;
Ejemplo:
UNIT prueba;
Interfaz
Esta seccin se declara con la palabra INTERFACE, en
esta seccin 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 seccin no se
incluyen los cdigos de los procedimientos ni funciones,
nicamente su declaracin. Ejemplo:
Implementacin
La seccin de implementacin es exclusiva para la
unidad que se est creando, contiene declaraciones de
etiquetas, variables, constantes, as como el contenido de los
procedimientos y funciones declarados en la seccin de
interfaz. La palabra usada para declarar esta parte es
IMPLEMENTATION. Ejemplo:

INTERFACE
USES Crt, Dos;
VAR
Numero : Integer;
CONST
Columnas = 10;
PROCEDURE Colocar(Cad1 : String; X, Y : Integer);

IMPLEMENTATION
USES Crt;
PROCEDURE Colocar(Cad1 : String; X, Y : Integer);
BEGIN
GotoXY(X,Y);
Write(Cad1);
END;

Inicializacin
Esta seccin 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.
Creacin de una unidad
La creacin de una unidad propia se realiza utilizando las partes de la citadas anteriormente. Su creacin se
realiza en la misma forma que la de un programa.

Un ejemplo de una unidad es:


Compilacin de la unidad
Para compilar una unidad y dejarla lista para su
utilizacin en programas posteriores se utiliza la opcin
Compile en el men del mismo nombre.
Es necesario verificar que en la opcin Destination,
del mismo men, est activado el almacenamiento del
cdigo al disco (Disk) y no a memoria, de lo contrario la
unidad nicamente se podr utilizar durante esa sesin y no
en las sesiones posteriores porque se eliminar de la
memoria al momento de salir del entorno integrado de
desarrollo.

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;
BEGIN
END.

La secuencia de teclas [ALT] + [F9] tambin compilan la unidad as como los programas dependiendo del
caso.

3.

Utilizacin de las unidades


Uso de las unidades
Una vez compilada una unidad se puede incorporar al programa agregando la sentencia USES de la que se
haba hablado al principio, ya declaradas las unidades que se utilizarn se puede hacer uso de todos los
procedimientos y funciones incluidas como si estuvieran escritas en el mismo programa.

C
1.

A P

T U L O

I I

Archivos de acceso secuencial


Los archivos de acceso secuencial son llamados tambin archivos de texto, estn formados por cadenas de
caracteres separadas unas de otras por los cdigos retorno de carro/avance de lnea, que corresponden a los
caracteres 13/10 del cdigo ASCII. El final del archivo se indica mediante el caracter ASCII 26, que tambin 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 secuenciales, la unica forma de
modificarlos es agregando lneas 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 tambin 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
Declaracin 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 algn 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
Existen 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, 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 grabara 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 instruccin Read lee uno o varios datos del archivo abierto y deja el puntero en el mismo rengln en el cual
ley los datos, en cambio ReadLn lee los datos y mueve el puntero al siguiente rengln.
Fin del archivo
Normalmente los archivos de este tipo se leen rengln por rengln hasta llegar al final del mismo. Cuando se
conoce de antemano el tamao del archivo es posible utilizar un ciclo FOR, pero es ms seguro utilizar la funcin
EOF la cual es verdadera despues de que el programa lee la ltima linea de un archivo de acceso secuencial.
La sintaxis de la funcin EOF es:
EOF (VaribleArchivo);
Es comn realizar la verificacin de la funcin con un ciclo WHILE
como en el ejemplo siguiente:

WHILE NOT EOF(Archivo) DO


BEGIN
ReadLn(Archivo, Datos);
WriteLn(Datos);
END;

Cerrar archivos
Para asegurar que toda la informacin se grabe en el disco correctamente es necesario cerrar el archivo antes
de que se termine la ejecucin del programa, de lo contrario se corre el riego de que la ltima informacin que se
haya accesado no se grabe en su totalidad.
La instruccin para cerrar un archivo es Close, y su sintaxis es:
Close (VaribleArchivo);
Funcin Eoln
La funcin Eoln sirve para verificar si el puntero ha llegado al final de la lnea. Regresa el valor verdadero si
se encuentra al final. Comnmente se utiliza en las lecturas caracter por caracter.
Agregar datos a un archivo de texto
Para aadir 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 continuacin se ilustra un ejemplo de un
programa que agrega una lnea a un archivo de
texto:

2.

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 tambin llamados archivos con tipos o tipeados.
Estructura del archivo
A diferencia de los archivos secuenciales, los archivos tipeados no estn compuestos de lneas 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 nmeros enteros en un archivo, cada registro servir para un nmero
especfico 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 instruccin type del sistema operativo debido al
formato utilizado para guardarlos.
Declaracin 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 declaracin se realiza en la seccin correspondiente a la
declaracin 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


TYPE
Nombre_Reg = RECORD
tipo de datos ya que se requeririan varios archivos, por ejemplo para alguna base
Campo_del_registro_1 : Tipo;
de datos: uno para los nombres, otro para apellidos, otro para la edad, etc. Para
Campo_del_registro_2 : Tipo;
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
Campo_del_registro_n : Tipo;
diferentes tipos, uno de tipo INTEGER, uno de tipo STRING, etc.
END;
Los registros del tipo record deben ser declarados antes de las variables
en una seccin llamada TYPE con el siguiente formato:
Donde Nombre_Reg es el nombre del registro que se utilizar, Campo_del_Registro_x son las variables que
estarn contenidas en el registro y Tipo es el tipo de cada una de las variables del registro.

La seccin TYPE se escribe antes de la declaracin 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:

El siguiente paso es declarar un archivo del tipo Datos as como una


variable del mismo tipo de los que se utilizarn en el archivo:

TYPE
Datos = RECORD
Nombre : String[40];
Domicilio : String[60];
Edad : Integer;
EdoCivil : String[10];
END;
VAR
Archivo : FILE OF Datos;
Persona : Datos;

Asignacin de un archivo
An 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 asignacin 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 archivo nuevo se utiliza la
instruccin 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 exista 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 tamao de un archivo
La funcin FileSize regresa el tamao de un archivo, o mejor dicho devuelve el nmero de registros
contenidos en ste.
Al momento de abrir un archivo nuevo la funcin 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 nmero especfico comenzando desde el
registro 0 y aumentando de 1 en 1.
La funcin FilePos devuelve el nmero 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 funcin Seek, con la siguiente sintaxis:
Seek (VariableArchivo, NumRegistro);
Para moverse al final del archivo para agregar un nuevo registro se utiliza este mismo comando con el parmetro
NumRegistro como sigue:
Seek (VariableArchivo, FileSize(VariableArchivo));
Cuando se avanza en un archivo registro por registro se utiliza la funcin 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 nicamente se utilizan los procedimientos Read y
Write.
Despus de cada operacin 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
procedimiento close:
Close (VariableArchivo);

C A P
1.

U L O

I X

Constantes predefinidas
Modo de Pantalla
Las constantes definidas de Turbo Pascal para indicar el modo de pantalla que se utilizar son:
Constante
BW40
CO40
BW80
CO80
Mono

Valor
0
1
2
3
7

Modo de video
40x25 Blanco y negro en tarjeta de color
40x25 Color
80x25 Blanco y negro en tarjeta de color
80x25 Color
80x25 Monocromtico

Colores
Las constantes definidas para los colores son:
Colores para primer plano:

Colores para primer plano y fondo


Constante

2.

Black

Valor
0

Negro

Color

Constante
Dark gray

Valor
8

Color
Gris oscuro

Blue

Azul

Light Blue

Azul claro

Green

Verde

Light Green

10

Verde claro

Cyan

Cyan

Light Cyan

11

Cyan claro

Red

Rojo

Light Red

12

Rojo claro

Magenta

Magenta

Light Magenta

13

Magenta claro

Brown

Marrn

Light Gray

Gris claro

Yellow
White

14
15

Amarillo
Blanco

Variables predefinidas
La unidad CRT provee un conjunto de variables utilizadas para modificar aspectos referentes a entradas de teclado,
modo de la pantalla, etc. A continuacin se listan las principales con su funcin especfica.
CheckBreak
Tipo : boolean.
Cuando el contenido de esta variable es True se encuentra activada la terminacin de un programa por medio de las
teclas Crtl-Break. Si se cambia su valor a False se desactiva esta opcin.
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 ms rpido que los procedimientos
TextColor y TextBackground que tienen la misma funcin.
WindMin

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 continuacin se listan algunos de los procedimientos que incluye esta unidad con una breve descripcin de cada
uno.

3.

Procedimientos predefinidos
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.

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.

ClrEol
Sintaxis:

ClrEol;
Este procedimiento borra todos los caracteres de la lnea actual desde la posicin del cursor hasta el final de
la lnea.
Ejemplo:
ClrScr
Sintaxis:
ClrScr;
Se utiliza para borrar la pantalla completa o la ventana actual y sita el cursor en la esquina superior
izquierda.
Ejemplo:
PROGRAM Retardo;
USES Crt;
BEGIN
WriteLn('Inicia retardo de aproximadamente 5 segundos');
Delay(5000);
WriteLn('Fin del retardo');
END.

Delay
Sintaxis:
Delay(Tmp : Word);
Detiene la ejecucin del programa durante un
tiempo especificado en Tmp en milisegundos. El intervalo
vlido es desde 0 hasta 65535, la precisin del retardo depende de la precisin del reloj interno de la computadora.
Ejemplo:
DelLine
Sintaxis:
DelLine;
Borra la lnea donde se encuentra el cursor y las
lneas inferiores suben una posicin.
Ejemplo

GotoXY
Sintaxis:
GotoXY(x, y : Byte);

PROGRAM BorrarLinea;
USES Crt;
VAR x : Integer;
prb : String;
BEGIN
ClrScr;
FOR x := 1 TO 20 DO
WriteLn('Linea nmero: ', x);
WriteLn('Presione [ENTER] para borrar la linea 6');
GotoXY(0,6);
DelLine;
WriteLn('Linea 6 eliminada');
END.

PROGRAM Posicin;
USES Crt;
BEGIN
GotoXY(10,10);
Write('*');
GotoXY(20,20);
Write('*');
END.

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:
HighVideo
Sintaxis:
HighVideo;
Activa la pantalla de video de alta intensidad.
InsLine
Sintaxis:
InsLine
Inserta una lnea en blanco en la posicin 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.
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,
tambin 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);
Define el modo de video, esto es, el nmero de
filas y columnas que se podrn mostrar en pantalla,
tambin si se mostrarn en blanco y negro o en color.
Los modos vlidos de pantalla de texto son:

Constante

Valor

Modo de video

BW40

40x25 Blanco y negro en tarjeta de color

CO40

40x25 Color

BW80

80x25 Blanco y negro en tarjeta de color

CO80

80x25 Color

Mono

80x25 Monocromtico

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:

4.

Funciones predefinidas
KeyPressed
Tipo: Boolean
La funcin KeyPressed devuelve el valor de True si se puls alguna tecla y false si no se ha presionado
ninguna.
ReadKey
Tipo: Char

Esta funcin lee un caracter del teclado, se utiliza mucho para leer teclas de direccin, teclas de control y de
funciones.
WhereX
Tipo: Byte
WhereX devuelve el nmero de la columna donde se encuentra el cursor.
WhereY
Tipo: Byte
La funcin WhereY devuelve el nmero de la fila donde se encuentra el cursor al momento de llamar a la
funcioacute;n.

INDICE
C

I
PG.

1.

2.

3.
4.
5.
6.

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
DECLARACIN DE UNIDADES
DECLARACIN DE CONSTANTES, TIPOS Y VARIABLES
PROGRAMA PRINCIPAL
EJECUCIN DE LOS PROGRAMAS
COMPILACIN Y EJECUCIN EN MEMORIA
COMPILACIN AL DISCO
LA OPERACIN DE ASIGNACIN
ASIGNACIN O IGUALACIN
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 LGICOS
C

1.

2.
3.

2.

3.

4.

2.
3.
4.

4
5
5
6
6
6
6
7
T

7
7
7
8
8
I

8
8
9
9
9
10
10
10
10
A

PROCEDIMIENTOS
DEFINICIN
CREACIN
USO DE LOS PROCEDIMIENTOS
VARIABLES LOCALES Y GLOBALES
PASO DE INFORMACIN ENTRE PROCEDIMIENTOS
PARMETROS
FUNCIONES
DEFINICIN
USO DE LAS FUNCIONES
PROCEDIMIENTOS PREDEFINIDOS EN TURBO PASCAL
HALT Y EXIT
INC Y DEC (INCREMENTAR Y DECREMENTAR)
C

1.

4
4

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
C

1.

3
3
3
3
4

OPERACIONES ARITMTICAS
OPERACIONES BSICAS
OPERADORES DIV Y MOD (ENTEROS)
PRIORIDAD DE OPERADORES
CONSTANTES VARIABLES
USO DE LAS CONSTANTES VARIABLES
CONSTANTES EXPRESIONES
USO DE LAS EXPRESIONES COMO CONSTANTES
C

1.

2
2
2
2
3

FUNCIONES ESTNDAR DE TURBO PASCAL


TRUNCAMIENTO Y REDONDEO
EXPONENCIALES Y LOGARITMICAS
ARITMTICAS
TRIGONOMTRICAS
NMEROS ALEATORIOS

10
11
11
11
11
12
12
12
12
I

13
13
13
13
14

PG.
C

1.
2.
3.

1.
2.

3.

2.

2.

3.

4.

14
14
14
15
15
15
15
15
15
15
16
L

16
16
16
16
17
17
A

ARCHIVOS DE ACCESO SECUENCIAL


DECLARACIN DE UN ARCHIVO
ABRIR ARCHIVOS
ESCRIBIR DATOS EN UN ARCHIVO
LEER DATOS DE UN ARCHIVO
FIN DEL ARCHIVO
CERRAR ARCHIVOS
FUNCIN EOLN
AGREGAR DATOS A UN ARCHIVO DE TEXTO
ARCHIVOS DE ACCESO DIRECTO
ESTRUCTURA DEL ARCHIVO
DECLARACIN DE UN ARCHIVO
ASIGNACIN DE UN ARCHIVO
ABRIR ARCHIVOS
REGISTRO ACTUAL Y TAMAO DE UN ARCHIVO
POSICIONAMIENTO EN EL INTERIOR DE UN ARCHIVO
LECTURA Y ESCRITURA DE ARCHIVOS
CERRAR UN ARCHIVO
C

1.

CONCEPTO DE UNIDAD
CONCEPTO DE UNIDAD
LA DECLARACIN USES
CREACIN DE UNIDADES
ESTRUCTURA DE LAS UNIDADES
CREACIN DE UNA UNIDAD
COMPILACIN DE LA UNIDAD
UTILIZACIN DE LAS UNIDADES
USO DE LAS UNIDADES
C

1.

OPERACIONES BSICAS CON CADENAS


COMPARACIN DE CADENAS
MANEJO DE LOS ELEMENTOS DE LA CADENA
UNIN DE CADENAS
OPERADOR +
FUNCIN CONCAT
PROCEDIMIENTOS Y FUNCIONES PARA EL MANEJO DE CADENAS
POS
COPY
INSERT
DELETE
UPCASE
STR
VAL

CONSTANTES PREDEFINIDAS
MODO DE PANTALLA
COLORES
VARIABLES PREDEFINIDAS
CHECKBREAK
DIRECTVIDEO
LASTMODE
TEXTATTR
WINDMIN
WINDMAX
PROCEDIMIENTOS PREDEFINIDOS
CLREOL
CLRSCR
DELAY
GOTOXY
HIGHVIDEO
INSLINE
LOWVIDEO
NORMVIDEO
NOSOUND
SOUND
TEXTBACKGROUND
TEXTCOLOR
TEXTMODE
WINDOW
FUNCIONES PREDEFINIDAS
KEYPRESSED
READKEY
WHEREX

17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
20
T

20
20
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22

WHEREY

22

"....................hacia la innovacin pedaggica"

C O M P U S E RV I S
FUTURE KITS
-U

C H I Z A

MANUAL DE PROGRAMACIN EN
T U R B O PAS C A L

6.0

Rusbel Rubn ESPINOZA JARA


Profesor de Informtica y Computacin
Uchiza- Per
2008

Vous aimerez peut-être aussi