91
Guide de cours Algorithme 15866 GEN Préparé par Luc Gingras Programme pré-informatique

Algorithm e

  • Upload
    aelfkih

  • View
    24

  • Download
    0

Embed Size (px)

Citation preview

Guide de cours

Algorithme15866 GEN

Préparé par

Luc Gingras

Programme pré-informatique

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

Section 1

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

Section 1 page 29 de 91

Section 2

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

Algorithme et résolution de problèmes

Section 3 page 91 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

O UVRIR REM P LIR-T BL F ERM ER

LECT URE