I Notre but est d’´ecrire une fonction affichant tous les mots binaires sur n bits ;
Exemple 4
I Pour r´esoudre le probl`eme r´ecursivement, d´ecoupons les mots comme les listes ; un mot binaire de n bits est :
1. soit vide (sin= 0) ;
2. soit un0ou un1suivi d’un mot binaire den−1 bits.
41
G´ en´ eration de tous les mots binaires
I Notre but est d’´ecrire une fonction affichant tous les mots binaires sur n bits ;
Exemple 4
I Pour r´esoudre le probl`eme r´ecursivement, d´ecoupons les mots comme les listes ; un mot binaire de n bits est :
1. soit vide (sin= 0) ;
2. soit un0ou un1suivi d’un mot binaire den−1 bits.
G´ en´ eration de tous les mots binaires
I Notre but est d’´ecrire une fonction affichant tous les mots binaires sur n bits ;
Exemple 4
I Pour r´esoudre le probl`eme r´ecursivement, d´ecoupons les mots comme les listes ; un mot binaire de n bits est :
1. soit vide (sin= 0) ;
2. soit un0ou un1suivi d’un mot binaire den−1 bits.
43
G´ en´ eration de tous les mots binaires
I Notre but est d’´ecrire une fonction affichant tous les mots binaires sur n bits ;
Exemple 4
I Pour r´esoudre le probl`eme r´ecursivement, d´ecoupons les mots
2. soit un0ou un1suivi d’un mot binaire den−1 bits.
G´ en´ eration de tous les mots binaires
I Notre but est d’´ecrire une fonction affichant tous les mots binaires sur n bits ;
Exemple 4
I Pour r´esoudre le probl`eme r´ecursivement, d´ecoupons les mots comme les listes ; un mot binaire de n bits est :
1. soit vide (sin= 0) ;
2. soit un0ou un1suivi d’un mot binaire den−1 bits.
45
G´ en´ eration de tous les mots binaires
Comment trouver une formulation r´ecursive ? Exemple 5 (mots binaires de longueur 3)
1
1 1⇒ 111
0⇒ 110
0 1⇒ 101
0⇒ 100 0
1 1⇒ 011
0⇒ 010
0 1⇒ 001
0⇒ 000
G´ en´ eration de tous les mots binaires
Comment trouver une formulation r´ecursive ? Exemple 5 (mots binaires de longueur 3)
1
1 1⇒ 111
0⇒ 110
0 1⇒ 101
0⇒ 100 0
1 1⇒ 011
0⇒ 010
0 1⇒ 001
0⇒ 000
47
G´ en´ eration de tous les mots binaires
Comment trouver une formulation r´ecursive ? Exemple 5 (mots binaires de longueur 3)
1
1 1⇒ 111
0⇒ 110
0 1⇒ 101
0⇒ 100 0
1 1⇒ 011
0⇒ 010
0 1⇒ 001
0⇒ 000
G´ en´ eration de tous les mots binaires
Comment trouver une formulation r´ecursive ? Exemple 5 (mots binaires de longueur 3)
1
1 1⇒ 111
0⇒ 110
0 1⇒ 101
0⇒ 100 0
1 1⇒ 011
0⇒ 010
0 1⇒ 001
0⇒ 000
49
G´ en´ eration de tous les mots binaires
Comment trouver une formulation r´ecursive ? Exemple 5 (mots binaires de longueur 3)
1
1 1⇒ 111
0⇒ 110
0 1⇒ 101
0⇒ 100 0
1 1⇒ 011
0⇒ 010
0 1⇒ 001
0⇒ 000
G´ en´ eration de tous les mots binaires
Comment trouver une formulation r´ecursive ? Exemple 5 (mots binaires de longueur 3)
1
1 1⇒ 111
0⇒ 110
0 1⇒ 101
0⇒ 100 0
1 1⇒ 011
0⇒ 010
0 1⇒ 001
0⇒ 000
51
G´ en´ eration de tous les mots binaires
Comment trouver une formulation r´ecursive ? Exemple 5 (mots binaires de longueur 3)
1
1 1⇒ 111
0⇒ 110
0 1⇒ 101
0⇒ 100 0
1 1⇒ 011
0⇒ 010
0 1⇒ 001
0⇒ 000
G´ en´ eration de tous les mots binaires
I Rappel : mot de longueurn = lettre + mot de longueurn−1 ;
I Les mots sont binaires, donc chaque lettre est un 0 ou un 1 ; I D`es lors, pour g´en´erer tous les mots binaires de longueur n :
I on g´en`ere tous les mots commen¸cant par 0 ; I on g´en`ere tous les mots commen¸cant par 1 ;
I et on compl`ete le sous-mot de longueurn−1 r´ecursivement ;
I Quelles sont les conditions d’arrˆet ?
I quand on a g´en´er´e un mot en entier : on l’affiche ; I quand on a g´en´er´e tous les mots : on s’arrˆete ;
53
G´ en´ eration de tous les mots binaires
I Rappel : mot de longueurn = lettre + mot de longueurn−1 ; I Les mots sont binaires, donc chaque lettre est un 0 ou un 1 ;
I D`es lors, pour g´en´erer tous les mots binaires de longueur n :
I on g´en`ere tous les mots commen¸cant par 0 ; I on g´en`ere tous les mots commen¸cant par 1 ;
I et on compl`ete le sous-mot de longueurn−1 r´ecursivement ;
I Quelles sont les conditions d’arrˆet ?
I quand on a g´en´er´e un mot en entier : on l’affiche ; I quand on a g´en´er´e tous les mots : on s’arrˆete ;
G´ en´ eration de tous les mots binaires
I Rappel : mot de longueurn = lettre + mot de longueurn−1 ; I Les mots sont binaires, donc chaque lettre est un 0 ou un 1 ; I D`es lors, pour g´en´erer tous les mots binaires de longueur n :
I on g´en`ere tous les mots commen¸cant par 0 ; I on g´en`ere tous les mots commen¸cant par 1 ;
I et on compl`ete le sous-mot de longueurn−1 r´ecursivement ; I Quelles sont les conditions d’arrˆet ?
I quand on a g´en´er´e un mot en entier : on l’affiche ; I quand on a g´en´er´e tous les mots : on s’arrˆete ;
55
G´ en´ eration de tous les mots binaires
I Rappel : mot de longueurn = lettre + mot de longueurn−1 ; I Les mots sont binaires, donc chaque lettre est un 0 ou un 1 ; I D`es lors, pour g´en´erer tous les mots binaires de longueur n :
I on g´en`ere tous les mots commen¸cant par 0 ;
I on g´en`ere tous les mots commen¸cant par 1 ;
I et on compl`ete le sous-mot de longueurn−1 r´ecursivement ; I Quelles sont les conditions d’arrˆet ?
I quand on a g´en´er´e un mot en entier : on l’affiche ; I quand on a g´en´er´e tous les mots : on s’arrˆete ;
G´ en´ eration de tous les mots binaires
I Rappel : mot de longueurn = lettre + mot de longueurn−1 ; I Les mots sont binaires, donc chaque lettre est un 0 ou un 1 ; I D`es lors, pour g´en´erer tous les mots binaires de longueur n :
I on g´en`ere tous les mots commen¸cant par 0 ; I on g´en`ere tous les mots commen¸cant par 1 ;
I et on compl`ete le sous-mot de longueurn−1 r´ecursivement ; I Quelles sont les conditions d’arrˆet ?
I quand on a g´en´er´e un mot en entier : on l’affiche ; I quand on a g´en´er´e tous les mots : on s’arrˆete ;
57
G´ en´ eration de tous les mots binaires
I Rappel : mot de longueurn = lettre + mot de longueurn−1 ; I Les mots sont binaires, donc chaque lettre est un 0 ou un 1 ; I D`es lors, pour g´en´erer tous les mots binaires de longueur n :
I on g´en`ere tous les mots commen¸cant par 0 ; I on g´en`ere tous les mots commen¸cant par 1 ;
I et on compl`ete le sous-mot de longueurn−1 r´ecursivement ;
I Quelles sont les conditions d’arrˆet ?
I quand on a g´en´er´e un mot en entier : on l’affiche ; I quand on a g´en´er´e tous les mots : on s’arrˆete ;
G´ en´ eration de tous les mots binaires
I Rappel : mot de longueurn = lettre + mot de longueurn−1 ; I Les mots sont binaires, donc chaque lettre est un 0 ou un 1 ; I D`es lors, pour g´en´erer tous les mots binaires de longueur n :
I on g´en`ere tous les mots commen¸cant par 0 ; I on g´en`ere tous les mots commen¸cant par 1 ;
I et on compl`ete le sous-mot de longueurn−1 r´ecursivement ; I Quelles sont les conditions d’arrˆet ?
I quand on a g´en´er´e un mot en entier : on l’affiche ; I quand on a g´en´er´e tous les mots : on s’arrˆete ;
59
G´ en´ eration de tous les mots binaires
I Rappel : mot de longueurn = lettre + mot de longueurn−1 ; I Les mots sont binaires, donc chaque lettre est un 0 ou un 1 ; I D`es lors, pour g´en´erer tous les mots binaires de longueur n :
I on g´en`ere tous les mots commen¸cant par 0 ; I on g´en`ere tous les mots commen¸cant par 1 ;
I et on compl`ete le sous-mot de longueurn−1 r´ecursivement ; I Quelles sont les conditions d’arrˆet ?
I quand on a g´en´er´e un mot en entier : on l’affiche ;
I quand on a g´en´er´e tous les mots : on s’arrˆete ;
G´ en´ eration de tous les mots binaires
I Rappel : mot de longueurn = lettre + mot de longueurn−1 ; I Les mots sont binaires, donc chaque lettre est un 0 ou un 1 ; I D`es lors, pour g´en´erer tous les mots binaires de longueur n :
I on g´en`ere tous les mots commen¸cant par 0 ; I on g´en`ere tous les mots commen¸cant par 1 ;
I et on compl`ete le sous-mot de longueurn−1 r´ecursivement ; I Quelles sont les conditions d’arrˆet ?
I quand on a g´en´er´e un mot en entier : on l’affiche ; I quand on a g´en´er´e tous les mots : on s’arrˆete ;
61