Gracias, Wikipedia.
TreeWeb::Artículos::Manual::Turbo Pascal 7
Permalink: http://www.treeweb.es/u/1061/ 04/04/2011

Turbo Pascal 7

Tipos de datos

  • INTEGER -100
    Rango: (-32768,32768-1) 2 bytes
  • REAL 3.14e-04
    Rango: (-2.9E-38,2.9E-38)U(-1.7E+38,1.7E+38) 6 bytes
  • CHAR ‘A’
    1 carácter ASCII, 1 byte
  • BOOLEAN TRUE
    1 bit
  • STRING ‘CADENA’
    1 cadena ASCII,
  • WORD
  • DOUBLE
  • EXTENDED
  • LONGINT
  • SINGLE

Declaraciones

La especificación de los identificadores en EBNF es la siguiente:
CONST CONSTANTE1 = .35E-1 CONSTANTE2 = ‘A’
VARIABLES
VAR X,Y,Z : INTEGER;
MATRICES
TYPE Matriz = ARRAY [1..5,0..7] OF Tipo1;

Estructura de un programa básico

PROGRAM NombrePrograma; USES Archivo; VAR {----} CONST {----} TYPE {----} FUNCTION A(--------) FUNCTION N(--------) PROCEDURE A(-------) PROCEDURE N(-------) {COMENTARIOS DE REQUISITOS DEL } {PROGRAMA} {COMENTARIOS DEL © Y FECHA} {COMENTARIOS DE IDEAS} BEGIN {CÓDIGO DEL PROGRAMA} END.

Operadores

BÁSICOS
FUNCIONES MATEMÁTICAS := ASIGNACIÓN
ABS() |x|


ArcTan() Atn(x) COMPARACION
Cos() Cos(x) <=

Exp() ex <

Ln() ln x >=

Round() Redondea x >

Sin() Sen (x) = IGUAL
Sqr() X2 <> DISTINTO
Sqrt() RaizCuadrada x


Trunc() ###.#### MATEMATICOS
Frac() ###.#### + SUMA
Int()
- RESTA
Pi Π * PRODUCTO
Random 0.0<= x <1.0 / DIVISION REAL
Random(n) 0 <= x < n DIV DIVISION ENTERA


MOD RESTO
OPERADORES LOGICOS


AND Y CONVERSION DE VARIABLES
OR O INT() INTEGER
NOT NO SIN() SINGLE


STR() STRING
OPERADORES CON CADENAS VAR() VARIANT
CHR



ORD CODIGO ASC


PRED PREDECESSOR


SUCC SUCESOR


ODD 1 SI ES IMPAR




Prioridad de operadores

  1. Paréntesis, NOT
  2. *,/,DIV, MOD
  3. +,-
  4. Operaciones de izquierda a derecha
  5. <, <=, >, >=, =, <>

Funciones intrínsecas del compilador

I/O WriteLn(‘dds’,var) Escribe una linea Write(‘dds’,var) Escribe los caracteres indicados ReadLn(var1, var2) Asigna valores por teclado a varN *SALIDA CON FORMATO Var1:4 Var1:4:2 0042,51 Var1:len var:len:dec ENTORNO DE DESARROLLO *COMENTARIOS ENTRE LLAVES: {}





Bucles

FOR
FOR Variable := {Inicio} TO {Final} DO BEGIN {CODIGO} END;
WHILE
WHILE {Condición} DO BEGIN {CODIGO} {MODIFICADOR DE LA CONDICIÓN} END;
REPEAT
REPEAT {CODIGO} {MODIFICADOR DE LA CONDICION} UNTIL {Condición};
WITH
WITH {Variable de tipo RECORD} DO BEGIN {CODIGO} END;

Control del flujo de programa

IF
IF {Condición} THEN BEGIN {CODIGO} END ELSE IF {Condición} THEN BEGIN {CODIGO} END . . . ELSE BEGIN {CODIGO} END;
CASE
CASE {Variable} OF A,B,C : {CÓDIGO} D,E,F : {CÓDIGO} A..X : {CÓDIGO} ELSE BEGIN {CÓDIGO} END;

Programación modular

LLAMADA A UNA FUNCIÓN
A:= NombreFuncion (a,b,c...{resto de argumentos})
Nota: Una función siempre devuelve un valor.

DECLARAR UNA FUNCIÓN

FUNCTION NombreFuncion(Var A,B,C,D:Tipo1; E,F:Tipo2):Tipo3; {DECLARACION D OTRAS VARIABLES Y CONSTANTES} BEGIN {CODIGO DE LA FUNCION} END;
DECLARAR UN PROCEDIMIENTO
PROCEDURE NombreProcedimiento (Var A,B,C,D:Tipo1; E,F,G:Tipo2); {DECLARACION DE OTRAS VARIABLES Y CONSTANTES} BEGIN {CODIGO DEL PROCEDIMIENTO} END;
UTILIZAR FUNCIONES RECURSIVAS
FUNCTION NombreFuncRec(Var1,Var2:Tipo1):Tipo1; {DECLARACIÓN DE OTRAS VARIABLES Y CONSTANTES} BEGIN IF ______ THEN NombreFuncRec:= VarX ELSE NombreFuncRec:= NombreFuncRec * .... END;