Cours d’algorithmique by Ph. RIS est mis à disposition selon les termes de la licence Creative Commons Paternité – Pas d’Utilisation Commerciale – Pas de Modification 3.0 Unported.
I. Généralités
Le langage Turbo Pascal décrit dans ce cours, est associé avec un ensemble de logiciels permettant :
– d’écrire le programme (avec un petit traitement de texte),
– de compiler le programme et l’exécuter,
– de gérer les fichiers sur le disque dur (effacer, sauvegarder…).
II. Structure d’un programme
Un programme a toujours un aspect général ressemblant à :
PROGRAM nom_du_programme ;
USES nom_de_fichier_à_inclure ;
CONST déclarations_des_constantes ;
TYPE déclaration_des_types_de_données ;
VAR déclaration_des_variables;
BEGIN
corps_du_programme ;
END.
Les mots en gras sont des mots-clés du langage.
Le programme est découpé en instruction élémentaire (par exemple PROGRAM nom du programme) dont chacune se termine par un point-virgule sauf la dernière instruction qui est suivie d’un point.
Le programme reconnaît les espaces entre deux mots comme un séparateur.
Par exemple, après le mot clé PROGRAM, le langage attend un seul mot puis un point-virgule, donc :
PROGRAM mon_programme ;
sera reconnu alors que :
PROGRAM mon programme ;
ne le sera pas, pas plus que :
PROGRAM mon_programme :
II.1. Exemple
Voici un petit exemple permettant d’entrer un nom quelquonque et un âge et affichant : Bonjour nom_entré, vous êtes né en année_de_naissance.
Program mon_premier_programme ;
Uses crt ;
Var
age : integer ;
nom : string ;
Begin
writeln (‘Donner votre nom’) ;
readln (nom) ;
writeln (‘Donner votre âge) ;
readln (age)
writeln (‘Bonjour ‘, nom) ;
writeln (‘vous êtes né en : ‘, 1993-age) ;
End.
On a introduit ici :
– le mot clé integer : qui signifie que la variable age est du type entier (comme en mathématique),
– le mot string qui signifie que la variable nom est du type chaîne de caractères (lettres de l’alphabet…),
– le mot clé writeln qui est une fonction qui affiche le texte entre parenthèses,
– le mot clé readln qui est une fonction qui lit au clavier est l’affecte à la variable entre parenthèses (si on tape 20, alors on aura age=20).
Enfin, on remarquera le décalage dans l’écriture des lignes de programme (indentation). Il est important d’opérer de tels décalages pour pouvoir facilement lire et corriger le programme. On donnera au fur et à mesure du cours, des règles d’indentation.
Première règle d’identation : à chaque Begin correspond son End. Ils doivent se trouver sur la même colonne et le texte entre eux doit être légèrement décalé vers la droite.
II.1.a) Exercice 1
Reprendre le programme ci dessus-et le modifier pour demander et afficher le prénom.
II.1.b) Exercice 2
Modifier le programme pour qu’il puisse calculer l’âge même si l’on n’est pas né 1993.
II.1.c) Exercice 3
Modifier le programme pour qu’il puisse afficher le nom, le prénom, l’âge de la personne et l’année entrée en II.1.b).
II.2. Les variables et les types de données
Les variables en informatique ressemblent à celles des mathématiques. On peut leur affecter des valeurs comme :
a = 10 ; readln(nom) …
ou changer une valeur déjà donnée : a = a + 10
ou afficher cette valeur : writeln (nom)
Ces variables ont toujours un type qui indique le type d’opération que l’on peut effectuer avec ainsi que les intervalles de définition des variables de ce type.
Pascal utilise ainsi les types pré-féfinis suivants : (pièce-jointe : « Les variables et les types de données »)
Il en existe quelques autres comme le type STRING vu dans l’exemple qui est en fait un exemple de caractères mis les uns derrière les autres et dont chaque caractère est accessible en donnant son numéro. Ainsi pour avoir le 3ème caractère de la chaîne nom, il suffit d’écrire nom[3].
II.3. Les opérateurs
Lorsque l’on a défini une variable d’un certain type, c’est souvent pour pourvoir la modifier pendant son programme. Pour cette modification, on dispose des opérateurs suivants :
OPERATEUR ACTION
:= affectation : a:=5 ; mon_caractère:=’m’
= égalité : 5=5 est vrai ; 6=5 est faux
différence : 55 est faux ; 65 est vrai
; >= supérieur et supérieur ou égal
+ ; – addition et soustraction
* ; / multiplication et division
div division entière
mod modulo
and ; or ; not et ou non logique
II.4. La procédure writeln
La procédure writeln déjà vue dans le programme d’exemple s’utilise de différentes façons suivant le type de son (ou ses) argument(s). Exemples :
(…)
a:=1; b:=2 ; c:=3 ; d:=421.53 ;
nom := ‘moi’
writeln(a,b,c) -> affiche : 123
writeln(a,’ ‘,b,c) -> affiche : 1 23
writeln(a,nom) -> affiche : 1moi
writeln(d) -> affiche : 4.2153000000E+02
writeln(d:8) -> affiche : 4.2E+02
writeln(d:8:2) -> affiche : 421.53
writeln(d:8:4) -> affiche : 421.5300
II.5. Exercices
Reprendre le programme ci-dessus et le modifier pour afficher les initiales de l’utilisateur.
Écrire un programme qui demande une taille en kilo-octet et qui affiche cette même taille en octet.
Écrire un programme qui demande une taille en méga-octet et qui affiche cette même taille en octet et en Ko.
Écrire un programme qui demande une taille en téra-octet et qui affiche cette même taille en octet, Mo et Go.
Écrire un programme qui demande une température en C° et l’affiche en degré Farenheit (9/5 C° +32).