Quelques exemples de récursivité avec Géotortue et Python

Quelques exemples de récursivité
avec Géotortue et Python
Jean-François Kentzel(*)
%9G@C;=7=9@G!RC-CFHI99H)MH<CBGCBHHR@R7<5F;956@9G;F5HI=H9A9BH
&" 9GHIB@5B;5;9HFSGRJC@IRA5=GGCBIH=@=G5H=CBR@RA9BH5=F99GH5GG9NG=AD@9
9HD9FA9H89ACBHF9F5I@M7R9IB@5B;5;9D@IG7CB7=GEI98]5IHF9G7CAA9@;C6CL
D5F9L9AD@9
%]IH=@=G5H=CB89'" "# M7CADF=G5I7C@@S;99GH9B7CF9D@IGG=AD@9
"@B]9GHD5GEI9GH=CB85BG79EI=GI=H89@]9L79@@9BH@C;=7=9@!&" J9FG=CB
GCFH=9:=B,9DH9A6F9DCIF89GF5=GCBG898R@5=GHFCD7CIFHG
B6F9:ZA=9BG)MH<CB9GHIB9J9FG=CB89)MH<CBHFSG7CBG9=@@R9DCIF@9@M7R9Z
/C=F@9GFR:RF9B79G9B:=B8]5FH=7@9
.B9J9FG=CBR@97HFCB=EI98979H9LH9D@IGDF5H=EI9DCIF@9G@=9BG9HGIFHCIHDCIF@9G
7CI@9IFG85BG@9GG7F=DHG9GH8=GDCB=6@9GIF@5D5;9=G7=D@=B9G&5H<-"@C;8I
@M7R9)5F85=@<5BPI7<(BMHFCIJ95IGG=@5J9FG=CBA=9BG)MH<CB8IDF=B7=D5@
G7F=DH/CB$C7<8979H9LH9@9G8=::RF9B79G5J97)MH<CBGCBHA=B=A9G
'# !$"'
)CIFRJ=H9F@9GDC=BH=@@RG89n=¥¥¥Y¥nDC=BH=@@RGFR8<=6=HC=F9GG=CB
58F9GG9IB97CAA5B89PIB9A57<=B9ZCBD9IHDCG9Fa=9Hk=9H8=F9ZH5BH
EI9k<n+CBF9AD@579aD5Fa¥k9HkD5Fk+CB9::97HI95@CFGIB96CI7@9
CF8=B5=F97]9GH@9AC89=HRF5H=:
(B8=HEI]IBDFC;F5AA98975@7I@IB5@;CF=H<A99GH '# ! G]=@G]5DD9@@9@I=
ATA9
%9DFC;F5AA9 57H9GH8R:=B=D5F 57H=9HG=B> 57Hn= 57Hn-¥n
)CIF75@7I@9Fn@9DFC;F5AA9 57HG]5IHC5DD9@@9n:C=G=@9GHFR7IFG=:
9 ATA9 @9 DFC;F5AA9 FR7IFG=: =6 EI= 75@7I@9 @9 nSA9 H9FA9 89 @5 GI=H9 89
=6CB577=9GH8R:=B=D5FZ
=6= =6=9HG=n> =6n= =6n-+ =6n-
[7<5EI9RH5D9@9DFC;F5AA9 =6G]5DD9@@989IL:C=G
IB98R:=B=H=CB=HRF5H=J98InSA9H9FA9b89@5GI=H989 =6CB577=RH5BHZCBDCG9
a=b=k=DI=GH5BHEI9k<n-CBF9AD@579aD5FbbD5Fa+b9HkD5F
k+
5BG79G89IL9L9AD@9G@58=::RF9B799BHF9@9GAC89G8975@7I@=HRF5H=:9HFR7IFG=:9GH
IB=EI9A9BH :CFA9@@9 5BG 79 EI= GI=H CB B9 G]5J9BHIF9 D5G GIF @9 H9FF5=B 89G
5J5BH5;9G7CAD5FRG8979G89IL:5QCBG898R7F=F989G75@7I@G
604 Pour chercher et approfondir APMEP
no496
#?9BHN9@57HCI@CIG9:F@M7R9)5F85=@<5BPI7<
13-KentzelV-Texte_Mise en page 1 12/11/11 06:37 Page604
' $&"
*I5B8 CB CIJF9
)MH<CB CB 9GH a
priori 9B AC89
=BH9F57H=:Z
"@:5IH7@=EI9FGIF =@9DI=GGIF'9K0=B8CKG=CBJ9IHR7F=F9IBG7F=DH89DFC;F5AA9
@5D5;9=BH9F57H=J99GH5@CFG5779GG=6@99B7@=EI5BHGIF+IB9H)MH<CB,<9@@
%9@5B;5;9)MH<CB9GHF5D=89A9BHIH=@=G56@9Z
7=89GGCIG@9DFC;F5AA989;5I7<98CBB99BH5D5BH CIHF@ @989GG=B89
8FC=H9CV@9GDC=BHGGCBH7C7M7@=EI9GY85BGIB9:9BTHF9;F5D<=EI9
J97A=9BG)MH<CBHCIG@9GAC8I@9GIH=@9G5I@M7R9GCBH5IHCA5H=EI9A9BH=ADCFHRG
9HCB58=F97H9A9BHGCIG@9GM9IL@9G89ILD5;9GZ8=H=CB89G7F=DH9HLR7IH=CB
' $'" "#
%9G DFC;F5AA9G GCBH EI5@=:=RG 89 DFC7R8IF9G (B D9IH JC=F 9B CIJF5BH IB9 D5;9
!RC-CFHI9EI]CB58]IBG9I@7CIDZ@9GHFC=GD5;9G89)MH<CBRJCEIR9G7=89GGIGZ
@5D5;989GDFC;F5AA9G5DD9@RGWZDFC7R8IF9GZX@5D5;9WZ 9BTHF9897CAA5B89GZX
EI=D9FA9H89:5=F99LR7IH9F@9GDFC7R8IF9G9H@5D5;9;F5D<=EI9EI=9GH8=F97H9A9BH
D5F8R:5IH9BAC89HCFHI9
%9G G7F=DHG :=;IF5BH 85BG 79H 5FH=7@9 GCBH 7CADFR<9BG=6@9G 5J97 @9G 7CAA5B89G
R@RA9BH5=F9GGI=J5BH9GEI=D9FA9HH9BH898=F=;9FWZ@5HCFHI9ZX<RF=H=SF989@57R@S6F9
HCFHI989%C;C
CAA5B89 -F58I7H=CBDCIF)MH<CB -F58I7H=CBDCIF!RC-CFHI9
J5B79F89xD=L9@G :CFK5F8x 5Jx
-CIFB9FP;5I7<989y89;FRG @9:Hy H;y
-CIFB9FP8FC=H989y89;FRG F=;<Hy H8y
(BC6H=9BH@9ATA989GG=BEI97=89GGIG5J97
%9WZDCIFZX8C=HTHF9R7F=H5I8R6IH897<5EI9DFC;F5AA9CIGCIGDFC;F5AA989
!RCHCFHI9"@B]5F=9BPJC=F5J97@9WZDCIFi89PnX7@5GG=EI9EI=D9FA9H8]C6H9B=F
Quelques exemples de récursivité 605
:FCAHIFH@9=ADCFH
=
K<=@9=
:CFK5F8
@9:H
==
" !(
"# " G=;B=:=9 HCFHI9 ]9GHIB AC8I@9 CI
IBAC8989)MH<CBEI]=@:5IH5DD9@9F=7="@
M9B58]5IHF9G7CAA9A5H<F5B8CAY
 % x5J5B79F89xD=L9@G
