dijous, 14 d’abril del 2011

estructura del programa

estructura del programa

paraules reservades | seccions | identificadors | capçalera | unit | const | type | var | procedure i function

paraules reservades de Pascal

El Turbo Pascal, com a llenguatge de programació té el seu propi codi amb paraules d'ús exclusiu per a certes funcions; a aquestes paraules s'anomenen paraules reservades de Turbo Pascal

Pascal Estandar y Turbo Pascal 6.0

AND

ARRAY

BEGIN

CASE

CONST

DIV

DO

DOWNTO

ELSE

END

FILE

FOR

FORWARD

FUNCTION

GOTO

IF

IN

LABEL

MOD

NIL

NOT

OF

OR

PACKED

PROCEDURE

PROGRAM

RECORD

REPEAT

SET

THEN

TO

TYPE

UNTIL

VAR

WHILE

WITH

Turbo Pascal

ABSOLUTE

ASM

DESTRUCTOR

IMPLEMENTATION

INTERFACE

OBJECT

PRIVATE

SHR

UNIT

VIRTUAL

CONSTRUCTOR

EXTERNAL

INLINE

INTERRUPT

SHL

STRING

USES

XOR

Cada una de les paraules reservades té funció definida en Turbo Pascal.


seccions d'un programa en pascal

A continuació tens una taula que aparella seccions amb paraules reservades. A més apareixen en l'ordre correcte:

secció del programa

paraula reservada

capçalera (títol del programa)

program

declaració d'units

uses

declaració de constants

const

declaració de tipus

type

declaració de variables

var

declaració de subprogrames

fuction i procedure

cos del programa

begin.... end i punt (.)

Moltes seccions no són obligatòries. Per tant, en un programa no tenen per que aparèixer totes aquestes paraules.

identificadors

Són les paraules que utilitzem per representar les constants, tipus de dades, variables, procediments, funcions. Aquestes paraules són definides pel programador.

Un identificador és una seqüència de 1 a 127 caràcters, depenent del compilador la longitud pot variar, aquest ha de començar per una lletra, no té espais ni símbols: &, !, *, etc. i no es alguna paraula reservada.En Turbo Pascal no existeixen diferències entre Majúscules i Minúscules i tot identificador ha d'ésser declarat abans de la seva utilització, en la part declarativa del programa.


capçalera d'un programa

La capçalera és una secció obligatòria, ha de figurar en tots els programes. Ha de començar amb la paraula reservada program seguida del nom del programa i un ";". Amb això ja es complirien els requisits mínims que ha de tenir una capçalera, però es pot i és molt recomanable incluír també un comentari. Aquest comentari ho utilitzem per a documentar el programa, que és una mica que la gent sol deixar en segon pla, però és d'allò més important en programació. En el comentari s'ha de incluír el major nombre de components dels quals se citen a continuació:

Autor del programa :

Versió actual :

Data d'inici del programa :

Data de l'última modificació :

Què es pretén que faci el programa :

Nom del fitxer font en el qual es guarda :

Altres coses que t'ajudin a documentar el teu programa

declaració d'units

Sense aprofundir massa en el tema, comentar que la paraula reservada amb que comença la declaració d'unitats és uses i que va seguida dels noms de les unitats que es vulguin utilitzar en el programa separats per ",". Es finalitza la secció amb un punt i coma ";". Evidentment, aquesta secció no és obligatòria.

uses nom_unit_1, nom_unit_2, ....nom_unit_n;

declaració de constants

Aquesta secció no és obligatòria, i només hauràs de declarar-la si vols definir alguna constant en el teu programa. Una constant és un objecte al que se li assigna un valor al declarar-lo i ho manté durant tota l'execució del programa

const identificador_1 = valor_1; .... ; identificador_n = valor_n;

A continuació teniu un exemple de declaració de constants

const
Min = 0;
Max = 1000;
salutació = 'Hola';


declaració de tipus

Aquesta secció no és obligatòria, i només hauràs de declarar-la si vols definir els teus propis tipus de dades en el programa. Per a programes senzills no et farà falta declarar tipus, et bastarà amb els tipus simples que proporciona Pascal (Integer, Real, Boolean, String, Char...).

A continuació, tens la forma genèrica que descriu com declarar un tipus

