TP 10 VARI 1
Exercice 1 Taper la commande ci-après pour télécharger le fichier source Toto.java.
wget cedric.cnam.fr/ porumbed/vari1/Toto.java
~
Taper ls pour vérifier que vous avez un nouveau fichier Toto.java dans le dossier courant. Ensuite, vous
pouvez afficher le contenu du fichier Toto.java à l’aide de la commande cat Toto.java . Pour compiler le
programme Java, taper :
javac Toto.java
Et pour l’exécuter :
java Toto
Exercice 2 Ouvrir ce fichier avec la commande ci-après (le & sert à lancer la commande en background ,
c.à.d., en arrière-fond pour ne pas bloquer le terminal).
kate Toto.java &
Modifier le programme pour le faire afficher Salut tout le monde . Compiler et exécuter ce nouveau pro-
gramme java.
Exercice 3 Modifier le programme précédent et introduire une boucle for qui permets d’afficher 9 fois le texte
Salut tout le monde!!!.
Exercice 4 Modifier le programme précédent. Ajouter une boucle for pour déterminer la valeur minimale
d’un tableau de 9 entiers. Modifier le programme ci-après pour le faire afficher la valeur minimale du tableau,
c.-à.-d. 1.
c l a s s Toto {
public s t a t i c void main ( S t r i n g [ ] a r g s ) {
int [ ] a = { 9 , 5 , 1 , 4 , 3 , 1 2 , 9 , 1 0 , 1 0 0 0 } ;
int min = a [ 0 ] ;
// i n s é r e r i c i l e code pour c a l c u l e r min
System . out . p r i n t l n ( min ) ;
}
}
Fonctions sous Processing
Exercice 5 Démarrer processing. Écrire une méthode (fonction qui renvoie void) triangleRouge(int
x0,int y0,int x1, int y1, int x2, int y2) pour tracer un triangle à l’aide de 3 appels à la fonction
line(...). Les sommets sont indiqués par les coordonnées (x0, y0), (x1, y1), (x2, y2). Remplir le code ci-après
pour le faire fonctionner.
voi t r i a n g l e R o u g e ( int x0 , int y0 , int x1 , int y1 , int x2 , int y2 ) {
fill (...)
e t c , e t c , à r e m p l i r
....
}
void s e t u p ( ) {
s i z e (500 ,500) ;
triangleRouge (10 ,10 ,100 ,50 ,50 ,100) ;
triangleRouge (10 ,10 ,400 ,100 ,100 ,400) ;
}
CNAM – Fonctions sous java
Exercice 6 Écrire une méthode
Exercice 7 Modifier le code ci-après pour augmenter
triangleRougeTab(int[] x, int[]y) avec le
la vitesse de rotation/animation.
même objectif que la méthode précédente, mais avec
des arguments de type tableau. Remplir le code float angle = 0; // v a r i a b l e g l o b a l e
ci-après pour le faire fonctionner. void s e t u p ( ) {
s i z e (600 ,600) ;
. . . t r i a n g l e R o u g e T a b ( int [ ] x , int [ ] y ) { }
.... void draw ( ) {
// a j o u t e r t r o i s a p p e l s l i n e ( . . . ) background ( 2 0 0 , 2 0 0 , 2 0 0 ) ;
... a n g l e = a n g l e + 2∗ PI / 1 0 0 ;
}
void s e t u p ( ) { translate (300 ,300) ;
s i z e (500 ,500) ; rotate ( angle ) ;
int [ ] ax = { 1 0 , 4 0 0 , 5 0 } ; e l l i p s e (0 ,0 ,400 ,40) ;
int [ ] ay = { 1 0 , 2 0 0 , 8 0 } ; }
int [ ] bx = { 4 0 , 3 0 0 , 8 0 } ;
int [ ] by = { 9 0 , 4 0 0 , 5 0 } ;
int [ ] cx = { 8 0 , 4 4 0 , 8 0 } ; Exercice 8 Écrire une méthode pentaTab(int[]
int [ ] cy = { 1 0 , 4 9 0 , 5 0 } ; x, int[] y) qui reçoit les tableaux x et y comme
t r i a n g l e R o u g e T a b ( ax , ay ) ; arguments et qui permet de tracer un pentagone.
t r i a n g l e R o u g e T a b ( bx , by ) ; Il faut généraliser triangleRougeTab pour relier le
t r i a n g l e R o u g e T a b ( cx , cy ) ; point (x[0], y[0]) au point (x[1], y[1]), ensuite relier
} (x[1], y[1]) à (x[2], y[2]), (x[2], y[2]) à (x[3], y[3]), etc.
Exercice 9 Écrire une boucle for pour tracer 35 rectangles de taille 200 × 100 placés à des positions aléatoires.
Indication : rect(random(100),random(100),50,20) permet de tracer un rectangle de taille 50 × 20 à une
position aléatoire avec les deux coordonnées entre 0 et 100, voir le programme ci-après.
void s e t u p ( ) {
r e c t ( random ( 1 0 0 ) , random ( 1 0 0 ) , 5 0 , 2 0 )
}
Exercice 10 Modifier la méthode pentaTab(int[] x, int[]y) pour afficher le pentagone à l’aide d’une
boucle for. On suppose que les tableau x et y ont une longueur de 5.
Exercice 11 Écrire une méthode polygone(int[] x, int[]y) qui généralise la méthode pentaTab(...) de
l’exercice précédent. Elle devrait tracer un polygone de taille arbitraire. Initialiser dans la méthode setup() des
tableaux avec des valeurs aléatoires (via, ex., (int)random(...)) et appeler polygone(...).
Indication : vous allez avoir besoin de déterminer la longueur des tableaux x et y et vous pouvez utiliser
x.length.
CNAM – Fonctions sous java