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
end
final 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
read
para 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 sentencia2
El else
es opcional. No hay end
para cerrar la sentencia.
Sentencias Incondicionales
Sentencia while
while expresión do sentencia
sentencia
se ejecuta mientras expresión
sea verdadera.
Sentencia repeat until
repeat
sentencia1;
sentencia2;
...
until expresión
Las sentencias se ejecutan al menos una vez, luego se evalúa expresión
. Se repiten las sentencias hasta que expresión
sea verdadera.
repeat until
ejecuta las sentencias al menos una vez.while
puede no ejecutarlas si la expresión es falsa inicialmente.repeat until
se ejecuta hasta que la expresión sea verdadera.while
se ejecuta mientras la expresión sea verdadera.repeat
permite varias sentencias sinbegin..end
.while
requierebegin..end
para 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