ELEMENTOS DEL LENGUAJE DE PROGRAMACIÓN TPASCAL
Palabras reservadas Identificadores Operadores
Signos de puntuación
Comentarios
Cabecera
Declaración
Sentencias ejecutables
Sent. de programa (control y manejo de datos) Def. estructuras de datos (variables y constantes)
Sintáctico
Estructural
Funcional
Elementos Sintácticos del Lenguaje
• Sin diferencia entre mayúsculas y minúsculas en identificadores y palabras reservadas.
• Palabras reservadas = palabras que expresan alguna función del lenguaje.
And asm array begin case const constructor
destructor div
do downto
else end
exports file
for function
goto if
implementation in inherited
inline interface
label library
mod nil not object
of or packed procedure
program record repeat set shl
shr string
then to type unit until
uses var while
with xor
• Identificadores = palabras que identifican los elementos que se van a utilizar en el programa (constantes, variables...).
o Secuencia de 1 a 127 caracteres.
o Comienza por letra.
o El resto pueden ser letras, dígitos o ‘_’. Nunca espacios ni símbolos.
o No es palabra reservada.
• Comentarios = Cadenas de caracteres que el compilador ignora.
o Delimitados por { } o (* *)
• Operadores
o Aritméticos: +, -, *, /, DIV, MOD, - (cambio signo) o Booleanos: AND, OR, NOT
o Relacionales: =, <>, <, >, <=, >=
o Asignación: :=
o Precedencia: Paréntesis para modificarla. A mismo nivel de precedencia, evaluar de izquierda a derecha.
• Punto y coma: Final de instrucción.
Estructura de un Programa
• Cabecera:
PROGRAM <identificador>;
• Declaración:
o Unidades (crt = control de pantalla y teclado) USES
<ident_unidad1>[,<ident_unidad2>,...];
o Constantes
CONST
<ident_cte> = <valor_cte>;
o Variables VAR
<ident_vble1>[, <ident_vble2>,...]:<tipo>;
donde
<tipo>= integer|shortint|longint|byte|word|
real|single|double|extended|comp|
char|string|
Not
*, /, DIV, MOD, AND +, -, OR
=, <>, <, >, <=, >=
+
-
Boolean|
<tipo_compuesto>|<tipo_definido_usuario>
Rango tipos:
SHORTINT: -128..127
LONGINT: -2147483648.. 2147483647 (MAXLONGINT) INTEGER: -32768..32767 (MAXINT)
BYTE: 0..255 WORD: 0..65535
REAL: 2.9e-39..1.7e38 SINGLE: 1.5e-45..3.4e38 DOUBLE: 5.0e-324..1.7e308 EXTENDED: 3.4e-4932..1.1e4932 COMP: -9.2e18..9.2e18
• Cuerpo Programa:
BEGIN ....
END.
Program <id programa>;
Uses
<id unidad>[,<id unidad> ...];
Const
<id constante>=<valor constante>;
...
Var
<id variable>[,<id variable> ...] :<id tipo>;
...
Begin
<sentencia>;
<sentencia>;
<sentencia>;
...
End.
INSTRUCCIONES DE UN PROGRAMA: ENTRADA Y SALIDA DE DATOS
• Salida de datos en pantalla
Write (<lista_expresiones_y_literales_cadena>);
WriteLn (<lista_expresiones>);
Descriptores de formato:
<Expresión>:W:D donde
W ⇒ Longitud en espacios del campo donde se va a mostrar el dato. Justificación a la derecha. Si es demasiado pequeño, se agranda para los datos numéricos pero trunca el resto (empezando por la izquierda).
W:D ⇒ Visualización de reales en formato decimal. W indica la anchura total del campo. D indica el número de dígitos decimales (redondeo o relleno a ceros, según el caso).
• Entrada
Read (<lista_vble>);
Readln (<lista_vble>);
Readln lee los valores para las variables de la lista y salta de línea.
Read lee los valores para las variables de la lista pero no salta de línea.
• Posicionamiento cursor:
Gotoxy (<col>, <fila>);
Sitúa el cursor en la posición indicada.
WhereX ⇒ Devuelve la columna donde está el cursor.
WhereY ⇒ Devuelve la fila donde está el cursor.