/* Affichages par recursivite */ public class AffichagesRecursifs { ///////////////////////////////////////////////// /* Fonction d'affichage par ordre decroissant */ /* des nombres entiers compris entre 0 et n */ /* n : valeur limite pour l'affichage */ static void affichageDecroissant(int n) { Ecran.afficherln(n); if ( n > 0 ) affichageDecroissant(n-1); } /* Fonction d'affichage par ordre croissant */ /* des nombres entiers compris entre v et n */ /* v : valeur minimale */ /* n : valeur limite pour l'affichage */ static void affichageCroissant(int v,int n) { Ecran.afficherln(v); if ( v < n ) affichageCroissant(v+1,n); } /* Fonction d'affichage par ordre croissant */ /* des nombres entiers compris entre 0 et n */ /* n : valeur limite pour l'affichage */ static void affichageCroissant(int n) { affichageCroissant(0,n); } /* Affichage par ordre croissant */ /* des nombres entiers compris entre 0 et n */ /* Solution elegante */ /* n : valeur limite pour l'affichage */ static void affichageCroissant2(int n) { if ( n > 0 ) affichageCroissant2(n-1); Ecran.afficherln(n); } /* Affichage par ordre decroissant */ /* puis par ordre croissant */ /* des nombres entiers compris entre 0 et n */ /* n : valeur limite pour l'affichage */ static void affichageDecroissantCroissant(int n) { Ecran.afficherln(n); if ( n > 0 ) affichageDecroissantCroissant(n-1); Ecran.afficherln(n); } /* Affichage par ordre croissant */ /* puis par ordre decroissant */ /* des nombres entiers compris entre v et n */ /* v : valeur minimale */ /* n : valeur limite pour l'affichage */ static void affichageCroissantDecroissant(int v,int n) { Ecran.afficherln(v); if ( v < n ) affichageCroissantDecroissant(v+1,n); Ecran.afficherln(v); } /* Affichage par ordre croissant */ /* puis par ordre decroissant */ /* des nombres entiers compris entre 0 et n */ /* n : valeur limite pour l'affichage */ static void affichageCroissantDecroissant(int n) { affichageCroissantDecroissant(0,n); } /* Fonction void d'ffichage des chiffres */ /* d'un nombre entier */ /* n : nombre entier à afficher */ static void affichage(int n) { if ( n >= 10 ) affichage(n/10); Ecran.afficher(n%10); } ///////////////////////////////////////////////// /* Programme principal */ public static void main(String [] args) { int n; Ecran.afficher("Valeur ? "); n = Clavier.saisirInt(); affichageDecroissant(n); Ecran.sautDeLigne(); affichageCroissant(n); Ecran.sautDeLigne(); affichageCroissant2(n); Ecran.sautDeLigne(); affichageDecroissantCroissant(n); Ecran.sautDeLigne(); affichageCroissantDecroissant(n); Ecran.sautDeLigne(); Ecran.afficher("Valeur ? "); n = Clavier.saisirInt(); affichage(n); Ecran.sautDeLigne(); } }