type identificador_1 = valor_1; .... ; identificador_n = valor_n;

A continuació, teniu un exemple de declaració de tipus

type
paraula = String[20];
cap_de_setmana = (dissabte, diumenge); { tipus enumerat }
hores_dia = 0..23 {tipus subrang}
dies_mes = array[1..12] of word; {col·lecció ordenada de dades}
matriu = array[1..10,1..10] of integer;

declaració de variables

Aquesta secció, encara que no és obligatòria gairebé sempre es declara. Doncs un programa per molt petit que sigui, gairebé sempre va a fer ús de variables. Per exemple, si utilitzes alguna iteració en el teu programa, has de tenir almenys una variable per a la progressió d'aquesta.

La forma de declarar variables és molt senzilla. Aquesta secció ha de començar amb la paraula reservada var, seguida d'una llista de parelles

var llista_var_1: tipus_1; .... ; llista_var_n;

Una variable no representa més que una porció de memòria on guardem una dada que dependrà del tipus al que pertanyi la variable. A diferència d'una constant, el valor d'una variable pot canviar durant l'execució d'un programa. Altra diferència, és que a una variable no n'hi ha prou amb declarar-la, sinó que també és necessari iniciar-la. Això es refereix a donar-li un valor inicial, i és important ja que si no ho fem, igual ens trobem amb errors quan executem el programa.

inicialització de variable

Principalment, existeixen dues maneres d'atorgar valors inicials a variables: Mitjançant una sentència d'assignació; Mitjançant un dels procediments d'entrada de dades (read o readln).

Assignació: x:=22;

Readln(x,y,z)


utilització de variables

Una cop declarada i inicialitzada una variable, és el moment d'utilitzar-la. Aquesta és la part que presenta un major ventall de possibilitats. A continuació tens unes quantes:

Incrementar el seu valor: i := i + 1;

Controlar un bucle: for i:=1 to 10 do

Testejar una condició: if i<10 then ...

Participar en una expressió: n := (Max - Min) div i

Vegeu un exemple on s'inicialitzen i utilitzen les variables:

begin

...
i:=1; (* sentència d'assignació *)
readln(n); (* entrada de dades * )
while i < n do
begin

i := i + 1 (* ús de la variable, incrementant el seu valor *)

end;

...

end.

declaració de procediments i funcions

Aquesta secció és molt important, encara que per als teus primers programes no la necessitaràs. En aquesta pots declarar procediments i funcions (subprogrames) per ser utilitzats en altres subprogrames o en el cos principal. Tot el relatiu a això ho trobaràs en el tema dedicat a la programació modular.

function Suma(a:integer;b:integer):integer;
begin

Suma := a + b;

end;

procedure Escriu(frase:string);

begin

writeln(frase) ;

end;

...

Són dos subprogrames molt senzills. La funció rep com paràmetres dues variables de tipus sencer, les suma i retorna el seu valor. El procediment rep una cadena de caràcters i invoca a writeln per a escriure-la en pantalla.


cos del programa

És juntament amb la capçalera, l'única secció obligatòria en un programa Pascal. Ha de començar i finalitzar amb les paraules reservades begin i end (punt) respectivament. Molt imortant: Després de la paraula end, sempre ha d'anar un punt que indica el final del programa.

Entre begin i end s'escriuen una o més sentències, aquestes poden ser vàries: assignacions, crides a procediments i funcions, sentències condicionals, sentències iteratives.

program de_base_10_a_base_x;

uses crt;

var num:integer;

base:byte;

procedure entrada(var num:integer; var x:byte);

var ok:boolean;

begin

repeat

writeln ('Donam la base (entre 2 i 10):');

readln(x);

If x in [2..10]then

ok:=true;

until ok=true;

writeln ('Donam un numero per pasar a base ', x);

readln(num);

ok:=false;

end;

procedure DeciX (base,num:integer);{Recursiva}

Begin

if num <> 0 then

begin

DeciX(base,num div base);

write (num mod base);

end;

End;

Begin { cos del programa / crida les procedures definides a dalt }

entrada(num,base);

writeln('El n£mero en base ',base,' es');

DeciX (base,num);

readln;

end.


Cap comentari:

Publica un comentari a l'entrada