Vous êtes sur la page 1sur 9

T

TD - Algorithmes
1) Paire ou impaire
Ecrire un algorithme qui demande un nombre (saisie) et qui affiche Paire ou Impaire selon sa valeur. Corrig // Algorithme Paire ou Impaire Dclaration des variables Var nombre : Entier Dbut Afficher("Saisir un nombre entier : ") saisir nombre Si (nombre module 2) = 0 Alors Afficher(nombre," est paire) Sinon Afficher(nombre, est impaire) Finsi Fin

2) Paire ou impaire et boucle


Reprendre lalgorithme en 1) et le modifier de manire rpter les oprations tant que la valeur du nombre est diffrente de zro. Corrig // Algorithme Paire ou Impaire et Boucle Dclaration des variables Var nombre : Entier Dbut // Amorage Afficher("Saisir un nombre entier : ") saisir nombre // Boucle avec un nombre inconnu ditrations Tant que (nombre<>0) faire Si (nombre module 2) = 0 Alors Afficher(nombre," est paire) Sinon Afficher(nombre, est impaire) Finsi Afficher("Saisir un nombre entier : ") saisir nombre Fin tanque Fin

SRC-FC / INF120 - Algorithme

Page 1

3) a dpend de lge !
Ecrire un algorithme qui demande lge dun enfant lutilisateur. Ensuite, il indique sa catgorie : o "Poussin" de 6 7 ans o "Pupille" de 8 9 ans o "Minime" de 10 11 ans o "Cadet" aprs 12 ans Corrig // Algorithme Boucles imbriques Dclaration des variables Var age : Entier Dbut Afficher("Entrez lge de lenfant : ") saisir age Si age >= 12 Alors Afficher("Catgorie Cadet") Sinon Si age >= 10 Alors Afficher("Catgorie Minime") Sinon Si age >= 8 Alors Afficher("Catgorie Pupille") Sinon Si age >= 6 Alors Afficher("Catgorie Poussin") Sinon Afficher(Pas class) Finsi Finsi Finsi Finsi Fin

SRC-FC / INF120 - Algorithme

Page 2

4) Trouv, cest gagn.


Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu ce que la rponse convienne. En cas de rponse suprieure 20, on fera apparatre un message : Plus petit ! , et inversement, Plus grand ! si le nombre est infrieur 10. // Algorithme Trouv cest gagn Dclaration des variables Var nombre : Entier Dbut // Amorage Afficher("Saisir un nombre entre 10 et 20 : ") saisir nombre // Boucle avec un nombre inconnu ditrations Tant que (nombre<10 ou nombre>20) faire Si nombre<10 Alors Afficher(" Plus grand !) Finsi // Ici on ralise un test pour une meilleure // lecture mais il nest pas ncessaire Si nombre>20 Alors Afficher( Plus petit !) Finsi Afficher("Saisir un nombre entre 10 et 20 : ") saisir nombre Fin tanque Afficher(nombre, est bien compris entre 10 et 20) Fin

Corrig

SRC-FC / INF120 - Algorithme

Page 3

5) Payer ses dettes


Lire la suite des prix (en euros entiers et termine par zro) des achats dun client. Calculer la somme quil doit, lire la somme quil paye, et simuler la remise de la monnaie. Corrig // Algorithme Payer ses dettes Dclaration des variables Var Prix : Entier Var Total : Entier Var Paiement : Entier Dbut // Amorage Afficher("Saisir un prix en euros (entier) : ") saisir Prix Total = 0 // Boucle avec un nombre inconnu ditrations Tant que (prix<>0) faire Total Total + Prix Afficher("Saisir un prix en euros (entier) : ") saisir Prix Fin tanque Afficher(Vous devez la somme de ,Total) Afficher(Entrer votre paiement) Saisir Paiement Si Paiement<Total Alors Afficher(Paiement insuffisant) Sinon Afficher(Nous vous devons,Total-Paiement) Finsi Fin

SRC-FC / INF120 - Algorithme

Page 4

6) Que produit lalgorithme suivant ?


Algorithme Tableau Nb(5) en Entier Var compteur : Entier Dbut Pour compteur 0 5 Nb(compteur) compteur * compteur Fin pour Pour compteur 0 5 Ecrire Nb(compteur) Fin pour Fin Peut-on simplifier cet algorithme avec le mme rsultat ? Corrig Ce programme remplie un tableau avec le carr des 6 premiers entiers. Il faut corriger la dimension du tableau Tableau Nb(6). Puis il affiche les valeurs obtenues. On aurait pu simplifier ainsi : Algorithme Tableau Nb(6) en Entier Var compteur : Entier Dbut Pour compteur 0 5 Nb(compteur) compteur * compteur Ecrire Nb(compteur) Fin pour Fin

