Professional Documents
Culture Documents
Adama MBODJI Les secrets de la programmation
2
Je ddie cet ouvrage mon pre
Souleymane MBODJI
Adama MBODJI Les secrets de la programmation
3
Ddicace ......................................................................................... 2
Sommaire ....................................................................................... 3
Avant-propos .................................................................................. 5
Prface ........................................................................................... 6
1. Introduction gnrale ...................................... 7
1.1 Notions d'algorithme et de programme .................................................... 7
1.2 Structure gnrale d'un algorithme ........................................................... 8
1.3 Les outils .................................................................................................. 9
2. Prsentation de MSAlgoPascal ....................... 19
2.1 Configuration requise ............................................................................... 19
2.2 Installation de MSAlgoPascal .................................................................. 19
2.3 Pas pas sur MSAlgoPascal .................................................................... 21
3. Tableaux et vecteurs ....................................... 31
3.1 Tableaux simples (une dimension) ........................................................... 31
3.2 Tableaux plusieurs dimensions .............................................................. 32
3.3 Oprations classiques sur les tableaux ..................................................... 32
Exercices ........................................................................................................ 38
4. Les algorithmes de tri ..................................... 40
4.1 Dfinition .................................................................................................. 40
4.2 Tri par slection ........................................................................................ 40
4.3 Tri par insertion simple ............................................................................ 42
4.4 Tri bulles ................................................................................................ 42
5. Les chanes de caractres .............................. 44
5.1 Dfinition .................................................................................................. 44
5.2 Accs un caractre ................................................................................. 44
5.3 Concatnation de chanes ......................................................................... 44
5.4 Fonctions utiles pour le traitement des chanes ........................................ 45
Exercices ........................................................................................................ 46
6. Les enregistrements ........................................ 47
Adama MBODJI Les secrets de la programmation
4
6.1 Dclaration dune structure ....................................................................... 47
6.2 Affection de valeurs ................................................................................. 48
Projets ............................................................................................................ 50
7. L'allocation dynamique : listes, piles, files ..... 51
7.1 Dfinition .................................................................................................. 51
7.2 Dclaration d'une variable de type pointeur ............................................. 51
7.3 Allocation et Dsallocation ...................................................................... 52
7.4 Les listes ................................................................................................... 53
Projets ............................................................................................................ 67
8. Les arbres ........................................................ 72
8.1 Dfinition de quelques concepts .............................................................. 73
8.2 Dclaration d'un arbre binaire .................................................................. 74
8.3 Oprations classiques sur les arbres binaires ........................................... 74
Exercices ........................................................................................................ 85
9. Les fichiers ...................................................... 86
9.1 Le concept de fichier ................................................................................ 86
9.2 Laccs aux fichiers .................................................................................. 86
9.3 La cration dun fichier typ .................................................................... 87
9.4 La cration dun fichier texte ................................................................... 88
9.5 La lecture d'un fichier typ ....................................................................... 88
9.6 La lecture d'un fichier texte ...................................................................... 88
9.7 Les types d'organisations .......................................................................... 89
9.8 Les oprations classiques dans un fichier ................................................ 90
9.9 La mise jour d'un fichier ........................................................................ 92
Exercices ........................................................................................................ 95
Projet final ........................................................... 96
Bibliographie ........................................................ 99
Adama MBODJI Les secrets de la programmation
5
e guide de ltudiant est un ouvrage destin aux tudiants du premier cycle dinformatique,
aux dbutants et tous ceux qui veulent connatre les notions de bases de la programmation.
Il aborde brivement les thmes les plus classiques et les plus utiliss en informatique : les tableaux,
les algorithmes de tri, les chanes de caractres, les enregistrements, les listes linaires, les piles, les
files, les arbres et les fichiers. De nombreux exercices et projets y sont disponibles et les corrigs
sont au niveau du CD-Rom.
Nous avons remarqu que les comptences des dbutants se limitent lanalyse des problmes et
lcriture des algorithmes ; ds lors, il leur semble fastidieux de codifier, de corriger les syntaxes et
de dboguer leurs programmes. La difficult majeure quils rencontrent le plus souvent est
deffectuer correctement le passage dun algorithme au code correspondant dans un langage de
programmation donn, en particulier le Pascal.
Cest dans cet optique que nous avons inclus dans ce guide un compilateur du nom de
MSAlgoPascal
qui a la possibilit de :
vrifier les expressions parenthses.
vrifier les clauses arborescentes.
vrifier la dclaration des variables, des types, des procdures et des fonctions.
envoyer des messages derreur lutilisateur si ncessaire.
effectuer la traduction automatique de lalgorithme vers le langage Pascal.
Les tudiants auront la possibilit dexcuter tous les algorithmes tudis en classe en passant par le
gnrateur de codes.
MSAlgoPascal
.
Adama MBODJI, Janvier 2005
C
Adama MBODJI Les secrets de la programmation
6
Adama MBODJI Les secrets de la programmation
7
1.1 Notion dalgorithme et de programme
ujourdhui avec le dveloppement des sciences et des technologies, nous sommes parvenus
au monde de la programmation la 4
me
gnration. Nous sommes passs du binaire
lassembleur puis des langages procduraux aux langages vnementiels et objets.
Derrire toutes ces innovations, aussi complexes quelles soient, nous rptons toujours le mme
processus pour rsoudre un problme en informatique. Cette rsolution peut tre schmatise ainsi
quil suit :
Figure 1. Cycle de vie de la rsolution dun problme en informatique.
Nous pouvons retenir que la rsolution dun problme en informatique passe par la production dun
texte appel algorithme. Ce dernier dcrit lensemble des oprations lmentaires qui seront
excutes par un ordinateur via un langage de programmation pour obtenir la solution informatique.
Lalgorithme est la description dun ensemble fini dactions et dinformations lmentaires
destines tre excutes par un ordinateur pour rsoudre un problme.
Lalgorithme est une suite dactions ordonnes sur un ensemble fini dobjets. Il doit tre dfini sans
ambigut, et son excution doit sarrter aprs un nombre fini doprations lmentaires . DIOP,
Kba.- Algorithmique et Structures de donnes Tome 1.- Presse de luniversit de lUNIS page
8.
Supposons que lon veuille automatiser la rsolution dune quation du second degr. Pour ce faire,
il faut la mettre dans un modle gnral qui est le suivant : AX + BX + C = 0 (avec A 0).
Rsoudre ce problme via lordinateur revient lui faire comprendre les diffrentes tapes quil
doit suivre pour aboutir un rsultat. Ce phnomne logique est appel Algorithme. Ce dernier une
fois traduit dans un langage de programmation demeure toujours incomprhensible par
lordinateur. Il faut cependant passer une autre traduction qui convertit le code crit en langage
machine : cest la compilation.
Ce prsent manuel (guide de ltudiant) prsente les algorithmes classiques les plus utiliss en
informatique. Il nous permet dcrire correctement des algorithmes et de les traduire en langage
Pascal. Le passage de lalgorithme vers le langage de programmation sera automatique grce au
gnrateur de code MSAlgoPascal.
A
C Problme
+ Donnes
C Analyse
CExcution
C Compilation
Rsultat
C Algorithme C Langage
Edition
des liens
Adama MBODJI Les secrets de la programmation
8
1.2 Structure gnrale dun algorithme
Algo ou Algorithme ou Programme Nom_Algo
Constante ou Const nom_constante = Valeur
Type
% dfinition de type de donnes %
Variable ou Var
% liste des variables %
Procdure Nom_Procdure1 (donne Nom_Var1 : Type1 ; Rsultat Nom_Var2 : Type2)
Dbut
% Instruction %
FinProcdure
Fonction Nom_Fonction (donne Nom_var i : Type i) : Type de rsultat
Dbut
% Instruction %
Nom_Fonction = Valeur retour
FinFonction
% PROGRAMME PRINCIPAL %
Dbut
% Instruction %
FinAlgo ou FinAlgorithme ou FinProgramme
Donc la structure gnrale dun algorithme se prsente ainsi :
en-tte de lalgorithme.
corps encore appel bloc.
Un algorithme commence toujours par les mots rservs suivants : Algo, Algorithme ou
Programme suivi de son Nom. Son nom est un identificateur ; il permet de nommer lalgorithme.
Un bloc est toujours constitu dune partie dclarative et dune partie instruction. Il est subdivis en
quatre (04) sous parties :
dclaration de constantes.
dclaration de types.
dclaration de variables.
dclaration de procdures et de fonctions.
Tous les algorithmes doivent se terminer par :
FinAlgo sils dbutent par Algo.
FinProgramme sils dbutent par Programme.
FinAlgorithme sils dbutent par Algorithme.
1.2.1 Les identificateurs
Les identificateurs sont des mots qui servent dsigner, nommer et identifier les entits, les
objets, les actions, les procdures et les fonctions manipuls dans un programme.
Les identificateurs ne se crent pas nimporte comment car ils doivent respecter lordre des
diagrammes syntaxiques encore appels diagrammes de CONWAY : un identificateur dbute
Adama MBODJI Les secrets de la programmation
9
toujours par une lettre ou un caractre de soulignement qui peut tre suivi de lettres, de chiffres ou
de caractres de soulignement de faon optionnelle.
Figure 2. Diagramme syntaxique dun identificateur NOUATIN, Thophile.- Les bases de
la PROGRAMMATION avec C++.- ITSS SOFT page 34.
1.2.2 Les expressions
Elles sont formes par une combinaison doprateurs et doprandes. Les oprandes peuvent tre
des constantes, variables, chanes de caractres. Les oprateurs sont arithmtiques, logiques et
boolens, de chanes de caractres, densemblistes, etc.
1.2.3 Les constantes
Ce sont des identificateurs qui gardent toujours la valeur quon leur a attribu durant tout
lalgorithme. Leur valeur ne peut tre modifie. Une constante se dclare de la manire suivante :
Const ou Constante Identificateur = Valeur ou expression
1.2.4 Les variables
Une variable est une zone mmoire o lon peut stocker des informations identifies par
lidentificateur. Elle peut tre modifie dans le corps de lalgorithme. Une variable est dclare via
linstruction Var ou Variable suivi de lidentificateur et du type de la variable.
1.2.5 Les commentaires
Dans lalgorithme, pour claircir certains passages, lutilisateur (le programmeur) peut y glisser
des commentaires. Les commentaires dbutent et se terminent par le symbole spcial %.
Remarque : Pour afficher le symbole % au niveau de lalgorithme en tant que caractre, il faut
ncessairement le faire prcder de lesperluette &. Exemple : Afficher "10 &%"
1.3 Les outils
1.3.1 Les oprateurs arithmtiques
Oprateur Signification
+ Addition
- Soustraction
* Multiplication
/ Division
Div Division entire
Mod ou Modulo Modulo (Reste de la division entire)
Lettre
-
-
Lettre
Chiffre
Identificateur
Dpart
Arrive
Adama MBODJI Les secrets de la programmation
10
1.3.2 Les oprateurs logiques et binaires
Oprateur Signification
Pas Ngation
Et Et logique
Ou Ou logique
OuExclusif Ou Exclusif logique
Les oprandes associs ces oprateurs peuvent tre des entiers (on parle alors doprateurs
binaires) ou des boolens (on parle doprateurs logiques).
1.3.3 Les oprateurs de chanes de caractres
Oprateur Signification
+ Concatnation de deux chanes de caractres.
Pour concatner deux chanes de caractres, nous utilisons loprateur + . Le rsultat est du type
chane.
1.3.4 Les oprateurs relationnels
Oprateur Signification
= Egal
<> Diffrent
< Infrieur
> Suprieur
<= Infrieur ou gal
>= Suprieur ou gal
Ces oprateurs fournissent toujours un rsultat boolen (Vrai ou Faux).
1.3.5 Les oprateurs sur les pointeurs
Oprateur Signification
^ ou Cre un pointeur sur une variable
La notion fondamentale de pointeur est de nommer une entit (une variable) dont le contenu nest
pas une donne de lapplication, mais une adresse mmoire. A cette adresse est stocke la donne.
Cest donc un accs direct. . BINZINGER, Thomas.- Borland DELPHI 6.- CampusPress page
258.
Les pointeurs permettent de crer des structures dynamiques comme les listes chanes, les arbres,
etc. Le mot rserv NIL (Not In List) est utilis pour marquer la fin de la liste.
Adama MBODJI Les secrets de la programmation
11
Figure 3. Arbre binaire et structure chane (bidirectionnelle) formes grce aux pointeurs
Les lments dun arbre se nomment nuds et ceux dune liste cellules.
Pour larbre, le nud A reprsente la tte, les nuds B , C , D , H et K sont
intermdiaires et les nuds E , G , I , J et F se nomment feuilles.
Pour la liste chane, les cellules A et F reprsentent la fois la tte et la queue. Les autres
cellules sont appeles cellules intermdiaires.
1.3.6 Les types de donnes
1.3.6.1 Les entiers
En algorithme, nous utiliserons ces cinq types de donnes.
Type Domaine de dfinition Taille mmoire
EntierCourt [-128, 127] 1 octet
Entier [-32768, 327667] 2 octets
EntierLong [-2147483648, 2147483647] 8 octets
Mot [0, 65535] 2 octets
Octet [0, 255] 1 octet
1.3.6.2 Les caractres
Le type caractre correspond lensemble des caractres de la table ASCII.
Variable
Touche : Caractre
La variable Touche peut recevoir nimporte quel caractre appartenant la table ASCII.
Nous pouvons par exemple crire : Touche = "A" ; Touche = ASCII (65)
1.3.6.3 Les boolens
Les variables du type boolen ne peuvent recevoir que deux valeurs (Vrai ou Faux).
NB : Gnralement, Faux peut tre codifi par 0 et Vrai par 1.
A
B C
D
E
H
K
F
G
J
I
A B D
E F
C
NIL
Adama MBODJI Les secrets de la programmation
12
1.3.6.4 Les numrs
Un type numr permet de dfinir une donne correspondant un ensemble ordonn dlments ou
de valeurs. Chaque lment est dfini au moyen dun identificateur.
Exemple : Type Sexe = (Masculin, Fminin)
1.3.6.5 Les intervalles
Un type intervalle permet de dfinir des donnes en fournissant simplement la borne infrieure et la
borne suprieure dun ensemble dentiers, de chanes de caractres ou dlments dfinis de type
numr.
Exemple : Type Chiffre = 0. . 9
1.3.6.6 Les rels
Le langage Pascal met notre disposition cinq types de rels diffrents. En algorithmique, nous
nutiliserons que le type rel standard.
Type Domaine de dfinition Taille mmoire
Rel [10
-38
, 10
38
] 6 octets
1.3.6.7 Les chanes de caractres
Un type chane de caractres permet de dfinir des donnes correspondant une suite de caractres
(appele chane de caractres) dont la longueur peut tre spcifie dans la dfinition. Si elle nest
pas spcifie, le systme lui attribue une longueur gale 255 caractres.
Exemple : Variable Expression = Chane [15]
Dans cet exemple, la variable Expression a t spcifie comme tant un type chane pouvant
contenir au maximum 15 caractres.
1.3.6.8 Les tableaux
Un type tableau permet de dfinir des donnes composes dun nombre fixe dlments ayant tous
le mme type.
Syntaxe Gnrale : NomDuTableau : Tableau [Min .. Max] de Type avec (min >0)
Dfinition dun tableau
Tab1 : Tableau [1...10] de Entier
Tab2 : Tableau [1...3,1...8] de Rel
Tab3 : Tableau [1...5,1...5] de Caractre
Dans cet exemple, Tab1 est un vecteur de 1 10 lments de type entier. Tab2 est une matrice
contenant des rels et Tab3 contient des caractres. Pour se positionner une cellule du tableau, il
suffit dindiquer le numro de cellule. Ce numro commence par lindice 1.
Adama MBODJI Les secrets de la programmation
13
Exemple : Tab1 [1] = 3
Tab2 [1,1] = 3.1415
Tab3 [5,1] = "A"
Reprsentation physique dun tableau de caractres
Indice sur le tableau 1 2 3 4 5 6 7 8 9 10 11
M B O D J S Y S T E M
Tab [1] = "M"
Tab [11] = "M"
Tab [3] = "O"
Tab [25] = Erreur ! Dpassement de capacit
NB : Si lindice dun tableau dpasse la borne maximale de sa dclaration, un message derreur est
envoy lutilisateur par le compilateur pour lui signifier que cette zone nappartient pas au tableau.
Ce phnomne peut provoquer un blocage de lordinateur.
1.3.6.9 Les enregistrements
Le type enregistrement permet de dfinir des donnes composes dun nombre fixe ou variable
dlments pouvant tre de types diffrents. Chaque lment dun enregistrement est appel un
CHAMP.
Exemple : Type SClient = Structure
Nom : Chane [15]
Prnom : Chane [20]
FinStructure
A partir de ce type, nous pouvons dfinir une variable enregistrement ainsi :
Variable Client : SClient
Pour accder une valeur dun champ, il suffit de faire prcder le nom de ce champ par
lidentificateur du type enregistrement suivi dun point.
Exemple :
Client.Nom "MBODJI"
Client.Prnom "Oumar Soul"
1.3.6.10 Les ensembles
Le type ensemble permet de dfinir des donnes reprsentant une collection dobjets de mme type
(entier, boolen, caractre, numr ou intervalle). Nous pouvons spcifier un ensemble vide en
utilisant [].
Exemple de dclaration : Variable
Chiffre : Ensemble De 0..9
Lettre : Ensemble De "A" .. "Z"
Lensemble Lettre peut recevoir les valeurs suivantes : Lettre = ["I", "U", "O", "A", "E",
"Y"]
Adama MBODJI Les secrets de la programmation
14
1.3.6.11 Les fichiers
Les fichiers reprsentent une collection de donnes de mme type. Celles-ci peuvent tre par
exemple des enregistrements (structures), des entiers, des rels, etc. Les informations sont
gnralement stockes sur disque.
On distingue 3 types de fichiers :
1. Les fichiers typs qui sont gnralement des fichiers denregistrement. Pour dclarer un
fichier de ce type, il suffit de spcifier les mots rservs FICHIER DE suivis du type
denregistrement.
Exemple : Type SClient = Structure
Nom : Chane [15]
Prnom : Chane [20]
FinStructure
FichClient = Fichier de SClient
Le fichier est une collection denregistrements de type SClient.
2. Les fichiers non typs, dclars simplement en utilisant le mot rserv FICHIER, se
distinguent par un accs direct aux informations stockes sur le disque.
Exemple : Type Fich = FICHIER
3. Les fichiers Texte permettent de stocker des informations de taille variable. Elles sont
spares les unes des autres par des identificateurs de fin de ligne (caractre retour chariot).
Pour dclarer un fichier texte, il suffit de spcifier le mot rserv TEXTE.
Exemple : FichText : Fichier de TEXTE
Le fichier FichText est un fichier de type Texte.
1.3.6.12 Les pointeurs
Un type pointeur permet de dfinir une variable dont la valeur est ladresse en mmoire dune autre
variable. Pour dclarer un type pointeur, il suffit dutiliser le symbole ^ ou suivi du type de la
variable pointe. Dans lexemple suivant, le type pointeur permet de crer des variables dont le
contenu correspond une adresse pointant sur un enregistrement ARTICLE.
Exemple : Type Pointeur = Article
Article = Structure
Information : Entier
Precedent : Pointeur
Suivant : Pointeur
FinStructure
Variable
Point : Pointeur
La variable Point contiendra une adresse en mmoire pointant sur un enregistrement de type
Article. Dans cet enregistrement, les champs Precedent et Suivant sont galement du type
Pointeur. Leurs contenus respectifs seront galement une adresse dun enregistrement de type
Article.
Adama MBODJI Les secrets de la programmation
15
Une telle dfinition de structure permet de crer des listes dlments comme ci-dessous :
Adresse prcdente Information Adresse suivante
Figure 4. Dfinition dune structure chane
1.3.7 Les instructions
1.3.7.1 Introduction
Un algorithme se compose dun certain nombre dinstructions. Ces dernires sont classes par
catgories. Nous tudierons tout dabord les instructions standard traitant linformation :
lassignation, la lecture et lcriture. Ensuite, celles dfinissant lordre dexcution dun
programme : la squence, le choix et la boucle. Nous terminerons par les sous programmes
(fonctions et procdures).
1.3.7.2 Lassignation
Lassignation est une instruction qui permet dattribuer une valeur une variable ou un
identificateur de fonction afin den renvoyer le rsultat. Cette valeur retourne, doit tre du mme
type que la variable. La syntaxe est la suivante :
<Variable> / <identificateur de fonction> = (Expression)
ou <variable> / <identificateur de fonction> := (Expression)
Exemple : A := A+1 ; ou A = A+1
Delta = B*B 4 *A*C
1.3.7.3 Les instructions dEntre/Sortie
Les instructions dentre
Linstruction dentre Saisir : elle offre lutilisateur la possibilit dentrer plusieurs valeurs
(donnes) dans des variables.
La syntaxe gnrale est la suivante : SAISIR (<Nom_Var1>, <Nom_Var2>,... <Nom_VarN>)
Les instructions de sortie
Nous avons deux types dinstructions de sortie : Afficher et AfficherLigne.
Linstruction Afficher affiche les donnes et reste sur la mme ligne ; tandis que
AfficherLigne place le curseur aprs laffichage la ligne suivante (retour chariot).
Syntaxe gnrale :
Afficher ou AfficherLigne (<Nom_Var1>, . . ., <Nom_Var2>)
Adama MBODJI Les secrets de la programmation
16
1.3.7.4 Les instructions conditionnelles
Les instructions conditionnelles permettent de modifier lordre de la squence dun algorithme.
Dans une squence, les instructions sont excutes les unes la suite des autres sans interruption.
Nous disposons de deux instructions conditionnelles : SI ... ALORS et SELON ... DE
Linstruction SI Alors (structure alternative)
La structure alternative correspond un choix entre deux possibilits. Suivant la valeur issue de la
condition spcifie dans linstruction, lordinateur excute une suite dinstructions A ou une suite
dinstructions B. En aucun cas, lordinateur nexcute la fois les instructions A et B.
Syntaxe gnrale :
SI <Condition> ALORS SI Moyenne < 10 ALORS
Instruction Afficher Redouble
FINSI FINSI
Ou Ou
SI <Condition> ALORS SI Moyenne < 10 ALORS
Instruction A Afficher Redouble
SINON SINON
Instruction B Afficher Passe
FINSI FINSI
Exemple : <Condition> est une expression logique.
Le choix multiple
Linstruction se prsente comme une alternative ; en effet, elle noffre que deux choix possibles
dpendant de la valeur dune condition (valeur vraie ou fausse). En algorithme, nous disposons
aussi dune instruction permettant deffectuer un choix entre plusieurs dcisions.
Linstruction SELON ... DE
Syntaxe Gnrale
SELON <Expression> DE
Cas <Constante 1>, <Constante 2>, <Constante 3> : Instruction A
Cas <Constante 4>
Dbut
Instruction 1
Instruction N
FIN
CASSINON
Instruction B
FINSELON
<Instruction> peut tre : soit une instruction, soit un bloc dinstructions. Les comparaisons
sont effectues au fur et mesure en commenant par la premire ; ds quune comparaison savre
vraie, les instructions correspondantes sont excutes et le programme se branche linstruction qui
suit FINSELON (les autres comparaisons ne sont donc pas effectues) ; si aucune comparaison ne
savre vraie, les instructions correspondant CASSINON sont effectues (si la clause CASSINON
existe).
Adama MBODJI Les secrets de la programmation
17
1.3.7.5 Les instructions rptitives
Dans un programme plusieurs instructions peuvent se rpter ; il est alors plus intressant dcrire
les instructions une seule fois et de les excuter plusieurs fois. Cette action est ce que lon appelle
BOUCLE.
En algorithmique, nous possdons trois Boucles.
La boucle REPETER JUSQUA
Cette boucle permet dexcuter les instructions comprises entre REPETER et JUSQUA jusqu' ce
que la condition du JUSQUA soit vrifie.
Syntaxe gnrale :
REPETER
Instruction 1
Instruction 2
Instruction N
JUSQUA <Condition>
Les instructions allant de 1 N vont sexcuter jusqu ce que <Condition> soit vrifie. Mais il
faut noter que cette boucle excute au moins une fois ces instructions avant de tester la condition.
La boucle TANTQUE
Cest la boucle la plus utilise en informatique. Son fonctionnement est simple. Elle excute toutes
les instructions comprises entre les mots rservs TANTQUE et FINTANTQUE tant que la condition
de dpart reste vrifie.
La syntaxe gnrale est la suivante :
TANTQUE <Condition> FAIRE
Action(s)
FINTANTQUE
Lordinateur commence par vrifier si la condition est vraie. Si cest le cas, il excute les
instructions de la boucle. Si ce nest pas le cas les instructions suivant le FINTANTQUE sont
excutes.
NB : Pour viter une boucle infinie, il faut modifier la variable du test lintrieur de la boucle.
La boucle POUR
Cette boucle permet dexcuter un certain nombre de fois une suite dinstructions.
Syntaxe gnrale :
POUR <Nom_Var> = <Borne minimale> <Borne maximale> FAIRE
<Action>
FINPOUR
Lordinateur excute linstruction <Action> Borne maximale Borne minimale +1 fois.
Adama MBODJI Les secrets de la programmation
18
1.3.8 Les sous programmes
1.3.8.1 Dfinition
Un sous-programme est rdig de faon telle que son excution puisse tre commande par un
programme. Celui-ci est appel programme appelant. Il fournit des donnes au sous-programme et
rcupre les rsultats de ce dernier.
On distingue deux types de sous programmes : les procdures et les fonctions.
La diffrence est quune fonction renvoie une valeur alors quune procdure ne renvoie pas de
valeur.
1.3.8.2 Les procdures
Les procdures sont composes dun en-tte de procdure et dun bloc dinstructions : cest la partie
dclarative et le corps de la procdure. La syntaxe gnrale est la suivante :
Procdure <identificateur> (<liste de paramtres>)
Dbut
Instruction(s)
FinProcdure
Lappel dune procdure se fait au sein du programme principal avec une instruction compose de
lidentificateur de la procdure suivi des paramtres effectifs. Les paramtres permettent un
programme appelant de transmettre un sous-programme des donnes lors de lappel de ce dernier.
Un sous-programme est rdig de faon pouvoir recevoir des donnes du programme appelant ;
cela est possible grce aux paramtres. Ils sont appels formels lors de la dfinition et effectifs lors
de lappel. Il existe deux types de paramtres : les paramtres transmis par valeur et les paramtres
transmis par adresse.
1.3.8.3 Les fonctions
Les fonctions sont constitues dun en-tte de fonction (partie dclaration) et dun bloc
dinstructions (corps de la fonction). Les fonctions effectuent certaines oprations avant de renvoyer
un rsultat ; elles sont donc appeles dans une expression.
La syntaxe gnrale dune fonction est la suivante :
Fonction <identificateur> (<liste de paramtres>) : <Type
rsultat>
Dbut
Instruction(s)
<Identificateur> = Valeur retour
FinFonction
Adama MBODJI Les secrets de la programmation
19
es diffrents algorithmes que nous verrons par la suite pourront directement tre mis en
application au niveau du logiciel MSAlgoPascal
.
MSAlgoPascal
sous
32 Bits (Windows 95, Windows 98, Windows NT, Windows Millenium, Windows 2000 et
Windows XP).
Ram (mmoire vive ou centrale) : 32 Mo.
Dfinition de lcran : minimum 256 couleurs.
Espace disque : 3.5 Mo espace disque.
Priphrique : Carte son et un lecteur de cd-rom.
2.2 Installation de MSAlgoPascal
Le logiciel MSAlgoPascal
est livr sur cd-rom. Insrez le cd-rom dinstallation dans votre lecteur,
puis patientez un moment. Cette fentre saffiche en premier lieu.
Cliquez sur le bouton Installer, pour dmarrer linstallation du logiciel MSAlgoPascal
.
L
Adama MBODJI Les secrets de la programmation
20
Au clic, voici la fentre qui saffiche.
Cliquer sur le bouton OK
Une nouvelle fentre se prsente et vous demande de choisir votre rpertoire dinstallation. Pour
son bon fonctionnement, MSAlgoPascal
de votre lecteur.
Cliquez sur le bouton Dmarrer de Windows, ensuite sur Tous les programmes (pour les autres
versions de Windows (Win9x, WinNT, 2000) vous avez programmes au lieu de Tous les
programmes ) puis sur le groupe de Travail MSAlgoPascal et enfin MSAlgoPascal.
Adama MBODJI Les secrets de la programmation
21
Lancement de MSAlgoPascal
Vous avez enfin install MSAlgoPascal
tout moment ;
depuis le menu dmarrer de Windows. Cette fentre saffiche en premier lieu :
Chargement de la base de donnes en mmoire centrale
Cette fentre danimation saffiche pour une petite dure, elle charge la base de donnes
(dictionnaire) en mmoire.
Adama MBODJI Les secrets de la programmation
22
A la fin du traitement, la fentre principale saffichera lcran.
Interface de MSAlgoPascal
Cette fentre prsente lenvironnement gnral. Elle contient une barre doutils avec des boutons
sur la partie suprieure de la fentre et une zone de texte sur la partie gauche. Cest partir de cette
zone de texte (diteur de texte) que lutilisateur saisit son algorithme.
2.3.1 Comment crire un algorithme ?
Lcriture dun algorithme est trs simple. MSAlgoPascal