Diferencia entre revisiones de «Programación en Pascal»
Línea 321: | Línea 321: | ||
'''''Texto en negrita''[[ |
'''''Texto en negrita''[[ |
||
== Título del enlace == |
|||
[[Imagen:[[Media:Ejemplo.jpg]]<math><nowiki>Escriba aquí una fórmula</nowiki>--~~~~ |
|||
---- |
|||
</math>]]]]'''== Selecciones: If y Case == |
|||
== Procedimientos y funciones == |
== Procedimientos y funciones == |
Revisión del 02:24 23 jun 2008
Introducción
El lenguaje de programación Pascal fue desarrollado por el profesor suizo Niklaus Wirth a finales de los años 60. El objetivo de este lenguaje era facilitar el aprendizaje del lenguaje de la programación a sus alumnos.
Palabras reservadas
Algunas de las palabras reservadas en Pascal son:
Palabra | Uso | Palabra | Uso |
---|---|---|---|
ABSOLUTE | AND | Conjunción lógica | |
ARRAY | Definición de variables (arrays) | ASM | |
BEGIN | Inicio de procedimiento | CASE | Salto condicional SWITCH - CASE - END |
CONST | Definición de constantes | CONSTRUCTOR | |
DESTRUCTOR | EXTERNAL | ||
DIV | División entera | DO | Bucle FOR - TO/DOWNTO - DO - END |
DOWNTO | Bucle FOR - TO/DOWNTO - DO - END | ELSE | Salto condicional IF - THEN - ELSE - END |
END | Término de saltos condicionales y bucles | FILE | |
FOR | Bucle FOR - TO/DOWNTO - DO - END | FORWARD | |
FUNCTION | Definición de función | GOTO | Salto incondicional |
IF | Salto condicional IF - THEN - ELSE - END | IMPLEMENTATION | |
IN | Inclusión de conjuntos | INLINE | |
INTERFACE | INTERRUPT | ||
LABEL | MOD | Resto de división entera | |
NIL | NOT | Negación lógica | |
OBJECT | OF | Definición de variables | |
OR | Disyunción lógica inclusiva | PACKED | |
PRIVATE | PROCEDURE | Definición de procedimiento | |
PROGRAM | RECORD | Definición de variables (registros) | |
REPEAT | Bucle REPEAT - UNTIL | SET | Definición de variables (conjuntos) |
SHL | SHR | ||
STRING | THEN | Salto condicional IF - THEN - ELSE - END | |
TO | Bucle FOR - TO/DOWNTO - DO - END | TYPE | Definición de tipos |
UNIT | UNTIL | Bucle REPEAT - UNTIL | |
USES | VAR | Definición de variables | |
VIRTUAL | WHILE | Bucle WHILE - DO - END | |
WITH | XOR | Disyunción lógica exclusiva |
También pasarán a ser reservadas las palabras que usemos para llamar a procedimientos o funciones implementados por nosotros en el programa.
Instrucciones basicas
- Asignacion:
La asignacion se usa para dar valores a variables. La estructura de la instruccion es la siguiente:
a := b;
donde a y b se entienden que son variables correctamente definidas y del mismo tipo.
- Muestreo por pantalla:
Para poder imprimir datos por pantalla usaremos la instruccion write. Su estructura es:
write(a);
donde a es una variable con datos guardados previamente.
En caso de que deseemos imprimir por pantalla cierto texto, deberemos escribir:
write("Texto que desea mostrar");
- Rececpcion de valores
Para que el programa trabaje con datos introducidos por el usuario debemos usar la instruccion read. Su estructura es:
read (a);
donde a es una variable definida para recibir unos datos de un tipo determinado.
Si queremos recibir varios valores seguidos, sera:
read(a,b,c,...,n);
El usuario debera introducir los valores separados por espacio, o por intro.
Tambien tenemos la posibilidad de mostrar por pantalla (equivalentemente introducir datos) en lineas distintas. Para ello, usaremos la palabra reservada writeln (eq. readln):
program prueba;
begin
writeln('Esto es una prueba de la instruccion writeln');
writeln('Esta es la segunda linea de escritura');
end.
Y por pantalla se mostraria:
Esto es una prueba de la instruccion writeln
Esta es la segunda linea de escritura
- Comentarios
Los comentarios en nuestros programas seran de gran utilidad para poder aclarar la funcion de una variable, procedimiento, etc. En Pascal, tenemos dos maneras de crear comentarios: mediante el uso de "{" y "}" o "(*" y "*)". Todo lo que escribamos entre ambas partes, formara parte de los comentarios de nuestro programa y en ningun momento seran compilados.
Nuestro primer programa: Hello World
Estudiemos este sencillo codigo:
program helloWorld;
BEGIN
writeln("Hello World!");
END.
Todo programa en Pascal comenzara con una cabecera del estilo program seguido del nombre del programa. Este nombre no podra incluir numeros, signos o espacios para separar palabras.
Tras la cabecera, deberemos declarar los tipos, constantes, procedimientos, funciones y variables. Una vez hecho, comenzaremos el codigo de nuestro programa. Este debera comenzar con la palabra reservada begin.
Ahora escribiremos las instrucciones de nuestro programa. Todas las lineas deberan terminar con un punto y coma (;). Para indicar que hemos terminado con nuestro programa, escribiremos end. Destacar que tras el end, ira ".", no ";".
Ciclos iterativos: While, For y Repeat
- While
La instruccion while estudia primero la condicion y, en caso de que se cumpla, procedera a ejecutar la(s) instruccion(es) deseada(s).
Su estructura es:
while (condicion) do
instruccion;
En caso de que haya mas de una instruccion a realizar, escribiremos:
while (condicion) do
begin
instrucciones;
end;
- For
El ciclo for realiza la(s) instruccion(es) deseada(s) durante un numero de vueltas predeterminadas. Este numero de vueltas no podra ser modificado NUNCA dentro del bucle, por lo que debemos tener cuidado en no tocar la variable indice (la que controla el numero de vueltas). Un ejemplo:
program pruebaFor;
CONST
N = 10; { numero de vueltas que dara el bucle}
VAR
i: integer; { variable que contara el numero de vueltas que llevamos}
BEGIN
for i:=1 to N do
writeln(i);
END.
Y se mostraria por pantalla:
1
2
3
4
5
6
7
8
9
10
En caso de que tengamos que ejecutar mas instrucciones dentro del bucle, escribiriamos:
for (contador) do
BEGIN
instrucciones;
END;
Un ejemplo de esto:
program pruebaForDos;
CONST
N=10;
VAR
i,j : integer; {Una nueva manera de declarar las variables. En caso de tener varias del mismo tipo,podemos separarlas por ","}
BEGIN
j:=0;
for i:=1 to N do
begin
writeln(i);
j:=j+3; {Con esta instruccion, a la variable j la sumamos durante N veces 3}
end;
write('j = ',j); {Cuando vamos a escribir varias cosas seguidas, podemos enviar la instruccion de esta manera}
END.
Y en pantalla se imprimiria:
1
2
3
4
5
6
7
8
9
10
j = 30
En los ciclos For, podemos seguir dos tipos de direccion. Ascendente (de 1 hasta N) o descendente (de N hasta 1). Esto lo deberemos indicar en el contador del siguiente modo (usaremos el ejemplo anterior):
Ascendente
for i:=1 TO N do
...
Descendente
for i:=N DOWNTO 1 do
...
- Repeat
El bucle Repeat realiza una serie de instrucciones y, una vez hechas, comprueba una condicion. En caso de cumplirse, no volvera a repetir dichas instrucciones, y en caso contrario las ejecutara. Su estructura es:
repeat
instruccion(es);
until (condicion);
- Aclaraciones
Observese que los 3 ciclos, bien implementados, son equivalentes entre si.
Hay que tener especial cuidado en el ciclo que se desea usar: · Si se desea hacer un numero de vueltas FIJO, podemos usar cualquiera de los 3. · Si las vueltas dependen de una condicion que se modifica dentro del bucle, solo podemos usar los ciclos WHILE y REPEAT. · Si queremos comprobar una condicion antes de realizar ciertas instrucciones, debemos usar el WHILE.
Texto en negrita[[