tp recursivite
This commit is contained in:
BIN
DEV3.2/TP02/01_Appels/Factorielle.class
Normal file
BIN
DEV3.2/TP02/01_Appels/Factorielle.class
Normal file
Binary file not shown.
17
DEV3.2/TP02/01_Appels/Factorielle.java
Normal file
17
DEV3.2/TP02/01_Appels/Factorielle.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
public class Factorielle {
|
||||||
|
|
||||||
|
public static int factorielle(int n, int indentation) {
|
||||||
|
for (int i = 0; i != indentation; i++) {
|
||||||
|
System.out.print(" ");
|
||||||
|
}
|
||||||
|
System.out.println("Valeur de n : " + n);
|
||||||
|
if (n == 1) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
for (int i = 0; i != indentation; i++) {
|
||||||
|
System.out.print(" ");
|
||||||
|
}
|
||||||
|
System.out.println("Valeur renvoyée : " + n + factorielle(n - 1, indentation++));
|
||||||
|
return n * factorielle(n - 1, indentation++);
|
||||||
|
}
|
||||||
|
}
|
BIN
DEV3.2/TP02/01_Appels/Main.class
Normal file
BIN
DEV3.2/TP02/01_Appels/Main.class
Normal file
Binary file not shown.
5
DEV3.2/TP02/01_Appels/Main.java
Normal file
5
DEV3.2/TP02/01_Appels/Main.java
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(Integer.parseInt(args[0]) + "! = " + Factorielle.factorielle(Integer.parseInt(args[0]), 0));
|
||||||
|
}
|
||||||
|
}
|
BIN
DEV3.2/TP02/02_Tableaux/Main.class
Normal file
BIN
DEV3.2/TP02/02_Tableaux/Main.class
Normal file
Binary file not shown.
17
DEV3.2/TP02/02_Tableaux/Main.java
Normal file
17
DEV3.2/TP02/02_Tableaux/Main.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Tableaux t = new Tableaux(args.length);
|
||||||
|
|
||||||
|
int[] entiers = t.convertitTab(args, args.length);
|
||||||
|
|
||||||
|
t.afficheTab(entiers, 0);
|
||||||
|
|
||||||
|
System.out.println("Nombre d'entiers pairs : " + t.entiersPairs(0));
|
||||||
|
System.out.println("Valeur maximale : " + t.maximum(0, 0));
|
||||||
|
|
||||||
|
t.afficheTabInverse(entiers, entiers.length-1);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
BIN
DEV3.2/TP02/02_Tableaux/Tableaux.class
Normal file
BIN
DEV3.2/TP02/02_Tableaux/Tableaux.class
Normal file
Binary file not shown.
61
DEV3.2/TP02/02_Tableaux/Tableaux.java
Normal file
61
DEV3.2/TP02/02_Tableaux/Tableaux.java
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
public class Tableaux {
|
||||||
|
|
||||||
|
private int[] tableau;
|
||||||
|
|
||||||
|
public Tableaux(int tailleTab) {
|
||||||
|
this.tableau = new int[tailleTab];
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] convertitTab(String[] tab, int tailleTab) {
|
||||||
|
if (tailleTab == 1) {
|
||||||
|
this.tableau[0] = Integer.parseInt(tab[0]);
|
||||||
|
return this.tableau;
|
||||||
|
}
|
||||||
|
this.tableau[tailleTab-1] = Integer.parseInt(tab[tailleTab-1]);
|
||||||
|
return this.convertitTab(tab, --tailleTab);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void afficheTab(int[] tab, int increment) {
|
||||||
|
if (increment == tab.length-1) {
|
||||||
|
System.out.println(tab[increment]);
|
||||||
|
} else {
|
||||||
|
System.out.print(tab[increment] + " | ");
|
||||||
|
afficheTab(tab, ++increment);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public int entiersPairs(int increment) {
|
||||||
|
if (increment == this.tableau.length) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (this.tableau[increment] % 2 == 0) {
|
||||||
|
return 1 + entiersPairs(++increment);
|
||||||
|
} else {
|
||||||
|
return 0 + entiersPairs(++increment);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int maximum(int increment, int maxActuel) {
|
||||||
|
if (increment == this.tableau.length-1) {
|
||||||
|
if (this.tableau[increment] > maxActuel) {
|
||||||
|
return this.tableau[increment];
|
||||||
|
}
|
||||||
|
return maxActuel;
|
||||||
|
}
|
||||||
|
if (this.tableau[increment] > maxActuel) {
|
||||||
|
return this.maximum(increment+1, this.tableau[increment]);
|
||||||
|
}
|
||||||
|
return this.maximum(increment+1, maxActuel);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void afficheTabInverse(int[] tab, int decrement) {
|
||||||
|
if (decrement == 0) {
|
||||||
|
System.out.println(tab[0]);
|
||||||
|
} else {
|
||||||
|
System.out.print(tab[decrement] + " | ");
|
||||||
|
afficheTabInverse(tab, --decrement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
DEV3.2/TP02/03_Fibonacci/Fibonacci.class
Normal file
BIN
DEV3.2/TP02/03_Fibonacci/Fibonacci.class
Normal file
Binary file not shown.
27
DEV3.2/TP02/03_Fibonacci/Fibonacci.java
Normal file
27
DEV3.2/TP02/03_Fibonacci/Fibonacci.java
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
public class Fibonacci {
|
||||||
|
|
||||||
|
public static int fibonacci(int n, int indentation) {
|
||||||
|
for (int i = 0; i != indentation; i++) {
|
||||||
|
System.out.print(" ");
|
||||||
|
}
|
||||||
|
System.out.println("Valeur de n : " + n);
|
||||||
|
if (n == 0) {
|
||||||
|
for (int i = 0; i != indentation; i++) {
|
||||||
|
System.out.print(" ");
|
||||||
|
}
|
||||||
|
System.out.println("Valeur de retour : " + 0);
|
||||||
|
return 0;
|
||||||
|
} if (n == 1) {
|
||||||
|
for (int i = 0; i != indentation; i++) {
|
||||||
|
System.out.print(" ");
|
||||||
|
}
|
||||||
|
System.out.println("Valeur de retour : " + 1);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
for (int i = 0; i != indentation; i++) {
|
||||||
|
System.out.print(" ");
|
||||||
|
}
|
||||||
|
System.out.println("Valeur de retour : " + fibonacci(n-2, ++indentation) + fibonacci(n-1, ++indentation));
|
||||||
|
return fibonacci(n-2, ++indentation) + fibonacci(n-1, ++indentation);
|
||||||
|
}
|
||||||
|
}
|
BIN
DEV3.2/TP02/03_Fibonacci/Main.class
Normal file
BIN
DEV3.2/TP02/03_Fibonacci/Main.class
Normal file
Binary file not shown.
5
DEV3.2/TP02/03_Fibonacci/Main.java
Normal file
5
DEV3.2/TP02/03_Fibonacci/Main.java
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(Fibonacci.fibonacci(Integer.parseInt(args[0]), 0));
|
||||||
|
}
|
||||||
|
}
|
20
DEV3.2/TP02/05_Flocon/Fenetre.java
Normal file
20
DEV3.2/TP02/05_Flocon/Fenetre.java
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
|
public class Fenetre extends JFrame {
|
||||||
|
|
||||||
|
private int ordre;
|
||||||
|
|
||||||
|
public Fenetre(int ordre) {
|
||||||
|
this.ordre = ordre;
|
||||||
|
|
||||||
|
this.setSize(500, 500);
|
||||||
|
this.setLocation(100, 100);
|
||||||
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
|
this.setLayout(new GridLayout(1, 1));
|
||||||
|
this.add(new JFlocon(ordre));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
23
DEV3.2/TP02/05_Flocon/JFlocon.java
Normal file
23
DEV3.2/TP02/05_Flocon/JFlocon.java
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
|
public class JFlocon extends JComponent {
|
||||||
|
|
||||||
|
private int ordre;
|
||||||
|
|
||||||
|
public JFlocon(int ordre) {
|
||||||
|
this.ordre = ordre;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paintComponent(Graphics pinceau) {
|
||||||
|
Graphics secondPinceau = pinceau.create();
|
||||||
|
|
||||||
|
if (this.isOpaque()) {
|
||||||
|
this.setColor(this.getBackgroundColor());
|
||||||
|
this.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
6
DEV3.2/TP02/05_Flocon/Main.java
Normal file
6
DEV3.2/TP02/05_Flocon/Main.java
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Fenetre fenetre = new Fenetre(Integer.parseInt(args[0]));
|
||||||
|
fenetre.setVisible(true);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user