PDF de programación - Pascal

Imágen de pdf Pascal

Pascalgráfica de visualizaciones

Actualizado el 12 de Enero del 2019 (Publicado el 19 de Diciembre del 2018)
180 visualizaciones desde el 19 de Diciembre del 2018. Una media de 7 por semana
38,0 KB
4 paginas
Creado hace 14a (12/01/2005)
PASCAL
PASCAL

Nociones básicas
Nociones básicas

n Todas las sentencias deben terminar en punto y coma (;)

excepto la última sentencia que termina con punto (.)

n Los programas en Pascal se componen de:

n Cabecera:

PROGRAM identificador;

n Declaraciones

CONST

Iden_cte = valor_cte;

VAR

Iden_var : tipo_var;

n Sentencias

n Se pueden incluir comentarios en cualquier parte de un programa

pero deben delimitarse con llaves o con paréntesis y asterisco:

{ esto es un comentario }
(* y esto también *)

PASCAL

Variables y Constantes
Variables y Constantes

n Los identificadores son nombres para referenciar variables, constantes

y funciones. Se forman con letras (A-Z), números (0-9) y símbolo de
subrayado ( _ ) pero deben comenzar con una letra. Pueden tener
cualquier longitud pero sólo se reconocen los 63 primeros caracteres

n Los tipos de datos básicos utilizados en Pascal son:

n INTEGER: Entero
n REAL: Real
n CHAR: Carácter
n BOOLEAN: Lógico/Booleano
n STRING: Cadena de caracteres

n En Pascal, las variables deben declararse antes de ser utilizadas en
una sección de declaración de variables dentro del programa. Esta
sección comienza con la palabra VAR

n Las constantes también deben inicializarse en la sección de

declaración de constantes. Esta sección comienza con la palabra
CONST

PASCAL

3

PASCAL

Estructura básica de un
Estructura básica de un

programa en Pascal
programa en Pascal

PROGRAM nombre;
CONST

nom_cte1 = valor1;
MMMMMMMMMMMMMMMMMMMMM
nom_cteN = valorN;

VAR

nom_var1 : tipo1;
MMMMMMMMMMMMMMMMMMMMM
nom_varN : tipoN;

BEGIN

MMMMMMMMMMMMMMMMMMMMM
sentencias;
MMMMMMMMMMMMMMMMMMMMM

END.

Estructuras secuenciales
Estructuras
secuenciales

Estructuras condicionales
Estructuras condicionales

n Operación de asignación

var := exp ;

n Operación de Entrada/Lectura:

READ(lista parámetros);
READLN(lista parámetros);

n Operación de Salida/Escritura:

WRITE(lista parámetros);
WRITELN(lista parámetros);
WRITELN;

IF condición THEN
BEGIN

Sentencias en caso verdadero

END
[ELSE
BEGIN

Sentencias en caso falso

END];

n Nótese que el ‘;’ únicamente se
pone al final de la sentencia IF-
THEN-ELSE

n

Si el grupo ‘Sentencias en caso
verdadero’ (y/o ‘Sentencias en caso
falso’) está formado por una única
sentencia, el par BEGIN -END no es
necesario

IF condición THEN

S1
[ELSE
S2];

n Sentencia CASE

CASE var O F

Valor_1:S1;
Valor_2:S2;
MMMMMMMMMMMMMMM
Valor_n:Sn;

END;

PASCAL

5

PASCAL

2

4

6

1

Estructuras repetitivas
Estructuras repetitivas

n Bucle FOR

FOR var:=inicio TO/DOWNTO fin DO
BEGIN

Cuerpo del bucle

END;

n Bucle WHILE

WHILE condición DO
BEGIN

Cuerpo del bucle

END;

n Bucle REPEAT-UNTIL

REPEAT

Cuerpo del bucle

UNTIL condición;

PASCAL

n Si ‘cuerpo del bucle’ (en la

sentencia FOR y WHILE) está
formado por una única
sentencia, el par BEGIN- END
no es necesario

n Nótese que la sentencia

REPEAT-UNTIL no necesita un
par BEGIN- END puesto que el
cuerpo del bucle queda
perfectamente delimitado con
REPEAT al principio y UNTIL al
final

Otros temas
Otros temas

n Para dar formato de salida a los números reales:

WRITE(exp_real:n_col:n_dec)