"yHCIFB9FP;5I7<9Z89y89;FRG
APMEP
no496
13-KentzelV-Texte_Mise en page 1 12/11/11 06:37 Page605
606 Pour chercher et approfondir APMEP
no496
89G6CI7@9G%5HF58I7H=CB@=HHRF5@9DCIF)MH<CB9GH89:EI5B8CB8R:=B=HIBC6>9H
7CAA95I
 #
(B D9IH 9LR7IH9F 79 89GG=B 5J97 IB DFC;F5AA9
FR7IFG=:D5F9L9AD@95J97!RC-CFHI9
(BBCAA9+R7IFG=:@9IF79DFC;F5AA9
"@:5IHIBH9GH8]5FFTHZ

%9G7F=DHDCIF)MH<CBEI=GI=HP;5I7<99GH7CD=R7C@@RP@5D5;98934DI=G
IB9 5IHF9 7CD=9 GI=J=9 89G AC8=:=75H=CBG 89 GMBH5L9 BR79GG5=F9G 8CBB9 79@I= 89
!RC-CFHI9P8FC=H9
l9GH@5@CB;I9IF898RD5FH9Hn9GH@9BCA6F98]RH5D9GPD5FH=F89@5DF9A=SF9
&5=G@5
7CAA5B89
8CBB9IB89GG=BEI=B9G]5FFTH9D5G9H:=B=HD5F
F9GG9A6@9F P IB9 7CIFCBB9 BC=F9 9B
8R7@9B7<5BH5DFSGEI9@EI9GA=BIH9G@9A9GG5;9
8]9FF9IFGI=J5BHZ
13-KentzelV-Texte_Mise en page 1 12/11/11 06:37 Page606
  !" !
