26/10/23, 15:18 Documents Downloader
UNIDAD 4. ESTRUCTURA DE DATOS EN FUNCIONES Y
PROCEDIMIENTOS.
INTRODUCCIÓN AL TURBO PASCAL.
El lenguaje Turbo Pascal se caracteriza por ser un lenguaje de propósito general (puede
usarse en un gran número de diversas aplicaciones), es un lenguaje procedimental, es
estructurado (usa las estructuras repeat, for, while y no necesita go to) y recursivo, y
posee una gran riqueza de tipos de datos.
Un programa en PASCAL es un conjunto de instrucciones o sentencias, escritas según
ciertas reglas, para realizar operaciones sobre entidades de datos conocidas como
constantes, variables y resultados de funciones.
Estructura de un programa haciendo uso del lenguaje Turbo Pascal:
PROGRAM identificador Encabezamiento
USES asocia una serie de rutinas
de control de pantalla
LABEL declaración de etiquetas
CONST definición de constantes Sección de declaraciones y
TYPE declaración de tipos de datos definiciones
definidos por el usuario
VAR declaración de variables
FUNCTION
>PROCEDUREDeclaraciones y cuerpo Sección de subprogramas
de los subprogramas
BEGIN
Sentencias
o Cuerpo del programa o
instrucciones Sección Ejecutable
END.
Ing. Nahiby Castillo 11
[Link] 1/11
26/10/23, 15:18 Documents Downloader
El encabezamiento
Un programa escrito en PASCAL empieza siempre con un encabezamiento que consiste
en:
• La palabra reservada PROGRAM.
• El nombre del programa.
• Los nombres de los ficheros externos que se usan para entrada y salida. Se escriben
separados por comas y entre paréntesis.
• El delimitador punto y coma.
La sección de las declaraciones
Todas las entidades definidas por el usuario que se usan en un programa deben ser
declaradas en esta sección, indicando un identificador y lo que representa.
ETIQUETAS (LABEL)
CONSTANTES (CONST)
TIPOS (TYPE)
VARIABLES (VAR)
PROCEDIMIENTOS (PROCEDURE)
FUNCIONES (FUNCTION)
• No es necesario que un programa contenga declaraciones de todas esas categorías.
• Las declaraciones pueden escribirse en un orden cualquiera.
• Una misma clase de declaración puede aparecer más de una vez. Pero una
declaración particular no se puede repetir en un bloque.
• Las etiquetas son enteros decimales que pueden usarse para señalar alguna sentencia
y hacerla accesible mediante la sentencia GOTO.
Ejemplo:
TYPE estaciones = (primavera, verano, otoño, invierno) ;
VAR letra : CHAR;
CONST pi = 3.1416 ;
LABEL 100, 200, 300 ;
Ing. Nahiby Castillo 12
[Link] 2/11
26/10/23, 15:18 Documents Downloader
La sección ejecutable
Contiene a las sentencias que, cuando se ejecutan, realizan las acciones del programa.
La sección ejecutable sigue a la de las declaraciones y está delimitada por BEGIN y END,
terminando en un punto.
Entre BEGIN y END puede haber sentencias condicionales, repetitivas, sentencias de
asignación, sentencias que controlan el flujo de la ejecución.
OBJETOS DE UN PROGRAMA EN TURBO PASCAL.
IDENTIFICADORES: un identificador es un nombre dado a un elemento de programa, tal
como una constante, una variable, un procedimiento, un programa, una función, una
unidad, un campo de registro, etc.
CARACTERÍSTICAS DE LOS IDENTIFICADORES:
• Secuencia de caracteres de cualquier longitud, sólo los 63 primeros son significativos.
• Debe comenzar por una letra (A Z) y no puede contener blancos.
• Después del primer carácter se aceptan letras, dígitos y subrayado ( _ ).
• No se pueden usar palabras reservadas.
Ejemplos válidos: N OMBRE_APELLIDO, IMPUESTO, NOTA2, H346
Ejemplos no válidos: NOMBRE APELLIDO, EJ?AB, 23ALX, 4NOM, &NOM
NOTA: El Turbo Pascal no distingue las letras mayúsculas de las minúsculas en los
identificadores. Ejemplo: EDAD edad Edad son identificadores válidos e idénticos.
PALABRAS RESERVADAS: son palabras que tienen un significado especial y que no se
pueden utilizar para otros propósitos. Las palabras reservadas no se pueden usar como
identificador.
Ejemplo de palabras reservadas: ABSOLUTE, AND, ARRAY, BEGIN, CONST, DIV, DO,
DOWNTO, ELSE, END, EXTERNAL, FILE, FOR, FORWARD, FUNCTION, GOTO, IF,
IMPLEMENTATION, IN INLINE, INTERFASE, INTERRUPT, LABEL, MOD, NIL, NOT, OF,
Ing. Nahiby Castillo 13
[Link] 3/11
26/10/23, 15:18 Documents Downloader
OR, PAKED, PROCEDURE, PROGRAM, RECORD, REPEAT, SET, SHL, SHR, STRING,
THEN, TO, TYPE, UNIT, UNTIL, USES, VAR, WHILE, WITH, XOR, etc.
DATOS: es una representación simbólica (numérica, alfabética, algorítmica etc. Cifras
originales que por si solas tienen poco significado. Son los conceptos básicos o
elementales como el nombre de las cosas o personas, las cantidades, etc.
TIPOS DE DATOS:
DATOS NUMÉRICOS: conformados por dígitos, puede incluir un signo (+,-), un punto
decimal ( . ) y un exponente. No pueden contener comas ( , ) o espacios en blanco.
DATOS NUMÉRICOS ENTEROS (INTEGER): No contienen ni punto decimal, ni
exponente.
Ejemplo: 5 +5 -6 7343
Rango de valores posibles entre: -32768 ....32767
Enteros largos (LOGINT), su rango de valores: -2147483648 .....2147483647
DATOS NUMÉRICOS REALES (REAL): Deben contener punto decimal ( . ) o un
exponente o ambos.
Ejemplo: 0.0 -0.2 -314.63 0.000078 +32.45 32.45
En forma exponencial la base 10 se reemplaza por la letra E, manteniendo la forma
siguiente: nE+-dd donde n = número decimal y dd = exponente entero (+,- o cero) .
Ejemplo: 5.2x10-4 5.2E-4 5.2e-4 -6.784E-12 7.0E5 7.0E+5
DATOS CARACTER (CHAR): sólo pueden contener un caracter y deben estar encerrados
entre apóstrofes. Pueden ser una letra (A Z), un dígito ( 0 9) o un caracter especial ($,*, &,
etc.).
Ejemplo: ‘A’ ‘*’ ‘6’ ‘ ‘ ‘X’
NOTA: No se pueden utilizar apóstrofes cuando se introducen caracteres desde el
terminal.
Ing. Nahiby Castillo 14
[Link] 4/11
26/10/23, 15:18 Documents Downloader
DATOS CADENA (STRING): es una secuencia de caracteres (letras, dígitos o caracteres
especiales) escritos en una línea sobre el programa y encerrados entre apóstrofes,
generalmente no mayor de 255 caracteres.
Ejemplo: ‘DIOS SI EXISTE’ ‘¿COMO ESTAS?’ ‘EDO. MERIDA’
‘6457-AL3’ ‘2X(3+D)-J’
DATOS LÓGICOS (BOOLEAN): pueden tomar sólo dos valores:
true significa verdadero
false significa falso donde false < trae
CONSTANTES: son datos que no varían durante la ejecución o vida del programa. El dato
simple se asocia a menudo a un IDENTIFICADOR que le proporciona un nombre al dato.
El identificador se dice que es una constante si se le asigna un dato permanente.
Las constantes deben ser declaradas antes de su utilización.
Forma de definición de constantes:
CONST nombre = valor;
nombre1, nombre2, …. nombren = valor;
Donde: CONST es la palabra reservada para la declaración de constantes
nombre es un identificador que representa el nombre de la constante
valor es el dato efectivo que se asigna al nombre, el cual puede ser entero,
real, carácter, cadena, lógico, ..., conjuntos o arreglos,.. o una expresión que se
evalúa en tiempo de compilación.
; punto y coma es el elemento separador de sentencias.
Ejemplos: CONST
Pi = 3.141592; Constante real
CUENTA = 632; Constante entera
Min = 0; Constante entera
SUMA = (2.5+40)/(3.5-4); Constante real
COLOR = ’AZUL’; Constante cadena (string)
ANCHO,ALTO,LONG = 25; Constantes enteras
SEC = ‘X’; Constante caracter
Ing. Nahiby Castillo 15
[Link] 5/11
26/10/23, 15:18 Documents Downloader
NOTA: El tipo del valor asociado a la constante define el tipo de la constante. Los valores
de las constantes tipo cadena o caracter deben ser asignados entre apóstrofes.
VARIABLES: Es un identificador cuyo valor puede cambiar durante la ejecución del
programa. Cada variable debe ser declarada (definida) individualmente en la sección de
declaración del programa antes de ser utilizadas.
Forma de definición de variables:
VAR nombre: tipo; o VAR nombre1, nombre2, ...nombren: tipo;
Donde: VAR: es la palabra reservada para la declaración de variables.
nombre: es el identificador que representa el nombre de la variable.
tipo: se refiere al tipo de dato contenido en la variable. Existen tantos tipos de
variables como tipos de datos diferentes.
; punto y coma es el elemento separador de sentencias.
Ejemplos: VAR
EDAD: INTEGER;
SALARIO: REAL;
NOMB: STRING[30];
LETRA: CHAR;
NACIONALIDAD: CHAR;
CONDICION: BOOLEAN;
NOTA: Las definiciones de constantes deben preceder a las declaraciones de variables.
Ejemplo: CONST TITULO = ‘LA CASA DE LA CULTURA’;
FRAC = 0.18453;
VAR FILA, COLUMNA: INTEGER;
SB: REAL;
COMENTARIOS: es cualquier frase encerrada entre llaves { } o entre los signos (* *) que
puede acompañar a las instrucciones de un programa, sean estas de declaraciones o
pertenecientes al cuerpo del mismo.
Ejemplo: VAR EDAD: INTEGER; {Edad del estudiante}
Ing. Nahiby Castillo 16
[Link] 6/11
26/10/23, 15:18 Documents Downloader
Expresiones:
Las expresiones son combinaciones de constantes, variables, símbolos de operación
(matemáticos, lógicos y relacionales) y nombres de funciones que se utilizan en el cuerpo
del algoritmo. Las expresiones pueden ser simples o compuestas.
Las expresiones simples, son asignaciones directas a una variable o constante de un
valor numérico o carácter, véase el siguiente ejemplo:
Nombre de la Expresión Valor asignado Explicación o análisis
A =6 A la variable A se le asigna el valor de 6
B = ‘DEFINITIVO’ A la variable B se le asigna el valor ‘DEFINITIVO’
FECHA = dd/mm/aa A la variable FECHA se le asigna una fecha dada
DÓLAR =2120 A la constante DOLAR se le asigna el valor 2120
PAIS =’VENEZUELA’ A la constante PAIS se le asigna el valor
‘VENEZUELA’
Una expresión compuesta es la asignación a una variable o constante que surge de la
unión de valores numéricos, operadores aritméticos, de comparación o lógicos. Por
ejemplo:
Nombre de la
Expresión Valor asignado Explicación o análisis
A la variable A se le asigna el valor 12, que resulta de
A =6*2 multiplicar 6 por 2
C =A+B A la variable C se le asigna el valor de sumar A + B
EDAD =AÑOACTUAL - ANONAC La variable EDAD obtendrá el resultado de restarle a la
constante ANÑOACTUAL el valor de la variable ANOÑAC
La variable SUELDO tomará el valor de multiplicar los días
SUELDO =DIASTRAB*SDIARIO trabajados contenidos en la variable DIASTRAB por el
valor de salario diario contenido en SDIARIO
Expresiones Aritméticas
Son utilizadas para construir formulas matemáticas. Las variables y constantes utilizadas
son de naturaleza numérica, es decir números enteros o reales, y las operaciones a
efectuar son de orden aritmético.
Operadores Aritméticos
Operadores Significado Ejemplo Interpretación
+ Sumar SI A=10 y B=13 Resultado es: 23
- Restar A-B -3
* Multiplicar A*B 130
** Exponenciación A**B [Link].000
/ División A/B 0,76
Ing. Nahiby Castillo 17
[Link] 7/11
26/10/23, 15:18 Documents Downloader
REGLAS PARA EVALUAR EXPRESIONES ARITMÉTICAS:
1. Todas las subexpresiones entre paréntesis se evalúan primero. Las subexpresiones con
paréntesis anidados se evalúan de dentro hacia fuera. El paréntesis más interno se
evalúa primero.
2. Prioridad de operadores aritméticos:
* / div mod se evalúan primero
+ - se evalúan de último
Ejemplos:
4+2*5 4+10 14
23*2div5 46div5 9
3+5*(10-(2+4)) 3+5*(10-6) 3+5*4 3+20 23
(9+3)*5div4mod7+1 12*5div4mod7+1 60div4mod7+1 15mod7+1 1+1
2
Expresiones Relacionales
Se construyen a partir de los operadores relacionales (de relación o comparación, = , > , <
, >=, <=, <>. Los operadores relacionales sirven para expresar las condiciones en los
algoritmos. Si A=10 y B=13
Operadores Significado Ejemplo Interpretación
> Mayor que A>B Resultado: FALSO
< Menor que A<B VERDADERO
>= Mayor igual A >= B FALSO
<= Menor igual A <= B VERDADERO
= Igual A=B FALSO
<> Diferente A <> B VERDADERO
Orden de Evaluación
Al incluir estos operadores con los operadores aritméticos, obtenemos este nuevo orden
de evaluación:
Prioridad Operador
1 Contenido de paréntesis ()
2 *,/,div,mod
3 + ,-
4 =, <, >, <=, >=, distinto a
Ing. Nahiby Castillo 18
[Link] 8/11
26/10/23, 15:18 Documents Downloader
Contador: Un contador es una variable cuyo valor se incrementa o decrementa en una
cantidad constante, cada vez que se produce un determinado suceso, acción o iteración.
Para incluir un contador en un proceso deberá seguirse Ejemplo: Se requiere obtener cuantos números primos
los siguientes pasos: existen del número 1 hasta el 100.
Inicializar antes del ciclo Inicio
Cuentaprimo= 0
Incrementar dentro del ciclo Numero = 1
Si se requiere puede imprimirse el valor con el cual Leer Numero
finaliza el contador.
Mientras Número <= 100
Un contador se construye colocando el nombre del contador Aplicar fórmula primo
= nombre del contador + el valor del incremento.
Si es primo Entonces
Se lee de la siguiente manera: A la variable Cuentaprimo (el Cuentaprimo = Cuentaprimo + 1
contador en este caso) se le asigna el valor que trae y se
incrementa en uno, en la primera iteración o lectura de Imprimir Número
datos, el valor que trae, es 0, al ejecutarse la instrucción del
contador se incrementa en uno, y así sucesivamente hasta Fin Si
que se finalice el ciclo. Este contador se incrementará cada
vez que la formula determine que el número en proceso es Numero = Numero + 1
primo
Fin Mientras
Imprimir Cuentaprimo
Fin
Acumulador: Un acumulador es una variable que suma sobre sí misma un conjunto de
valores, al finalizar con el ciclo contendrá, en una sola variable, la sumatoria de todos los
valores, que cumplen una determinada condición.
Para incluir un acumulador en un proceso se deben seguir los siguientes Ejemplo: Se requiere obtener cuantos números
pasos: primos existen del 1 hasta el 100, pero además se
requiere su sumatoria.
Inicializar antes del ciclo
Inicio
Incrementar dentro del ciclo Cuentaprimo= 0, Sumaprimo = 0
Numero = 1
Por lo general se requiere la impresión de su valor.
Leer Numero
Un acumulador se construye colocando el nombre del acumulador
= nombre del acumulador + el valor variable. Ej: Sumaprimo Mientras Número <= 100
Aplicar fórmula primo
Se lee de la siguiente manera: A la variable Sumaprimo se le asigna el
Si es primo Entonces
valor que trae, que en su inicio es cero, más el valor que contiene la Cuentaprimo = Cuentaprimo + 1
variable Número. De esta manera Sumaprimo contiene el valor del Sumaprimo = Sumaprimo + Número
Fin Si
primer número. Cuando ocurre el encuentro del siguiente número primo Imprimir Numero
y deba incrementarse el acumulador Sumaprimo, la instrucción dice que Numero = Numero + 1
Sumaprimo, es igual al valor que trae o tiene actualmente, que en esta Fin Mientras
segunda iteración corresponde al primer número primo, más el valor del Imprimir Cuentaprimo, Sumaprimo
Fin
siguiente número primo encontrado, este proceso se realizará cada vez
que se encuentre un número primo, acumulando la sumatoria de todos
los números primos hasta llegar al número 100.
Ing. Nahiby Castillo 19
[Link] 9/11
26/10/23, 15:18 Documents Downloader
UNIDADES TURBO PASCAL
UNIDAD SYSTEM
Contiene los procedimientos y funciones estándar de Turbo Pascal relativas a la
entrada/salida, cadenas de caracteres, calculo en coma flotante, gestión de memoria,
entre otras funciones.
UNIDAD CRT
Esta unidad proporciona un conjunto de declaraciones que permiten el acceso al control
de los modos de pantalla, de teclado, posicionamiento del cursor, entre otros.
Algunos de sus procedimientos son:
• clrscr: borra la pantalla.
• keypressed: detecta la pulsación de una tecla.
• Sound: hace sonar el altavoz interno
• window: define una ventana de texto en la pantalla.
UNIDAD DOS
Esta unidad contiene declaraciones, constantes, tipos variables, procedimientos y
funciones relacionadas con el sistema operativo DOS y la gestión de archivos.
Algunos de sus procedimientos son:
• gettime: proporciona la hora a través del reloj interno
• getdate: proporciona fecha registrada en el ordenador.
• Disksize: proporciona el tamaño de la unidad de almacenamiento señalada.
UNIDAD PRINTER
Esta unidad facilita la tarea del programador cuando utiliza la impresora como dispositivo
de salida. Permite enviar la salida estándar de Pascal a la impresora utilizando para ello
los procedimientos “write” y “writeln.”
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 después de la sentencia
PROGRAM, después se escriben los nombres de las unidades que se utilizarán.
Ing. Nahiby Castillo 20
[Link] 10/11
26/10/23, 15:18 Documents Downloader
Reglas sintácticas
• El punto y coma ( ; ) y el punto ( . ) son DELIMITADORES en PASCAL.
El punto y coma separa sentencias consecutivas. También se usa para terminar el
encabezamiento del programa y las declaraciones de los datos. No es necesario
escribir punto y coma después de la palabra BEGIN ni antes de la palabra END porque
BEGIN y END no son sentencias.
El punto indica el final del programa.
• Las palabras BEGIN y END también son delimitadores, no son sentencias. Se usan
para separar las partes funcionales de un programa. Con ellas se indica el principio y el
final de la sección ejecutable. También sirven para delimitar una sentencia compuesta.
Cada BEGIN debe estar asociado con un END, excepto en dos casos: la sentencia
CASE y la declaración de RECORD.
• El PASCAL permite formato libre en la escritura del texto que compone el programa. Se
pueden colocar las sentencias en cualquier lugar de una línea, escribir una sentencia
en más de una línea y colocar varias sentencias en una misma línea. Pero no se puede
dividir un nombre y un número entre varias líneas o con un espacio en blanco.
• Un programa puede contener comentarios en cualquier lugar. Los comentarios se
delimitan encerrándolos entre llaves ( { } ). También es posible comenzar un
comentario con " ( * " y acabarlo con " * ) ".
• El comando readln: carga un valor en una variable y salta una línea. El comando
writeln: muestra información por pantalla y salta una línea. Si no se escribe (ln) no
saltará la línea
• Para dejar una línea en blanco: writeln, o readln.
• El readkey sirve para que la pantalla muestre el resultado del programa hasta que el
usuario presione una tecla.
Ing. Nahiby Castillo 21
[Link] 11/11