JAVA année 2015
CP 2 – série n°2
Exercices sur les conditionnelles, le contrôle de flot et les méthodes statiques
Exercice 1
Écrire un programme Ex0201.java qui lit 3 nombres au clavier, les classes dans l'ordre croissant
et les affiche du plus petit au plus grand sur la console.
C:\JAVA\TP2>java Ex0201
1er nombre : 14
2ème nombre : 10
3ème nombre : 17
les nombres dans l'ordre croissant : 10 14 17
C:\JAVA\TP2>
import java.util.Scanner;
public class Ex0201 {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int a1, a2, a3;
System.out.println("Entrez le nombre 1 ");
a1 = sc.nextInt();
System.out.println("Entrez le nombre 2 ");
a2 = sc.nextInt();
System.out.println("Entrez le nombre 3 ");
a3 = sc.nextInt();
int max, min, mil; //max, min et le nombre du milieu
/* on commence les comparaisons */
/* on compare le 1er et le 2eme */
if (a1>a2) {
max = a1;
mil = a2;
} else {
mil = a1;
max = a2;
}
/* on compare le plus grand (entre le 1er et le 2eme) et a3 */
if (max > a3)
/* on compare le milieu et a3 */
if (mil > a3)
min = a3;
else {
int perm;
perm = mil;
mil = a3;
min = perm;
}
else {
min = mil;
mil = max;
max = a3;
}
System.out.println("Les 3 nombres dans l'ordre croissant sont : " + min + " " + mil + " " +
max);
}
}
Exercice 2
Écrire 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):
C:\JAVA\TP2>java Ex0202
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
C:\JAVA\TP2>
import java.util.Scanner;
public class Ex0202 {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
float nb, max, min;
float somme = 0.0f;
int nbVal = 0;
System.out.println("Donnez une note ");
nb = sc.nextFloat();
max = min = nb;
while (nb != -1){
nbVal++;
if (nb > max)
max = nb;
if (nb < min)
min = nb;
somme = somme + nb;
System.out.println("Donnez une note ");
nb = sc.nextFloat();
}
System.out.println("La note la plus élevée ("+ max+ ") et la note la plus basse ("+ min +" ) ont
été retirées");
somme = somme - max - min;
System.out.println("La moyenne olympique est : "+ somme/ (float) nbVal);
}
}
Exercice 3
Écrire un programme affiche un motif triangulaire dont la taille est fixée par une valeur lue au
clavier.
Exemple de trace d'exécution (en gras les valeurs introduites par l'utilisateur):
C:\JAVA\TP2>java Ex0203
donnez taille du motif : 7
*
**
***
****
*****
******
*******
import java.util.Scanner;
public class Ex0203 {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int taille, lignes, colonnes;
System.out.print("Entrez la taille du motif ");
taille = sc.nextInt();
for(lignes = 1; lignes <= taille; lignes++){
for( colonnes = 1; colonnes <= lignes; colonnes++)
System.out.print("*");
System.out.println("");
}
}
}
Exercice 4
Exercice 5
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).
Écrire un programme Ex0205.java qui permet de calculer le nième terme de la suite de Fibonacci,
n étant fixé par l'utilisateur.
import java.util.Scanner;
public class Ex0205 {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int i, u, v, w; // u premier terme, v deuxième terme de la suite
u = 0;
v = 1;
w = u + v;
System.out.print("Donnez le rang de la suite ");
int rang;
rang = sc.nextInt();
for(i = 0; i < rang; i++){
w = u + v;
v = u;
u = w;
}
System.out.println("Le terme de rang " + rang + " est " + w);
}
}
Exercice 6
Un nombre est n premier s'il a seulement deux diviseurs : 1 et n.
Écrire un programme Ex0206.java 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):
C:\JAVA\TP2>java Ex0206
donnez un entier positif : 7
7 est un nombre premier
Voulez-vous essayer un autre nombre O/N ? o
donnez un entier positif : 25
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !