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