discase
 discase@mail.dotcom.fr http://www.citeweb.net/discase  | 
| >Conventions d'écritures Pascal | 
| >Structure d'un programme Pascal | 
[program nom_du_programme;]
[uses unités;]
BEGIN
        liste_taches;
END.
 | l | 
| l | les mots entre crochets "[]" sont facultatifs. | 
[program essai]
BEGIN
        writeln('Bonjour');
END.
 | l | 
| >Variables / Constantes | 
| >Les nombres | 
        - les entiers courts ou octet, notés BYTE: 0->255
        - les entiers raltifs courts, notés SHORTINT: -128->127
        - les entiers relatifs, notés INTEGER: -32768->32767
        - les entiers, ou mots notés WORD: 0->65535
        - les entiers relatifs longs, notés LONGINT: -2.10^6 -> 2.10^6
        - les réels, notés REAL: 10^-38 -> 10^39 (positif ou négatif)
        - les doubles précisions notés DOUBLE: 10^-324 -> 10^308 (+ ou -)
        - les précisions étendus notés EXTENDED: 10^-5000 -> 10^5000 (+ ou -)
 | l | 
| >es chaînes de caractères | 
| >Les boolèens | 
CONST
        Aujourdhui: STRING = 'Lundi';
        Jour_M = 12;
        Mois_M = 2;
        Annee_M: WORD = 1998;
VAR
        Jour, Mois: BYTE;
        Annnée:     WORD;
BEGIN
        writeln(Aujourdhui);
        writeln('Aujourd''hui nous sommes le : '
                ,Jour_M,'/',Mois_M,'/',Annee_M);
        Jour:=Jour_M+1;
        writeln(Jour);
END.
 | l | 
        Jour: BYTE;
        Mois: BYTE;
 | l | 
        Aujourd'hui nous somme le 12/2/1998
 | l | 
| >Les opérateurs | 
| >opérateur sur les chaines | 
| >opérateur d'affectation | 
| >pérateurs booléens | 
VAR
        nombre:  byte;
        r:       real;
BEGIN
        nombre:=5;        
        r:=Pi*cos(nombre+2);
        nombre:=r+5;
        writeln(r);
END.
 | l | 
| >Les structures de contrôle | 
| >Le bloc IF | 
        IF condition THEN
                instruction
        ou ...
        IF condition THEN
                instruction
        ELSE
                instruction;
 | l | 
VAR
        i  : integer;
        s  : string;     
BEGIN
        s:='Salut';
        i:=2*3+4;
        IF s='Salut' THEN
        BEGIN
                Writeln('Pascal ne s''est pas planté');
                Writeln('... et vous n'avez pas fait de fautes !');
        END     {remarquez ici l'abscence de ";"}
        ELSE
                Writeln('Il y a un petit problème ... !');
        IF i=10 THEN Writeln('Ok') ELSE Writeln('Petit problème');
END.
 | l | 
VAR
        i  : integer;
        s  : string;
BEGIN
        s:='Salut';
        i:=3*2+4;
        IF (s='Salut') AND (i=10) THEN
                Writeln('Ok');
        IF (s<>'Salut') OR (i<>10) THEN
                Writeln('Non !!');
END.
 | l | 
| l | Modifier les valeurs de i et s pour voir les changements !! | 
| >les boucles | 
        FOR variable:=nb1 TO nb2 DO instruction
        WHILE condition DO instruction
        REPEAT instruction UNTIL condition
 | l | 
VAR
        i : integer
BEGIN
        FOR i:=1 TO 10 DO
                Writeln(i);
        Writeln('Le pascal sait compter jusqu''à 10 !!');
END.
 | l | 
| l | La commande REPEAT .. UNTIL forme à elle-même un bloc (c'est une des rares commandes sans BEGIN ... END) | 
VAR
        s:string;
BEGIN
        REPEAT
                ReadLn(s);
                WriteLn('Vous avez entré :',s);
        UNTIL (s='fin');
END.
 | l |