Upload
aelfkih
View
24
Download
0
Embed Size (px)
Citation preview
ISBN 2-89432© La Cité collégiale, décembre, 1999
Le guide de cours Algorithme a été élaboré pour :
La Cité collégiale801, promenade de l'aviationOttawa (Ontario)K1K 4R3
(613) 742-2483
Nous remercions le ministère de l'Éducation et de la formation de l'Ontario ainsi que le ministèredu Patrimoine canadien pour leur contribution financière à la réalisation de ce projet.
Table des matières
________________________________Algorithme et résolution de problèmes
Section 1 ____________________________________________________________________________ 5
0- Binaire _______________________________________________________________________ 6Une introduction __________________________________________________________________ 6La mémoire ______________________________________________________________________ 6
Rôle __________________________________________________________________________ 6Composition ___________________________________________________________________ 6
Fonctionnement du système binaire____________________________________________________ 7Fonctionnement du système hexadécimal ______________________________________________ 10
Conversion de décimal à hexadécimal _____________________________________________ 11Conversion d’hexadécimal à décimal ______________________________________________ 11
Supplément _____________________________________________________________________ 11Le code ASCII _________________________________________________________________ 12Travail en salle de classe _________________________________________________________ 12
I- Terminologie et concept de base __________________________________________________ 15programme______________________________________________________________________ 15grandeur d’un programme __________________________________________________________ 15qualité d’un programme____________________________________________________________ 16instruction ______________________________________________________________________ 16logique _________________________________________________________________________ 16variable ________________________________________________________________________ 17constante _______________________________________________________________________ 17expressions mathématiques _________________________________________________________ 17
Exercices _____________________________________________________________________ 18opérateurs relationnels _____________________________________________________________ 18opérateurs logiques _______________________________________________________________ 18les erreurs_______________________________________________________________________ 19types de données _________________________________________________________________ 20fonctions________________________________________________________________________ 20
II- Programmation structurée _______________________________________________________ 21a) définition ___________________________________________________________________ 21b) étapes de solution_____________________________________________________________ 21
c) organigramme et pseudo-codes __________________________________________________ 21d) structures de base _____________________________________________________________ 23
i) structure séquentielle ________________________________________________________ 23ii) structure de décision_________________________________________________________ 24iii) structure de répétition______________________________________________________ 24iv) structure de cas___________________________________________________________ 25
III- Structure séquentielle __________________________________________________________ 26Définition_______________________________________________________________________ 26
Section 2 ___________________________________________________________________________ 29IV- Structure de décision ___________________________________________________________ 30
Introduction _____________________________________________________________________ 30Structure de décision simple ________________________________________________________ 32
Définition_____________________________________________________________________ 32(Structure de décisions imbriquées ___________________________________________________ 49
Définition_____________________________________________________________________ 49Section 3 ___________________________________________________________________________ 62
V- Structure de répétition __________________________________________________________ 631. Définition ___________________________________________________________________ 632. Types ______________________________________________________________________ 63
a) avec drapeau _______________________________________________________________ 63b) avec compteur______________________________________________________________ 63
3. Exemple avec drapeau__________________________________________________________ 634. Exemple avec compteur ________________________________________________________ 65
5. Exercices _________________________________________________________________ 65VI- Schéma hiérarchique ___________________________________________________________ 66
1. Introduction _________________________________________________________________ 66Exemple 1 sans structure de répétition_______________________________________________ 66Exemple 2 avec structure de répétition ______________________________________________ 67
VII- Fichier _____________________________________________________________________ 701. Définition ___________________________________________________________________ 70
2. Exemple __________________________________________________________________ 70VIII- Rapports__________________________________________________________________ 77
1. Notes générales ______________________________________________________________ 772. Contenu ____________________________________________________________________ 773. Étapes d’utilisation____________________________________________________________ 774. Exemple ____________________________________________________________________ 775. Nombre de lignes par page______________________________________________________ 806. Ajouter un total ______________________________________________________________ 82
IX- Brisure de contrôle ____________________________________________________________ 831. Rôle _______________________________________________________________________ 832. Exemple ____________________________________________________________________ 833. La logique __________________________________________________________________ 841. Définition ___________________________________________________________________ 852. Exemple ____________________________________________________________________ 853. Remplir le tableau ____________________________________________________________ 85
a) Entrer les données directement dans le tableau ____________________________________ 86b) Demander àa l’utilisateur d’entrer les données ____________________________________ 88
Algorithme et résolution de problèmes
Section 1 page 6 de 91
0- Binaire
Une introduction
L’ordinateur fonctionne avec des circuits électroniques. Tout circuit peut avoir deux états soit : une chargeélectrique ou aucune charge électrique. Il faut donc utiliser un système qui permet de stocker une lettre ouun chiffre dans un circuit.
Les données, programmes et informations sont enregistrés temporairement en mémoire vive (RAM -Random Access Memory).
La mémoire
Rôle
Le premier rôle de la mémoire consiste à enregistrer temporairement les données,programmes et informations.
Dans cette partie du cours, nous allons examiner la mémoire vive (RAM - RandomAccess Memory). Elle est volatile; son contenu est effacé lorsque l’usager éteintl’ordinateur.
Composition
La mémoire est une puce composée de petites cases.
Chaque petite case se nomme octet (byte en anglais) et peut entreposer un caractère(lettre, chiffre, caractère spécial). De plus, chaque octet possède une adresse.
Par exemple : Le nom LUC utilise 3 octets.
1024 octets = 1 kilo-octet 1 Ko 1 Kb (Kilo-byte) en anglais
1 048 576 = 1 Méga-octet1 Mo
Algorithme et résolution de problèmes
Section 1 page 7 de 91
1 Mb (Mega-byte) en anglais
1 073 741 824 = 1 Giga-octet1 Go1 Gb (Giga-byte)
1 099 511 627 776 = 1 Tera-octet1 To1 Tb (Tera-byte)
Fonctionnement du système binaire
Il faut répondre à la question suivante : Comment stocker la valeur 10 dans un octet?
Étant donné que l’ordinateur fonctionne avec l’électronique, les puces peuvent recevoirou non un courant électrique. Il existe seulement deux états. Nous devons donc utiliserle système binaire.
Le système binaire contient seulement deux valeurs, soit 0 et 1.
Examinons l’octet à l’adresse 18.
7 6 5 4 3 2 1 0
Chaque octet est composé de petites cases numérotées de 0 à 7.Chaque petite case se nomme un bit (binary digit).
Pour donner une valeur numérique à la case, vous devez assigner une valeur
base 2 puissance la position.
7 6 5 4 3 2 1 0
27 26 25 24 23 22 21 20
Il faut maintenant remplacer la valeur de position par la valeur numérique.
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Algorithme et résolution de problèmes
Section 1 page 8 de 91
On peut maintenant effacer les valeurs du bas.
128 64 32 16 8 4 2 1
Pour stocker la valeur 10
128 64 32 16 8 4 2 1
- Trouver la valeur qui est égale à 10 ou la plus prèssans dépasser 10.
- Dans notre cas, la valeur la plus près de 10 sansdépasser 10 est 8.
- Mettre un 1 dans la case 8.
128 64 32 16 8 4 2 11
- 10 - 8 = 2- Trouver la valeur qui est égale à 2 ou la plus près
sans dépasser 2.- Mettre un 1 dans la case 2.
128 64 32 16 8 4 2 11 1
- Mettre un 0 dans les autres cases.
128 64 32 16 8 4 2 10 0 0 0 1 0 1 0
Donc la valeur 10 en binaire = 0000 1010.
Ce n’est pas nécessaire de diviser en groupe de 4 mais, c’est plus facile à lire.Il est aussipossible faire l’inverse. Voici donc une valeur binaire.
128 64 32 16 8 4 2 10 1 0 0 1 0 1 0
Pour convertir la valeur ci-dessus en décimal, il faut additionner la valeur de la case où ily a la valeur 1.
64 + 8 + 2 = 74
Addition binaire
1 0 1 1+0 +1 +1 1___ ___ ___ +1 1 1 10 11
Algorithme et résolution de problèmes
Section 1 page 9 de 91
Exemple
11 0000 0111+0000 0111__________ 0000 1110
À faire
a) 21 + 36b) 15 + 14c) 127+128
Algorithme et résolution de problèmes
Section 1 page 10 de 91
Soustraction binaire
- On fait le complément de deux avec le deuxième octet.
- exemple : 7-4
0000 01110000 0100 -> 1111 1011
+ 1_________1111 1100
0000 0111+ 1111 1100___________ 0000 0011
À faire
a) 40-30b) 16-6c) 255-128
Fonctionnement du système hexadécimal
Lorsqu’un problème survient avec un logiciel (programme), le programmeur doit faireimprimer le contenu de la mémoire. Il est très difficile de lire des 0 et 1. Le systèmehexadécimal est utilisé pour imprimer (ou afficher) le contenu de la mémoire.
Étapes
i) Il faut séparer l’octet en deux groupes de 4 bits.
ii) Chaque groupe de 4 bits possède les valeurs 8 4 2 1.
Voici comment cela fonctionne avec un exemple :iii) Additionner les valeurs des 4 premiers bits = 12.iv) Additionner les valeurs de 4 derniers bits = 3.v) Nous devons utiliser seulement une valeur pour
représenter le contenu de 4 bits.Le système hexadécimal utilise le tableau suivant :
Décimal Hexadécimal
0-9 0-910 A11 B12 C13 D14 E15 F
vi) Donc la valeur
Algorithme et résolution de problèmes
Section 1 page 11 de 91
8 4 2 1 8 4 2 11 1 0 0 0 0 1 1
C16 316
Convertir la valeur binaire suivante en hexadécimal.
8 4 2 1 8 4 2 11 1 1 0 1 1 1 1
14 15E16 F16
Convertir la valeur binaire suivante en hexadécimal.
8 4 2 1 8 4 2 11 1 0 0 0 1 1 1
12 7C16 716
Conversion de décimal à hexadécimal
Pour convertir de décimal à hexadécimal vous devez d’abord convertir en binaire etensuite en hexadécimal.
Pour convertir la valeur 90
90 en binaire
128 64 32 16 8 4 2 10 1 0 1 1 0 1 0
Il faut ensuite convertir en hexadécimal.
8 4 2 1 8 4 2 10 1 0 1 1 0 1 0
5 10516 A16
Conversion d’hexadécimal à décimal
5A16 = A * 1 = 105 * 16 = 80 le total = 90
Supplément
- La mémoire vive est composée de cases que l'on nomme octets.
- Chaque octet contient 8 bits (bit = acronyme binary digit).
Exemple 1
Exemple 2
Exemple
Algorithme et résolution de problèmes
Section 1 page 12 de 91
Question
Pourquoi 1 Ko = 1024 octets ?
1024 512 256 128 64 32 16 8 4 2 1
Réponse
C'est plus rapide de mettre un 1 dans le bit 1024 que de compter 1000 pour 1 kilo.
Le code ASCII
Le code ASCII (Amercian Standard Code for Information Interchange) est simplement untableau utilisé pour représenter les touches du clavier en mémoire.
Chaque caractère est enregistré en mémoire selon le code ASCII. Les valeurs numériques utiliséespour des calculs sont transférées en valeurs binaires pures, calculées et remisent en code ASCII.
L'usager tape LOUISE. L'ordinateur va vérifier dans la table ASCII le code pour chaque lettre dumot LOUISE et transfère cette valeur numérique en mémoire vive.L'usager tape la valeur 71 et 23. L'ordinateur va vérifier dans la table ASCII le code pour le :
chiffre 7 et met la valeur numérique en mémoire vive, 1 et met la valeur numérique en mémoire vive, 2 et met la valeur numérique en mémoire vive,
3 et met la valeur numérique en mémoire vive.
Travail en salle de classe
1. Convertir en binaire
a) 49 b) 38
c) 50 d) 128
e) 255
2. Convertir en décimal
a) 0111 1100 b) 0111 1111
c) 0001 1110 d) 0110 1011
3. Convertir en hexadécimal
a) 39 b) 62
c) 98 d) 221
Algorithme et résolution de problèmes
Section 1 page 13 de 91
4. Convertir en décimal
a) 8F16 b) 3916
c) 2D16 d) DB16
Algorithme et résolution de problèmes
Section 1 page 14 de 91
Travail en salle de classeBinaire - hexadécimal
(6) 1. Convertir en binaire
a) 21 b) 108 c) 211
(6) 2. Convertir en décimal
a) 0111 0011 b) 1111 0011 c) 1010 1010
(12) 3. Convertir en hexadécimal
a) 49 b) 36 c) 29
d) 0111 1111 e) 0011 1100 f) 1011 0110
(6) 4. Convertir en décimal
a) BC16 b) AB16 c) EF16
(2) 5. En vos propres mots et en détail, expliquer le rôle du systèmehexadécimal.
(3) 6. Pourquoi 1 Ko = 1024 octets ?
Algorithme et résolution de problèmes
Section 1 page 15 de 91
I- Terminologie et concept de base
programme
Un programme, conçu par un programmeur, se définit comme une série d’instructions dans unlangage que l’ordinateur comprend.
La logique préparée par le programmeur s’applique à n’importe quel langage,c’est pourquoi les outils de ce cours vous permettront de préparer la logique duprogramme adéquatement.
grandeur d’un programme
simple - moins de 1000 lignes- écrit par un seul programmeur- aucune interaction avec un autre programme
moyen - moins de 10 000 lignes- écrit par 1 à 5 programmeurs
- a un peu d’interaction avec les autres programmes
complexe - moins de 100 000 lignes- écrit par 6 à 20 programmeurs- contient plusieurs sous-systèmes- une interaction avec les autres programmes
absurde - plus de 100 000 lignes de code- écrit par plus de 21 programmeurs- une interaction avec plusieurs systèmes
Algorithme et résolution de problèmes
Section 1 page 16 de 91
qualité d’un programmea) Un bon programme doit :
- fonctionner
- fonctionner selon les spécifications
- pouvoir être modifié facilement
- être prêt à temps
- être très bien documenté
- utiliser la mémoire efficacement
Veuillez noter que plus de 65 % du temps d’un programmeur est consacré à lamodification de programmes.
instruction
Un programme se compose d’instructions. Le synonyme d’instruction est action, tellequ’additionner ou soustraire.
logique
Le rôle du programme consiste à préparer la logique afin de taper les instructions dans unlangage que l’ordinateur comprend. La logique se définit par les étapes individuelles àsuivre pour effectuer un travail.
Algorithme et résolution de problèmes
Section 1 page 17 de 91
variable
Tout programme doit utiliser des variables. Le mot variable signifie que le contenu vachanger. Une variable est tout simplement un nom que le programmeur donne à une caseen mémoire.
Exemple : entre NOMaffiche NOM
L’utilisateur tape ERNEST.Le nom ERNEST est entreposé dans une case en mémoire quiporte le nom NOM.
constante
La constante est une autre case dans la mémoire de l’ordinateur dont le contenu ne changepas.
SOMME = VALEUR1 + 4
SOMME et VALEUR1 sont des variables4 est une constante
expressions mathématiques
Symbole Signification
+ addition
- soustraction
/ division
* multiplication
** ou ^ exposant
Les opérations doivent suivre les règles de l’algèbre.
Algorithme et résolution de problèmes
Section 1 page 18 de 91
Exercices
Coder les formules suivantes.
a) A = P(1 + I)
b) C = A + B D
c) D = 2 m i 34 b
d) N = (B - 25) * C
opérateurs relationnels
= égal
< plus petit
> plus grand
<= plus petit ou égal
>= plus grand ou égal
<> différent
opérateurs logiques
OR une des conditions doit être vraie
(A=3 OR B=4) affiche ALLO
si A = 3 affiche ALLOA= 4 affiche rienB=4 affiche ALLOB=5 affiche RIEN
AND toutes les conditions doivent être vraies
(A=3 AND B =4) affiche BYE
si A=3 B=5 affiche rienA=3 B=4 affiche BYE
Algorithme et résolution de problèmes
Section 1 page 19 de 91
NOT pour rendre une condition négative
NOT A = 3 affiche MOI
si A=3 affiche rienA=2 affiche MOIA=1 affiche MOI
les erreurs
- de syntaxe (erreur de frappe)
- de variable non initialisée
- de logique (étape oubliée)
- de partage de valeurs entre les modulesNous examinerons ce sujet un peu plus loin.
- de tableaudernière section du manuel
- de mauvaise terminaison du programmeLe programme ne se termine pas normalement.
- de décisionune mauvaise décision prise
- compteur trop petitNous verrons ce sujet un peu plus loin.
- division par zéroLors de l’utilisation de formules, il y a une division par zéro.
- utiliser une mauvaise version d’un programme
Algorithme et résolution de problèmes
Section 1 page 20 de 91
types de données
Type Contenu
numérique réel valeur numérique telle que le prix d’unproduit
alphabétique un seul caractère pouvant être une lettre de A à Z
alphanumérique un seul caractère pouvant êtren’importe quelle touche du clavier
chaîne de caractères série de caractères alphabétiques
ou alphanumériques
date contient la date et/ou l’heure
logique une valeur binaire (0 ou 1)
entier numérique valeur numérique sans décimale
fonctions
Une fonction est un sous-programme incorporé au langage permettant d’effectuer uneopération rapidement. Le nom des fonctions varie selon le langage utilisé.
Nom Rôle
SQRT(A) calcule la racine carrée de A
AVERAGE(A) calcule la moyenne de A
INTEGER(A) retourne la valeur entière de A
Algorithme et résolution de problèmes
Section 1 page 21 de 91
II- Programmation structurée
a) définition
La programmation consiste à indiquer les étapes à suivre pour accomplir un travail.
De nos jours, les programmeurs doivent utiliser la programmation structurée. Le termestructuré signifie donner une forme stricte au programme en utilisant des outils et ensuivant des règles strictes.
b) étapes de solution
Les étapes de solution de problèmes selon les règles de laprogrammation structurée consiste à :
- lire le problème attentivement afin de vérifier si les données nécessaires sontdisponibles
- dresser une liste des données
- préparer le rapport
- établir la logique soit avec le pseudo-codes ou l’ordinogramme
- coder le programme
- « déboguer » le programme
- roder le programme
- mise en production du programme
c) organigramme et pseudo-codes
Le terme organigramme est synonyme d’ordinogramme. Dans le présent ouvrage,j’utilise le terme organigramme.
L’organigramme et le pseudo-code sont des outils utilisés par le programmeur pourdémontrer la logique sur papier. L’organigramme illustre la logique graphiquementtandis que le pseudo-code utilise l’écriture.
Exemple
Algorithme et résolution de problèmes
Section 1 page 22 de 91
Lors de la conception d’ordinogrammes, le programmeur doit utiliser les normes. Voici une listedes symboles :
D é finitio n A lg o rithm e O rdino g ra m m e
d éb ut S T AR T
entrée d es d onnées ENT ER
calcul variab le, express io n
so rtie W R IT E o u P R INT
d écis io n IF
s truc ture d e cas C AS E
c o nnec teur d e d éc is io ns
co nnec teur d e p ages
Algorithme et résolution de problèmes
Section 1 page 23 de 91
d) structures de base
Il existe quatre structures de base pour la conception d’ordinogrammes.
i) structure séquentielleii) structure de décisioniii) structure de répétitioniv) structure de cas
i) structure séquentielle
A lg o rithm e O rdino g ra m m e
ÂG E
1. S T AR T
2. ENT ER no m, âge
3. P R INT no m, âge
4. END
ÂG E
entreno m,âge
imp rimeno m, âge
fin
Algorithme et résolution de problèmes
Section 1 page 24 de 91
ii) structure de décision
A lg o rithm e O rdino g ra m m e
I F NO TE = 10 0 THEN
L ETTR E = AEND -I F
NO TE =1 00
L ETTR E = A
iii) structure de répétition
A lg o rithm e O rdino g ra m m e
W H ILE T E R M IN E R = " N O N "P R IN T A LLO
E N D -W H IL E
R E P E A TV A LE U R = VA L E U R + 1U N T IL VA LE U R = 3
E N D -R E P E AT
TER MI NER= " NO N"
a ff ich eA LL O
V A LEUR< 3
V A LEUR =V A LEUR + 1
Algorithme et résolution de problèmes
Section 1 page 25 de 91
iv) structure de cas
CAS EN O T E
affic heEX CELLEN T affic he BO N
affic heM O YEN
= A = B = C
Algorithme
CASE OF NOTE= A
PRINT EXCELLENT= B
PRINT BON= C
PRINT MOYENEND-OF-CASE
Algorithme et résolution de problèmes
Section 1 page 26 de 91
III- Structure séquentielle
Définition
Une structure séquentielle exécute les étapes une à la suite de l’autre.
2. Exemple 1
Concevoir un ordinogramme pour calculer la moyenne de trois notes.
Afficher la moyenne.
NOTE 1 = 10NOTE 2 = 20NOTE 3 = 40
La moyenne = somme des trois notes / 3
NO T ES
NO T E 1 = 10
NO T E 2 = 20
NO T E 3 = 40
SO MME = NO T E 1 + NO T E 2 + NO T E 3
FIN
MOYENN E = SO MME / 3
affic herMOYENN E
EMBED
Algorithme et résolution de problèmes
Section 1 page 27 de 91
3. Exemple 2
Demander à l’utilisateur d’entrer deux nombres.
Calculer la somme des deux nombres.
Afficher la somme.
T O T AL
S O M M E = N O M BRE 1 + N O M BRE 2
F IN
affic herS O M M E
entreN O M BRE1
entreN O M BRE 2
Algorithme et résolution de problèmes
Section 1 page 28 de 91
4. Exemple 3
Afficher le menu suivant :
RÉPARATION
1. Ajouter un(e) client(e).
2. Imprimer la facture.
3. Terminer le travail.
M EN U
affic he"RÉ P ARAT IO N "
affic he "1. Ajouterun c lient(e)
aff ic he "2.Im prim er fac ture"
aff ic he "3.T erm iner le travail"
F IN
Algorithme et résolution de problèmes
Section 2 page 30 de 91
IV- Structure de décision
Introduction
La structure de décision a pour rôle d’effectuer des vérifications et ensuite d’effectuer un travailspécifique.
Le format de la décision est IF THEN ELSE.
IF conditionTHEN action-1ELSE action-2END-IF
Exemple
IF NOTE = 99THEN affiche « Un beau A+ »ELSE affiche « Tu n’as pas un A+ »END-IF
Algorithme et résolution de problèmes
Section 2 page 31 de 91
Selon les différents manuels, il existe deux façons de dessiner les structures de décisions.
Méthode 1 Méthode 2
Pour le cours, je vais utiliser seulement la méthode 2.
Algorithme et résolution de problèmes
Section 2 page 32 de 91
Structure de décision simple
Définition
Une structure de décision contient des vérifications.
Formes de base
F V F V
F V
Algorithme et résolution de problèmes
Section 2 page 33 de 91
Exemple 1
Calcul de l’âge d’une personne
Donnée l’année de naissance
Sortie un message selon les spécifications
Spécifications
1. L’année de naissance provient de l’utilisateur.
2. Utiliser l’année actuelle pour calculer l’âge.
3. Si âge Afficher
< = 20 Encore jeune
> 20 Trop jeune
ÂG E
entrenaissance
âge = 2004 - naissance
âge < =20
affiche"enco re jeune"
affiche"tro p jeune"
F IN
F V
Algorithme et résolution de problèmes
Section 2 page 34 de 91
ÂG E
entrenaissance
âge < = 20
affiche"enco re jeune"
âge > 20
affiche " tro pjeune"
F IN
Algorithme et résolution de problèmes
Section 2 page 35 de 91
Exemple 2
Calcul du salaire brut
Donnéesnom de l’employétaux horairenombre d’heures travailléespourcentage de déduction
SortieSortie le salaire brutle montant des déductionsle salaire net
Spécifications
1. Les données proviennent de l’utilisateur.
2. Le salaire brut = heures * taux.
3. Le montant des déductions = salaire brut * pourcentage de déduction.
4. Le salaire net = salaire brut - déductions
5. Si le salaire net est inférieur àa 400 $, remettre 400 $ àa l’employé carvous travaillez pour une compagnie généreuse.
Algorithme et résolution de problèmes
Section 2 page 36 de 91
P AIE
entre NO M
entre T AUX
entreHEUR ES
entre P O UR C ENT
BR UT = HEUR ES * T AUX
DEDUC = BR UT * P O UR C ENT
NET = BR UT - DEDUC
A1
Algorithme et résolution de problèmes
Section 2 page 37 de 91
NET <400 $
NET = 400 $
A1
affic he BR UT ,DEDUC , NET
F IN
Algorithme et résolution de problèmes
Section 2 page 38 de 91
Exemple 3
Calcul d’une commission de vendeur
Données nom du vendeurnombre d’articlesarticle vendus au début du moisnombre d’articlesarticle vendusvendu àa la fin du mois
SortieSortie Afficher le nom du vendeur et le montant de commission.
Spécifications
1. Les dDonnées sont obtenues de l’usager.
2. Le nombre d’articles vendus = vente àa la fin du mois - vente au début du du mois
3. Le montant de commission est basé sur le nombre d’articles vendus.
Nombre d’articles Montant de commission ($)
1-10 $ 500 $11 et plus $ 1200 $
Algorithme et résolution de problèmes
Section 2 page 39 de 91
C O M M IS S IO N
entre NO M
entreDÉBUT
entre F IN
vend u 1 -10
C O M M =500 $
C O M M =1200 $
affic he NO M ,C O M M
F IN
VENDU =F IN - DÉBUT
Algorithme et résolution de problèmes
Section 2 page 40 de 91
C O M M IS S IO N
entre NO M
entreDÉBUT
entre F IN
vend u 1 -10
C O M M =500 $
A1
VENDU = F IN= DÉBUT
Algorithme et résolution de problèmes
Section 2 page 41 de 91
affic he NO M ,C O M M
F IN
A1
vend u > 10
C O M M =1200 $
Algorithme et résolution de problèmes
Section 2 page 42 de 91
Exemple 4
Demander àa l’utilisateur d’entrer une journée de la semaine.
Selon la journée, afficher l’émission de télévision.
Lundi Batman
Mardi Sailor Moon
Mercredi Bobby’s World
J O URN É E
entre J O UR
J O UR =LUN D I
affic heBAT M AN
J O UR =M ARD I
affic he S AILO RM O O N
A1
Algorithme et résolution de problèmes
Section 2 page 43 de 91
A1
J O UR =M ERCRED I
affic heBobby's W orld
F IN
Algorithme et résolution de problèmes
Section 2 page 44 de 91
Exercice 1
Demander à l’usager d’entrer une fête et vous afficherz la date.
La fête La date
An 1er janvier
Halloween 31 octobre
Noël 25 décembre
Solution
Algorithme et résolution de problèmes
Section 2 page 45 de 91
Exercice 2
Faire un ordinogramme pour afficher la monnaie à remettre au client.
Données montant de la factureargent remis au caissier(e)
SortiesSortie Le nombre de 2,00 $, 1,00 $, 0,25 $, 0,10 $, 0,05 $et 0,01 $.
Spécifications
1. Pour minimiser le temps, vous ne remettreez aucun billetsupérieur à 2,.00 $.
D É B UT
entreM O N N AIE
M O N N AIE/ 2 > 0
N B2 =M O N N AIE / 2
M O N N AIE =M O N N AIE - (N B2 * 2)
M O N N AIE/ 1 > 0
N B1 =M O N N AIE / 1
M O N N AIE =M O N N AIE- (N B1 * 1)
A1
Algorithme et résolution de problèmes
Section 2 page 46 de 91
A1
M O N N AIE/ 0.25 > 0
N B25 = M O N N AIE/ 0.25
M O N N AIE = M O N N AIE- (N B25 *0.25)
M O N N AIE/ 0.10 > 0
N B10 =M O N N AIE / 0 .10
M O N N AIE = M O N N AIE -(N B10 * 0.10)
A2
Algorithme et résolution de problèmes
Section 2 page 47 de 91
A2
M O N N AIE/ 0.05 > 0
NB05 =M O NN AIE / 0 .05
M O NN AIE = M ON NAIE -(NB05 * 0.05)
M O N N AIE/ 0.01 > 0
NB01 =M O NN AIE / 0 .01
M O NN AIE = M ON NAIE -(NB01 * 0.01)
aff ic he N B2
affic he N B1
aff ic he N B25
A3
Algorithme et résolution de problèmes
Section 2 page 48 de 91
affic he N B10
A3
affic he N B05
aff ic he N B01
F IN
Algorithme et résolution de problèmes
Section 2 page 49 de 91
(Structure de décisions imbriquées
Définition
Lorsqu’une décision est basée sur une précédente.
Elle peut ressembler à ceci :
Algorithme et résolution de problèmes
Section 2 page 50 de 91
Exemple 3
Calcul du prix d’un billet d’avion
Données le nom du clientla destinationla journée de départ
SortiesSortie le nom du client et le prix du billet
Spécifications
1. Les données sont obtenues de l’usager.
2. Le prix du billet d’avion est basé sur la destination et la journée de départ.
Destination Journée de départ Coût du billet
Cancun lundi 1000 $mardi 1500 $
Floride samedi 1100 $dimanche 1000 $lundi 1200 $
Algorithme et résolution de problèmes
Section 2 page 51 de 91
A V IO N
e ntre N O M
e ntreJO U R N É E
D E S T IN A T IO N =C A N C U N
JO U R N É E= L U N D I
e ntreD E S T IN A T IO N
P R IX = 1000 $
JO U R N É E= M A R D I
P R IX = 1500 $
A 1
Algorithme et résolution de problèmes
Section 2 page 52 de 91
A 1
D E S T IN A T IO N =F L O R ID E
J O U R N É E= S A M E D I
P R IX = 1100 $
J O U R N É E =D IM A N C H E
P R IX = 1000 $
J O U R N É E= L U N D I
P R IX = 1200 $
A 2
A 2
a ffic heN O M , P R IX
FIN
Algorithme et résolution de problèmes
Section 2 page 53 de 91
Exemple 4
Calcul du prix d’un livre
Données le numéro ISBN du livrela quantitéle type de librairie
SortiesSortie le numéro ISBN et le prix du livre
Spécifications
1. Les données sont obtenues de l’usager.
2. Le prix du livre est basé sur le type de librairie, le numéro ISBN et la quantité.
Librairie Numéro ISBN Quantité Prix du livre
collège 1234 1-10 100,00 $11 et plus 99,00 $
4321 1-10 90,00 $11 et plus 80,00 $
commerce 1234 1-10 120,00 $11-20 110,00 $21 et plus 99,00 $
4321 1-12 99,00 $13 et plus 90,00 $
Algorithme et résolution de problèmes
Section 2 page 54 de 91
LIVRE
entre IS BN
entreQ UANT IT É
entre T YP E
T YP E =COLLÈ G E
IS BN =1234
Q UANT IT É1 - 10
P RIX = 100 $
Q UANT IT É > 10
P RIX = 99 $
A2A1
Algorithme et résolution de problèmes
Section 2 page 55 de 91
A1 A2
ISBN =4321
QUAN T IT É1 - 10
P RIX = 90 $
QUAN T IT É > 10
P RIX = 80 $
A3
Algorithme et résolution de problèmes
Section 2 page 56 de 91
T YP E =CO M M ERCE
IS BN =1234
Q UAN T IT É1 - 10
P RIX = 120 $
Q UAN T IT É11 - 20
P RIX = 110 $
Q UAN T IT É21 et p lus
P RIX = 99 $
A5A4
Algorithme et résolution de problèmes
Section 2 page 57 de 91
A4 A5
IS BN =4321
Q UAN T IT É1 -12
Q UAN T IT É > 12
A6
P RIX = 99 $
P RIX = 90 $
A6
affic heIS BN , P RIX
F IN
Algorithme et résolution de problèmes
Section 2 page 58 de 91
Exercice 5
Le propriétaire d’une pizzeria vous demande de lui préparer un ordinogramme pour calculer leprix de vente d’une pizza.
Données Les données proviennent de l’utilisateur.
nom du clientadresse du clienttéléphone du clientgrandeur de la pizzanombre d’ingrédients
Sortie Une facture selon ce format :
NOMADRESSETÉLÉPHONEPRIX PIZZA
Spécifications
1. Afin de limiter le travail, les combos et le nombre d’ingrédients ont été limités.
Petite Moyenne Grande
0. Base 7,90 $ 10,95 $ 12,70 $1. Un ingrédient 8,80 $ 12,15 $ 14,30 $2. Deux ingrédients 9,70 $ 13,35 $ 15,90 $
2. Oui, nous offrons le 2 pour 1 et la livraison est gratuite.
Algorithme et résolution de problèmes
Section 2 page 59 de 91
P IZZA
e n tr e N O M
e n tr eAD R E S SE
e n tr e TE L
e n tr eG R AN D
IN G = 0
G R AN D =p e t i te
P R IX =7 ,9 0 $
G R AN D =m o ye nne
P R IX =1 0 ,9 5 $
A2A1
e n tr e IN G
Algorithme et résolution de problèmes
Section 2 page 60 de 91
A1 A2
G R AN D =g r and e
P R IX =1 2 ,7 0 $
IN G = 1
G R AN D= p e t i t e
P R IX =8 ,8 0 $
G R AN D =m o ye n n e
P R IX =1 2 ,1 5 $
G R AN D= g r an d e
P R IX =1 4 ,3 0 $
A3
Algorithme et résolution de problèmes
Section 2 page 61 de 91
A3
IN G = 2
G R AN D= pe t i t e
P R IX =9 ,7 0 $
G R AN D =m o ye nne
P R IX =1 3 ,3 5 $
G R AN D= g r ande
P R IX =1 5 ,9 0 $
A4
Algorithme et résolution de problèmes
Section 2 page 62 de 91
s
affi c h e N O M
affi c h eAD R E S S E
affi c h eTÉ L É P H O N E
affi c h eP R IX
F IN
Section 3
Algorithme et résolution de problèmes
Section 3 page 63 de 91
V- Structure de répétition
1. Définition
Lorsqu’il faut répéter le traitement plusieurs fois.En anglais, le terme « loop » est utilisé.
2. Types
Il existe deux types de structure de répétition.
a) avec drapeau
Lle programme effectue le traitement jusqu’à ce que le contenu d’une variable soit modifié.
b) avec compteur
Lle programme effectue le traitement un nombre de fois prédéterminé.
3. Exemple avec drapeau
Calcul de paie d’un employé
DonnéesNOM DE L’EMPLOYÉLE TAUX HORAIRELE NOMBRE D’HEURES
Sortie Afficher le salaire brut seulement
Spécifications
1. Les dDonnées sont obtenues de l’usager.
2. Le salaire brut = heures * taux
3. L’usager entre TERMINER lorsqu’il n’y a plus d’employés.
Algorithme et résolution de problèmes
Section 3 page 64 de 91
P AIE
CO N T IN UER= O UI
CO N T IN UER= O UI
entreHEURES
affic heBRUT
F IN
entre N O M
N O M < >T ERM IN ER
CO N T IN UER=N O N
entre T AUX
BRUT = HEURES *T AUX
Algorithme et résolution de problèmes
Section 3 page 65 de 91
4. Exemple avec compteur
Afficher les nombres de 1 à 6.
AFF ICHE
N O M BRE = 1
N O M BRE< 7
affic heN O M BRE
N O M BRE =N O M BRE + 1
F IN
5. Exercices
1. Préparer l’ordinogramme pour afficher les étoiles ci-dessous.
***********
2. Préparer l’ordinogramme pour afficher les étoiles ci-dessous.
****************
3. La fonction RND(0) retourne un nombre aléatoire entre 1 et 49.
Préparer l’ordinogramme pour afficher trois séries de six valeurs aléatoires.
Algorithme et résolution de problèmes
Section 3 page 66 de 91
VI- Schéma hiérarchique
1. Introduction
Lorsqu’un programme devient trop complexe, nous devons le diviser en sections. L’outil detravail pour effectuer la division du programme se nomme le schéma hiérarchique.
Les programmes sont divisés en trois sections principales.
PAIE
PRÉ PARAT IO N T RAIT EM EN T FIN IT IO N
Exemple 1 sans structure de répétition
Un calcul de paie d’employé
PAIE
PRÉ PARAT IO N T RAIT EM EN T FIN IT IO N
P AIE
P RÉ PARAT ION
T RAIT EM EN T
F INIT ION
F IN
P RÉ PARAT IO N
entre N O M
entreHEURES
entre T AUX
RET O UR
FIN IT IO N
affic heBRUT
RET O UR
BRUT = HEURES * T AUX
T RAIT EM ENT
RET O UR
Algorithme et résolution de problèmes
Section 3 page 67 de 91
Exemple 2 avec structure de répétition
Un calcul de note pour un(e) étudiant(e)
DonnéesNOMNOTE 1NOTE 2NOTE 3
SortiesSortie lLe nom et la moyenne
Spécifications
1. La moyenne est égale àa la somme des trois notes divisée par trois.
2. La fin des données est indiquée par le mot FIN comme nom del’étudiant(e).
3. La solution
N O T ES
P RÉ P ARAT IO N T RAIT EM EN T F IN IT IO N
EN T RÉ E EN T RÉ E
NOT ES
PRÉ PARAT ION
NOM <>FIN
T RAIT EMENT
FINIT ION
FIN
PRÉ PARAT IO N
N O M = espac e
EN T RÉ E
RET O UR
Algorithme et résolution de problèmes
Section 3 page 68 de 91
EN T RÉ E
entre N O M
N O M < >"F IN "
entre N O T E1
entre N O T E2
entre N O T E3
RET O UR
T RAIT EM EN T
M O YEN N E =(N O T E1 + N O T E2
+ N O T E3) /3
aff ic he N O M ,M O YEN N E
EN T RÉ E
RET O UR
F INIT IO N
affic he "C 'ES TF INI"
RET O UR
Algorithme et résolution de problèmes
Section 3 page 69 de 91
Numérotation des modules
000 contrôle
100 - 199 module principal 100- préparation110- traitement120- finition
200 - 299 module d’initialisation
300 - 699 sous- module du traitement
700 - 799 préparation de la sortie (rapport)700 - 719 entête720 - 739 ligne détaillée740 - 789 sous- total partiel790 - 799 total final
800 - 899 Entrée et sortie800 - 849 entrée (read) 800- ouvrir850 - 899 sortie (write) 810- lecture
820- fermer
900 - 999 Travail d’exception
Algorithme et résolution de problèmes
Section 3 page 70 de 91
VII- Fichier
1. Définition
Un fichier est un ensemble d’enregistrements du même type.
2. Exemple
Un fichier étudiant
LUC 10854IFM81LOUISE 12344GEN40FRANCE 12344GEN20DENISE 10823IFM99ESTELLE 12999GEN98
Chaque ligne du fichier se nomme enregistrement. Donc, ce fichier contient un total de cinqenregistrements (record).
Chaque colonne du fichier se nomme champs. Donc, ce fichier contient un total de trois champs(field).
3. La description
Pour fin de documentation, un fichier est décrit comme suit :
NOM : ÉTUDIANT
NUMÉRO COLONNE NOM LONGUEUR TYPEDÉBUT FIN
----------------------------------------------------------------------------------1 1 9 NOM 9 CARAC.2 10 17 NO-COURS 8 CARAC.3 18 19 NOTE 2 NUMER.
La longueur est calculée comme suit :
(FIN - DÉBUT) + 1
Algorithme et résolution de problèmes
Section 3 page 71 de 91
4. Création
Un fichier séquentiel est créé avec :
a) un éditeur de texteb) un programme
a) Éditeur de texte
Il faut respecter les colonnes et enregistrer sous format texte.
N:\> EDIT ETUDIANT.SEQ
b) Avec un programme
Le programme se charge de demander àa l’utilisateur d’entrer lesdonnées. Ensuite, le programme va enregistrer les données dans unfichier.
5. Un fichier séquentiel
Ce type de fichier contient des enregistrements placés un à la suite de l’autre.
Afin être lu, le ficher doit être ouvert avec l’énoncé du programme OPEN.
La lecture s’effectue avec l’énoncé READ. LesUn enregistrements sont lus un unva être lu àa lafois dans une zone de mémoire. Il est impossible de retourner àa l’enregistrement précédemmentlu; il faut fermer le fichier, l’ouvrir de nouveau et refaire une autre la lecture jusqu’àl’enregistrement désiré.
Les enregistrements d’un fichier séquentiel ne peuvent être mise àa jour (update); un nouveaufichier doit être créé avec les modifications.
Une fois le travail complété, le programmeur doit fermer lea fichier avec l’énoncé CLOSE.
Algorithme et résolution de problèmes
Section 3 page 72 de 91
6. Exemple d’utilisation d’un fichier
NOM : ÉTUDIANT
NUMÉRO COLONNE NOM LONGUEUR TYPEDÉBUT FIN
--------------------------------------------------------------------------------------1 1 9 NOM 9 CARAC.2 10 17 NO-COURS 8 CARAC.3 18 19 NOTE 2 NUMER.
Spécifications
1. Lire le fichier et afficher le nom et la note àa l’écran.
2. Préparer le schéma hiérarchique et l’ordinogramme.
AF F ICHE
P RÉ P ARAT IO N T RAIT EM EN T F IN IT IO N
O UVRIR LECT URE LECT URE F ERM ER
000
100 200 300
800 810 810 820
Algorithme et résolution de problèmes
Section 3 page 73 de 91
AF FICHE
P RÉ P ARAT IO N
F D F ="N O N "
T RAIT EM EN T
F IN IT IO N
F IN
100
200
300
P RÉ P ARAT IO N
O UVRIR
F D F = N O N
LECT URE
RET O UR
100
800
810
T RAIT EM EN T
affic heN O M , N O T E
LECT URE
RET O UR
200
810
FIN IT IO N
FERM ER
RET O UR
300
820
O UVRIR
ouvrir f ic hierÉ T UD IAN T
RET O UR
800
LECT URE
lire f ic hierÉ T UD IAN T
RET O UR
810
à la fin du fic hier, m ettreO UI dans la variable FD F
F ER M ER
ferm er le f ic hierÉ T UD IAN T
RET O UR
820
Algorithme et résolution de problèmes
Section 3 page 74 de 91
7. Exemple de création d’un fichier
NOM : ÉTUDIANT
NUMÉRO COLONNE NOM LONGUEUR TYPEDÉBUT FIN
----------------------------------------------------------------------------------1 1 9 NOM 9 CARAC.2 10 17 NO-COURS 8 CARAC.3 18 19 NOTE 2 NUMER.
Spécifications
1. Créer un schéma hiérarchique et un ordinogramme pour créer le fichierÉETUDIANT.
2. Les données proviennent de l’usager.
3. La fin des données est indiquée par le mot FIN comme nom del’étudiant(e).
CRÉ AT IO N
P RÉ P ARAT IO N T RAIT EM EN T F IN IT IO N
O UVRIR EN T RER EN T RER F ERM ER
000
100 200 300
800 810 810 830
É CRIT URE
820
Algorithme et résolution de problèmes
Section 3 page 75 de 91
CRÉ AT IO N
P RÉ P ARAT IO N
F IN I ="N O N "
T RAIT EM EN T
F IN IT IO N
F IN
100
200
300
PRÉ PARAT IO N
O UVRIR
FIN I = N O N
EN T RER
RET O UR
100
800
810
T R AIT EM EN T
RET O UR
200
810
É C RIT URE
820
EN T RER
FIN IT IO N
FERM ER
RET O UR
300
830
O UVRIR
ouvrir f ic hierÉ T UD IAN T
RET O UR
800
EN T RER
810
entre N O M
N O M =F IN
entreN O -CO URS
entre N O T E
F IN I = O UI
RET O UR
É CRIT URE
éc rireenreg is trem ent
É T UD IAN T
RET O UR
820
Algorithme et résolution de problèmes
Section 3 page 76 de 91
F ERM ER
ferm er le f ic hierÉ T UD IAN T
RET O UR
830
Algorithme et résolution de problèmes
Section 3 page 77 de 91
VIII- Rapports
1. Notes générales
Dans une entreprise, le rapport n’est habituellement pas envoyé directement àa l’imprimante.Votre programme de création d’une rapport va créer un fichier contenant le rapport quedont vousdevrez envoyer àa l’imprimante.
En pratique, il n’est pas possible d’imprimer le rapport directement car plusieurs programmespeuvent imprimer en même temps, ce qui cause un délai de travail chez l’employé.]
2. Contenu
Les éléments d’un rapport :
RAPPORT DE VENTE titre
NUMÉRO VENDEUR NOM VENDEUR sous-titre123 LUC456 KATHY ligne détailléee
TOTAL 2 vendeurs ligne totale
3. Étapes d’utilisation
Le rapport doit être ouvert tout comme un fichier de données dans le module PRÉEPARATION etfermer dans le module FINITION.
La ligne détailléee contient des variables pour chaque champs àa imprimer.
4. Exemple
Concevoir un schéma hiérarchique et un ordinogramme pour imprimer un rapport.
Données VENDEUR.SEQNOMMONTANT DES VENTES
Sortie Le rapportRAPPORT VENDEUR
NOM MONTANT==== =========
Algorithme et résolution de problèmes
Section 3 page 78 de 91
RAPP ORT
P RÉ P ARAT IO N
O UVRIRVEND EUR
O UVRIRRAPP ORT
EN -T Ê T E LECT URE
T RAIT EM EN T
IM PRES SIO N LECT URE
F IN IT IO N
F ERM ERVEND EUR
F ERM ERRAPP ORT
000
100 200 300
720 820 830 840
800 810 700 820
RAPP O RT
PRÉ P ARAT IO N
FD F =N O N
T RAIT EM EN T
FIN IT IO N
FIN
000
100
200
300
P RÉ P ARAT IO N
F D F = N O N
O UVRIRVEN D EUR
O UVRIRRAP P O R T
EN -T Ê T E
LECT URE
RET O UR
100
800
810
700
820
Algorithme et résolution de problèmes
Section 3 page 79 de 91
T R AIT EM EN T
IM P RES S IO N
LECT URE
RET O UR
200
720
820
FIN IT IO N
FERM ERVEN D EUR
FERM ERRAP PO RT
RET O UR
300
830
840
O UVRIRVEN D EUR
ouvrir le f ic hierVEN D EUR.S EQ
RET O UR
800
O UVRIRRAP PO RT
ouvrir le f ic hierRAP PO RT .PRN
RET OUR
810
EN -T Ê T E
im prim el'en-tête
im prim e lessous -titres
im prim e deux(2) lignes vides
RET O UR
700
LECT URE
lire unenreg is trem ent dufic hier VEND EUR
RET O UR
820
à la f in m e t tre , O UI dan sla varia ble FD F
IM P RESS IO N
N O M -SO RT IE= N O M
M O N T AN T -S O RT IE =M O N T AN T
im prim eligne-detaillée
RET O UR
720
F ERM ERVEN D EUR
ferm er le f ic hierVEN D EUR.S EQ
RET O UR
830
F ERM ERRAPP O RT
ferm er le f ic hierRAPP O RT .P RN
RET O UR
840
Algorithme et résolution de problèmes
Section 3 page 80 de 91
5. Nombre de lignes par page
Il est très important de compter le nombre de lignes par page afin d’obtenir une belle présentation.Chaque page doit contenir un numéro de page, le titre et les sous-titres.
L’initialisation des variables se fait dans le module PRÉEPARATION.
L’exemple qui suit est le même que le précédent mais avec certaines modifications.
RAP PO RT
P RÉ PARAT IO N
O UVRIRVEN D EUR
O UVRIRRAP PO RT
LECT URE
T RAIT EM EN T
IM P RES SIO NLECT URE
F IN IT IO N
F ERM ERVEN D EUR
F ERM ERRAP PO RT
000
100 200 300
820 720 830 840
800 810 820
EN -T Ê T E
7 00
Algorithme et résolution de problèmes
Section 3 page 81 de 91
P RÉ P ARAT IO N
F D F = N O N
O UVRIRVEN D EUR
O UVRIRRAP P O RT
LECT URE
RET O UR
100
800
810
820
N O -P AG E = 0
N O M BRE-LIG N ES= 60
EN -T Ê T E
im prim el'en-tête
im prim e lessous -titres
im prim e deux(2) lignes v ides
RET O UR
700
N O -PAG E =N O -PAG E + 1
N O M BRE-LIG N ES= 4
IM P RESS IO N
720
N O M BRE-LIG N ES> 48
EN -T Ê T E
N O M -SO RT IE= N O M
M O N T AN T -S O RT IE =M O N T AN T
im prim e lignedetaillée
N O M BRE-LIG N ES =N O M BRE-LIG N ES + 1
RET O UR
700
Algorithme et résolution de problèmes
Section 3 page 82 de 91
6. Ajouter un total
Les variables sont initialisées dans PRÉEPARATION, l’accumulation des montants dans letraitement dans un sous-module nommé ACCUMULE et l’impression du total dans le moduleFINITION.
Algorithme et résolution de problèmes
Section 3 page 83 de 91
IX- Brisure de contrôle
1. Rôle
Le rôle de la brisure de contrôle consiste à séparer les éléments d’un rapport.
2. Exemple
Un rapport de vente regroupé selon la journée
VENTE
JOURNÉE MONTANT
LUNDI 121318
MARDI 141620
Les données pour le fichier VENTE.DL
LUNDI 12LUNDI 13LUNDI 18MARDI 14MARDI 16MARDI 20
Algorithme et résolution de problèmes
Section 3 page 84 de 91
3. La logique
La logique de la brisure de contrôle se fait dans le module IMPRESSION.
IM P RES S IO N
J O URN É E =IM P RIM E
J O URN É E-S =es pac e
J O URN É E-S =J O URN EE
IM P RIM E =J O URN É E
M O N T AN T -S= M O N T AN T
im prim e lignedétaillée
RET O UR
Algorithme et résolution de problèmes
Section 3 page 85 de 91
X- Tableau à une dimension
1. Définition
Un tableau à une dimension est une espace mémoire contenant des valeursdont on réfère regroupées sous un seul nom.
2. Exemple
ÂAGE
(1) (2) (3) (4) (5) (6)
18 19 23 36 49 66
Le programmeur fait référence à l’âge 23 en spécifiant le nom du tableau et la position de lavaleur. Donc, pour l’âge 23, il spécifie ÂAGE (3).
3. Remplir le tableau
Il existe trois façons de pour remplir un tableau :
a) entrer les données directement dans le tableaub) demander à l’usager d’entrer les donnéesc) utiliser un fichier
Algorithme et résolution de problèmes
Section 3 page 86 de 91
a) Entrer les données directement dans le tableau
Étant donne que cette méthode est très simple, il n’est pas nécessaire de créer un schémahiérarchique.
D É BUT
D éfinir letableau
 GE (1) = 18
 GE (2) = 19
 GE (3) = 23
 GE (4) = 36
 GE (5) = 49
 GE (6) = 66