donde n_col es el número de columnas/posiciones que va a ocupar
el número y n_dec el número de decimales que queremos mostrar
en pantalla

n Para hacer uso de ‘unidades’ (librerías con funciones y

procedimientos predefinidos) se utiliza la siguiente sentencia entre
la cabecera y la sección de declaración del programa:

PROGRAM nombre;

USES unidad;

CONST

MMMMMMMMMMMMMMMMMMMMM

7

PASCAL

8

Declaración de funciones y
Declaración de funciones y

procedimientos
procedimientos
FUNCTION ident_func (parámetros formales):tipo;

{Declaración variables locales}

BEGIN

Sentencias;
ident_func:=expresión;

END;

PROCEDURE ident_proc (parámetros formales);

{Declaración variables locales}

BEGIN

Sentencias;

END;

Sección TYPE
Sección TYPE

n Se utiliza para declarar nuevos tipos de datos o

renombrar tipos ya definidos

TYPE

nombre-1 = tipo-1;
nombre-2 = tipo-2;
…………………………
…………………………
…………………………
nombre-N = tipo-N;

n tipo-i es un tipo de datos predefinido o definido

por el usuario

PASCAL

9

PASCAL

10

Uso de Unidades
Uso de Unidades

Unidad System
Unidad
System

Las unidades se utilizan para crear librerías de funciones y
nn Las unidades se utilizan para crear librerías de funciones y
procedimientos que permitan la programación modular
procedimientos que permitan la programación modular
Además de las unidades diseñadas por el propio programador,
nn Además de las unidades diseñadas por el propio programador,
Pascal incluye sus propias unidades que permiten la utilización
Pascal incluye sus propias unidades que permiten la utilización de de
ciertas funciones y procedimientos generales, de interés para el
ciertas funciones y procedimientos generales, de interés para el
programador que nos facilitan el trabajo y mejoran la apariencia
programador que nos facilitan el trabajo y mejoran la apariencia
final de cualquier aplicación
final de cualquier aplicación
PROGRAM nombre;

USES unidad;

CONST
MMMMMMMMMMMMMMMMMMMMM
nicamente la unidad System

nn ÚÚnicamente la unidad

necesita ser especificada en la clááusula USES ya que Pascal
necesita ser especificada en la cl
usula USES ya que Pascal
automautomááticamente la utiliza en cualquier programa o unidad
ticamente la utiliza en cualquier programa o unidad

System, que implementa rutinas b

, que implementa rutinas báásicas, no
sicas, no

n ABS(X): Valor absoluto de X
n ARCTAN(X): Arcotangente de X
n
n

n
n
n

CHR(X): Carácter cuyo número ordinal es X
CONCAT(S1 ,S2...Sn): Concatena en una única cadena todas las cadenas que toma como argumento
COPY(S,X,Y): Devuelve una subcadena de longitud Y comenzando en la posición X de la cadena S
COS(X): Coseno de X
EXP(X): Número e elevado a X
LENGTH(S ): Número de caracteres de la cadena S
LN(X): Logaritmo Neperiano de X

n
n
n ODD(X): Devuelve TRUE si X es impar
n

POS(S1,S2): Devuelve la posición del primer carácter de S1 en S2, siempre que S1 se encuentre
incluida en S2

n RANDOM(X): Devuelve un número aleatorio entre 0 y X-1. Si no se especifica el argumento X, devuelve

un número real entre 0.0 y 1.0

n RANDOMIZE: Inicializa la semilla para el generador de números aleatorios
n ROUND(X) : Redondea X
n

SIN(X): Seno de X
SQR(X): Cuadrado de X
SQRT(X): Raíz cuadrada de X
TRUNC(X): Trunca X

n
n
n
n UPCASE(C): Convierte el carácter C a mayúsculas

PASCAL

11

PASCAL

12

2

Ejemplos
Ejemplos

Unidad
Unidad CrtCrt

Generación de números aleatorios

Convertir a mayúsculas

PROGRAM aleatorio;
VAR

R:INTEGER;

BEGIN

RANDOMIZE;
REPEAT

R:=RANDOM(10);
WRITELN (R);

UNTIL (R=0);

END.

PROGRAM mayus;
VAR

s : STRING;
i : INTEGER;

BEGIN

