Sunteți pe pagina 1din 10

Mise à Niveau Programmation Licence ATII

Correction - SI

II -

Fonction : OrdreAlphabetique(cara1 : caractère, cara2 : caractère)


début
si cara1 < cara2 alors afficher ”Les deux caractères sont rangés dans l’ordre
alphabétique”;
sinon afficher ”Les deux caractères NE sont PAS rangés dans l’ordre al-
phabétique”;
fin

IV -

Fonction : EntiersTries(nombre1 : entier, nombre2: entier, nombre3: entier)


Résultat : booléen
début
si nombre1 > nombre2 OU nombre2 > nombre3 alors retourner Faux;
retourner Vrai;
fin

V-

Fonction : CalculRemise(Montant : entier)


Résultat : entier
début
valeur remise: entier; Prixfinal: entier;
valeur remise ← 0;
si M ontant >= 2000 ET M ontant <= 5000 alors
valeur remise ← 10;
sinon
si M ontant > 5000 alors valeur remise ← 20;
fin
P rixf inal ← M ontant − M ontant×valeur
100
remise
;
retourner Prixfinal;
fin

Correction - Tant que

1
I-

Fonction : Est voyelle(c : entier)


Résultat : booléen
début
si c=’a’ OU c=’e’ OU c=’i’ OU c=’o’ OU c=’u’ OU c=’y’ OU c=’A’ OU
c=’E’ OU c=’I’ OU c=’O’ OU c=’U’ OU c=’Y’ alors
retourner Vrai;
fin
retourner Faux;
fin

Fonction : AfficheVoyelle()
début
c: caractère;
c ← ’b’;
tant que Non Est voyelle(c) faire
afficher ”Entrez un caractère”;
c ← lire clavier;
fin
afficher ”La première voyelle lue est ”.c;
fin

IV -

Fonction : Est consonne(c : entier)


Résultat : booléen
début
si ((c > ’a’ ET c <= ’z’) OU (c > ’A’ ET c <= ’Z’)) ET Non Est voyelle(c)
alors
retourner Vrai;
fin
retourner Faux;
fin

Fonction : AfficheConsonnes()
début
c: caractère;
c ← ’a’;
tant que c 6= ’ ’ faire
afficher ”Entrez un caractère”;
c ← lire clavier;
si Est consonne(c) alors afficher c;
fin
fin

2
V-

Fonction : Continuer()
début
reponse : caractère;
reponse ← ’Z’;
tant que reponse 6= ’N’ faire
//Saisie de la réponse
tant que reponse 6= ’N’ ET reponse 6= ’O’ faire
afficher ”Voulez-vous continer ?”;
reponse ←lire clavier;
si reponse 6= ’N’ ET reponse 6= ’O’ alors afficher ”Vous devez rentrer
O ou N svp !”;
fin
si reponse = ’O’ alors afficher ”OK”;
fin
afficher ”Au revoir”;
fin

VI -

Fonction : AfficheLettres()
début
c: caractère;
c ← ’a’;
tant que c 6= ’ ’ faire
afficher ”Entrez un caractère”;
c ← lire clavier;
si Est consonne(c) alors afficher ”Consonne : ”.c;
si Est voyelle(c) alors afficher ”Voyelle : ”.c;
fin
fin

Correction - Compteurs

3
II -

Fonction : NBConsonnes()
début
c : caractère; nb consonnes : entiers;
nb consonnes ← 0; c ← ’b’;
tant que c 6= ’.’ faire
afficher ”Entrez un caractère”;
c ← lire clavier;
si Est consonne(c) alors nb consonnes ← nb consonnes + 1;
fin
afficher ”Il y a ”.nb consonnes.”
fin

IV -

