Introducción a la Programación en Pascal: Conceptos Básicos y Ejemplos
Clasificado en Informática
Escrito el en español con un tamaño de 5,67 KB
**Tipos de Identificadores en Pascal**
**Identificadores Reservados**
Son palabras clave que tienen un significado especial en el lenguaje Pascal y no pueden ser utilizadas para otros propósitos.
- program: Identifica que lo que sigue es un programa en Pascal.
- const: Define la declaración de los datos constantes.
- var: Define la declaración de datos variables.
- begin: Identifica el comienzo del bloque ejecutable del programa.
- end: Identifica el final del bloque ejecutable del programa (el último end lleva un punto).
**Identificadores Predefinidos**
Son identificadores que ya tienen un significado asignado en Pascal, pero que pueden ser redefinidos por el programador (aunque no es recomendable).
- real: Tipo de dato predefinido para identificar elementos que representan números reales.
- write y writeln: Primitivas predefinidas que permiten escribir texto o datos en la pantalla del dispositivo. La diferencia es que writeln baja de línea (ln) en la pantalla.
- read: Primitiva predefinida que permite obtener (leer) valores de un dispositivo de entrada y asignarlos a una variable.
**Identificadores Definidos por el Usuario**
Son los nombres que la persona que escribe el código fuente elige para variables, constantes, procedimientos, etc.
- CONST: "nombre" = "valor";
- VAR: "nombre": "tipo de dato"; (si es más de uno, se separan por coma)
**Primitiva de Asignación**
"variable" := "expresión";
**Tipos de Datos en Pascal**
- INTEGER: Para números enteros.
- REAL: Para números reales.
- CHAR: Para símbolos (caracteres).
- BOOLEAN: Para valores lógicos (verdadero o falso).
- STRING: Para cadenas de caracteres (cuando es más de un carácter).
**Operaciones según el Tipo de Dato**
**Operaciones con INTEGER**
- Operadores aritméticos: +, -, *, div (división entera), mod (resto de la división entera).
- Operadores relacionales: =, <>, >, <, >=, <=.
- Funciones predefinidas: sqr() (devuelve el cuadrado de un entero), abs() (devuelve el valor absoluto de un entero).
**Operaciones con REAL**
- Operadores aritméticos: +, -, *, / (división real).
- Operadores relacionales: =, <>, >, <, >=, <=.
- Funciones predefinidas: abs, exp, ln, round, sqr, sqrt y trunc.
**Operaciones con CHAR**
- Operadores relacionales: =, <>, >, <, >=, <=.
- Funciones predefinidas: chr(), ord(), succ(), pred().
**Operaciones con BOOLEAN**
- Operadores lógicos: and, or, not.
- Operadores relacionales: =, <>, >, <, >=, <=.
Recuerda que los operadores relacionales retornan un valor de tipo BOOLEAN (true o false).
**Sentencias de Control**
**Sentencia Condicional IF-THEN-ELSE**
Permite ejecutar un bloque de código u otro dependiendo de una condición.
Sintaxis:
if "condición" then "opción 1" else "opción 2";
Se pueden usar los operadores or, and y not para construir condiciones complejas.
**Sentencia Compuesta IF-THEN BEGIN-END-ELSE BEGIN-END**
Se utiliza cuando se quiere ejecutar más de una sentencia dentro de una rama del IF.
**Repetición Incondicional (Bucle FOR)**
Permite repetir un bloque de código un número determinado de veces.
Sintaxis:
for veces := 1 to 4 do begin "sentencias con ;" end;
(La variable veces debe ser de tipo INTEGER. Puede haber begin y end para ejecutar más de una sentencia en cada iteración).
**Repetición Condicional (Bucle WHILE)**
Permite repetir un bloque de código mientras se cumpla una condición.
Sintaxis:
while "condición" do (puede haber begin y end)
**Sentencia de Repetición Condicional REPEAT-UNTIL**
Similar al bucle WHILE, pero la condición se evalúa al final del bucle, por lo que el bloque de código se ejecuta al menos una vez.
Sintaxis:
repeat "secuencias" until "condición"
**Ejemplo de Algoritmo en Pascal**
Enunciado: Calcula el monto a pagar por un cliente. Se debe solicitar el monto de la compra y el tipo de comprador. Si el comprador es VIP o es su primera compra, se le aplica un descuento del 5% y no hay recargo por envío. De lo contrario, se debe solicitar la distancia de envío. Si la distancia es de 100 km o menos, no hay recargo por envío. Si la distancia está entre 100 y 1000 km, se debe agregar $200 de envío. Si la distancia es mayor a 1000 km, se debe indicar que se consulte por e-mail.