INF1005D
Exercices Algorithmes
* Exercice 1
Écrire l’algorithme pour lire 2 nombres et affiche la division du premier nombre par le deuxième.
* Exercice 2
Écrire l’algorithme qui détermine si un client d’un grand magasin a dépassé la marge de crédit. On lit
pour chaque client les informations suivantes : numéro du compte, solde au début du mois, total de tous les
articles achetés et limite de crédit permise.
* Exercice 3
Écrire l’algorithme pour lire un nombre entier et vérifier si celui ci est un multiple de 5. Répéter l’opération
tant que l’on n’a pas un nombre multiple de 5.
* Exercice 4
Écrire l’algorithme qui lit un mot et compte le nombre de voyelles du mot.
** Exercice 5
Écrire l’algorithme qui affiche la moyenne d’une série de notes (note1,note2,......, note60).
1
Solution de l’exercice 1
Solution standard
Afficher " Entrer le numé rateur : "
Lire numé rateur
Afficher " Entrer le dé nominateur : "
Lire dé nominateur
ré sultat = numé rateur / dé nominateur
Afficher "Le ré sultat de la division est", ré sultat
Solution avec vérification
Afficher " Entrer numé rateur : "
Lire numé rateur
Afficher " Entrer dé nominateur : "
Lire dé nominateur
SI dé nominateur != 0 ALORS
Afficher "Le ré sultat de la division est : ", ré sultat
ré sultat = numé rateur / dé nominateur
SINON
Afficher " ERREUR dé nominateur == 0"
Solution avec redemande entrée
Afficher " Entrer numé rateur : "
Lire numé rateur
Afficher " Entrer dé nominateur : "
Lire dé nominateur
# On va vé rifier que l'utilisateur rentre une valeur non égale à 0
# on lui redemande si ce n'est pas le cas
TANT QUE dé nominateur == 0 FAIRE
Afficher " Veuillez entrer un dé nominateur différent de 0 : "
Lire dé nominateur
ré sultat = numé rateur / dé nominateur
Afficher "Le ré sultat de la division est : ", ré sultat
2
Solution de l’exercice 2
Afficher " Entrer ..."
Afficher "Numéro du compte : "
Lire numé ro_compte
Afficher " Solde au début du mois: "
Lire solde_debut_mois
Afficher " Total des achats dans le mois: "
Lire total_achats_mois
Afficher " Limite de crédit permise : "
Lire limite_permise
total_actuel = solde_debut_mois + total_achats_mois
limite_depassee = total_actuel > limite_permise
SI limite_depassee ALORS
Afficher "La limite est dépassée"
SINON
Afficher "C'est bon"
FIN
3
Solution de l’exercice 3
Solution standard
nombre = 1
TANT_QUE nombre % 5 != 0 FAIRE
Afficher " Entrer un nombre multiple de 5: "
Lire nombre
FIN
Afficher "C'est bon"
Solution autre 1
Procedure multiple_de_5 ()
Afficher " Saisir un nombre : "
Lire nombre
estMultipleDe5 = (( nombre mod 5) == 0)
TANT QUE ! estMultipleDe5 FAIRE
Afficher " Saisir un nombre : "
Lire nombre
SI nombre % 5 == 0 ALORS
estMultipleDe5 = VRAI
FIN SI
FIN TANT QUE
FIN multiple_de_5
Solution autre 2
Procedure multiple_de_5 ()
Afficher " Saisir un nombre : "
Lire nombre
estMultipleDe5 = FAUX
TANT QUE ! estMultipleDe5 FAIRE
SI nombre % 5 == 0 ALORS
estMultipleDe5 = VRAI
SINON
Afficher " Saisir un nombre : "
Lire nombre
FIN SI
FIN TANT QUE
FIN multiple_de_5
Solution autre 3
Procedure multiple_de_5 ()
Afficher " Saisir un nombre : "
Lire nombre
M= nombre % 5
TANT QUE M != 0 FAIRE
Afficher " Saisir un nombre : "
Lire nombre
M = nombre % 5
FIN TANT QUE
Afficher "Est un multiple de 5 "
FIN multiple_de_5
4
Solution de l’exercice 4
Solution 1 : boucle TANT QUE
voyelles = " aeiou"
Afficher " Entrer un mot: "
Lire mot
nombre_de_voyelles = 0
j = 0
TANT_QUE j < TAILLE (mot) FAIRE
lettre = mot[j]
i = 0
TANT_QUE i < TAILLE ( voyelles ) FAIRE
SI lettre == voyelles [i] ALORS
nombre_de_voyelles += 1
FIN
i += 1
FIN
j += 1
FIN
Afficher "Il y a", nombre_de_voyelles , " voyelles ."
Solution 2 : boucle POUR
Afficher " Saisir un mot : "
Lire chaine
voyelles = " aeiouy "
Nombre_voyelle =0
Pour i = 0 à TAILLE ( chaine ) - 1 FAIRE
Pour j = 0 à TAILLE ( voyelles ) - 1 FAIRE # On vé rifie si c'est une voyelle
Si chaine [i]= voyelles [j] alors
Nombre_voyelle = Nombre_voyelle + 1 # si c'est une voyelle on incrémente
Fin si
FIN POUR
FIN POUR
Afficher Nombre_voyelle
Solution 3 : procédure estVoyelle
Procedure estVoyelle ( lettre )
voyelles = " aeiouy "
POUR i = 0 à TAILLE ( voyelles ) - 1 FAIRE
SI lettre == voyelles [i]
RETOURNER (VRAI)
FIN SI
FIN POUR
RETOURNER (FAUX)
FIN estVoyelle
Procedure compter_voyelles ()
Afficher " saisir un mot :"
Lire mot
nbr = 0
POUR i = 0 à TAILLE (mot) - 1 FAIRE
SI estVoyelle (mot[i]) ALORS
nbr = nbr + 1
FIN SI
FIN POUR
FIN compter_voyelles
5
Solution de l’exercice 5
Première solution
# Demander le nombre de notes .
Afficher " Entrer le nombre de notes: "
Lire nombre_de_notes
# Lire nombre de notes notes et en faire la somme à mesure .
i = 0
somme = 0
TANT_QUE i < nombre_de_notes FAIRE
Afficher " Entrer la prochaine note: "
Lire note
somme = somme + note
i += 1
FIN
# Diviser la somme par le nombre de notes.
Afficher "La moyenne est", somme / nombre_de_notes
Solution boucle POUR
Afficher " Saisir le nombre de notes : "
Lire n
Somme = 0
POUR i = 0 à n-1 FAIRE # Sommation de toutes les notes
Afficher " Saisir la note : "
Lire note
Somme = Somme + note
FIN POUR
Moyenne = Somme / n # Calcul de la moyenne
Afficher "la moyenne est des notes est" Moyenne
Solution arrêt pour une valeur spécifique
Afficher " Saisir les notes une par une , taper -1 pour arreter la saisie "
Lire note
somme = 0
j = 0
Si note = -1 FAIRE”
Afficher Aucune moyenne ne peut être calcul é”e
Sinon
Tant que note != -1 FAIRE
somme = somme+note
j = j+1
Afficher “Saisir les notes une par une , taper -1 pour arreter la ”saisie
Lire note
Fin tant que
Moyenne =( somme/j)
Afficher "La moyenne est : ", Moyenne
FIN SI