WRITE('Introduzca una cadena
de caracteres: ');
READ(s);
FOR i := 1 TO LENGTH(s) DO

s[i] := UPCASE(s[i]);

WRITELN('La cadena en
mayúsculas es : ',s);

END.

n

CLRSCR: limpia la pantalla dejando el curso en la esquina superior izquierda de la
pantalla.

n DELAY(X): Espera X milisegundos antes de empezar a ejecutar la siguiente sentencia

(realiza una pausa de X milisegundos).

n GOTOXY(X,Y): Sitúa el cursor en la columna X y fila Y. El valor de X varía de 1 a 80 y

el de Y de 1 a 24.

n KEYPRESSED: Devuelve TRUE si se ha pulsado alguna tecla del teclado y FALSE en

otro caso.

n HIGHVIDEO: Selecciona el modo de alta intensidad de caracteres.
LOWVIDEO: Selecciona el modo de baja intensidad de caracteres.
n
n NORMVIDEO: Selecciona el modo normal de intensidad de caracteres.
n NOSOUND: Desactiva un sonido realizado con SOUND.
n

SOUND(X): Emite un sonido de X hertzios de frecuencia. El sonido continú a hasta que
se desactiva con NOSOUND.
TEXTBACKGROUND(X) : Inicializa el color de fondo al color X. X es una expresión qu e
devuelve un valor entre 0 y 7, correspondiente con los valores de las ocho primeras
constantes de color
TEXTCOLOR(X): Inicializa el color del texto al color X. X es una expresión que
devuelve un valor entero

n

n

n READKEY: Lee un único carácter del teclado.
n WHEREX: Devuelve la coordenada x de la posición actual del cursor.
n WHEREY: Devuelve la coordenada y de la posición actual del cursor.

PASCAL

13

PASCAL

14

Ejemplos
Ejemplos

Tipos de datos estructurados
Tipos de datos estructurados

nn Instrucción WITH para registros
Instrucción WITH para registros

Colores del texto

PROGRAM colores;

USES Crt;

VAR i:INTEGER;
BEGIN

FOR i:=0 TO 31 DO
BEGIN

TextColor(i);
TextBackground(0);
WRITELN('Color del texto ',i);
READKEY;

END;
NORMVIDEO;
WRITELN('Vuelve a texto normal');

END.

Uso de Keypressed

PROGRAM aleatorio2;

USES Crt;

VAR

R:INTEGER;

BEGIN

RANDOMIZE;
REPEAT

R:=RANDOM(1001);
WRITELN (R);
UNTIL KEYPRESSED;

END.

nn Arrays
Arrays
nn Declaración
Declaración

nn Ejemplos
Ejemplos

nn Registros
Registros
nn Declaración:
Declaración:

Ident_array:ARRAY[inicio..fin] OF tipo;
Ident_array:ARRAY[inicio
..fin] OF tipo;

[1..50] OF INTEGER;
Vector:ARRAY
Vector:ARRAY[1..50] OF INTEGER;
Matriz:ARRAY
Matriz:ARRAY[1..4] OF ARRAY[1..6] OF REAL;
[1..4] OF ARRAY[1..6] OF REAL;

Ident_reg: RECORD
Ident_reg
: RECORD

lista de campos
lista de campos

END;
END;
nn Ejemplos
Ejemplos

empleado: RECORD

nombre:STRING[30];
sexo:CHAR ;
edad:INTEGER ;
salario:REAL;
casado:BOOLEAN;

END;

nn Ejemplo: la siguiente instrucción WITH
Ejemplo: la siguiente instrucción WITH

nombre_reg DODO

WITH WITH nombre_reg
BEGIN
BEGIN

instrucciones
instrucciones

END;
END;

WITH empleado DO
WITH empleado DO
BEGIN
BEGIN

nombre:=‘Alma Caro Ruiz’;
nombre:=‘Alma Caro Ruiz’;
sexo:=‘M’;
sexo:=‘M’;
edad:=35;
edad:=35;
salario:=1250;
salario:=1250;
casado:
casado:=F=F;;

END;
END;

Es equivalente a
Es equivalente a

empleado.nombre
empleado.nombre:=‘Alma Caro Ruiz’;
:=‘Alma Caro Ruiz’;
empleado.sexo:=‘M’;
empleado.sexo
:=‘M’;
empleado.edad
empleado.edad:=35;
:=35;
empleado.salario
empleado.salario:=1250;
:=1250;
empleado.casado
empleado.ca
  • Links de descarga
http://lwp-l.com/pdf14610

Comentarios de: Pascal (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad