Les solutions Larp aux exercices posés dans ce chapitre sont disponibles
en cliquant ici, mais je vous conseille vivement de chercher
auparavant à les résoudre et à les tester sur machine (en Larp ou dans le langage
de votre choix).
Remarque : PluriAlgo peut être utilisé pour faciliter la résolution des exercices
(voir
indications), en particulier
par des programmeurs Javascool.
Exercice 1 : location de voitures
Cet exemple a été traité dans l'exercice 1
de travaux dirigés du chapitre 4, sans sous-programme.
1) Définissez une fonction pour calculer le tarif essence
et une fonction pour calculer le tarif diesel.
2) Utilisez ces deux fonctions dans un module principal afin d'obtenir non seulement les tarifs de location, mais aussi le type de véhicule le plus
rentable (essence ou diesel).
3) Traitez à nouveau l'exercice non plus avec une fonction par tarif, mais avec
une procédure ayant 2 paramètres de sortie (un pour chaque tarif).
Exercice 2 : minimum et maximum
1) Définissez deux fonctions, nommées getMin et getMax, calculant le minimum et le maximum de 2 nombres.
2) Utilisez ces deux fonctions dans un module principal calculant le minimum
et le maximum de 2 nombres (à saisir).
3) Adaptez le module principal de la question précédente à 3 nombres, sans modifier
les fonctions définies dans la question 1.
4) Adaptez le programme précédent pour calculer la note finale d'un skieur au
saut à skis.
Exercice 3 : notes
1) Cet exemple a été traité dans l'exercice 3
de travaux dirigés du chapitre 4, sans sous-programme.
a) Définissez une fonction déterminant la mention d'un étudiant à partir de
sa note de mathématique et de sa note d'anglais.
b) Utilisez la fonction dans un module principal saisissant les 2 notes.
2) Généralisez le module principal à un nombre quelconque d'étudiants (à saisir).
Exercice 4 : permutation et tri
Nous allons ici chercher à permuter 5 variables de façon à les ordonner par ordre croissant.
Exemple : 14,20,15,10,16 donne 10,14,15,16,20.
Nous généraliserons cet algorithme à un nombre quelconque de valeurs lorsque nous trierons des tableaux
dans le
chapitre 7.
1) Nous introduisons une procédure paramètrée nommée ordonner, avec 2 paramètres d'entrée-sortie, échangeant
le contenu des paramètres s'ils ne sont pas triés par ordre croissant.
Procédure ordonner |
Programme principal |
ENTRER REFERENCE X, REFERENCE Y
SI (X > Y) ALORS
copieX = X
X = Y
Y = copieX
FINSI
RETOURNER
|
DÉBUT
X1=4
X2=20
X3=15
X4=10
X5=16
\\ etape 1
EXECUTER ordonner(X1,X2)
EXECUTER ordonner(X1,X3)
EXECUTER ordonner(X1,X4)
EXECUTER ordonner(X1,X5)
\\ etape 2
EXECUTER ordonner(X2,X3)
EXECUTER ordonner(X2,X4)
EXECUTER ordonner(X2,X5)
FIN
|
Indiquez les valeurs prises par les variables X1, X2, X3, X4 et X5 après chaque instruction.
2) Complétez le module principal de façon à trier les 5 nombres par ordre croissant.
3) Que suffit-il de changer pour obtenir un tri par ordre décroissant ?