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:
 
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 ;
 
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, entre otros.
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: NOMBRE_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, OR, PAKED, PROCEDURE, PROGRAM, RECORD, REPEAT, SET, SHL, SHR, STRING, THEN, TO, TYPE, UNIT, UNTIL, USES, VAR, WHILE, WITH, XOR, entre otras.
 
DATOS: es una representación simbólica (numérica, alfabética, algorítmica entre otros. 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.
*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.
 
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}.
 
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 
               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 
               A                              = 6 * 2                           A la variable A se le asigna el valor 12, que resulta de multiplicar 6 por 2.
               C                              =A + B                          A la variable C se le asigna el valor de sumar A + B.
             EDAD                    =AÑOACTUAL - AÑONAC   La variable EDAD obtendrá el resultado de restarle a la constante ANÑOACTUAL el valor de la                                                                                            variable AÑONAC. 
           SUELDO                 =DIASTRAB*SDIARIO         La variable SUELDO tomará el valor de multiplicar los días 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                 100.000.000.000.000 
       /                         División                    A/B                           0,76