Première semaine
Exercice 0
|
L'incontournable "Hello World" .... |
Corrigé |
Exercice 1
|
Calcul et affichage de la somme, de la différence, du produit,
du quotient et du reste de la division entière de deux nombres entiers. |
Corrigé
Corrigé |
Exercice 2
|
Rendre de la monnaie, i.e. calcul puis affichage du nombre (minimal)
de pièces de 20, 10, 5, 2 et 1 Francs correspondant à un
montant donné en francs. |
Corrigé
Corrigé |
Exercide 3
|
Calcul et affichage du périmètre et de l'aire d'un cercle
dont on saisira le rayon. |
Corrigé, Corrigé |
Préliminaires : Quelques
rappels avant de commencer à coder !
Pour programmer on doit d'abord saisir le source du programme, le sauver
sous le bon nom, le compiler avant d'enfin pouvoir l'exécuter.
-
Taper le source dans l'éditeur JEDPlus
-
Sauvegarder ce source sous le bon nom (i.e. le nom suivant le mot clé
"class" ... Attention aux majuscules !)
-
Compiler le code source, soit avec le menu de JEDPlus, soit avec la commande
"javac nomDuFichier.java" (ceci génére le fichier
nomDuuFichier.class)
-
Exécuter le programme, soit avec le menu de JEDPlus, soit avec la
commande "java nomDuFichier" (attention, pas besoin de suffixe
.java ou .class)
-
Admirer le résultat et se congratuler ... ou commencer la chasse
au(x) bug(s) :-)
Rappel du squelette d'une classe en Java (i.e. un programme) :
class MaClasseAMoi {
public static void main(String[] args){
// Déclaration
des variables
// Saisie des données
auprès de l'utilisateur
// Réalisation
des calculs
// Affichage des résultats
/* N'hésitez pas
à utiliser les commentaires, soit comme ci-dessus
lorsque
vous n'avez qu'une seule ligne, soit comme ici, lorsque
vous voulez insérer des commentaires beaucoup plus longs ! */
}
} |
Important: Enregistrez votre fichier sous le meme nom que le
nom de classe (ici, on sauverait sous "MaClasseAMoi.java").
Rappel méthodologique :
Première étape : Partir à la peche aux informations
!
Dans cette première phase on identifie les différentes informations
que l'on aura a manipulé. On détermine quelles informations
sont constantes (par exemple lorsqu'elles sont données dans l'énoncé),
quelles informations doivent etre saisies auprès de l'utilisateur
(ce qui donne généralement lieu à un affichage pour
que l'utilisateur sache ce que l'on attend de lui), quelles informations
sont calculées.
Cette première phase nous permet d'effectuer un certain nombre
de déclaration de variables.
Deuxième étape : S'attaquer au corp du problème !
Maintenant, il faut trouver une manière de résoudre le problème
posé dans l'énoncé. Pour cela nous devons établir
un algorithme (un programme) qui grace aux différentes informations
que nous avons identifiées dans l'étape précédante,
pourra effectuer le calcul de la solution.
Troisième étape : Penser à la sortie !
Une fois que les calculs sont faits, encore faut-il les afficher, pour
que l'utilisateur voit le(s) résultat(s). Ne mélangez
jamais les calculs avec les affichages !
DERNIERE étape : CODER ! (j'insiste lourdement : ceci doit etre
la DERNIERE étape)
Une fois les trois premières étapes passées, il ne
reste plus qu'à traduire tout cela en Java. N'oubliez pas qu'il
faut utiliser des noms de variables significatifs (a, b, c, d ne sont pas
des noms de variables très "parlant"), n'hésitez pas à
abuser des commentaires pour expliquer de manière informelle le
comportement de votre code Java.
Exercice 0 :
Comme dans tout langage de programmation, nous allons débuter
avec le sacro-saint "Hello World". Le but de ce programme consiste donc
à afficher le message "Hello World !" à l'écran !
Voici l'affichage que devra produire votre programme :
C:\Java\Algo> java HelloWorld
Hello World !
C:\Java\Algo> |
Rappel : System.out.print("uneChaine") permet d'afficher
"uneChaine"
à l'écran sans passage à la ligne.
Tandis que System.out.println("uneChaine") permet d'afficher
"uneChaine"
à l'écran mais cette fois avec un retour à la ligne.
Exercice 1 :
Dans cet exercice nous désirons calculer et afficher la somme,
la différence, le produit, le quotient, et le reste de la division
entière de de deux nombres entiers !
Plus précisèment, voilà le comportement du programme
:
C:\Java\Algo> java Calcul
Donnez moi un nombre : 11
Donnez moi un autre nombre
: 2
11 + 2 = 13
11 - 2 = 9
11 * 2 = 22
11 / 2 = 5
11 % 2 = 1
C:\Java\Algo> |
Rappel : Clavier.readInt() est l'instruction permettant de saisir
un entier au clavier.
Rappel : une déclaration de variable à la syntaxe
suivante : typeDeDonnées variable1 [= valeur], variable2, ....
variableN ;
Par exemple, si j'ai besoin de manipuler des entiers, je peux les déclarer
ainsi : int monEntier = 5, monEntierASaisir;
Précision : les quatres premiers opérateurs (+,
-, *, /) vous sont familiers, par contre le dernier ne l'est peut etre
pas : c'est l'opérateur modulo, il calcule le reste de la
division entière de deux nombres.
Exercice 2 :
Maintenant, nous allons nous attaquer à un problème un
peu plus complexe. On souhaite réaliser un programme qui pourrait
nous expliquer comment rendre la monnaie en utilisant un minimum de pièces.
Exemple : je vais acheter ma baguette (qui coute 7 fr), et je paye avec
un billet de 100 fr. Quelle monnaie doit me rendre le caissier ? Dans ce
cas 100-7 = 93 Fr, sachant qu'il dispose de pièces de 20, 10, 5,
2 et 1 Franc. Ici, il devrait me donner 4 pièces de 20 Francs, 1
pièce de 10 Francs, 0 pièce de 5 Fr, 1 pièce de 2
Francs et 1 pièce d'1 Franc. Voyons maintenant l'affichage que devra
produire ce programme qui sera d'une grande aide pour mon caissier :
C:\Java\Algo> java Monnaie
Donnez moi le nombre de francs
: 93
93 Fr = 4 * 20 Fr + 1 * 10
Fr + 0 * 5 Fr + 1 * 2 Fr + 1 * 1 Fr.
C:\Java\Algo> |
Précision : Vous pouvez (en fait, vous devez :-) écrire
ce programme en n'utilisant que 2 variables !
Exercice 3 :
Un exercice un peu plus facile pour digérer le précédant
: on désire calculer le périmètre et l'aire d'un cercle
dont on demandera le rayon à l'utilisateur.
C:\Java\Algo> java Cercle
Entrez le rayon du cercle :
10
Le périmètre
du cercle vaut 60
L'aire du disque vaut 300
C:\Java\Algo> |
Précision : Utilisez la valeur entière 3 pour représenter
PI (i.e. définissez une variable int PI = 3;), on jouera avec les
flottants plus tard.
Autre précision : pour ceux qui s'ennuieraient refaites
l'exercice en utilisant le type double et utilisez la constante
Math.PI
qui représente le nombre PI en Java.