Le but de cet exercice est d'obtenir l'applet ci-dessous que vous pouvez tester:
En utilisant la formule
C = (5/9)(F-32)
écrire en langage JAVA un programme qui lit une température exprimée en degrés Fahrenheit et affiche sa valeur en degrés centigrades ou degrés Celsius.
exemples d'exécution du programme :
Une température en Fahrenheit : O.O
équivaut à -17.8 degres Celsius
Une température en Fahrenheit :60.0
équivaut à 15.6 degre Celsius
Exercice 2 : Conversion de durées
Le but de cet exercice est d'obtenir l'applet ci-dessous que vous pouvez tester:
Ecrire un programme en langage JAVA qui pour un nombre de secondes donné calcule et affiche son équivalent en nombre de jours, d'heures, de minutes et de secondes.
exemples d'exécution du programme :
Une durée en secondes : 3621
équivaut à 0 jours 1 heures 0 minutes 21 secondes
Une durée en secondes : 567231
équivaut à 6 jours 13 heures 33 minutes et 51 secondes
Thème 2 : instructions conditionnelles
Exercice 1 : Classez 3 nombres
Le but de cet exercice est d'obtenir l'applet ci-dessous que vous pouvez tester :
Ecrire un programme qui lit 3 nombres au clavier, les classes dans l'ordre croissant et les affiche du plus petit au plus grand sur la console.
Exemple :
1er nombre : 14
2ème nombre : 10
3ème nombre : 17
les nombres dans l'ordre croissant : 10 14 17
Thème 3 : itérations
Exercice 1 : Moyenne olympique
Ecrire un programme qui lit au clavier une suite de nombres réels positifs ou nuls (correspondant à des notes), terminée par la valeur -1, et calcule la moyenne olympique de ces valeurs, c'est à dire la moyenne des notes sans prendre en compte la note la plus élevée ni la note la moins élevée.
Exemple de trace d'exécution (en gras les valeurs introduites par l'utilisateur):
donnez une note ( >=0 ou -1 pour arrêter): 9.6
donnez une note ( >=0 ou -1 pour arrêter): 9.7
donnez une note ( >=0 ou -1 pour arrêter): 10.0
donnez une note ( >=0 ou -1 pour arrêter): 9.8
donnez une note ( >=0 ou -1 pour arrêter): 9.2
donnez une note ( >=0 ou -1 pour arrêter): 9.9
donnez une note ( >=0 ou -1 pour arrêter): -1
La note la plus élevée (10.0)et la note plus basse (9.2) ont été
retirées
La moyenne olympique est : 9.75
Exercice 2 : Affichage de motifs.
Pour la visualisation voir TD
Ecrire un programme affiche un motif triangulaire dont la taille est fixée par une valeur lue au clavier.
Exemple de tracé d'exécution (en gras les valeurs introduites par l'utilisateur):
donnez taille du motif : 7
*
**
***
****
*****
******
*******
a) écrire un programme affichant ce motif en utilisant uniquement des instruction tant que (while()).
b) écrire un programme affichant ce motif en utilisant uniquement des instructions pour (for).
Exercice 3 : Affichage de motifs
Même exercice que le précédent mais le motif affiché n'est plus un triangle mais une pyramide (voir ci-dessous) et le choix des instructions pour le réaliser est laissé à votre jugement.
Exemple de trace d'exécution (en gras les valeurs introduites par l'utilisateur):
taille du motif : 7
Exercice 4 : Suite de Fibonacci
La suite de Fibonacci est définie par la formule de récurrence suivante:
u1 = 1
u2 = 2
un = un-1 + un-2 ( n >= 3).
Ecrire un programme qui permet de calculer le nième terme de la suite de Fibonacci, n étant fixé par l'utilisateur.
Exercice 5 : Tester si un nombre est premier
Un nombre est n premier si il a seulement deux diviseurs : 1 et n.
Ecrire un programme qui permet de tester si un nombre introduit par l'utilisateur est premier ou non.
Exemple de trace d'exécution (en gras les valeurs introduites par l'utilisateur):
Donner un entier positif : 7
7 est un nombre premier
Voulez-vous essayer un autre nombre O/N ? o
Donnez un entier positif : 25
25 n'est pas un nombre premier, il est divisible par 5
Voulez-vous essayer un autre nombre O/N ? n
Exercice 6 : Prix d'un lot
A) Le jeu consiste à découvrir par essais successifs le prix d'un lot. Pour chaque essai, le joueur reçoit un message : "Trop grand", "Trop petit" ou "BRAVO ! Vous avez trouvé en K essais".
Le jeu est fini quand le joueur a trouvé le prix du lot.
On propose d'écrire un programme JAVA qui joue le rôle de meneur de jeu ; l'exécution de ce programme vous fera tenir le rôle du joueur.
Le programme doit définir le prix du lot en tirant un entier aléatoire entre 1 et 1000 et dialoguer avec le joueur pendant le jeu.
Pour choisir un nombre au hasard on utilisera la méthode random de la classe Math qui retourne un réel (double) tiré au hasard et de manière uniforme dans l'intervalle [0 1].
exemple :
double x;
x = Math.random();
exemple d'exécution du programme:
Le but est de chercher un prix entre 0 et 1000
Tapez un prix : 566
Trop grand
Tapez un prix : 400
Trop grand
Tapez un prix : 150
Trop petit
Tapez un prix : 200
Trop petit
Tapez un prix : 214
BRAVO ! Vous avez gagné en 5 essais
B) En jouant avec le programme précédent, essayer de trouver une stratégie systématique et efficace.
Ecrire un programme qui fait jouer l'ordinateur à votre place suivant la tactique que vous venez de définir ;
Les deux rôles de meneur de jeu et de joueur sont donc à la charge du programme, le joueur "ignorant" évidemment le prix connu du meneur de jeu,
mais "sachant" si son essai est plus grand ou plus petit que le prix.
Le programme effectue 20 parties ; il affiche pour chaque partie le prix tiré au sort et le nombre d'essais successifs qui ont été nécessaires pour le trouver avec la tactique programmée.
Pouvez-vous prévoir, pour la tactique que vous avez choisie, l'ordre de grandeur des nombres d'essais ?
Exercice 7 : Calcul de X^n
a) Ecrire un programme JAVA permettant de calculer et d'afficher la valeur de X^n (lire X puissance n), où X et n sont respectivement un réel et un entier introduits au clavier.
Pour effectuer ce calcul on ne fera pas appel aux fonctions de la classe Math (pow ou exp et log), mais on utilisera des instructions itératives (for, while ou do while).
Le programme devra permettre de traiter tous les cas possibles : n = 0, n > 0 et n ‹ 0 avec X réel négatif, positif ou nul.
exemple d'exécution :
x = 2.0
n = 3.0
x^n = 8.0
voulez-vous faire un autre calcul O/N : o
x = 3.5
n = -3
x^n = 0.0233236151
voulez-vous faire un autre calcul O/N : n
Thème 4 : Résumé
On considère un dé de 6 faces, écrire un programme qui trouver le nombre de jets qu’il faut pour avoir 6 jets de suite à 6. Ce n’est pas de la statistique, mais le programme simulera les jets et vérifiera si les six six concécutifs ont été réalisés.
On utilisera l’objet de génération de chiffre aléatoirement suivant :
import java.util.Random;
Random aleatoire = new Random();
1+aleatoire.nextInt(6);