F IN
Algorithme et résolution de problèmes
Section 3 page 87 de 91
Si vous devez utiliser un schéma hiérarchique, ce module va dans PRÉPARATION.
T RAVAIL
P RÉ P ARAT IO N T RAIT EM EN T F IN IT IO N
REM P LIR-T BL
Algorithme et résolution de problèmes
Section 3 page 88 de 91
b) Demander àa l’utilisateur d’entrer les données
REM P LIR-T BL
D éfinir letableau
P O S IT IO N = 1
P O S IT IO N< 7
entrer uneVALEUR
 G E (P O S IT IO N )= VALEUR
P O S IT IO N =P O S IT IO N + 1
F IN
Algorithme et résolution de problèmes
Section 3 page 89 de 91
Si vous devez utiliser un schéma hiérarchique, ce module va dans PRÉEPARATION.
T RAVAIL
P RÉ P ARAT IO N T RAIT EM EN T F IN IT IO N
REM P LIR-T BL
Algorithme et résolution de problèmes
Section 3 page 90 de 91
c) Utiliser un fichier
REMP LIR-T BL
Définir letableau
POS IT ION = 1
POS IT ION < 7et FIN = "NON"
ÂGE (POSIT ION)= VALEUR
POS IT ION =POS IT ION + 1
FIN
Ouvrir lefic hier
FIN = "NON"
FIN ="NON"
ferm er lefic hier
lireenregis trem ent
à la fin du fic hier,m ettre la valeur OUIdans la variable FIN
lireenregis trem ent
à la fin du fic hier,m ettre la valeur OUIdans la variable FIN