Introduction à l'Algorithmique et Programmation
Introduction à l'Algorithmique et Programmation
-------------------------------------------------------------------------------------------------------------------------------1
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
I. Définitions:
Un algorithme est une suite d’actions que devra effectuer un ordinateur en un temps fini
pour arriver à un résultat à partir d’une situation donnée.
Un algorithme est une suite finie d’instructions indiquant de façon précise l’ordre dans
lequel doit être effectué un ensemble d’opérations pour obtenir la solution d’un problème.
Pour fonctionner, un algorithme doit donc contenir uniquement des instructions
compréhensibles par celui qui devra l’exécuter.
Exemple :
o Problème : À partir des notes d’un élève dans les différentes matières on veut
calculer la moyenne générale.
o Algorithme :
Il faut avoir les notes de cette élève de chaque matière.
Il faut avoir aussi les coefficients de chaque matière.
Problème Analyse
réel
Traduction
Algorithme
Programme Exécution
Résultats
Un algorithme est une suite d’instruction qui une fois exécutées correctement conduit à un résultat
donné. Si l’algorithme est juste, le résultat est le résultat voulu. Si l’algorithme est faux, le résultat est
disons aléatoire.
-------------------------------------------------------------------------------------------------------------------------------2
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
-------------------------------------------------------------------------------------------------------------------------------3
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Chaîne : sa valeur est une suite finie de caractères quelconques. Ce type n’est pas toujours pré
défini et doit faire l’objet d’un « paramétrage », en fonction de sa longueur (le nombre de
caractères).
Une variable chaîne peut être vide s’elle est de longueur nulle, et sera notée ‘ ‘. Si cette dernière
est = à 1 la variable est considérée aussi comme Car (caractère).
Exemple : ‘Bonjour’ ‘Ceci est un exemple’.
Les opérations définies sur les variables de type Chaîne sont celle des variables de type Car.
ChaîneA<ChaîneB si le mot contenu dans ChaîneA est inférieur à celui de ChaîneB dans le
sens du dictionnaire : (Inférieur : avant, Supérieur : Après).
Exp : ‘BAL’ < ‘BALLES’ < ‘BALLON’ < ‘Bar’ < ‘bar’
De plus, il existe une autre opération définie sur les variables chaîne : Concaténation (notée ||).
Elle crée une nouvelle chaîne en juxtaposant deux ou plusieurs chaînes.
Exp : ‘TELE’ || ‘VISION’ = ‘TELEVISION’
2.3. Les types Logiques :
Une valeur logique (ou booléenne) est l’une des deux valeurs ‘Vrai’ ou ‘Faux’. Elle intervient dans
l’évaluation d’une condition.
Les opérations définies sur les variables de type logique sont la négation, l’intersection et l’union.
• La négation (non) :
-------------------------------------------------------------------------------------------------------------------------------4
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
3. L’instruction d’affectation :
L’algorithmiques (tout comme les langages de programmation) utilisent la notion de variable. En
algorithmique, une variable est l’association d’un nom et d’un contenu(type). Ainsi, on pourra appeler
une variable MonEntier et y stocker le chiffre 4. L’action de stocker une valeur dans une variable est
appelée l’affectation. Le symbole utilisé pour l’affectation en algorithmique est l’opérateur :
MonPremierEntier 4
MonDeuxièmeEntier 6
MonTroisièmeEntier MonPremierEntier + MonDeuxièmeEntier
MonPremierEntier 4;
MonDeuxièmeEntier 6;
MonTroisièmeEntier MonPremierEntier + MonDeuxièmeEntier ;
Si
EntierUn > EntierDeux
Alors
Ecrire(EntierUn,’’ Plus grand que ’’,EntierDeux)
Sinon
Ecrire(EntierDeux,’’ Plus grand que ’’,EntierUn)
FinSi ;
Fin.
Il n’est pas toujours nécessaire d’effectuer un traitement dans la partie Sinon du test. Dans ce cas
le test devient :
Si Condition Alors Instruction FinSi ;
Exercice d’application :
Donnez l’algorithme qui permet d’afficher la valeur absolue d’un entier donné.
Correction :
Var X Entier ;
Début
Ecrire(‘’Donnez la valeur de l’entier à traiter :’’) ;
Lire(X) ;
FinSi ;
Fin.
-------------------------------------------------------------------------------------------------------------------------------6
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Remarques :
Si Condition Alors Instruction1 Sinon Instruction2 FinSi ;
R = A*B ;
Si A < 0 Et B < 0 Alors Ecrire(‘’Le Résultat est positif’’) FinSi ;
Si A = 0 Ou B = 0 Alors Ecrire(‘’Le Résultat est nul’’). FinSi ;
Si (A < 0 Et B < 0) Ou (A > 0 Et B > 0) Alors Ecrire(‘’Le Résultat est positif’’) FinSi ;
On remarque donc que la condition pourra êtres décomposée en des sous conditions.
La syntaxe du « test à choix multiples » est plus concise et permet d’effectuer un traitement dans le cas
où la variable à tester (ici « A ») contient tout autre valeur non traitée auparavant ( ).
Exercice d’application :
Donnez l’algorithme qui permet d’écrire en lettre un chiffre de la base 10 tapé sur le clavier. si on
tape par exemple 1 il va nous afficher un si 5 il affiche cinq …
-------------------------------------------------------------------------------------------------------------------------------7
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Correction :
Var Z Entier ;
Début
Ecrire(‘’Donnez la valeur de A :’’) ;
Lire(A) ;
Selon A
Cas 0 : Ecrire(‘’Zéro’’);
Cas 1 : Ecrire(‘’Un’’);
Cas 2 : Ecrire(‘’Deux’’);
Cas 3 : Ecrire(‘’Trois’’);
Cas 4 : Ecrire(‘’Quatre’’);
Cas 5 : Ecrire(‘’Cinq’’);
Cas 6 : Ecrire(‘’Six’’);
Cas 7 : Ecrire(‘’Sept’’);
Cas 8 : Ecrire(‘’Huit’’);
Cas 9 : Ecrire(‘’Neuf’’);
Différent :Ecrire(‘’La valeur tapée n’est pas un chiffre de la base 10’’);
FinSelon ;
Fin.
Pour affecter une valeur dans un tableau il faut préciser l’emplacement exact dans ce tableau. Le rang
de cet emplacement est appelé l’indice du tableau. Exemple : j’affecte la valeur 5 dans la case d’indice
3 de mon tableau « Tab » (autrement dit au rang 3 du tableau) :
Tab[3] 5;
-------------------------------------------------------------------------------------------------------------------------------8
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Rq :
La Matrice est un tableau a deux dimensions. Pour designer une case de la matrice il faux
disposer de deux indices i et j ou i désigne la ligne et j désigne la colonne.
La déclaration d’une Matrice se fais comme suit :
Matrice NomMatrice[1..N, 1..M] des Types ;
14 10 11 07
05 12 08 16
02 09 17 18
Exemple :
Imaginons qu’on veut remplir un tableau (Tab) de 100 cases. Si on ne connaît pas l’existence des
structures répétitives, Notre algorithme comportera 100 lignes et ressemblera à :
Ecrire(‘’ donnez la valeur de la case 1 :’’) ;
Lire(Tab[1]) ;
Ecrire(‘’ donnez la valeur de la case 2 :’’) ;
Lire(Tab[2]) ;
…………..
Ecrire(‘’ donnez la valeur de la case 99 :’’) ;
Lire(Tab[99]) ;
Ecrire(‘’ donnez la valeur de la case 100 :’’) ;
Lire(Tab[100]) ;
L’utilisation de la boucle « Pour » permet d’écrire le même algorithme en seulement une instruction !
La boucle pour utilise un compteur i qui incrémente de 1(la case 1) jusqu'à 100(la case 100) et pour
chaque valeur de i en effectue le traitement voulu « ici c’est lire la valeur de la case i du tableau Tab ».
La syntaxe est la suivante :
Var i entier ;
Tableau Tab[1..100] des entiers;
Début
Pour i=1 jusqu’à 100 faire
Début
Ecrire(‘’ donnez la valeur de la case i :’’) ;
Lire(tab[i]) ;
Fin ;
FinPour ;
Fin.
-------------------------------------------------------------------------------------------------------------------------------9
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Remarque : la boucle « Pour » est utilisée lorsque on connaît a priori le nombre de répétitions.
Exercice d’application :
Ecrire l’algorithme qui permet de calculer le factoriel d’un nombre donné : N ! = 1*2*3*…*N-1*N
Exercice1 : Ecrire l’algorithme qui permet de calculer la somme des éléments d’un tableau, Tab
à 6 cases, des entiers.
Les étapes à suivre sont :
• Saisire les éléments d’un tableau.
• Afficher le tableau.
• Calculer la somme des éléments.
• Afficher la somme.
RQ :
• Tant que l'<expression logique> fournit la valeur vrai, le <bloc d'instructions> est exécuté.
• Si l'<expression logique> fournit la valeur faux, l'exécution continue avec l'instruction qui suit ftant.
• Le <bloc d'instructions> est exécuté zéro ou plusieurs fois.
Exemple :
L’algorithme qui permet d’afficher les nombres de 0 à 9 :
Var i Entier;
Début
i 0;
-------------------------------------------------------------------------------------------------------------------------------
10
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Répéter
Instruction1 ;
Instruction2 ;
……….
Instruction n ;
Jusqu’à « la condition d’arrêt »
Exemple :
Considérant l’exemple vu précédemment qui permet d’afficher les nombres de 0 à 9 dans lequel on a
utilisé la boucle tant que. Dans le même exemple on peut utiliser la boucle Jusqu’à ce que.
Var i Entier;
Début
i 0;
Répéter
Ecrire(i) ;
i i+1;
Jusqu’à ce que i=10 ;
Fin.
TD Série N 1
-------------------------------------------------------------------------------------------------------------------------------
11
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
7. Les modules
7.1. Définition
Lorsqu’un certain nombre d’instructions est susceptible de se répéter dans le code source d’un programme, il
est préférable de regrouper ces instructions dans un module hors du programme principal.
Il y a trois raisons principales justifiant l’utilisation des modules :
• gain important en nombre de lignes de code ;
• les modules écrits et testés peuvent être réutilisés par la suite dans d’autres modules voire dans d’autres
programmes ;
• fiabilité accrue : en cas de modification du code d’un module, les changements ont lieu à un seul endroit ce
qui minimise les erreurs de frappe et de report.
-------------------------------------------------------------------------------------------------------------------------------
12
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Le programme qui permet de remplir une matrice de 3 lignes et de 4 colonnes, d’afficher cette matrice
de calculer la somme de ses éléments et d’inverser ses valeurs.
Program Matrice ;
Var i, j, S : Integer ;
Mat : array[1..3,1..4] of Integer ;
Procedure affichage;
Begin (* Début de la procédure*)
For i :=1 to 3 do
Begin Définition de la
For j :=1 to 4 do procédure Affichage
Write (Mat[i,j]) ;
Writeln ;
End ;
S :=0 ; (* Initialisation de S *)
For i :=1 to 3 do
For j :=1 to 4 do
S := S+Mat[i,j] ; Somme d’éléments
Write (‘la somme =’, S) ;
For i :=1 to 3 do
For j :=1 to 4 do Inverser les éléments
Mat[i,j]:= -Mat[i,j] ;
NB : on peut aussi refaire cette exemple en n’utilisant que les modules : procédures : saisie, affichage, inverser et
la fonction Somme_elements qui renvoi la valeur : somme des éléments de la matrice. Dans le programme
principal on a qu’à appeler ces modules :
Begin
Saisie ;
Affichage ; C’est le programme principal après la
Write (‘la somme = ‘, Somme_elements) ; déclaration de ces modules et des
Inverser ; variables utilisées dans l’algorithme
Affichage ; (Variables Globales)
End.
-------------------------------------------------------------------------------------------------------------------------------
13
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
7.2.3. Procédures :
Procédures sans paramètres :
Les déclarations de procédure figurent après les déclarations des variable globales (globale : peut être
utilisée dans tout le programme au contraire de locale qui est utilisée juste dans le module ou elle est
déclarée) Pour déclarer ces types de procédure en procède comme suit :
Procedure <Nom_de_la_procedure> ;
Var <Déclaration des variables Locales>
Begin
<Corps de la procédure : le bloc d’instruction>
End ;
On appel donc la procédure au moyen de son nom une ou plusieurs fois dans le programme pour
exécuter le groupe d’instruction regroupé dans cette procédure.
o Exemple : Considérant l’algorithme suivant qui permet du permuter les valeurs de X et Y :
Program permute ;
Var X, Y : Integer ;
Procedure Permuter ;
Var T : Integer ;
Begin
T :=X ; X :=Y ; Y :=T ;
End ;
Begin
Write (‘donnez la valeur de X : ‘) ; Read (X) ;
Write (‘donnez la valeur de Y : ‘) ; Read (Y) ;
Permuter ; (* l’appel a la procédure Permuter *)
Write (‘X= ‘, X, ‘ Y= ‘, Y) ;
End.
Rq : La variable T est déclaré comme variable locale à la procédure, on peut la déclarer comme variable
globale mais c’est une meilleure utilisation de la mémoire de l’ordinateur puisque les objets locaux à la
procédure n’existeront en mémoire que pendant l’exécution du corps de la procédure et non pendant
l’exécution de tout le programme.
-------------------------------------------------------------------------------------------------------------------------------
14
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
NB !! :
• Dans le cas du passage de paramètre par valeur, la valeur de paramètre effectif est affectée au
paramètre formel. Toute modification du paramètre formel est sans conséquence sur le
paramètre effectif.
• Dans le cas du passage de paramètre par variable, Le paramètre formel fait référence au paramètre
effectif. Toute modification du paramètre formel est donc faite sur le paramètre effectif.
Exemple illustratif :
Considérant l’exemple suivant d’une procédure qui permet de permuter deux variables :
Exercice d’application :
Donner en pascale le programme qui permet de trier un tableau des chaînes de caractère. Utilisez les
procédures suivantes : Saisie, affichage, Triage, et sans entendu Permuter(Var A,B : String).
Solution :
Program Trie_Tableau;
Const M=5;
Var Tab: Array[1..M] of String;
{*+++++++++++++++++++++++Procédure Saisie++++++++++++++++++++*}
Procedure Saisie;
var i :integer;
begin
for i:=1 to M do
begin
write('Donnez la valeur de Tab[',i,']: ');
readln(Tab[i]);
end;
end;
{*+++++++++++++++++++++++Procédure Affichage ++++++++++++++++++++*}
Procedure Affichage;
var i :integer;
begin
for i:=1 to M do write(Tab[i],' | ');
end;
begin
t:=a; a:=b; b:=t;
end;
{*+++++++++++++++++++++++Procédure Triage ++++++++++++++++++++*}
Procedure Trie;
var i,j:integer;
begin
for i:=1 to M-1 do
for j:=i+1 to M do
if Tab[i]>Tab[j] then permuter(Tab[i],Tab[j]);
end;
{*+++++++++++++++++++++++Programme principal ++++++++++++++++++++*}
Begin
Saisie;
Affichage;
Trie;
writeln;
Affichage;
readln;
End.
Remarque :
Dans les fonctions on n’utilise pas le passage des valeurs par variable car l’objet d’une fonction est de
calculer une valeur et non pas de modifier la valeur des variables. Donc on n’utilise que le passage par valeur dans
des fonctions.
Exercices d’application :
Réécrivez les programmes suivant en utilisant des fonctions :
1. Programme qui permet de faire la somme des deux entiers.
2. Programme qui permet de calculer le factoriel d’un entier donné.
3. Programme qui permet de calculer le PGCD de deux entiers.
-------------------------------------------------------------------------------------------------------------------------------
16
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
8. La récursivité :
8.1. Définition :
Un objet est dit récursif s’il est défini en fonction de lui-même.
Exemple :
P ! = P * (P-1) !
Fact(P) = P * Fact(P-1)
Pour comprendre la récursivité en va traiter le problème du factoriel en utilisant les deux méthodes : (Avec et sans
utilisé la récursivité).
Programme avec la fonction Fact itérative
Program Factoriel;
Var N , X : Integer;
(* ------------------Fonction Factoriel---------------------*)
Function fact(P :integer): integer;
Var i, F : integer;
begin
F:=1;
if P=0 then fact:=1
else
for i:=1 to P do
F:=F*i;
fact:=F;
end;
(* ------------------Programme Principal--------------------*)
Begin
repeat
Write('donnez N : ');
Read (N);
Write ('le Factoriel de ',N,' = ', Fact(N)); writeln;
Write ('Voulez vous continuer O/1: ');
readln(X);
Until X=1;
End.
Pour utiliser la récursivité on va changer les instructions de la fonction fact par les instructions suivantes :
La fonction fact récursive
Function fact(P :integer): integer;
Var i : integer;
begin
if P = 0 then fact:=1
else
Fact:= P * Fact(P-1);
End;
8.2 Exercice d’application :
Utiliser la récursivité pour réaliser les programmes suivants en utilisant :
• Pg1 : le programme du PGCD
• Pg2 : le programme qui permet de chercher une valeur dans un tableau trié : il retourne l’indice de la case ou
la valeur se trouve ou 0 si la valeur n’appartient pas au tableau.
Exemple :
123 201 254 300 301
Si la valeur a chercher est 300 alors le message suivant va s’afficher lors du l’exécution du programme :
« 300 se trouve dans la case 4 »
Si la valeur est 250, ou 600 ou une autre valeur qui n’appartient pas au tableau alors le message est :
« Cette valeur se trouve dans la case 0 »
8.3 Solution Voir Annexe 1.
-------------------------------------------------------------------------------------------------------------------------------
17
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
h. Val :
C’est une fonction qui permet de convertir une Chaîne de caractère on une valeur
numérique
Ch :=’111235’ ; Ch :=’11A235’ ;
Val (Ch, Nombre, Code) ; Val (Ch, Nombre, Code) ;
Exercice d’application :
Donnez le programme pascal qui nous demande notre Nom, Prénom et CIN et qui nous affiche :
le nom complet
La longueur de notre nom complet
La chaîne résultat de la copie dans la chaîne CIN a partir de la position 4, 6 caractères et qui
convertie cette chaîne en une donnée Numérique et qui affiche ce nombre si la conversion est
faite sinon affiche un message comme quoi la conversion n’est pas faite.
Solution :
Voir Annexe 2.
10. Les enregistrements (ou Structures) :
1. Introduction:
Introduction:
Nous avons déjà vu comment le tableau permet de désigner sous un seul nom un ensemble de
valeur de même type, chacune d’entre elles est repéré par un indice.
La structure (l’enregistrement) quant à elle va permettre de désigner sous un seul nom un ensemble de
valeur pouvant être de types différents.
2. Déclaration d’un enregistrement :
Type Enreg = Record
Champ1 : Type1 ;
Chapm2 : Type2 ;
….
Champ n : Type n ;
End ;
Exemple :
Type Eleve=Record
CNE : Integer ;
Nom : String[10] ;
Prénom : String[10] ;
End ;
Matiere=record
CodeMat : Integer ;
Libelle : String[15] ;
Coef : Integer ;
End ;
3. Déclaration d’une variable :
Var El1, El2, El3 : Eleve;
Mat1, Mat2, Mat3 : Matiere;
4. Accès à un champ :
Exemple :
Pour lire les infirmations concernant l’élève El1:
-------------------------------------------------------------------------------------------------------------------------------
19
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Read ([Link]) ;
Read ([Link]) ;
Read ([Link]) ;
5. L’instruction With :
L'instruction WITH permet de simplifier les références aux champs des enregistrements.
Syntax :
WITH variable DO
Begin
Instruction1;
Instruction2;
…..... ;
Instructionn;
End;
A la suite de DO, l'instruction peut référencer les champs d'un ou plusieurs variables de type
enregistrement sans devoir mentionner l'identificateur de l'enregistrement propriétaire.
Exemple :
With El1 do
Begin
Writeln (‘donnez le CNE : ‘) ;
Readln (CNE) ;
Writeln (‘donnez le Nom : ‘) ;
Readln (Nom) ;
Writeln (‘donnez le Prénom : ‘) ;
Readln (Prenom) ;
End ;
6. Exercice d’application:
Donnez en Pascal le programme permettant de lire 3 étudiants chacun a un code, Nom, Prénom et
un tableau de 3 cases entière nommé Notes ou elles sont stockées ses notes. Le programme affichera
les informations sur tous les étudiants : Codes, Noms, Prénoms, leurs Notes et leurs Moyennes.
Exemple :
==================================================================
Code Nom Prénom Note1 Note2 Note3 Moyenne
--------------------------------------------------------------------------------------------------------------------
100 Elkhalki Souad 10 14 12 12
101 Erradi Amin 11 14 08 11
102 Fezazi Jawad 12 16 14 14
--------------------------------------------------------------------------------------------------------------------
Solution :
Voir Annexe 3
FIN
-------------------------------------------------------------------------------------------------------------------------------
20
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
-------------------------------------------------------------------------------------------------------------------------------
21
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Annexe 1
-------------------------------------------------------------------------------------------------------------------------------
22
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
end;
{+++++++++++++++++++++++Proc Parmutation+++++++++++++++++++++++++}
Procedure Permuter(var a,b :integer);
var t: integer;
begin
t:=a;
a:=b;
b:=t;
end;
{+++++++++++++++++++++++Proc Triage+++++++++++++++++++++++++++++++}
Procedure Trie;
var i,j:integer;
begin
for i:=1 to M-1 do
for j:=i+1 to M do
if Tab[i]>Tab[j] then permuter(Tab[i],Tab[j]);
end;
(*++++++++++++++++++++++Fonction chercher elemt++++++++++++++++++*)
Function recherche(debut, fin, elmt :integer): integer;
Var k: integer;
Begin
if Tab[debut]=elmt then recherche:=debut;
if Tab[fin]=elmt then recherche:=fin
else
begin
k:=(debut+fin) div 2;
if debut<=fin then
if Tab[k]=elmt then recherche:=k
else
if tab[k]<elmt then
recherche:=recherche(k+1,fin,elmt)
else
recherche:=recherche(debut,k-1,elmt)
else
recherche:=0;
end;
End;
(*+++++++++++++++++++++++PROGRAMME PRINCIPAL++++++++++++++++++++*)
Begin
Saisie;
writeln;
writeln ('le tableau qui n est pas trier: ');
Affichage;
Trie;
writeln;writeln;
writeln ('le tableau tri‚: ');
Affichage;
write(' donnez la valeur a chercher: ' );read(X);
write (X,' Se trouve dans la case: ',recherche(1,M,X));
readln;readln;
End.
-------------------------------------------------------------------------------------------------------------------------------
23
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
Annexe 2
Program Mon_Nom;
Type Str20=String[20];
Var Nom, Prenom, CIN, NC, Ch : Str20;
Lgnc, CCIN,c : Integer;
Begin
Annexe 3
1. le programme
Program Eleve_Note;
uses crt; (* Pour pouvoir utiliser la fonction Clrscr qui efface
l’écran *)
type eleve=record
code:integer;
nom: string[10];
prenom:string[10];
Note:array[1..3]of integer;
end;
var T:array[1..3] of eleve;
i,j,S : integer;
BEGIN
Clrscr; (* La fonction Clrscr qui efface l’écran *)
(*-----------------Saisie----------------*)
for i:=1 to 3 do
begin
with T[i] do
Begin
-------------------------------------------------------------------------------------------------------------------------------
24
Cours Préparé par Prof d’Info [Link] [Link]
Cours d’Algorithmique 2003/2004
-------------------------------------------------------------------------------------------------------------------------------
25
Cours Préparé par Prof d’Info [Link] [Link]