%9G7F=DHDCIFF5=HTHF9 F577CIF7=75F=@7CBH=9BH89G FRDRH=H=CBGA5=G=@ G9F5=H5@CFG
AC=BG@=G=6@9
%5G9I@98=::RF9B799BHF9@9GG7F=DHGDCIF@9G89IL@C;=7=9@GFRG=8985BG79EI]=@:5IH
:5=F9DCIFC6H9B=F@]9LR7IH=CB8IDFC;F5AA9
" !!# !! "!#
%]=BHRFTH8979GG7F=DHG9GHEI9BCIGDFRG9BHCBGHCIG@9:@C7CBGCIG@5:CFA9Z
OH5D9 OH5D9 OH5D9
5@CFGEI]=@G8R7@9B7<9BHDCIFn=IB89GG=BEI=7CAA9B795=BG=Z
(BJC=HEI9G5WZ7<FCBC@C;=9ZX9GH5GG9N8=::RF9BH9Z
%9 DFC;F5AA9 DF=B7=D5@ WZ :@C7CBZ X FR5@=G9 J=FHI9@@9A9BH IB HF=5B;@9 REI=@5HRF5@
A5=GG5I:G=CB59BHFRn=5I8RD5FHZ=@B9@9:5=HD5GHF579F"@:5IHBCH9FEI9@5
@=;B9:CFK5F8l=5Jl9GH@5G9I@9EI=:5=H9::97H=J9A9BHHF579FIBG9;A9BH
]9GH @9 GCIGDFC;F5AA9 WZ G9;A9BHZ X EI= 9GH FR7IFG=: 7]9GHP8=F9 EI]=@ G]5IHC
5DD9@@9EI5HF9:C=GH5BHEI9n>79EI=D9FA9HP7<5EI9RH5D989F9AD@579F
79D9B85BHEI]P7<5EI9RH5D9n9GH8=A=BIR89
(BHFCIJ99B5BB9L9@98RFCI@9A9BH7CAD@9H8IDFC;F5AA985BG@975GG=AD@9CV
n =
le segment virtuel
par
(dessin virtuel tant que n > 0),
Quelques exemples de récursivité 607
J97)MH<CB@9G7CAA9BH5=F9GDFR7R8RG
D5FB9GCBHD5G@IGD5F@]CF8=B5H9IF
J97)MH<CB
%9G89A5B89G 89G9BHFR9Gl9H B:=;IF9BHGCIG
IB9:CFA9a priori D9I B5HIF9@@9Z  P @5 :=B 8I
DFC;F5AA9
"@F9GH9PH5D9F:CIHF@:
(B 8CBB9 9BGI=H9l9H n@CFGEI]9@@9G GCBH
89A5B8R9G
J97!RC-CFHI9
(BH5D9 8=F97H9A9BH@9G9BHFR9G l
9Hn
!RC-CFHI9G9A6@9 =BHF5BG=;95BH DCIF
@]R7F=HIF989WZ G=5@CFGG=BCBZXGIFIB9
G9I@9@=;B9
APMEP
no496
13-KentzelV-Texte_Mise en page 1 12/11/11 06:37 Page607
'' !
&"
34@;CF=H<A=EI95I@M7R9C@@CEI989-CI@CIG9\9H#I=B\8915BB=7?
%95GH5F8%!- FR8RF=75N=@@9
.B9DFC;F9GG=CB5J97)MH<CB5A6=H=9IG99HG9A6@5BHFR5@=GH9DCIF@9@M7R9
-R@R7<5F;956@9GIF@9G=H989@]"+&89-CI@CIG9
34DDF9B8F9PDFC;F5AA9F5J97)MH<CBZ89!RF5F8,K=BB9B%=S;9
"BHFC8I7H=CBD@IG7CAD@SH9P8]5IHF9G:CB7H=CBB5@=HRG89)MH<CB
O8=H=CBGMFC@@9GHR@R7<5F;956@9
34%9,=H98I2RFCL79@@9BHGHIHCF=9@G5HH9BH=CB5IL8=::RF9B79G9BHF9@9GJ9FG=CBG
9HZ
+9A5FEI99GG9BH=9@@9Z@9GG7F=DHG:=;IF5BH85BG79GH9LH9GD9IJ9BHGCIJ9BHTHF97CD=RG
DI=G7C@@RGGIFIB9D5;9)MH<CBA5=G=@:5IH5@CFGF9:5=F9@]WZ=B89BH5H=CBZX7]9GHP
8=F9@]9BG9A6@989GF9HF5=HG5I8R6IH89G@=;B9G5J97@5HCI7<989H56I@5H=CB75F9@@9
B]9GHD5GG9I@9A9BHIB7CB:CFHJ=GI9@Z9@@9:5=HD5FH=98IG7F=DH)MH<CBJCIG;I=89
6=9BG=JCIGCI6@=9N89@9:5=F9
'" "#
34(BHFCIJ9:57=@9A9BH@5D5;9C::=7=9@@9GIF"BH9FB9H-CIH9GHG=AD@99HHFSG6=9B
9LD@=EIR Y 9B :F5BQ5=GZ  %9G D5;9G GCBH D@9=B9G 89 @=9BG D5GG=CBB5BHG  B9 D5G
A5BEI9FD5F9L9AD@9@]RHCBB5BH9D5;98I7C@@S;9!56F=9@)RF=899NCBGCI
79@@9G F9@5H=J9G P @]5B7THF9 89 !RCHCFHI9 @5 HCFHI9 89 %(!( 5IL 9LH9BG=CBG
;RCARHF=9G85BG@]9GD5799HBCB9I7@=8=9BB9G5IL57H=J=HRGDCIF@9GR@SJ9G9H7
!RC-CFHI99GH8RJ9@CDDRD5F,5@J5HCF9-IAA5F9@@C5J97@5D5FH=7=D5H=CB8985A
# #5A5FH9H,)9H=H>95B"@9GHGCIH9BID5F@]"+&89)5F=G'CF8
!&"
348F9GG98IG=H9C::=7=9@Z<HHD5A=9BGDMH<CBHIL:5A=@MCF;
-R@R7<5F;9A9BH;F5HI=HRJ9BHI9@@9A9BHGIFIB97@R.,
A=9BG)MH<CB\C7IA9BH5H=CBDCIF@]9BG9=;B5BHZD5;9G@=AD=89G9H5RFR9G
/C=F 5IGG=  DFC;F5AA9G 7@5GG=EI9G CI CF=;=B5IL DFTHG P HCIFB9F À découvrir
absolument!
A=9BG)MH<CB9GHIB@C;=7=9@8RF=JR89)MH<CB8RJ9@CDDRD5F/=B79BH&5=@@95J97
@57C@@56CF5H=CB89#I@=9B)C@@9H;BSG5F5EI=B9H F5BQC=G)FR8=B5G
)"' "" '# !
34"HRF5H=CB9HFR7IFG=J=HR#57EI9GFG57.B=J9FG=HR)=9FF99H&5F=9IF=9
<HHD<5@5F7<=J9GCIJ9FH9G:F8C7G) 8DD8:
"@ M 5 89G H5G 8]5IHF9G D5;9G GIF @9 '9H D5F 9L9AD@9 79@@97= 5B978CH=EI9 A5=G
=BGHFI7H=J9Z
=6CB577=75@7I@R5J978=::RF9BHG@5B;5;9G=B:CFA5H=EI9G
608 Pour chercher et approfondir APMEP
no496
13-KentzelV-Texte_Mise en page 1 12/11/11 06:37 Page608
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!