ALGORITHMES - EXERCICES
1/6
I)
Un établissement scolaire souhaite gérer de façon informatique les notes d'examen de ses 400 élèves.
Les élèves passent trois épreuves de même valeur. Les notes sont saisies et additionnées, la moyenne des trois est
alors calculée. L'élève ayant une moyenne supérieure à dix est reçu, lorsque la note est comprise entre huit et dix,
l'élève passe un oral de rattrapage, dans les autres cas il est recalé.
1) Construire l'algorithme permettant de calculer les résultats et de les faire apparaître avec le
nom de l'élève pour l'ensemble des candidats.
2) Expliquez le rôle d'une structure itérative.
II)
L'entreprise PRAS utilise l'algorithme de l'ANNEXE 1 pour suivre ses stocks.
Par ailleurs, elle vous fournit en ANNEXE 2 un extrait du fichier STOCK :
Travail à faire
1 Expliquer le fonctionnement de l'algorithme Mouvement.
Quelles structures (alternatives, itératives) sont employées par Mouvement ?
Chaque fois que l'on interroge un produit, on voudrait de plus connaître le total des quantités entrées pour ce
produit. On vous soumet l'algorithme de l'ANNEXE 3 qui ne donne pas satisfaction.
Travail à faire
2 Réaliser la trace de Mouvement2 (ANNEXE 3) dans le tableau ci-dessous à l'aide de l'ANNEXE 2 sachant que
l'on a saisit comme numero G67, puis H78
Numero
Num_prod
Code_mouv
Q_mouv
CUMMOUV
Quels problèmes peut-on observer ?
3 Corriger l'algorithme Mouvement2 afin d'obtenir, pour un produit donné, le total des quantités entrées comme
souhaité.
ALGORITHMES - EXERCICES
2/6
ANNEXE 1
algorithme Mouvement
FICHIER FPRODUIT
en organisation accès direct
clef = Num_prod
ENREGISTREMENT PRODUIT
Num_prod : chaine(3)
Date_mouv : date
Lib_mouv : chaine(30)
Code_mouv : chaine(1)
Q_mouv : réel
FIN ENREGISTREMENT
VAR
Rep : chaine(1)
Numero : chaine(3)
DEBUT
Rep := "O"
TANT QUE Rep = "O" FAIRE
SAISIR "Donner le numéro du produit ", Numero
OUVRIR FPRODUIT EN LECTURE
TANT QUE NON FIN FICHIER FAIRE
LIRE PRODUIT SUIVANT
SI Numero = Num_prod
ALORS AFFICHER Num_prod,Date_mouv, Lib_mouv, Code_mouv, Q_mouv
FINSI
FIN TANT QUE
FERMER FPRODUIT
SAISIR "Autre produit ? (O/N) ";rep
FIN TANT QUE
FIN
ANNEXE 2
Num_prod
Date_mouv
Lib_mouv
Code_mouv
Q_mouv
G67
2/4/98
Achat 4098
E
120
G67
4/4/98
Achat 4298
E
240
G67
6/4/98
Vente 7498
S
300
G67
8/4/98
Achat 4898
E
100
H78
2/4/98
Achat 4198
E
300
H78
5/4/98
Vente 6898
S
80
H78
9/4/98
Vente 7898
S
145
ALGORITHMES - EXERCICES
3/6
ANNEXE 3
algorithme Mouvement2
FICHIER FPRODUIT
en organisation accès direct
clef = Num_prod
ENREGISTREMENT PRODUIT
Num_prod : chaine(3)
Date_mouv : date
Lib_mouv : chaine(30)
Code_mouv : chaine(1)
Q_mouv : réel
FIN ENREGISTREMENT
VAR
Rep : chaine(1)
Numero : chaine(3)
CUMMOUV : réel
DEBUT
Rep := "O"
TANT QUE Rep = "O" FAIRE
SAISIR "Donner le numéro du produit ", Numero
OUVRIR FPRODUIT EN LECTURE
TANT QUE NON FIN FICHIER FAIRE
LIRE PRODUIT SUIVANT
SI Numero = Num_prod
ALORS AFFICHER Num_prod,Date_mouv, Lib_mouv, Code_mouv, Q_mouv
CUMMOUV CUMMOUV + Q_mouv
FINSI
FIN TANT QUE
FERMER FPRODUIT
SAISIR "Autre produit ? (O/N) ";rep
FIN TANT QUE
FIN
ALGORITHMES - EXERCICES
4/6
Corrigé
I)
1)
Programme examen
Var note1, note2, note3, total, I : entier
moyenne : reel
Nom : chaine de caractères
Début
Note1<-0
Note2<-0
Note3<-0
I<-0
Tant que I<=400
Faire
Afficher "Nom de l'élève"
Saisir Nom
Saisir "Note1", note1
Saisir "Note2", note2
Saisir "Note3", note3
total<-note1 + note2 + note3
moyenne<-total/3
Afficher "Moyenne", moyenne
Si moyenne>10
Alors
Afficher "Reçu"
Sinon
Si moyenne>=8
Alors
Afficher "Rattrapage"
Sinon
Afficher "Recalé"
Finsi
Finsi
I<-I+1
fin tant que
Fin
2) Une structure itérative est une structure qui permet de faire plusieurs fois la même opération. De boucler une
opération sur un même traitement (tant que, repeter jusqu'à, pour)
II)
1 - on travaille sur un fichier FPRODUIT de clef Num-prod.
- on saisit un numéro et l'algorithme va chercher dans FPRODUIT et affiche les mouvements relatifs au produit de
référence Numero
- l'opération se répète pour un autre produit tant que l'on répond O à la question posée par l'algorithme en fin de
traitement.
Les structures utilisées :
- deux structures répétitives TANT QUE... FAIRE
ALGORITHMES - EXERCICES
5/6
* bouclant sur la réponse rep="O" pour un autre produit
* bouclant sur FIN DE FICHIER pour lire les mouvements et balayer ainsi tout le fichier FPRODUIT
- une structure alternative qui permet de n'afficher que les mouvements qui concernent le produit recherché
2 Trace
Numero
Num_prod
Code_mouv
Q_mouv
CUMMOUV
G67
G67
E
120
G67
E
360
G67
S
660
G67
E
760
H78
H78
E
1060
H78
S
1140
H78
S
1285
Problèmes : CUMMOUV non initialisé et non affiché
pas de test sur le code du mouvement ce qui fait qu'on réalise le cumul des entrées et sorties confondues.
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !