Prise en main de CaML Light - 4 -...
Transcript of Prise en main de CaML Light - 4 -...
![Page 1: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/1.jpg)
Prise en main de CaML Light - 4
Lycée Thiers 2015
Prise en main de CaML Light - 4
![Page 2: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/2.jpg)
Récursivité
Prise en main de CaML Light - 4
![Page 3: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/3.jpg)
Récursivité
Prise en main de CaML Light - 4
![Page 4: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/4.jpg)
Récursivité
Prise en main de CaML Light - 4
![Page 5: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/5.jpg)
Dans la nature aussi !
Prise en main de CaML Light - 4
![Page 6: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/6.jpg)
Un modèle simplifié de végétal
Prise en main de CaML Light - 4
![Page 7: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/7.jpg)
Un modèle simplifié de végétal
Prise en main de CaML Light - 4
![Page 8: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/8.jpg)
Un modèle simplifié de végétal
Prise en main de CaML Light - 4
![Page 9: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/9.jpg)
Un modèle simplifié de végétal
Prise en main de CaML Light - 4
![Page 10: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/10.jpg)
Un modèle simplifié de végétal
Prise en main de CaML Light - 4
![Page 11: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/11.jpg)
Structures récursives
mot :
mot videmot ^ lettre
liste :
liste vide [ ]élément : : liste
arbre binaire :
arbre vide
arbre arbre
objet
Prise en main de CaML Light - 4
![Page 12: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/12.jpg)
Fonctions récursives
Factorielle (définition itérative) :
n! =n∏
k=1
k
Factorielle (définition récursive) :
0! = 1n! = n (n − 1)!
Fonction définie à partir d’elle-même ! ?
Prise en main de CaML Light - 4
![Page 13: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/13.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = (0)
Prise en main de CaML Light - 4
![Page 14: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/14.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = (0)
Prise en main de CaML Light - 4
![Page 15: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/15.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = (0)
Prise en main de CaML Light - 4
![Page 16: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/16.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× 4!(0)
Prise en main de CaML Light - 4
![Page 17: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/17.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× (4× 3!)
Prise en main de CaML Light - 4
![Page 18: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/18.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× (4× (3× 2!))
Prise en main de CaML Light - 4
![Page 19: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/19.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× (4× (3× (2× 1!)))
Prise en main de CaML Light - 4
![Page 20: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/20.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× (4× (3× (2× (1× 0!))))
Prise en main de CaML Light - 4
![Page 21: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/21.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× (4× (3× (2× (1× 1))))
Prise en main de CaML Light - 4
![Page 22: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/22.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× (4× (3× (2× 1)))
Prise en main de CaML Light - 4
![Page 23: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/23.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× (4× (3× 2))
Prise en main de CaML Light - 4
![Page 24: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/24.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× (4× 6)
Prise en main de CaML Light - 4
![Page 25: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/25.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 5× 24
Prise en main de CaML Light - 4
![Page 26: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/26.jpg)
Calcul récursif de n !
let rec fact n =if n = 0 then 1else n * (fact (n-1))
;;
Exemple : n = 5
5! = 120
Prise en main de CaML Light - 4
![Page 27: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/27.jpg)
Empilement / dépilement
Prise en main de CaML Light - 4
![Page 28: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/28.jpg)
Empilement / dépilement
acheter du pain
Prise en main de CaML Light - 4
![Page 29: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/29.jpg)
Empilement / dépilement
cadeau d’anniversaire
Prise en main de CaML Light - 4
![Page 30: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/30.jpg)
Empilement / dépilement
retirer des sous
Prise en main de CaML Light - 4
![Page 31: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/31.jpg)
Empilement / dépilement
prendre la voiture
Prise en main de CaML Light - 4
![Page 32: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/32.jpg)
Empilement / dépilement
aller chercher les clefs
Prise en main de CaML Light - 4
![Page 33: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/33.jpg)
Empilement / dépilement
Prise en main de CaML Light - 4
![Page 34: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/34.jpg)
Empilement / dépilement
Prise en main de CaML Light - 4
![Page 35: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/35.jpg)
Empilement / dépilement
Prise en main de CaML Light - 4
![Page 36: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/36.jpg)
Empilement / dépilement
Prise en main de CaML Light - 4
![Page 37: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/37.jpg)
Empilement / dépilement
Prise en main de CaML Light - 4
![Page 38: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/38.jpg)
Récursion dans le langage
Sie gehen ins Kino, weil sie einen film sehen wollen.
Trop de niveaux refoulés→ phrase incompréhensible !
Le phénomène allemand bien connu du rejet du verbeà la fin, sur lequel des histoires drôles de professeursqui commencent une phrase, sautent d’un sujet à unautre pendant tout le cours, et finissent par débiterune série de verbes auxquels le public, pour qui lapile a depuis longtemps perdu toute cohérence, necomprend plus rien, circulent dans tous les couloirsd’université, est un excellent exemple.
Gödel, Escher, Bach : les brins d’une guirlande éternelle[an eternal golden braid]Douglas Hofstadter
Prise en main de CaML Light - 4
![Page 39: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/39.jpg)
Une pile d’assiettes ...
sommet
dépilerempiler
Prise en main de CaML Light - 4
![Page 40: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/40.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35(35
)5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 41: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/41.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35(35
)5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 42: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/42.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35(35
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 43: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/43.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 =(35
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 44: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/44.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 3× 34(35
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 45: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/45.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 3×(3× 33
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 46: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/46.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 3×(3×
(3× 32
))
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 47: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/47.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 3×(3×
(3×
(3× 31
)))
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 48: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/48.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 3× (3× (3× (3× (3× 1))))(35
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 49: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/49.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 3× (3× (3× (3× 3)))(35
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 50: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/50.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 3× (3× (3× 9))(35
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 51: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/51.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 3× (3× 27)(35
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 52: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/52.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 3× 81(35
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 53: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/53.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 243(35
)
5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 54: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/54.jpg)
Calcul de xn : récursion
let rec puissance x n =if n = 0 then 1else x * (puissance x (n-1))
;;
Exemple : x = 3, n = 5
35 = 243(35
)5 multiplications + gestion de la pile
Prise en main de CaML Light - 4
![Page 55: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/55.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 56: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/56.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 57: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/57.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 58: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/58.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35 =
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 59: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/59.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35 = aux 1 5
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 60: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/60.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35 = aux 3 4
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 61: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/61.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35 = aux 9 3
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 62: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/62.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35 = aux 27 2
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 63: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/63.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35 = aux 81 1
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 64: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/64.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35 = aux 243 0
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 65: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/65.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35 = 243
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 66: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/66.jpg)
Calcul de xn : récursion terminale
let puissance x n =aux 1 n whererec aux pp n =if n = 0 then ppelse aux (x * pp) (n-1)
;;
Exemple : x = 3, n = 5
35 = 243
5 multiplications + “récursion sans pile”
Prise en main de CaML Light - 4
![Page 67: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/67.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2
x13 = x(x6
)2
x6 =(x3
)2
x3 = x x2
Prise en main de CaML Light - 4
![Page 68: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/68.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2→2
x13 = x(x6
)2→2
x6 =(x3
)2→1
x3 = x x2→2
Prise en main de CaML Light - 4
![Page 69: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/69.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2→2
x13 = x(x6
)2→2
x6 =(x3
)2→1
x3 = x x2→2
Prise en main de CaML Light - 4
![Page 70: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/70.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2→2
x13 = x(x6
)2→2
x6 =(x3
)2→1
x3 = x x2→2
Prise en main de CaML Light - 4
![Page 71: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/71.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2→2
x13 = x(x6
)2→2
x6 =(x3
)2→1
x3 = x x2→2
Prise en main de CaML Light - 4
![Page 72: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/72.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2→2
x13 = x(x6
)2→2
x6 =(x3
)2→1
x3 = x x2→2
Prise en main de CaML Light - 4
![Page 73: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/73.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2→2
x13 = x(x6
)2→2
x6 =(x3
)2→1
x3 = x x2→2
Prise en main de CaML Light - 4
![Page 74: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/74.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2→2
x13 = x(x6
)2→2
x6 =(x3
)2→1
x3 = x x2→2
Prise en main de CaML Light - 4
![Page 75: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/75.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2→2
x13 = x(x6
)2→2
x6 =(x3
)2→1
x3 = x x2→2
Prise en main de CaML Light - 4
![Page 76: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/76.jpg)
Exponentiation rapide - Exemple : x27
x27 = x(x13
)2→2
x13 = x(x6
)2→2
x6 =(x3
)2→1
x3 = x x2→2
Coût total = 7 multiplications
Prise en main de CaML Light - 4
![Page 77: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/77.jpg)
Calcul de xn : exponentiation rapide
∀n ∈N?, xn =
(xn/2
)2si n pair
x(x(n−1)/2
)2sinon
T (1) = 0 T (n) = T(⌊n
2
⌋)+ 1 + (n mod 2)
T (n) =⌊log2 (n)
⌋+ σn − 1
log2 (n) 6 T (n) 6 2 log2 (n)
Prise en main de CaML Light - 4
![Page 78: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/78.jpg)
Exponentiation rapide
Retour à l’exemple :
x27 calculé avec 7 multiplications ...
T (27) =⌊log2 (27)
⌋+ σ27 − 1
16 = 24 < 27 < 25 = 32⇒⌊log2 (27)
⌋= 4
27 = 110112 ⇒ σ27 = 4
T (27) = 7
Prise en main de CaML Light - 4
![Page 79: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/79.jpg)
Calcul de xn : on récapitule ...
1 version itérative
2 version récursive
3 version récursive terminale
4 exponentiation rapide
Prise en main de CaML Light - 4
![Page 80: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/80.jpg)
Remplissage d’un damier 2n× 2n
Prise en main de CaML Light - 4
![Page 81: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/81.jpg)
Remplissage d’un damier 2n× 2n
Prise en main de CaML Light - 4
![Page 82: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/82.jpg)
Remplissage d’un damier 2n× 2n
Peut-on recouvrir le damier entier ?
C’est impossible, car ...
4n . 0 [3]
Et si on enlève une case ?
4n− 1 ≡ 0 [3]
ça peut marcher ... mais ce n’est pas garanti a priori !
D’ailleurs, voici un exemple classique ... (page suivante)
Prise en main de CaML Light - 4
![Page 83: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/83.jpg)
Damier (2n) × (2n) et dominos
Prise en main de CaML Light - 4
![Page 84: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/84.jpg)
Damier (2n) × (2n) et dominos
Prise en main de CaML Light - 4
![Page 85: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/85.jpg)
Damier (2n) × (2n) et dominos
Prise en main de CaML Light - 4
![Page 86: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/86.jpg)
Damier (2n) × (2n) et dominos
Prise en main de CaML Light - 4
![Page 87: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/87.jpg)
Damier (2n) × (2n) et dominos
Etant donné un damier de format (2n) × (2n) duquel on aretiré deux cases diagonalement opposées, il estimpossible de recouvrir ce qui reste à l’aide de dominos(chaque domino pouvant recouvrir deux cases,horizontalement ou bien verticalement).
En effet, chaque domino recouvre une case blanche etune case noire, or les deux cases supprimées étaient dela même couleur !
Prise en main de CaML Light - 4
![Page 88: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/88.jpg)
Damier 2n× 2n privé d’une case (reprise)
Prise en main de CaML Light - 4
![Page 89: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/89.jpg)
Damier 2n× 2n privé d’une case (reprise)
Prise en main de CaML Light - 4
![Page 90: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/90.jpg)
Damier 2n× 2n privé d’une case (reprise)
Prise en main de CaML Light - 4
![Page 91: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/91.jpg)
Damier 2n× 2n privé d’une case (reprise)
Prise en main de CaML Light - 4
![Page 92: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/92.jpg)
Damier 2n× 2n privé d’une case
Solution récursive pour le problème à l’ordre n :
Si n = 1, c’est évident !Si n > 2 :
on partage en 4 damiers 2n−1× 2n−1
on place un ’L’ au centre avec la bonne orientationon résout 4 problèmes à l’ordre n − 1
Prise en main de CaML Light - 4
![Page 93: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/93.jpg)
Damier 2n× 2n privé d’une case
Prise en main de CaML Light - 4
![Page 94: Prise en main de CaML Light - 4 - INFO-MPSIinfo-mpsi.weebly.com/uploads/1/3/0/1/13014682/cours-4...Structures récursives mot: mot vide mot ^ lettre liste: liste vide [ ] élément](https://reader035.fdocuments.in/reader035/viewer/2022081411/60ac093d4f86544d2f32bb94/html5/thumbnails/94.jpg)
Damier 2n× 2n privé d’une case
Prise en main de CaML Light - 4