créé le 07/30/99

Chapitre 9 Exercices de programmation

Instructions générales: Ecrivez chacun des programmes suivants. Aucun de ces programmes n'attend que l'utilisateur lui fournisse des données. Les valeurs de ces programmes devront etre écrites "en dur" dans le programme à l'aide d'instructions de déclaration ou d'affectation. Habituellement, ceci est un mauvais principe de programmation. Les entrées-sorties seront examinées dans les deux prochains chapitres. Après les avoir lus, vous pourrez revenir modifier ces programmes pour les écrire plus proprement.

Note: Chacun de ces exercices vous demande d'exécuter plusieurs fois les programmes avec différentes valeurs. C'est une chose importante à faire ! Expérimenter et modifier vos programmes est absolument nécessaire pour que vous les compreniez et que vous puissiez acquérir le "feeling" de la programmation.


Exercise 1 --- Gestion de salaire

Examinez le programme (extrait du chapitre):
class Example
{  
  public static void main ( String[] args )  
  {
    long   heuresDeTravail = 40;    
    double tauxHoraires    = 10.0, tauxDesTaxes = 0.10;    
    System.out.println("Heures de travail : " + heuresDeTravail );
    System.out.println("Salaire           : " + (heuresDeTravail * tauxHoraire) );
    System.out.println("Montant des taxes : " + (heuresDeTravail * tauxHoraire * tauxDesTaxes) );
  }
}
Modifiez ce programme de telle manière que chaque variable soit déclarée seule et ne soit pas initialisée. Ensuite écrivez trois instructions d'affectation pour fournir une valeur aux trois variables précédemment déclarées. Compilez et exécutez le programme, examinez l'affichage produit.

Maintenant, essayons de casser quelque chose : enlevez l'une de ces affectations du programme valide. Essayez de compiler et d'exécuter le programme. Aquel moment le problème est-il détecté ?

Cliquez ici pour revenir au menu principal.


Exercise 2 --- Valeur d'un polynome

Imaginons que vous soyez intéressé par la valeur du polynome
3X2 -8X + 4
pour plusieurs valeurs de X. Ecrivez le programme qui possède une variable X de précision double. Affectez lui une valeur. Ecrivez les instructions qui calculent la valeur de ce polynome en ce point et stocke le résultat dans une autre variable de précision double. Enfin, procédez aux affichages, comme :
En X = 4.0 la valeur du polynome 3X2 -8X + 4 est 20.0
Exécutez le programme pour plusieurs valeurs de X et examinez le résultat. Utilisez des valeurs décimales, de grandes valeurs, de petites valeurs, des valeurs négatives, et zéro. Ce polynome devrait s'annuler pour les deux racines X = 2.0 et X = 2/3. Essayez ces valeurs de X. Les résultats sont-ils corrects ?

Cliquez ici pour revenir au menu principal.

Exercise 3 --- Réassigner des valeurs à des variables

Modifiez le programme de l'exercice 2 de tel manière qu'une seule exécution du programme affiche la valeur du polynome pour les trois points suivants X=0.0, X=2.0 et X=4.0 (ou trois autres valeurs de vote choix).

Ecrivez ce programme en utilisant que deux variables, probablement appelée x et value. Bien sur, cela signifie que vous devrez réutiliser ces variables en les réaffectant à différents endroits du programme.

Durant l'écriture de votre programme n'hésitez pas à abuser des fonctions "copy" et "paste" de votre éditeur pour ne pas avoir à retaper les lignes de code qui seront identiques.

Cliquez ici pour revenir au menu principal.


Exercise 4 --- Chute moyenne de pluie

Ecrivez un programme permettant de calculer la chute moyenne de pluie sur les trois mois, Avril, Mai et Juin. Declarez et initialisez pour cela une variable détenant le volume des chutes de pluie pour chaque mois. Calculez ensuite la moyenne, et affichez le résultat, comme :
Rainfall for April:  12
Rainfall for May  :  14
Rainfall for June:   8
Average rainfall:    11.333333
Pour pouvoir obtenir l'alignement des valeurs numériques, utilisez le caractère spécial "tabulation" qui est '\t' à l'intérieur de la chaine de caractères effectuant l'affichage. Vérifiez que votre programme procède aux bons affichages. Il y a aussi une erreur classique cachée dans ce programme ! En avez-vous été victime ?

Cliquez ici pour revenir au menu principal.


Exercise 5 --- Trigonométrie

Pour caluler le sinus d'un nombre en double précision, nous pouvons utiliser la méthode suivante :
Math.sin( value )
La valeur est en radians (et pas en degrés). De meme , il est possible d'obtenir le cosinus en utilisant :
Math.cos( value )
De nouveau, la valeur est en radians. Ecrivez un programme qui :
  1. Calcule le sinus de 0.5236 radians et le sauve le résultat dans une variable.
  2. Calcule le cosine de 0.5236 radians et  le sauve dans une auter variable.
  3. Calcule le carré de chacune de ces valeurs (en utilisant les variables), ajoute les deux carrés, et sauvegarde le résultat dans une troisième variable.
  4. Affichez enfin les trois variqbles.
L'instruction effectuant l'affichage devrait ressembler à :
System.out.println("sinus: " + sinx + " cosinus: " + cosx + " somme: " + somme );
Essayez d'autres valeurs à la place de 0.5236.

Cliquez ici pour revenir au menu principal.


Exercise 6 --- Degrées vers Radians

Il est parfois difficile de travailler en radians; nous préférerions utiliser les degrés. Rappelez-vous (de ces jours sombres des cours de trigonométrie!) qu'il y a PI radians dans 180 degrés. Donc pour convertir un angle donné en degrés vers des radians, il suffit de faire :
rad = degrees * Math.PI/180
Math.PI est une constante quivous retournera une valeur approchée de PI.

Recommencez le programme précédant pour qu'il fasse touours les meme calculs, mais l'angle de départ valant cette fois-ci 30° (que vous aurez donc à convertir en radians).

Cliquez ici pour revenir au menu principal.


Fin des exercices de ce chapitre