Fonction : CalculMoyenne()
début
note, nb notes : entiers; moyenne : reel;
moyenne ← 0; nb notes ← 0; note ← 0;
tant que note >= 0 faire
afficher ”Entrez une note”;
note ←lire clavier ;
si note > 20 alors afficher ”Les notes doivent être comprises entre 0 et
20”;
sinon
si note >= 0 alors
nb notes ← nb notes + 1;
moyenne ← moyenne + note;
fin
fin
fin
si nb notes > 0 alors moyenne ← moyenne/nb notes;
afficher ”La moyenne est de ”.moyenne;
fin

VII -

Fonction : PourcentageDe a()


début
c : caractère; nb a, nb cara : entiers; pourcentage : reel;
c ← ’b’; nb a ← 0; nb cara ← 0;
tant que c 6= ’.’ faire
afficher ”Entrez un caractère”;
c ← lire clavier;
si c = ’a’ alors nb a ← nb a + 1;
si c 6= ’.’ ET c 6= ’ ’ alors nb cara ← nb cara + 1;
fin
pourcentage ← nb a/nb cara;
fin
4
Correction - Pour

I-

Fonction : AfficheVoyellesPour()
début
c: caratère;
i: entier;
pour i = 1 à 80 faire
c ← lire clavier;
si Est voyelle(c) alors afficher c;
fin
fin

II/III -

Fonction : AfficheNotesPour()
début
note: entier;
i: entier;
nb notes 5 15 : entier;
nb notes 5 15 ← 0;
pour i = 1 à 1000 faire
note ← lire clavier;
si note >= 5 ET note <= 15 alors
afficher note;
nb notes 5 15 ← nb notes 5 15 + 1;
fin
fin
afficher ”Il y a ”.nb notes 5 15.” entre 5 et 15”;
fin

5
IV -

Fonction : AfficheVoyellesaePour()
début
c: caratère;
i: entier;
nb a, nb e : entiers;
nb a ← 0;
nb e ← 0;
pour i = 1 à 80 faire
c ← lire clavier;
si c=’a’ alors nb a ← nb a + 1;
si c=’e’ alors nb e ← nb e + 1;
fin
afficher ”Il y a ”.nb a.” a et ”.nb e.” e”;
fin

V/VI étendus - Réponse qui vérifie la valeur des notes avant de les prendre en compte.

Fonction : AfficheNotesMoyenne()
début
note: entier;
i, nb notes total, nb moyennes : entiers;
nb moyennes ← 0;
nb notes total ← 0;
//Saisie du nombre de notes
tant que nb notes total <= 0 faire
afficher : ”Combien de notes voulez-vous saisir ?”;
nb notes total ← lire clavier;
si nb notes total <= 0 alors afficher : ”Vous devez rentrer un nombre de
notes strictement positif !”;
fin
pour i = 1 à nb notes total faire
note ← −1;
tant que note < 0 OU note > 20 faire
afficher : ”Rentrez la note numéro ”.i.” :”;
note ← lire clavier;
si note < 0 OU note > 20 alors afficher : ”La note doit être comprise
entre 0 et 20 !”;
fin
si note >= 10 alors
afficher note;
nb moyennes ← nb moyennes + 1;
fin
fin
afficher ”Il y a ”.nb moyennes.” notes supérieures à 10.”;
fin

6
Correction - Accumulation

III -

Fonction : MoyennesPosNeg()
début
somme positive, somme negative : reels;
valeur, nb pos, i : entiers;
somme positive ← 0;
somme negative ← 0 ;
nb pos ← 0 ; //Nombre de valeurs positives
pour i = 1 à 50 faire
valeur ← lire clavier;
si valeur < 0 alors somme negative ← somme negative + valeur;
sinon
nb pos ← nb pos + 1 ;
somme positive ← somme positive + valeur;
fin
fin
si nb pos > 0 alors somme positive ← somme positive/nb pos;
si (50 − nb pos) > 0 alors somme negative ← somme negative/(50 − nb pos);
afficher ”La moyenne des éléments positifs est : ”.somme positive;
afficher ”La moyenne des éléments négatifs est : ”.somme negative;
fin

7
IV -

