Introduction
Le langage Pascal offre une très bonne approche de la programmation. Enseigné à la faculté des sciences, il permet d'acquérir des notions solides que l'on retrouve dans tous les autres langages.
Si le Pascal est devenu archaïque, il n’en reste pas moins le langage par excellence de l’algorithmie, ceci du fait que les commandes utilisées sont pour beaucoup semblables.
Cette approche vous enseignera les bases du Pascal, et bien qu’incomplète par rapport au capacité du Pascal, elle offre déjà un vaste éventail de commandes afin de pouvoir déjà entreprendre quelques projets.
1 Déclaration de variables, et les différents types de variables
Les variables dans pascal sont toutes déclarés de la même façon. Elles se déclarent avant le corps du programme : BEGIN.
Syntaxe : var nom_de_la_variable : type_de_la_variable ;
De cette manière, les variables sont déclarée pour l’ensemble du corps du programme.
1.1 Type de variables :
INTEGER : Valeur entière comprise entre -32768 et 32767. (2 octets de place mémoire)
LONGINT : Valeur entière comprise entre -2147483648 et 2147483647. (4 octets de place mémoire)
SHORTINT : Valeur entière comprise entre -128 et 127. (1 octets de place mémoire)
WORD : Valeur entière comprise entre 0 et 65535 (2 octets de place mémoire)
BYTE : Valeur entière comprise entre 0 et 255 (1 octets de place mémoire)
LONG : Valeur entière comprise entre (-2)^31 et (2^31)-1 (4 octets de place mémoire)
REAL : Valeur comprise entre 2.9E-039 et 1.7E+038. (6 octets de place mémoire)
SINGLE : valeur comprise entre 1.5E-045 et 3.4E+038 (4 octets de place mémoire)
DOUBLE : valeur comprise entre 5.0E-324 et 1.7E+308 (8 octets de place mémoire)
EXTENDED : Valeur comprise entre 1.9E-4951 et 1.1E+4932 (10 octets de place mémoire)
COMP : Valeur comprise entre -2E+063 +1 et 2E+063 +1 (8 octets de place mémoire)
CHAR : variable composée d’un seul caractère. (1 octets de place mémoire)
STRING : variable composée d’une chaîne de caractères. (256 octets de place mémoire)
BOOLEAN : variable prenant comme valeur soit TRUE ou FALSE (1 octets de place mémoire)
1.2 Donner une valeur à une variable :
Syntaxe : x := valeur ;
Exemple : x := 2 ;
writeln(x) ;
x := 17 ;
writeln(x) ;
Résultat : 2
1
2 Afficher à l'écran, récuppérer des valeurs par l'utilisateur
Les commandes suivantes vont permettre d’afficher à l’écran ou de demander à l’utilisateur de rentrer des informations. Celles-ci doivent se situer dans le corps du programme.
La commande write() :
Elle sert à afficher quelque chose à l’écran :
Exemple : write(‘hello world’) ; Exemple: write(a) ;
Résultat : hello world Résultat : valeur_contenue_dans_a
Exemple : write(‘text1’ , a , ‘text2’ , b );
Résultat : text1valeur_de_atext2valeur_de_b
La commande read() :
Elle permet de demander une valeur à l’utilisateur et la stock dans la variable associée.
Exemple : read(a) ;
Les commandes writeln() et readln() :
L’ajout de ln à la fin de read ou write indique au programme de sauter à la ligne suivante après l’éxecution de la commande :
Exemple : writeln(‘text1’) ;
writeln(‘text2’) ;
Résultat: text1
text2
3 Les structures conditionnelles
Les structures conditionnelles permettent d’exécuter des actions suivant une ou des conditions définies.
3.1 La structure IF…THEN…ELSE :
Cette structure “SI…ALORS…SINON” indique au programme de tester un variable, et d’agir en fonction du résultat du test :
Syntaxe : IF (condition) THEN Action1 ELSE Action2 ;
OU IF (condition) THEN
BEGIN
Instructions 1;
END
ELSE
BEGIN
Instructions 2;
END ;
Exemple:
readln(x);
IF (x>3) THEN
BEGIN
writeln(‘x est plus grand que 3’) ;
END
ELSE
BEGIN
writeln(‘x est plus petit que 3’) ;
END ;
Résultat : Pour x=5 renvoi x est plus grand que 3
Pour x=1 renvoi x est plus petit que 3
3.2 La structure case…of…end :
La structure case of permet de faire plusieurs tests sur la variable :
Syntaxe : CASE variable OF
Valeur1 : action1 ;
Valeur2 : action2 ;
Valeur3 : action3 ;
…
END ;
Exemple : readln(x) ;
CASE x OF
1 : writeln(‘c’est 1’) ;
2 : writeln(‘c’est 2’) ;
3 : writeln(‘c’est 3’) ;
END ;
Résultat : Pour x=1 renvoi c’est 1
4 Les boucles
4.1 Les boucles FOR…TO…DO :
Syntaxe : FOR variable := borne_inf TO borne_sup DO
BEGIN
Instruction;
END;
La boucle incrémentera de 1 la variable de la borne inférieure jusqu’à la borne supérieure, et pour chaque incrémentations, elle effectuera "instruction".
4.2 Les boucles REPEAT…UNTIL… :
Syntaxe : REPEAT
BEGIN
Instructions ;
END
UNTIL (condition) ;
La boucle répétera ‘instruction’ jusqu’à ce que la condition soit vérifiée.
4.3 Les boucles WHILE…DO… :
Syntaxe : WHILE (condition) DO
BEGIN
Instructions ;
END ;
La boucle répétera ‘instruction’ jusqu’à ce que la condition soit vérifiée.
Note : La différence entre REPEAT…UNTIL… et WHILE…DO… vient de l’ordre dans lequel est traité la boucle. Pour les boucles REPEAT…UNTIL l’instruction est d’abord effectuée puis la condition est vérifiée, pour les boucles WHILE…DO… la condition est d’abord vérifiée et l’instruction peut donc être sautée si la condition est vérifiée dès le départ.
Pour x=2 renvoi c’est 2
Pour x=3 renvoi c’est 3