TP 1 : Langage Java

publicité
TP 1 : Langage Java
M1 ISIFAR
1
Rappel : le développement d’un programme Java
Pour écrire un premier programme Java, il vous faut :
– un éditeur de texte (kwrite, xemacs, pico, vi, ...)
– la plateforme Java contenant notamment
– le compilateur Java (commande javac)
– la machine virtuelle Java (commande java).
Le processus de développement consiste en
1. Taper le texte du programme dans l’éditeur de texte, puis l’enregistrer dans un fichier portant l’extension .java tel que
Hello.java
2. Compiler le programme en appelant le compilateur javac dans une fenêtre de terminal virtuel. Il prend comme paramètre le nom du fichier texte, par exemple : javac Hello.java. Ce processus crée un ou plusiers fichiers de byte-code
portant l’extension .class tels Hello.class. Le compilateur n’affiche normalement aucun message : s’il y en a, c’est
signe d’erreur dans le texte du programme.
3. Lancer le programme en appelant la machine virtuelle Java, toujours en ligne de commande. Le programmejava prend
comme parametre le nom de la classe contenant le Main. Donc ici on tapejavac Hello car on avait déclaré une classe
nommée Hello. Le résultat produit sera ici l’affichage du message «Bonjour».
Rappel du texte du programme Bonjour.java (vous êtes libres d’augmenter l’originalité littéraire du message affiché)
/**
Hello: ecrit bonjour
*/
public class Hello{
public static void main (String [] args) {
System.out.println("Bonjour");
}
}
Exercice 1: Taper, compiler et lancer ce programme.
2
Une suite à la mode
La suite de Fibonacci est définie par
Φ(0) = 0
Φ(1) = 1
Φ(i + 2) = Φ(i) + Φ(i + 1)
Ses premiers termes sont donc 0, 1, 1, 2, 3, 5, 8, 13, 21, 34...
Exercice 2: Faire un programme qui calcule et affiche les 30 premiers termes de la suite.
Il suffit de déclarer une variable de boucle i et trois variables stockant Φ(i), Φ(i + 1) et Φ(i + 2).
Exercice 3: Faire un programme qui calcule et affiche les 30 premiers termes de la suite de Fibonacci... à rebours (en
commançant par le plus grand)
Deux solutions sont possibles : stockage dans un tableau puis affichage, ou calcul direct
1
3
Des suites imprévisibles
Une suite de Syracuse est une suite entière telle que
S(i + 1) = 3S(i) + 1 si S(i) est impair
S(i + 1) = S(i)/2 si S(i) est pair
Une suite de Syracuse est donc totalement déterminée par sa valeur initiale S(0).
On remarque que si S(i) = 1 alors S(i + 1) = 4 ; S(i + 2) = 2 ; S(i + 3) = 1 et la suite cycle doncs ur 1,4,2,1,4,2,1...
La conjecture de Syracuse est que pour toute valeur initiale positive, il existe un indice où la suite atteint la valeur 1 (et est
donc ensuite périodique)
Exercice 4: Écrire un programme qui affiche la suite de Syracuse dont la valeur de départ est S(0) = 13 et s’arête à la
première occurence de 1.
Exercice 5: Écrire un programme qui affiche toutes les suite de Syracuse dont la valeur de départ est comprise entre 1 et
20, là encore en s’arretant à chaque fois au premier 1.
Exercice 6: Modifier le programme précédant pour qu’il n’affiche que l’indice du premier 1 de la suite, pour chacune des
20 premières suites.
Exercice 7: Enfin modifier le programme pour qu’il affiche pour laquelle de ces 20 suites l’indice 1 est le plus tardivement
rencontré (donc la suite où l’on aurait affiché le plus de termes). Essayez ensuite pour les 1000 premières suites. Le résultat
était-il prévisible ?
2
Téléchargement