Introducción a la Programación en Pascal
Estructura de un Programa
Un programa en Pascal está formado por los tipos, variables, procedimientos y funciones necesarios. Todo objeto referenciado debe ser declarado previamente.
program nombre;
const ...
var ...
begin
// Cuerpo del programa
end.program: Identifica el inicio del programa.const: Declara datos constantes.var: Declara datos variables.begin: Inicia el bloque ejecutable.end: Finaliza el bloque ejecutable (con punto final).
En Pascal, el punto y coma (;) separa sentencias. No es necesario un renglón por sentencia.
- Se pueden tener varias sentencias en un mismo renglón.
- El punto final (.) es obligatorio al final del programa tras
end. - El punto y coma antes del
endfinal es opcional.
Declaración de Constantes y Variables
Una constante tiene un valor fijo durante la ejecución. Se declara con un tipo de dato y un nombre.
Una variable puede cambiar su valor durante la ejecución. Su tipo de dato, definido en el código, determina las operaciones permitidas.
Identificadores
Los identificadores en Pascal comienzan con una letra (a-z, A-Z) o un guion bajo (_), seguidos de letras, guion bajo o dígitos. No se distinguen mayúsculas y minúsculas. No se permiten acentos.
Asignación
- Usar
readpara leer valores y guardarlos en una variable. - Usar la asignación (
:=) para dar un valor, que puede ser el resultado de una expresión del mismo tipo que la variable.
Tipos Predefinidos
Tipo Entero (Integer)
El tipo Integer representa un subconjunto finito de números enteros. MAXINT indica el valor máximo.
Operadores Aritméticos: + (suma), – (resta), * (multiplicación), div (división entera), mod (resto).
Operadores Relacionales: = (igual), <> (distinto), > (mayor), < (menor), >= (mayor o igual), <= (menor o igual).
Funciones Predefinidas: sqr() (cuadrado), abs() (valor absoluto). Ejemplos: sqr(3) = 9, abs(-3) = 3.
Tipo Real (Real)
El tipo Real representa un subconjunto finito de números reales. Los límites dependen del compilador.
Operadores Aritméticos: + (suma), – (resta), * (multiplicación), / (división real).
Operadores Relacionales: = (igual), <> (distinto), > (mayor), < (menor), >= (mayor o igual), <= (menor o igual).
Tipo Carácter (Char)
El tipo Char representa los 256 símbolos del código ASCII.
Operadores Relacionales: = (igual), <> (distinto), > (mayor), < (menor), >= (mayor o igual), <= (menor o igual).
Funciones Predefinidas: chr(), ord(), succ(), pred().
Tipo Lógico (Boolean)
El tipo Boolean admite dos valores: true y false.
Operadores Lógicos: and, or, not.
Operadores Relacionales: = (igual), <> (distinto).
Sentencias Condicionales
Sentencia if-then-else
if expresión then sentencia1 else sentencia2El else es opcional. No hay end para cerrar la sentencia.
Sentencias Incondicionales
Sentencia while
while expresión do sentenciasentencia se ejecuta mientras expresión sea verdadera.
Sentencia repeat until
repeat
sentencia1;
sentencia2;
...
until expresiónLas sentencias se ejecutan al menos una vez, luego se evalúa expresión. Se repiten las sentencias hasta que expresión sea verdadera.
repeat untilejecuta las sentencias al menos una vez.whilepuede no ejecutarlas si la expresión es falsa inicialmente.repeat untilse ejecuta hasta que la expresión sea verdadera.whilese ejecuta mientras la expresión sea verdadera.repeatpermite varias sentencias sinbegin..end.whilerequierebegin..endpara varias sentencias.
Sentencia for
for índice := exp1 to exp2 do sentenciaíndice es una variable de tipo escalar (entero, char, boolean o enumerativo). exp1 y exp2 deben ser del mismo tipo que índice.
Sentencia Compuesta
Para agrupar varias sentencias en un then o else, se usa una sentencia compuesta:
begin
sentencia1;
sentencia2;
...
end