Turbo Pascal

Anuncio
Turbo Pascal
Palabras reservadas: Para poder programar en cualquier lenguaje es necesario conocer los códigos
mediante los cuales podamos expresar las tareas que queremos realizar. El Turbo Pascal, como lenguaje
de programación posee su propio código con palabras de uso exclusivo para ciertas funciones, a estas
palabras les llamaremos palabras reservadas de Turbo Pascal.
Las palabras reservadas de Turbo Pascal son:
AND
ARR
AY
CONS
GIN
DIV
T
ELSE
END
FORW
FUN
ARD
CTION
IN
EL
PROCE
PRO
GRAM
O
DO
WNTO
FI
LE
FO
R
G
IF
OTO
M
NIL
O
R
CKED
CORD
TO
N
VAR
PA
RE
THE
UNTIL
SE
OD
OF
SET
CA
D
LAB
NOT
DURE
BE
RE
PEAT
TY
PE
W
HILE
WI
TH
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, single, ...
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".
1
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.
I
Números enteros sin parte decimal.
nteger
C
Caracteres del código ASCII
har
B
Pueden contener los valores de falso o verdadero
oolean
R
Números que pueden incluir una parte decimal
eal
En una secuencia de caracteres que se trata como un
S
tring
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 indican las variables pueden cambiar a lo largo de la ejecución de un
programa, en cambio las constantes serán valores fijos durante todo el proceso.
Un ejemplo de una variable es cuando vamos a sumar dos números que serán introducidos por el
usuario del programa, éste puede introducir dos valores cualesquiera y no sería nada útil restringirlo a dos
valores predefinidos, así que dejamos que use los valores que el necesite sumar.
Ahora, si nuestro programa de operaciones matemáticas va a utilizar el valor de PI para algunos
cálculos podemos definir un identificador PI con el valor de 3.1415926 constante, de tal forma que PI no
pueda cambiar de valor, ahora en lugar de escribir todo el número cada vez que se necesite en nuestro
programa, solo tenemos que escribir PI.
Las variables y constantes pueden ser de todos los tipos vistos anteriormente: numéricos tanto
enteros como reales, caracteres, cadenas de caracteres, etc.
Comentarios
Es posible introducir comentarios en nuestro programa que sirvan únicamente 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 paréntesis 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:
2
Cabece
ra
Declar
aciones
Progra
ma
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 ";".
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;
3
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
Despues de haber realizado todas las declaraciones se puede iniciar con el programa principal.
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.
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}
Salida de datos a la pantalla
Las instrucciones que permiten mostrar datos en la pantalla de la computadora son: Write y
WriteLn.
La sintaxis de los procedimientos es la siguiente:
Write
(indentificadores);
WriteLn (indentificadores);
4
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);
Entrada de datos desde teclado
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 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 presición. Los tipos de enteros en Turbo Pascal son:
Ti
po
Rango de valores que
acepta
5
In
-32,768 a 32,767
teger
W
0 a 65535
ord
S
-128 a 127
hortInt
B
0 a 255
yte
-2,147,483,648
L
a
2,147,483,648
ongInt
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:
Tip
o
acepta
Re
al
Si
ngle
Do
uble
Ex
tended
Co
mp
Rango de valores que
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
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:
Tipo carácter (Char).
El tipo Char depende del código de caracteres empleado por la máquina. El más utilizado es el código
ASCII. Una variable o constante tipo Char puede contener un solo carácter especificado entre apóstrofes.
Ejem. 'a' 'M'
Tipo Lógico (Boolean).
Pueden tomar dos valores True (verdadero) False (falso). El identificador estándar boolean define una
variable de este tipo.
Tipo Cadena (String).
6
Una cadena (string) es una secuencia de caracteres que tiene una longitud máxima de 255 caracteres. Los
caracteres que componen la cadena se delimitan con apóstrofes. Ejem.
'abcd'
longitud de la cadena 4
''
cadena vacía o nula.
TIPOS DEFINIDOS POR EL USUARIO.
Existen dos diferentes tipos de datos simples definidos por el usuario: enumerados y subrago.
Tipos enumerados. Los tipos enumerados se componen de una lista de identificadores encerrados entre
paréntesis y separados por comas.
Ejem.
Type
Estaciones = (primavera, verano, otoño, invierno);
Colores (rojo, amarillo, verde, azul, violeta);
Los tipos enumerados son ordinales ya que llevan asociado cada uno un número entero,
empezando por el primero, al que se le asigna el O, al segundo un 1, y así sucesivamente, por lo que no es
independiente el orden de declaración. Un valor de tipo enumerado no puede pertenecer a dos
declaraciones de tipo distintas y no pueden leerse desde teclado, ni escribirse en pantalla.
Tipos subrango.
Es un subconjunto de un tipo ordinal (enteros, boolean, carácter y enumerado) que se especifica indicando
el primero y el último elemento del conjunto.
Ejem. 1
Type
Identificador=primerelemento..ultimoelemento;
Ejem. 2
Type
Fecha= 1..31;
Var
Dia: Fecha;
Los tipos enteros, carácter, booleanos, enumerados y subrango se denominan tipos ordinales. Un
tipo ordinal representa una secuencia ordenada de valores individuales, a los que se puede aplicar los
conceptos de predecesor y sucesor. En cada tipo de datos ordinales hay un primer valor y un último
valor.
ESTRUCTURAS DE CONTROL.
Se denominan estructuras de control a aquellas que determinan qué instrucciones deben
ejecutarse y qué número de veces. Existen dos tipos de estructuras de control: alternativas o de selección
y repetitivas o de iteración.
ESTRUCTURAS ALTERNATIVAS.
Son aquellas que bifurcan o dirigen la ejecución de un programa hacia un grupo de sentencias u
otro dependiendo del resultado de una condición. Las dos sentencias alternativas de Turbo Pascal son:
Sentencia alternativa simple IF-THEN-ELSE
Sentencia alternativa múltiple CASE-OF.
IF THEN ELSE.
Formato:
7
IF (expresión lógica o booleana) THEN
Sentencial (simple o compuesta)
ELSE
Sentencia2 (simple o compuesta);
Ejem.
IF n>O then
Writeln (`Número positivo')
ELSE
Writeln (`Negativo o cero');
No puede existir un punto y coma inmediatamente antes de una palabra ELSE ya que sería interpretado
como final de IF.
CASE OF
Formato:
CASE (expresión o variable) OF
(lista de constantes1):(sentencia1);
(lista de conslantes2):(sentencia2);
(lista de constantes3):(senteneia3);
...
(lista de constantesN):(sentenciaN);
ELSE (SENTENCIA)
...
END;
Ejem.
Program menu;
Var
Numerodia: integer;
Begin
Write('introduzca el ordinal de un día laborable de la semana:')
Readln (numerodia);
Write (`Hoy es ');
Case numerodia Of
1:Writeln ('Lunes');
2:Writeln ('Martes');
3:Writeln ('Miercoles');
4:Writeln ('Jueves');
5:Writeln ('Viernes');
6:Writeln ('Sábado')
Else
Writeln ('¡¡¡Domingo!!! No es día laborable');
End.
8
ESTRUCTURAS REPETITIVAS.
Son aquellas que crean un bucle (repetición continua de un conjunto de instrucciones) en la ejecución
de un programa respecto de un grupo de sentencias en función de una condición.
Las tres sentencias repetitivas de Turbo Pascal son:

SENTENCIA WHILE
Indica al ordenador que se ejecuten una o más sentencias mientras se cumpla una determinada condición.
La condición viene determinada por una variable o expresión booleana.
Formato:
WHILE condición DO
BEGIN
(sentencia1);
...
(sentenciaN);
END;
WHILE condición DO
(sentencia);
Esta sentencia comprueba inicialmente si la condición es verdadera. Si la condición es verdadera
se ejecutan las sentencias mientras la condición de su enunciado sea verdadera y finaliza cuando la
condición es falsa. Dado que la condición puede ser falsa inicialmente, es decir antes de comenzar el
bucle, habrá casos en que el bucle no se ejecute.
Características del bucle WHIILE:
Se ejecuta mientras la condición sea verdadera, y dentro del bucle debe existir, por lo menos, una
sentencia que modifique el valor de la variable o expresión, de lo contrario se puede producir una
situación de bucle infinito. Si la expresión lógica es falsa al comenzar el bucle, éste no se realizará.
Ejemplo.
Escribir los N primeros números naturales, donde N es un valor
introducido por el usuario.
Program escribeenteros;
Var
N,contador: integer;
Begin
Write ('Introduzca numero maximo de enteros: ');
Readln (N);
Contador:=1;
While contador<=N do
Begin
Write (contador:5);
Contador:=contador+1;
End;
Writeln;
9
Writeln ('Fin de programa. Contador = ',contador);
End.

SENTENCIA REPEAT UNTIL
Ejecuta las sentencias comprendidas entre las palabras reservadas REPEAT y UNTIL hasta que la
expresión o variable sea verdadera.
Formato:
REPEAT
begin
(Sentencia);
(Sentencia);
...
end;
UNTIL condición;
Características del bucle REPEAT:
Se ejecutan siempre una vez, por lo menos, y la terminación del bucle se produce cuando el valor de la
expresión lógica o condición de salida es verdadera. Se ejecuta hasta que la expresión es verdadera, es
decir, se ejecuta mientras la expresión sea falsa.
Ejemplo.
El mismo que con la sentencia WHILE.
Program escribeenteros;
Var
N,contador:integer;
Begin
Write ('Introduzca número máximo de enteros: ');
Readin (N);
Contador:= O;
Repeat
Contador:=contador+1;
Write (contador:5)
Until contador = N;
Writeln ('Fin de programa. Contador = ',contador)
End.

SENTENCIA FOR
Repite la ejecución de una o varias sentencias un número fijo de veces. previamente establecido. Necesita
una variable de control del bucle que es necesariamente de tipo ordinal, ya que el bucle se ejecuta
mientras la variable de control toma una serie consecutiva de valores de tipo ordinal, comprendidos entre
dos valores extremos (inferior y superior).
Formato ascendente:
10
FOR variablecontrol:=valorinicial TO valorfinal DO
(sentencia);
Formato descendente:
FOR variablecontrol:=valorincial DOWNTO valorfinal DO
(sentencia);
donde (sentencia) puede ser una sentencia simple o compuesta.
Ejemplo:
El mismo que con la sentencia WHILE.
Program escribeenteros;
Mar
N,contador: integer;
Begin
Write ('Introduzca numero maximo de enteros: ');
Readln (N);
For contador:=1 to n do
Write (contador:5);
Writeln
End.
Características del bucle FOR:
Aunque a primera vista pueda resultar más atractivo FOR, existen limitaciones en su aplicación ya que en
el bucle FOR siempre se incrementa o decrementa (de uno en uno) los valores de la variable de control de
bucle y no de dos en dos o de tres en tres, o con valores fraccionarios.
El número de iteraciones de un bucle FOR siempre es fijo y se conoce de antemano:
Valor final - Valor inicial +1.
CUÁNDO UTILIZAR WHILE/REPEAT/FOR?

Utilizar la sentencia o estructura FOR cuando se conozca el número de iteraciones, y siempre
que la variable de control de bucle sea de tipo ordinal.

Utilizar la estructura REPEAT-UNTIL cuando el bucle se realice por lo menos una vez.

En todos los demás casos utilizar la sentencia WHILE.
11
Descargar