1
INTRODUCTION
L’évolution de la science et de la technologie a facilité les choses si bien que
l’homme se voit épargné des tâches qui lui sont confiées et qui peuvent être
effectuées par la machine.
Depuis des siècles, l’homme a toujours été à la recherche de la meilleure
façon de traiter les informations relatives à ses différentes activités. C’est ce
qui explique qu’il est arrivé à inventer l’ordinateur ; cet ensemble des
machines dont le but est de traiter automatiquement les informations à l’aide
des programmes enregistrés dans sa mémoire centrale.
A juste titre, grâce aux programmes appropriés écrits par l’homme sur base
des problèmes précis, l’ordinateur permet de traiter avec exactitude et
rapidité des grands volumes d’informations soumises à des traitements divers
et complexes et d’obtenir ainsi un résultat fiable répondant aux besoins des
utilisateurs.
Le programme constitue donc la partie intellectuelle de l’ordinateur sans
laquelle ce dernier ne peut traiter automatiquement l’information ; objet
d’être de son invention. La programmation constitue, quant à elle, la phase
la plus importante pour qu’un ordinateur soit utilisé. Elle doit, pour ce faire,
suivre une certaine logique acceptable par le fonctionnement de
l’ordinateur.
Logique vient, au fait, du mot grec « LOGIKE » ou « LOGOS » signifiant à la fois
« DISCOURS » et « RAISON ».
Discours : développement oral (dans un auditoire) sur un sujet précis,
conversation ou échange de parole…
Raison : argument ou raisonnement convainquant.
La logique peut donc être comprise comme une science qui apprend à
raisonner juste, une méthode scientifique particulière de raisonner. Elle
s’applique dans plusieurs domaines d’activités ; d’où on peut parler de :
1) Logique mathématique ;
2) Logique intuitive ;
3) Logique déductive ;
4) Logique de programmation ;
5) etc.
2
Pour ce qui concerne le présent support, il s’agit de la logique de
programmation applicable en informatique pour commander l’ordinateur ;
d’autres l’appellent : ALGORITHME.
Pour qu’il devienne intelligible à la machine, l’algorithme doit être traduit
dans un langage particulier ; c’est alors qu’il constitue un programme ; c‘est
à dire une succession d’instructions renfermant les conditions et les actions à
exécuter par un ordinateur pour résoudre un problème donné.
Un programme est donc un ensemble d’instructions nécessaires permettant à
l’ordinateur :
de prendre en charge les informations d’entrée ;
de les traiter ;
de restituer les résultats (informations en sortie).
La logique de programmation est donc la technique qu’il faut appliquer en
organisant les différentes opérations pour arriver à un résultat escompté.
Il existe plusieurs types des programmes dont :
a) Logiciel de base ou système d’exploitation : C’est un ensemble des
programmes permettant de démarrer et de superviser l’ordinateur et
sans lesquels ce dernier ne peut traiter automatiquement l’information ;
on dit que l’ordinateur est muet à l’absence de ce système.
Exemple : MS DOS, Windows…
b) Logiciel d’application : Un logiciel d’application est constitué d’un
ensemble d’instructions permettant d’effectuer des tâches spécifiques.
Il en existe de deux sortes :
Logiciel d’application standard : Ensemble des programmes
produits et commercialisés par certaines firmes informatiques
et utilisables par tous de la même façon.
Exemple : Microsoft Office.
Logiciel d’application élaboré sur mesure ou progiciel : Ce
logiciel est constitué des programmes écrits par l’informaticien
dans un langage précis pour résoudre certains problèmes
posés par les utilisateurs par rapport à un domaine précis et
pour une gestion précise.
3
Exemple :
Gestion des paiements des frais académiques à UPEL;
Gestion des missions des parlementaires congolais ;
Gestion de la paie à l’OCC Etc...
Ce modeste support est à vocation purement pédagogique et a été élaboré
dans le seul but de permettre aux étudiants de premier cycle en informatique
de comprendre et d’utiliser les différents concepts, méthodologies et mode
de raisonnement à appliquer pour confier une tâche à un ordinateur qui est
au fait une machine très bête mais docile. Cette docilité dépend du respect
de l’exécution des instructions des programmes qui lui sont soumis.
La résolution des différents exercices sélectionnés et le travail en groupe avec
un raisonnement fertile de chaque participant sont là les quelques remèdes
efficaces pour arriver à maîtriser ce cours ;
Que toutes suggestions et remarques de la part de nos différents lecteurs
tendant à améliorer d’avantage ce modeste support soient les bienvenues.
4
CHAPITRE PREMIER
I. QUELQUES DEFINITIONS ET CONCEPTS DE BASE
1.1 INFORMATION
Dans le sens général, une information est toute donnée significative. En
informatique on la définit comme étant une représentation d’un fait, d’un
événement, d’une situation dans une forme conventionnelle qui en assure la
permanence et en facilite le maniement ainsi que la transformation. Elle est
ainsi représentée par une entité possédant des attributs et des valeurs. Pour
son traitement par ordinateur, elle doit en général être mémorisée sur un
support informatique sous forme de fichier.
1.2 FICHIER
Un fichier est un ensemble des enregistrements de même nature, c’est-à-dire
se rapportant à un même objet.
Il doit avoir un nom et une structure, c’est-à-dire le nom de différents champs
ou rubriques constituant l’enregistrement, leur longueur ainsi que la nature de
caractères que doit prendre ces différents champs.
Exemple :
Fichier des étudiants inscrits à l’ISTSAN/LODJA pendant l’année académique
2023 – 2024 dont le nom est : « FINSCRITS »
Sa structure se présente comme suit :
Nom du champ Longueur Nature
Matric 4 AN
Nompost 30 AN
Sxe 1 AN
Promot 5 AN
Dateinsc 10 AN
MONTPAI 10 N
Matric = nom codifié du champ Matricule
Nompost = nom codifié du champ Nom et post-nom de l’étudiant
Sxe = nom codifié du champ code sexe
Promot = nom codifié du champ promotion de l’étudiant
Dateinsc = nom codifié du champ date d’inscription de l’étudiant
Mont = nom codifié du montant payé par l’étudiant.
5
1.3 ENTREE DES INFORMATIONS
Pour être traité par ordinateur, toute information doit se trouver en mémoire
centrale grâce à une opération de lecture du fichier.
La lecture de ce dernier permet à un seul enregistrement d’accéder en
mémoire centrale et d’y occuper un emplacement. Cet emplacement
mémoire est ainsi appelé « zone d’entrée » ou encore « zone de lecture ».
Elle aura la même structure que l’enregistrement du fichier à lire ; ce qui
permet d’adresser facilement chaque information de l’enregistrement.
N.B. : Toutes les informations à traiter par ordinateur peuvent ne pas provenir
de l’enregistrement du fichier. C’est ainsi que pour entrer en mémoire
centrale, il existe d’autres sortes d’opérations :
Initialisation
Le transfert
L’opération arithmétique
1.4 SORTIE DES INFORMATIONS
Le résultat obtenu de divers traitements d’informations doit sortir de la
mémoire centrale pour être accessible. Ceci dans le but de leur utilisation ou
de leur conservation. C’est par un ordre d’écriture que ce résultat sortira de
la mémoire centrale. Un seul enregistrement sera écrit à la fois. Pour cela, il
faudra préparer toutes les informations à écrire dans une zone en mémoire.
Cette zone porte le nom de « zone de sortie » ou « zone d’écriture », sa
structure sera celle des enregistrements du fichier à écrire.
N.B. : Contrairement à la zone de lecture, la zone de sortie ne sera pas
effacée automatiquement avant ou après un ordre d’écriture ; il appartient
au programmeur de l’effacer avant d’y transférer les informations à écrire.
Ceci pour éviter de la crasse (saleté).
Cette opération s’appelle la « mise en blanc » de la zone de sortie.
1.5 LES ETAPES NECESSAIRES A LA RESOLUTION D’UN PROBLEME
Les étapes nécessaires à la résolution d’un problème sont les suivantes :
(a) Comprendre d’abord le travail qu’on a à effectuer.
Qu’est-ce qui est demandé ?
(b) Connaître la structure des enregistrements de chaque Fichier.
6
(c) Connaître toutes les informations utiles, disponibles et non reprises dans
le Fichier. (Eléments ou zones intermédiaires qu’on doit employer dans
le programme pour arriver au résultat).
1.6 MODE DE REPRESENTATION DE LA LOGIQUE
En logique, deux modes de représentation sont possibles :
1. L’algorithme : Ce mode permet de représenter la logique à suivre pour
résoudre un problème par des petites phrases qui définissent les actions
et les conditions nécessaires. Un algorithme détermine la marche à
suivre pour résoudre un problème dont la représentation graphique
constitue l’ordinogramme.
2. L’ordinogramme : C’est une représentation de la logique à suivre pour
résoudre un problème par des symboles conventionnels décrivant les
actions et les conditions nécessaires. Un ordinogramme est donc une
représentation schématisée par des graphiques et conduisant à la
résolution d’un problème. Il est construit à l’aide d’ordinogrammes de
programmation.
1.7 ABREVIATIONS ET SYMBOLES DE PROGRAMMATION UTILISES
a) Abréviations utilisées pour les algorithmes :
M.A.B. : Mise à blanc de la zone de sortie
Z/E ou Z/L : Zone d’entrée ou zone de lecture
Z/S ou Z/E : Zone de sortie ou zone d’écriture
Z/T : Zone de travail.
7
b) Symboles utilisés pour les ordinogrammes :
Début ou fin des traitements
Lecture ou écriture (entrée ou sortie)
Traitement ou opération quelconque (instruction)
Sous programme
Branchement à un traitement donné
n Origine du branchement
Test ou comparaison
Positionnement d’un aiguillage ou switch
Renvoi sur une autre page
8
1.8 ETUDE DES TRAITEMENTS
Le traitement des informations comprend 3 points principaux :
- L’acquisition de données par la fonction de lecture
- La manipulation de données acquises par la fonction de traitement
- La restitution du résultat par la fonction d’écriture.
Il existe deux types des traitements, à savoir :
1.8.1 Le Traitement simple
Pour ce type de traitement, il y aura :
Acquisition des données
Manipulation des données
Restitution du résultat
Ce genre de traitement est valable pour les enregistrements logiques ; c’est-
à-dire le traitement se fera une seule fois, contrairement au bloc physique où
les enregistrements se font d’une manière séquentielle.
1.8.2 Le Traitement itératif ou répétitif
C’est le traitement qui sera représenté un certain nombre de fois pour qu’un
travail soit accompli. Ce nombre de fois sera déterminé par le nombre
d’enregistrements que renferme le fichier à traiter.
1.9 DETECTION DE FIN FICHIER
Celle-ci se fera grâce à un enregistrement spécial placé en dernière position
dans tous les fichiers.
Exemple : Pour les fichiers sur support magnétique, cet enregistrement
constitue le « LABEL DE FIN FICHIER ». Pour d’autres supports, c’est l’ordinateur
lui-même qui établit le label de fin fichier suivant les consignes de fin fichier
fournis par le programme.
1.10 LA LECTURE – TEST – ECRITURE
1.10.1 La lecture
La lecture d’un fichier sera obtenue par un ordre de lecture qui aura comme
effet, l’admission en mémoire centrale d’un enregistrement logique du fichier
lu. Si le fichier en question contient plusieurs enregistrements, il y aura autant
d’ordre de lecture qu’il y a d’enregistrements dans le fichier à lire.
9
1.10.2 Le test
Le test consiste dans la condition de réalisation d’une action. Ainsi une
question sera posée à laquelle il faudra prévoir les deux réponses suivantes :
(1) OUI au cas où la condition est remplie ;
(2) NON dans le cas contraire.
A chacun de deux réponses, il faut prévoir l’action ou les actions à réaliser.
1.10.3 L’écriture
L’écriture comporte trois opérations principales :
1) La mise à blanc de la zone de sortie ;
2) Le transfert dans la zone de sortie des informations à écrire ;
3) Et l’ordre d’écrire une ligne qui peut être entête, détaille ou totale.
1.11 OPERATIONS ARITHMETIQUES
Une opération arithmétique permet d’obtenir les informations nécessaires et
non connues à partir de celles qui sont disponibles en mémoire centrale.
Dans une opération arithmétique, la valeur de l’inconnue est placée à
gauche du signe d’égalité.
L’expression arithmétique contenant les données connues est placée à droite
du signe d’égalité.
1.12 LE COMPTAGE
Le comptage, c’est l’opération ou la zone d’opération qui permet de
soutenir pendant le traitement d’information, la somme de certaines
ressources. Les ressources à compter sont ainsi déterminées à partir de
l’énoncé du problème. D’où, en principe, il faut utiliser un compteur. Ce
dernier n’est autre qu’une zone de la mémoire centrale dans laquelle seront
placés les résultats des opérations de totalisation.
L’interprétation du contenu du compteur sera possible si l’utilisateur a pris soin
de connaître la valeur qui s’y trouvait avant le début des opérations de
comptage. Pour cela, l’utilisateur est tenu de donner une valeur initiale à
chaque compteur avant son emploi.
Cette opération s’appelle l’initialisation DU COMPTEUR.
Le plus souvent, le compteur est initialisé à zéro, et on parle dans ce cas de la
mise à zéro du compteur.
10
1.13 ECRITURE D’UNE CONSTANTE
Pour écrire un caractère ou une chaîne de caractères (constante), il suffit de
transférer dans la zone de sortie en mémoire centrale le caractère et la
chaîne de caractères entourée de deux guillemets et de donner ensuite
l’ordre de l’écriture.
Voici l’ordre à suivre :
- M.A.B en z/s
- TRANSFERT dans la z/s des la chaîne à écrire.
- L’ordre d’écrire.
1.14 LES ENTETES
Les entêtes sont des informations constantes générées par des lignes. Selon la
nature des informations qu’ils fournissent, les lignes sont subdivisées en trois
catégories :
Les lignes « ENTETES » : composées d’une suite de caractères constantes
qu’on met au début d’une page.
Les lignes « DETAILLES » : ce sont des informations provenant du fichier
que le programme traite et qui sont restituées comme résultat en sortie.
Les lignes détailles reprennent au moins un élément de l’enregistrement
qu’on a lu. Les lignes totales c’et les résultats du cumul qui doivent être
imprimés.
N.B. : Les papiers sortent de l’imprimante en continu ; il faudra détecter la fin
de chaque page écrite afin d’ordonner le saut de page et écrire les
informations d’entêtes.
1.15 NOTION DE VARIABLES
On appelle variable, toute zone placée dans la mémoire centrale et pouvant
Prendre différentes valeurs.
On distingue ainsi plusieurs types des variables :
a) Variable numérique : une variable numérique ne peut prendre que des
valeurs pouvant permettre de faire des opérations arithmétiques ; c’est-
à-dire des opérations de calcul :
Addition (+)
Soustraction (-)
11
Multiplication ()
Division (/)
Exponentiation ()
b) Variable alphanumérique : une variable alphanumérique prend les
valeurs qu’on ne peut pas affecter aux opérations de calcul.
N.B. : Une variable alphanumérique peut prendre une valeur
numérique ou alphabétique, c’est-à-dire elle peut accepter une
variable numérique.
c) Variable logique ou BOOLEEN : Pouvant prendre des valeurs logiques
vraie ou fausse (1 ou 0).
Les opérateurs logiques sont :
AND : La conjonction.
Cet opérateur utilise deux opérandes :
Expression 1 V V F F
Expression 2 F V F V
Expression 1 AND Expression 2 F V F F
L’ensemble sera vrai si les deux opérandes sont simultanément vraies.
Exemple: A=3 B=4
A>=3 AND B < 5 V
V V V
OR : La disjonction (ou inclusif)
Il faut qu’une des deux entrées soit VRAIE pour que la sortie soit VRAIE.
Expression 1 V V F F
Expression 2 V F V F
Expression 1 OR Expression 2 V V V F
A=2 B=1
A > = 2 OR B < > 1 – Vrai
A < > 2 OR B = 1 → Vrai
X OR : Ici l’ensemble sera FAUX si les opérandes sont simultanément
RAIES ou sont simultanément FAUSSES.
12
Exp 1 V V F F
Exp 2 V F V F
Exp 1 X OR Exp 2 F V V F
A=3 B=4
A > = 3 X OR B = 4
Vrai Vrai
Faux
NOT : Cet opérateur n’utilise qu’une seule opérande. Cet ensemble
sera VRAI si l’expression est FAUSSE et FAUSSE si l’expression est VRAIE.
Expression 1 V F
NOT Expression 1 F V
A=3 B=4
NOT A < > 3 → V NOT A > = 3 → F
F V
N.B.: Quand on a plusieurs opérateurs logiques dans une expression, la
machine tient compte des opérateurs pour évaluer l’expression.
L’ordre est le suivant :
2 NOT
3 AND
4 OR, XOR
Opérateurs relationnels.
Les opérateurs relationnels sont :
= : Egalité
> : Supérieur à
>= : Supérieur ou égal à
< : Inférieur à
<= : Inférieur ou égal à
13
<> : Différent de
14
EXERCICES
1. Qu’est-ce qu’une information ?
2. Quand est-ce qu’elle peut être traitée par un programme ?
3. Qu’est-ce qu’on entend par traiter une information ?
4. Qu’est-ce que la logique de programmation ? Donnez son but ?
5. Sous quelle forme se présente la logique à suivre pour résoudre un
problème informatique ?
6. Pourquoi disons-nous que l’ordinateur est une machine très bête et
docile ?
7. Comment l’information peut-elle entrer ou sortir de l’ordinateur ?
Expliquez brièvement ?
8. Quand est-ce qu’une information se trouvant sur un cd rom peut-elle
être traitée par ordinateur ? Justifiez-vous.
9. Quelles sont les différentes étapes nécessaires pour résoudre un
problème en logique ? Appuyez-vous par un exemple.
10. La mise à blanc d’une zone est-elle nécessaire en logique ? Pourquoi ?
11. Qu’est-ce qui différencie :
Une zone d’entrée d’une zone de lecture ?
Une zone de lecture d’une zone de sortie ?
Une zone de sortie et une zone d’écriture ?
12. Définissez et comparez un fichier et un enregistrement.
13. De quoi est composé un fichier ? Un enregistrement ?
15
CHAPITRE DEUXIEME
2..1 LES INSTRUCTIONS STRUCTUREES ET LES BOUCLES
2.1.1 LES INSTRUCTIONS STRUCTUREES
a) Instruction composée
Les instructions composées sont des suites d’instructions simples devant être
exécutées de façon séquentielle pour réaliser une opération.
Exemple :
Soit à calculer la somme et la moyenne arithmétique de deux nombres A et B
et de produire les résultats.
Soit A le premier nombre ;
Soit B le deuxième nombre ;
Soit C la somme de A et B ;
Soit M la moyenne arithmétique.
Solution :
00 début
01 lire A
02 lire B
03 C = A + B instruction composée de 6 instructions simples
04 M = C/2
05 afficher C
06 afficher M
07 Fin
b) Instruction alternative
Une instruction alternative fait intervenir une condition. Elle correspond
ainsi au test unique d’une expression logique. LLe résultat sera VRAI si la
condition est remplie et FAUX dans le cas contraire. On distingue deux
formes d’instructions alternatives :
- Instruction alternative réduite
Dans ce cas, l’instruction n’est exécutée que si l’évaluation de la
condition ou de l’expression donne un résultat égal à VRAI.
16
SI CONDITION
FAUSSE CONDITION VRAIE
Alors ACTION
FIN DE SI ACTION
- Instruction alternative complète
Une instruction alternative complète exécute une action si l’évaluation de
l’expression donne un résultat égal à VRAI ou une autre si le résultat est FAUX.
SI CONDITION
FAUSSE CONDITION VRAIE
Alors ACTION 1
SI NON ACTION 2 ACTION 2 ACTION 1
FIN DE SI
FIN DE SI
- Instruction alternative imbriquée
S’il y a plusieurs SI conditionnels qui se suivent, on parle ainsi de SI imbriqués ;
d’où il faut vérifier la fin de chaque cas de SI par rapport à l’arborescence de
traitement.
FAUSSE VRAIE
CONDITION 1
FAUSSE VRAIE
CONDITION
FAUSSE CONDITION 2 VRAIE
ACTION
ACTION 4
N5
2.1.2 LES BOUCLES
On parle d’une boucle quand il s’agit d’exécuter un traitement autant de fois
tant que la condition sera remplie.
a) Traitement à une boucle
- Principe du fonctionnement à une boucle (TANT QUE)
(a) Ouverture boucle par le mot clé TANT QUE suivi d’un prédicat
(Condition).
17
(b) Fermeture boucle par le mot clé FIN TANT QUE
(c) Toutes les instructions situées entre TANT QUE et FIN TANT QUE sont
exécutées d’une façon répétitive aussi longtemps que le prédicat
(condition) qui accompagne TANT QUE est vrai.
(d) La sortie de la boucle a lieu quand le prédicat (condition) qui
accompagne TANT QUE devient faux.
- Algorithme à une boucle
SEQ. DEBUT ALGO
10
SEQ. TRAITEMENT
20
SEQ. FIN ALGO
30
18
B, Traitement à deux boucles emboîtées
Principe de fonctionnement
1) Séquence début algorithme
2) Séquence début boucle inférieure
3) Séquence traitement enregistrement logique
4) Séquence de fin boucle inférieure
5) Séquence fin algorithme
Algorithme à deux boucles
SEQUENCE DEBUT ALGO
10
SEQUENCE DEBUT BOUCLE INFERIEURE
20
SEQUENCE TRAITEMENT LOGIQUE
30
40 SEQUENCE FIN BOUCLE INFERIEURE
SEQUENCE FIN ALGORITHME
50
19
Exemple d’un algorithme à une boucle et à deux boucles
a. Algorithme à une boucle
Soit à calculer la paie des agents de TOP INFO à partir du fichier « FPAIE »
dont chaque enregistrement comporte : MATRIC. 5 AN, NOMPOS 25 AN, SXE 1
AN, SLBRUT 10N, RETENU 10N. On vous demande d’imprimer pour chaque
agent le Matricule, le nom et le post-nom ainsi que le net à payer.
N.B. : NET A PAYER = SALAIRE BRUT – RETENU
ALGORITHME :
SEQ. DEBUT ALGO
OUVERTURE « F PAIE », « FRESULTAT »
N.A.P = 0
TANT QUE NON FIN FICHIER « F PAIE »
- LECTURE MATRIC, NOMPOS, SXE, SALBRUT, RETENU
- N.A.P = SALBRUT – RETENU
- ECRIRE MATRIC, NOMPOS, N.A.P
FIN DE TANT QUE
SEQ. FIN ALGORITHME
FERMER « F PAIE », « FRESULTAT »
FIN
b. Algorithme à deux boucles imbriquées
Admettons que l’entreprise souhaite un listing de PAIE où les agents sont
regroupés par catégorie. Il faudra donc insérer dans la structure de ce fichier
un code catégorie et attribuer ainsi à chaque agent la valeur de sa
catégorie.
Exemple : (CAT01, CAT02 ou CAT01 signifie les agents d’exécution et CAT02
les cadres).
A la fin de chaque catégorie, il faudra imprimer le total net à payer par
catégorie.
A la fin du fichier, il faudra imprimer le total général Net à payer (représentant
la sommation de tous les net à payer de toutes les catégories).
20
Ordinogramme :
SEQUENCE DEBUT ALGO
10
SEQUENCE DEBUT CATEGORIE
20
SEQUENCE TRAITEMENT AGENT
30
40 SEQUENCE FIN CATEGORIE
SEQUENCE FIN ALGORITHME
50
ALGORITHME :
DEBUT ALGO
OUVERTURE « FPAIE »
NAP = 0, TOTNAP = 0, TOGEN = 0
TANT QUE NON FIN FICHIER
TANT QUE NON FIN CATEGORIE
LECTURE MATRIC, NOMPOS, SXE, SALBRUT, RETENU
NAP = SALBRUT – RETENU
ECRIRE MATRIC, NOMPOS, NAP
TOTNAP = TOTNAP + NAP
FIN DE TANT QUE (CATEGORIE)
AFFICHER TOTNAP (par catégorie)
21
TOTGEN = TOTGEN + TOTNAP
TOTNAP = 0, NAP = 0
FIN DE TANT QUE (NON FIN FICHIER)
AFFICHER TOTGEN
FERMER « FPAIE »
FIN ALGO
c) Boucle pour
Dans un traitement itératif, donc, répétitif, le nombre des enregistrements ou
des cas à traiter peuvent être connu ; dans ce cas, on peut utiliser la boucle
« POUR ».
Exemple :
Soit à afficher 5 fois le mot « G1 TR »
Algorithme :
X = G1 TR » → X est une variable alphanumérique
POUR A = 1 jusqu’à 5
Afficher X
FIN de A
A l’intérieur de cette boucle, A se comporte comme un compteur qui sera
incrémenté de +1 chaque fois que « G1 TR » est affiché. Après le cinquième
affichage ; c’est-à-dire quant X sera égal à 5 ; la boucle sera cassée.
Syntaxe
POUR VAR = (VARD à VARF (I)
Action
Fin de POUR
N.B. : I est le pas d’incrémentation qui sera égal à 1 s’il n’est pas précisé par
l’utilisateur.
VARD est la valeur de la variable de départ
VARF est la valeur de la variable d’arrivée après laquelle la boucle doit
être cassée.
22
d) Boucles Répéter jusque
Cette boucle est utilisé de la même façon que la boucle « TANT QUE » et
« POUR », la différence se situe au niveau du positionnement de la condition.
Syntaxe
REPETER
< ACTION >
JUSQUE < CONDITION >
Exemple :
Début
X = G1 TR »
A=0
Répéter
A=A+1
Jusque A = 5
Afficher X
FIN
2.1.3 Sous programme
Par opposition au programme principal, un sous programme est une portion
de programme constitué des instructions utilisables par plusieurs cas relatif à
un problème posé.
Pour éviter que tous les cas possibles utilisent ces instructions à tour de rôle, il
est conseillé de les assembler sous forme d’un petit programme qui sera
appelé toutes les fois que chacun de cas en aura besoin.
N.B. : L’utilisation d’un sous programme permet :
Un gain d’espace mémoire
La rapidité de traitement
La facilité dans la maintenance des programmes
23
CHAPITRE TROISIEME
GESTION DE TABLEAU
3.1 NOTIONS DE VARIABLES
Dans les pages précédentes, nous avons vu qu’une variable était une zone
placée en mémoire de l’ordinateur et pouvant prendre des valeurs ou des
constantes.
Exemple : X est une variable, elle peut prendre comme valeur 0, 1, 2…
3.2 FORMES DES VARIABLES
On distingue deux formes de variables :
Variables simples ;
Variables composées ou indicées ou blocs.
3.2.1 Variables simples
Les variables simples sont celles dont en un moment donné ne peuvent
contenir qu’une seule valeur.
3.2.2 Variables indicées
Ici, on peut en un moment donné avoir plusieurs valeurs. Les variables sont
compartimentées et chaque compartiment peut contenir une valeur. Les
différentes valeurs particulières seront référencées par le nom de la variable
et des indices. Le nombre des indices nécessaires pour spécifier une valeur
particulière dans le bloc, détermine la dimension du bloc selon qu’il faut
utiliser 0, 1, 2… n indices.
On parle ainsi de variable MONO, B1, TR1, n dimensionnel.
La valeur d’un indice commence toujours par 0 et doit être un nombre
entier (Sans virgule).
Les données du tableau doivent être de même type.
L’indice maximale du tableau est égale à sa taille moins 1.
La valeur de l’indice ne peut pas aller au-delà du nombre des éléments
du tableau :
Si le tableau a 5 éléments, on ne peut pas écrire
NOMTAB (7).
NOMTAB (4) et le 5ème élément du tableau.
24
Exemple 1
Soit un tableau TABL à 4 lignes et 3 colonnes :
13 21 14
40 12 16
22 15 13
10 26 20
Les données sont classées en lignes et en colonnes si bien que pour accéder
une donnée précise, il faudra préciser l’indice de la case contenant la
donnée en question.
Exemple 2
TABL (2, 3) : Correspond à l’élément 16
A = TABL (2, 3) → affecte la valeur 16 à la variable A.
On peut également modifier le contenu de la table : TABL (2, 3) = 96 → le
contenu de la case de la 2ème ligne et 3ème colonne est modifié c’est-à-dire
16 est remplacé par 96.
Exemple 3
Soit à charger une table à une dimension possédant les éléments suivants :
lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche.
Cette table a 7 éléments.
10 TABL (7)
20 I=0
30 LIRE TABL(I)
40 SI I = 7 : ALLER A 70
SI NON « CHARGER UN ELEMENT »
50 I=I+1
60 ALLER A 30
70 FIN
25
Ou encore :
DEBUT
10 TABL (7)
I=1
20 POUR I = 1 TO 7
30 LIRE TABL (7)
40 FIN DE I
LECTURE TAB (I)
50 FIN
N
I=7 I=I+1
ø
FIN
Exemple :
Soit à charger la table de l’exemple 1
a) 1ère solution
10 TAB (4, 3)
20 A=1
30 B=1
40 LIRE TABL (A, B)
50 SI A = 4 Aller à 70
SI NON A = A + 1
60 ALLER A 40
70 SI B = 3 ALLER A 90
SI NON B = B + 1
80 ALLER A 40
90 FIN
26
b) Solution n° 2
10 TABL (4, 3)
20 POUR A = 1 à 4
30 POUR B = 1 à 3
40 LIRE TABL (A, B)
50 FIN DE POUR B
60 FIN DE POUR A
70 FIN
c) Solution n° 3
DEBUT
A=1
B=1
LIRE TABL (A, B)
A=4 N A=A+1
ø
N
B=3 B=B+1
ø
FIN
N.B. : Pour effectuer la recherche dans un tableau, il est conseillé d’utiliser une
boucle pour de raison de rapidité et de performance. L’argument de
27
recherche sera comparé à l’élément du tableau indicé jusqu’à retrouver la
valeur voulue.
Exemple :
Soit à rechercher dans un tableau de 4 éléments une valeur précise et à
calculer et éditer sa racine carrée.
Solution n° 1
10 DEBUT
20 B=0
30 I=1
40 LIRE B
50 LIRE TAB (I)
60 SI B = TAB (I)
X = TAB (I)
C=X2
AFFICHER C
ALLER A 70
SI NON I = I + 1
SI I = 4
Aller à 70
SI NON
Aller à 50
FIN DE SI
FIN DE SI
70 FIN
Solution n° 2
5 DEBUT
10 TABL (4)
20 I=1
28
30 B=0
40 LIRE B
50 POUR I = 1 à 4
60 LIRE TABL (I)
70 SI B = TABL (I)
X = TABL (I)
C= X2
Afficher C
80 FIN DE POUR
90 FIN
Solution n° 3
DEBUT
I=1
B=0
LIRE B
LIRE TAB (I)
N N
I=4 B = TAB (I)
I=I+1
Ø
Ø X = TAB(I)
C=X2
Afficher C
FIN