Précis d'épistémologie
Table des chapitres
Algorithmique/Exercices et solutions
= Exercices et quelques solutions =
Dans un premier temps, par facilité, la numérotation des solutions correspond à celle de la version pdf imprimable de septembre 2015.
= Résolution collective d'exercices =
ATTENTION tous les algorithmes proposés ci-dessous n'ont pas nécessairement été relus ni corrigés, ni par un enseignant ni même parfois par des étudiants ayant un œil assez critique.
Le lecteur DOIT donc considérer qu'il s'agit d'une première version et est invité à apporter des explications et des améliorations lorsque ceci est pertinent.
Il convient en particulier souvent de compléter l'algorithme par une précision des données, des inconnues ou de l'objectif puis de la méthode de résolution avec un schéma ou une (des) phrase(s) d'explication.
Ceci est un recueil de propositions de solutions par des étudiants, pour des étudiants. Ceci n'est intéressant QUE et SI les étudiants font avant la lecture de la solution, un essai personnel, peut-être en groupe, de résolution active.
Ex 4.14.
 heure (entier) \
 minutes (entier) - totalSecondes (entier) = heure * 3600 + minutes * 60 + secondes
 secondes (entier) /
 module conversionHMS2secondes()
 // hms2sec() // autre nom plus court
 heures : entier
 minutes : entier
 secondes : entier
 totalSecondes : entier
 totalSecondes <= heures * 3600 + minutes * 60 + secondes
 fin_module
Ex 4.11 : allureEnKmparHeure().
 heure (entier) \
 min (entier) - allure = heure + min / 60 + sec / 3600 (réel)
 sec (entier) /
 vitesse = 1/ allure (réel)
 module allureEnkmparHeure()
 heure : entier
 min : entier
 sec : entier
 allure, vitesse : réel
 allure <= heure + min / 60 + sec / 3600 
 vitesse <= 1/ allure
 fin_module
Ex 5.10 : prixTTC().
 D:- Un prix HTVA
 - La TVA : 21% du prix HTVA
 I: Prix TTC
 module prixTTC()
 prixHTVA, TVA, prixTTC : réel
 TVA <- 21
 prixTTC <- prixHTVA+(prixHTVA/100*TVA)
 fin_module
Ex 5.2.
 D: nombre1 (réel)
 nombre2 (réel)
 I: moyenne (réel)
 R: moyenne <--- (nombre1 + nombre2) / 2
 algorithme moyenne(nombre1+nombre2 : réels) --->réel
 retourner (nombre1 +nombre2) / 2
 fin algorithme
Ex 5.3.
 Données : 
 * baseTriangle(réel)
 * hauteurTriangle (réel)
 Inconnues ou objectif : surfaceTriangle (réel)
 Résolution :
 surfaceTriangle <---(baseTriangle * hauteurTriangle) /2
 algorithme surfaceTriangle(baseTriangle, hauteurTriangle :réels) --->réel
 retourner (baseTriangle * hauteurTriangle) / 2
 fin algorithme
Ex 6.5.
 algorithme max(nb1, nb2 : réels) -->réel
 max: réel
 si nb1>nb2alors
 max ←nb1
 sinon
 max ←nb2
 fin si
 retourner max
 fin algorithme
Ex 6.6.
 algorithme salaireNet (salaireBrut, retenue speciale : réels) -->réel
 salaireNet:réel
 si salaireBrut > 1200 alors
 salaireNet ←(salaireBrut – (salaireBrut-1200)*15%)
 fin si
 fin algorithme
Ex 6.7.
à discuter et corriger car pas tout à fait correct