SRC-FC / INF120 - Algorithme

Page 5

7) Grer un tableau
Ecrivez un algorithme permettant lutilisateur de saisir un nombre quelconque de valeurs, qui devront tre stockes dans un tableau. Lutilisateur doit donc commencer par entrer le nombre de valeurs quil compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie termine, le programme affichera le nombre de valeurs ngatives et le nombre de valeurs positives. Corrig // Algorithme Grer un tableau Dclaration des variables Var Nb : Numrique Var Nbpos : Numrique Var Nbneg : Numrique Var Tableau T() : Numrique Debut Afficher("Entrez le nombre de valeurs Saisir Nb // On redimensionne le tableau Redim T(Nb) // On met zro les compteurs Nbpos 0 Nbneg 0 Pour i 0 Nb - 1 Ecrire "Entrez le nombre n ", i Saisir T(i) Si T(i) > 0 alors Nbpos Nbpos + 1 Sinon Nbneg Nbneg + 1 Finsi Fin pour Afficher("Nombre de valeurs positives Afficher("Nombre de valeurs ngatives Fin

:")

+ 1

: ", Nbpos) : ", Nbneg)

SRC-FC / INF120 - Algorithme

Page 6

8) Fusionner deux tableaux


Tableau 1 :

Ecrivez un algorithme constituant un tableau, partir de deux tableaux de mme longueur pralablement saisis. Le nouveau tableau sera la somme des lments des deux tableaux de dpart.
4 8 7 9 1 5 4 6

Tableau 2 : 7 Tableau constituer : 11 14 12 11 2 8 11 10 6 5 2 1 3 7 4

Corrig // Algorithme : fusion de deux tableaux Dclaration des variables Var i, N : Numrique // T1 et T2 comptent N lments dj saisis Var Tableaux T1(), T2(), T3() : Numrique Debut // Redimensionnent du tableau en fonction de N N 8 Redim T3(N) Pour i 0 N - 1 T3(i) T1(i) + T2(i) Fin pour Fin

SRC-FC / INF120 - Algorithme

Page 7

9) Une boucle
Ecrire un algorithme qui demande un nombre de dpart, et qui calcule la somme des entiers jusqu ce nombre. Par exemple, si lon entre 5, le programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15 NB : on souhaite afficher uniquement le rsultat, pas la dcomposition du calcul. Corrig // Algorithme Somme dentiers Dclaration des variables Var nombre : Entier Var somme : Entier Dbut // Amorage Afficher("Saisir un nombre entier : ") saisir nombre // Boucle avec un nombre connu ditrations Somme 0 Pour i1 nombre Somme Somme + i Fin pour Afficher(La somme des entiers jusqu ,nombre) Afficher( est ,Somme) Fin

SRC-FC / INF120 - Algorithme

Page 8

10)

Un tableau bien rang


Ecrivez un algorithme qui permette de saisir un nombre quelconque de valeurs, et qui les range au fur et mesure dans un tableau. Le programme, une fois la saisie termine, doit dire si les lments du tableau sont tous conscutifs ou non.
13 14 15 16 17 18

Par exemple, si le tableau est : 12

ses lments sont tous conscutifs. En revanche, si le tableau est : 9 10 11 15 16 17 18

ses lments ne sont pas tous conscutifs.

Corrig // Algorithme Tableau rang Dclaration des variables Var Nb, i : Entier Var Flag : Booleen Var Tableau T() : Entier Debut Afficher("Entrez le nombre de valeurs :") Saisir Nb Redim T(Nb-1) Pour i 0 Nb - 1 Afficher("Entrez le nombre n ", i + 1) Saisir T(i) Fin pour // Flag est une variable utilis comme un indicateur // (drapeau qui change selon la situation Flag Vrai // Boucle avec un nombre connu ditrations Pour i 1 Nb - 1 Si T(i) <> T(i 1) + 1 Alors Flag Faux FinSi Fin pour Si Flag Alors Afficher("Les nombres sont conscutifs") Sinon Afficher("Les nombres ne sont pas conscutifs") FinSi Fin
SRC-FC / INF120 - Algorithme Page 9