Correction du TP n°1

Exercice 1

Exercice 2 de l'examen du 1er semestre

ATTENTION, l'implantation réalisée est différente de celle du TD n°1.

/* Auteur: Nicolas JANEY */
/* nicolas.janey@univ-fcomte.fr */
/* Fevrier 2005 */
import java.io.*;
public class Fibonacci {
static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in));
/* Fonction principale */
public static void main(String [] args) throws IOException {
/* Variable indice de boucle pour */
int i;
/* Variable de stockage du nombre de nombres a calculer */
int max;
/* Variable de stockage du nombre de Fibonacci a l'etape i */
/* Initialisee a 1 pour Fib(1) */
int fib = 1;
/* Variable de stockage du nombre de Fibonacci a l'etape i-1 */
/* Initialisee a 2 pour la calcul de Fib(3) */
int ante1 = 2;
/* Variable de stockage du nombre de Fibonacci a l'etape i-2 */
/* Initialisee a 1 pour la calcul de Fib(3) */
int ante2 = 1;
/* Lecture clavier du nombre de nombres a calculer */
System.out.println("Nombre de nombres de Fibonacci a calculer?");
max = Integer.valueOf(flux.readLine()).intValue();
/* Boucle de calcul (i de 1 a max) */
for ( i = 1 ; i <= max ; i++ ) {
/* Affectation de Fib(2) */
if ( i == 2 ) {
fib = 2; }
/* Calcul de Fib(i) pour i > 2 */
/* puis mise a jour de ante1 et ante2 */
if ( i > 2 ) {
fib = ante1 + ante2;
ante2 = ante1;
ante1 = fib; }
/* Affichage de Fib(i) */
System.out.println("Fib("+i+") = "+fib); }
}
}

Fibonacci.java

Exercice 2

Exercice 4 de l'examen du 1er semestre

/* Auteur: Nicolas JANEY */
/* nicolas.janey@univ-fcomte.fr */
/* Fevrier 2005 */
import java.io.*;
public class Croix {
static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in));
/* Fonction principale */
public static void main(String [] args) throws IOException {
/* Variables indices de boucles pour */
int i,j;
/* Variable de stockage du nombre de lignes et de colonnes */
int n;
/* Lecture clavier du nombre de nombres a calculer */
System.out.println("Nombre de lignes et de colonnes?");
n = Integer.valueOf(flux.readLine()).intValue();
/* Boucle d'affichage des n lignes (i de 1 a n) */
for ( i = 1 ; i <= n ; i++ ) {
/* Boucle d'affichage des n colonnes de chaque lignes */
/* (j de 1 a n) */
for ( j = 1 ; j <= n ; j++ ) {
/* Deux alternatives pour l'affichage d'un caractere */
/* (1) j = i ou j =n+1-i -> affichage de "+" */
/* (2) sinon -> affichage de "-" */
/* Affichage de chaque caractere sans aller a la ligne */
if ( ( j == i ) || ( j == n+1-i ) )
System.out.print("+");
else
System.out.print("-"); }
/* Saut a la ligne a la fin de chaque ligne */
System.out.println(); }
}
}

Croix.java

Auteur: Nicolas JANEY
UFR Sciences et Techniques
Université de Besançon
16 Route de Gray, 25030 Besançon
nicolas.janey@univ-fcomte.fr