Structures de base [bs]
Exercices de cours
Karine Zampieri, St´ephane Rivi`ere, B´eatrice Amerein-Soltner
Unisciel algoprog Version 3 octobre 2016
Table des mati`eres
1 Appr´ehender le cours 2
1.1 Compr´ehension d’algorithmes / qzexercs .................. 2
1.2 Simplification de programme / qzsimplific ................. 5
1.3 R´eutilisation d’une variable / pgaffect3 ................... 8
1.4 Exponentiation 16-`eme / pgexponent1 ................... 10
2 Appliquer le cours 11
2.1 Op´erations sur deux entiers / pgcalcul1 ................... 11
2.2 Dur´ee de trajet / pgtrajet1 .......................... 13
2.3 Un peu de trigo / pgtrigo1 .......................... 15
3 Approfondir le cours 16
3.1 Moyennes de deux entiers / pgmoyenne1 .................. 16
3.2 Codage d’une date / pgdate1 ........................ 17
Java - Exercices de cours (Solution)
Mots-Cl´es Structures de base
Difficult´e •◦◦ (1 h 30)
1
Unisciel algoprog – bs00exerc-texte, October 3, 2016 2
1 Appr´ehender le cours
1.1 Compr´ehension d’algorithmes / qzexercs
Utilise Variable, Affectation, Calculs
Dur´ee estim´ee 10 min
Objectif
Cet exercice demande de comprendre des algorithmes.
Java : Algorithme 1
import java.util.Scanner;
public class QZExerc1 {
public static void main(String[] args) {
Scanner cin =new Scanner(System.in);
int a,b;
a=cin.nextInt();
b=cin.nextInt();
a=a+2*b;
System.out.println(a);
}
}
Que fait-il ?
Solution simple
Il d´eclare puis saisit deux entiers a et b, modifie a puis l’affiche.
Qu’affiche-t-il pour les valeurs 2 et 3 ?
Solution simple
On aura : 8
Java : Algorithme 2
import java.util.Scanner;
public class QZExerc2 {
public static void main(String[] args) {
Scanner cin =new Scanner(System.in);
int a,b;
a=cin.nextInt();
b=cin.nextInt();
double q=1.0*a/b;
System.out.println(q);
}
}
Unisciel algoprog – bs00exerc-texte, October 3, 2016 3
Que fait-il ?
Solution simple
Il d´eclare deux entiers aet bet un r´eel quotient, saisit les deux entiers puis calcule le
r´eel et l’affiche.
Qu’affiche-t-il pour les valeurs 2 et 3 ?
Solution simple
On aura : 0.66666667.
Java : Algorithme 3
import java.util.Scanner;
public class QZExerc3 {
public static void main(String[] args) {
Scanner cin =new Scanner(System.in);
int a,b,c,e;
c=cin.nextInt();
e=cin.nextInt();
a=2*c+5*e;
b=2+c*3+e;
c=a%b;
System.out.println(a/c);
}
}
Que fait-il ?
Solution simple
Il d´eclare quatre entiers a, b, c et e, saisit les entiers c et e, calcule a et b puis modifie c
(reste de la division enti`ere de a par b). Enfin il affiche la division enti`ere de a par c.
Qu’affiche-t-il pour les valeurs 2 et 3 ?
Solution simple
On aura : a<-2*2+5*3=19 puis b<-2+2*3+3=11 puis c<-19 mod 11=8 puis l’affichage de
19/8=2.
Java : Algorithme 4
import java.util.Scanner;
public class QZExerc4 {
public static void main(String[] args) {
Scanner cin =new Scanner(System.in);
Unisciel algoprog – bs00exerc-texte, October 3, 2016 4
double x,y;
x=cin.nextDouble();
y=cin.nextDouble();
x=x*x;
x=x*x+y*y;
x=Math.sqrt(x);
System.out.println(x);
}
}
Que fait-il ?
Solution simple
Il d´eclare deux r´eels xet y, saisit les deux r´eels puis calcule et modifie xdeux fois. Enfin
il calcule la racine carr´ee de xdans xet l’affiche.
Qu’affiche-t-il pour les valeurs 2 et 3 ?
Solution simple
On aura : x<-2*2=4 puis x<-4*4+3*3=25 puis x<-RacineCarrée(25)=5 puis affiche 5.
Java : Algorithme 5
import java.util.Scanner;
public class QZExerc5 {
public static void main(String[] args) {
Scanner cin =new Scanner(System.in);
int x;
x=cin.nextInt();
x=cin.nextInt();
x= (x%x)+(x+1)/2;
System.out.println(x+3);
}
}
Que fait-il ?
Solution simple
Il d´eclare un entier x, le saisit, modifie sa valeur par calcul puis affiche l’expression x+3.
Qu’affiche-t-il pour les valeurs 2 et 3 ?
Solution simple
Apr`es la saisie, on aura 3 dans xd’o`u le calcul x<-3 mod 3+(3+1) div 2=0+2=2 qui
affiche alors 5.
Unisciel algoprog – bs00exerc-texte, October 3, 2016 5
1.2 Simplification de programme / qzsimplific
Utilise Variable, Affectation, Calculs
Dur´ee estim´ee 10 min
Soit le programme suivant : @[qzsimplific1a.java]
import java.util.Scanner;
public class QZSimplific1a {
public static void main(String[] args) {
Scanner cin =new Scanner(System.in);
a=cin.nextInt();
b=a;
c=b+b*b;
x=cin.nextInt();
e=4*x;
s=e+b;
s=s*s+c;
f=s;
System.out.println("Le resultat est " +f);
}
}
D´eclarez les variables de type entier.
Quel est le r´esultat avec 3 et -2 ?
Justifiez.
Solution simple
Le r´esultat est 37. En effet :
On saisit 3 dans a.
bvaut aqui vaut 3.
cvaut 3+3*3=12.
On saisit -2 dans x.
evaut 4*(-2)=-8.
svaut -8+3=-5 puis (-5)*(-5)+12=25+12=37.
Finalement fvaut squi vaut 37.
Les variables bet f´etant inutiles,
´
Ecrivez une premi`ere version simplifi´ee du programme.
Validez votre programme avec la solution.
1 / 17 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 !