Un logiciel polyvalent d'apprentissage de la programmation
Chapitre 1. Introduction
Chapitre 2. Le logiciel en bref
Chapitre 3. Premiers pas en algorithmique
Chapitre 4. Instructions conditionnelles
Chapitre 5. Boucles
Chapitre 6. Sous-programmes
6.1. Fonctions
6.2. Procédures
6.3. Travaux dirigés
Chapitre 7. Tableaux à une dimension
Chapitre 8. Tableaux à deux dimensions
Chapitre 9. Enregistrements
Annexe : comment tester vos programmes ?
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module

6.3. Travaux dirigés

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 ?

Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module