Fonction : Facturation()
début
nombre A, nombre B, cout A, cout B, prix, qte : entiers;
code : caractère;
code ← ’C’;
tant que code 6= ’Z’ faire
//Saisie du code
tant que code 6= ’A’ ET code 6= ’B’ ET code 6= ’Z’ faire
afficher ”Entrez un code :”;
code ← lire clavier;
si code 6= ’A’ ET code 6= ’B’ ET code 6= ’Z’ alors afficher : ”Vous
devez rentrer un A, un B, ou un Z pour arrêter”;
fin
//Saisie du prix unitaire
prix ← -1;
tant que prix < 0 ET code 6= ’Z’ faire
afficher ”Entrez le prix unitaire :”;
prix ← lire clavier;
si prix < 0 alors afficher ”Le prix doit être un nombre positif”;
fin
//Saisie du nombre d’articles
qte ← -1;
tant que qte < 0 ET code 6= ’Z’ faire
afficher ”Entrez la quantité d’articles :”;
qte ← lire clavier;
si qte < 0 alors afficher ”La quantité doit être un nombre positif”;
fin
//Calcul du coût
si code = ’A’ alors
nb A ← nb A + qte;
cout A ← cout A + prix × qte;
fin
si code = ’B’ alors
nb B ← nb B + qte;
cout B ← cout B + prix × qte;
fin
fin
//Affichage des résultats
afficher ”Coût des ”.nb A.” articles de catégorie A :”.cout A;
afficher ”Coût des ”.nb B.” articles de catégorie B :”.cout B;
fin

8
Correction - Tableaux à 1 dimension

V-

Fonction : SommesTableau(tableau[20]: entiers)


début
somme positive, somme negative : entiers;
i : entier;
somme positive ← 0;
somme negative ← 0 ;
pour i = 1 à 20 faire
si tableau[i] < 0 alors somme negative ← somme negative + tableau[i];
sinon somme positive ← somme positive + tableau[i];
fin
afficher ”La somme des éléments positifs est : ”.somme positive;
afficher ”La somme des éléments négatifs est : ”.somme negative;
fin

VI -

Fonction : PlusGrandPlusPetit(tableau[20]: entiers)


début
plus grand, plus petit : entiers;
i : entier;
plus grand ← tableau[1];
plus petit ← tableau[1] ;
pour i = 2 à 20 faire
si tableau[i] < plus petit alors plus petit ← tableau[i];
si tableau[i] > plus grand alors plus grand ← tableau[i];
fin
afficher ”Le plus grand élément est : ”.plus grand;
afficher ”Le plus petit élément est : ”.plus petit;
fin

9
VII -

Fonction : IndicesPlusGrandPlusPetit(tableau[20]: entiers)


début
indice plus grand, indice plus petit : entiers;
i : entier;
indice plus grand ← 1;
indice plus petit ← 1 ;
pour i = 2 à 20 faire
si tableau[i] < tableau[indice plus petit] alors indice plus petit ← i;
si tableau[i] > tableau[indice plus grand] alors indice plus grand ← i;
fin
afficher ”Le plus grand élément est à l’indice : ”.indice plus grand;
afficher ”Le plus petit élément est à l’indice : ”.indice plus petit;
fin

VII -

Fonction : CalculMoyenne()
début
indice : entier;
note,moyenne : reels;
tableau notes[100]: reels;
moyenne ← 0;
pour indice = 1 à 100 faire
note ← −1;
tant que note < 0 OU note > 20 faire
afficher ”Rentrez une note :”;
note ← lire clavier;
si note < 0 OU note > 20 alors
afficher ”La note doit être comprise entre 0 et 20 !!”;
fin
fin
tableau notes[indice] ← note;
moyenne ← moyenne + note;
fin
moyenne ← moyenne/100;
pour indice = 1 à 100 faire
si tableau notes[indice] >= moyenne alors
afficher tableau notes[indice].” est supérieure à la moyenne de
”.moyenne;
fin
fin
fin

10

S-ar putea să vă placă și