{VERSION 2 3 "IBM INTEL NT" "2.3" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "FreeMono" 0 0 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 260 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 257 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT 256 32 "X 2010 : \311changeurs de polyn\364mes" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "allouer : = proc(m)\n [0 $ m]\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "allouer(10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7,\"\"!F$F$F$F$F$F $F$F$F$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "taille := proc(t )\n nops(t)\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "taille (allouer(10));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#5" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "Tete := proc(L)\n RETURN(L[1])\nend :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "Queue := proc(L)\n RET URN(L[2..-1])\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 257 22 "Q1 : On utilise Horner" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 108 "evaluation := proc(P,v)\n \+ if taille(P) = 1 then v*P[1]\n else v*(P[1] + evaluation(P[2..-1] , v ))\n fi;\nend:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "Ptest := [1$5]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "evaluation(Ptest,2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#i" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "sum( 2^k,k=1..5);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#i" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 258 2 "Q2" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 114 "valuation := proc(P)\n if (P = allouer(taille(P))) or (P[1]<>0) \+ then 0\n else 1 + valuation(P[2..-1])\n fi;\nend: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "valuation([0,0,0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "valuation([0,0,0,0,1,2,3,0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# \"\"%" }}}{EXCHG {PARA 257 "" 0 "" {TEXT 261 2 "Q3" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 288 "difference := proc(P1,P2)\n if taille(P1) = taille(P2) then \n if taille(P1) = 1 then [P1[1] - P2[1]]\n \+ else [P1[1]-P2[1],op(difference(P1[2..-1],P2[2..-1]))]\n fi;\n elif taille(P1) > taille(P2) then\n difference(P1,[op(P2),0])\n else difference([op(P1),0],P2)\n fi;\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "P1 := [0,1]: P2:=[1]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "difference(P1,P2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$!\"\"\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "diff erence(P2,P1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"\"!\"\"" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 259 2 "Q4" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "signum(-12);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"\" " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 196 "Compare_neg := proc(P1 ,P2)\n local v;\n v := valuation(difference(P1,P2));\n if v = 0 the n 0\n elif irem(v,2)=0 then signum(difference(P1,P2)[v+1])\n else -s ignum(difference(P1,P2)[v+1])\n fi\nend:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "Compare_neg([0],[0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "Compare_neg( [0,0,1],[0,0,1,3]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "Compare_neg([0,0,1,0,6],[0,0 ,1]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 260 2 "Q5" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "# o n met l'ordre en argument pour les questions suivantes" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 170 "insere := proc(Ordre,P,Liste)\n i f taille(Liste) = 0 then [P]\n elif Ordre(P,Liste[1])>=0 then [P,op(L iste)]\n else [Liste[1],op(insere(Ordre,P,Liste[2..-1]))]\n fi;\nend :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "insere(Compare_neg,[0, 1],[[0,-1],[0]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7$\"\"!!\"\"7#F %7$F%\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 123 "tri := proc (Ordre,Liste)\n if taille(Liste) = 1 then Liste\n else insere(Ordre, Liste[1],tri(Ordre,Liste[2..-1]))\n fi;\nend:" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 36 "tri(Compare_neg,[[0],[0,-1],[0,1]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7$\"\"!!\"\"7#F%7$F%\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "tri(Compare_neg,[[0,0,1],[0,0,0,-1] ,[0]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7%\"\"!F%\"\"\"7&F%F%F%! \"\"7#F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "tri(Compare_neg ,[[0,-1],[0,0,1],[0,0,-1]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7$\" \"!!\"\"7%F%F%\"\"\"7%F%F%F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "tri(Compare_neg,[[0],[0,0,0,1],[0,0,-1]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7#\"\"!7&F%F%F%\"\"\"7%F%F%!\"\"" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 148 "divise := proc(Liste)\n local n;\n n:=taill e(Liste);\n if n=0 then RETURN([],[])\n else RETURN([Liste[1..floor(n/ 2)],Liste[floor(n/2)+1..-1]])\n fi;\nend:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 37 "# variante en utilisant le tri fusion" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 248 "fusionner := proc(Ordre,L1,L2)\n i f taille(L1)=0 then RETURN(L2)\n elif taille(L2)=0 then RETURN(L1)\n e lif Ordre(Tete(L1),Tete(L2))>0 then \n [Tete(L1),op(fusionner(Ord re,Queue(L1),L2))]\n else [Tete(L2),op(fusionner(Ordre,Queue(L2),L1))] \n fi\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 11 "" 1 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 160 "tri_f := proc(Ordre,L)\n if taille(L)=1 then RETURN(L)\n else f usionner(Ordre,tri_f(Ordre,divise(L)[1]),\n tri_f (Ordre,divise(L)[2]))\n fi\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "tri_f(Compare_neg,[[0],[0,-1],[0,1]]);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#7%7$\"\"!!\"\"7#F%7$F%\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "tri_f(Compare_neg,[[0,0,1],[0,0,0,-1],[0]]) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7%\"\"!F%\"\"\"7&F%F%F%!\"\"7#F %" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "tri_f(Compare_neg,[[0, -1],[0,0,1],[0,0,-1]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7$\"\"!! \"\"7%F%F%\"\"\"7%F%F%F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "tri_f(Compare_neg,[[0],[0,0,0,1],[0,0,-1]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7#\"\"!7&F%F%F%\"\"\"7%F%F%!\"\"" }}}{EXCHG {PARA 0 " " 0 "" {TEXT 262 2 "Q6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 139 " Compare_pos := proc(P1,P2)\n local v;\n v := valuation(difference(P1 ,P2));\n if v = 0 then 0\n else signum(difference(P1,P2)[v])\n fi \nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "tri(Compare_pos,[ [0,1],[0,-1],[1]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7$\"\"!\"\"\" 7$F%!\"\"7#F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "tri_f(Comp are_pos,[[0,1],[0,-1],[1]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%7#\" \"\"7$\"\"!F%7$F'!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 292 "verifier_permute := proc(permutation,Liste)\n local \+ Liste_neg, Liste_pos, Test, k;\n Liste_neg := tri(Compare_neg,Liste); \n Liste_pos := tri(Compare_pos,Liste);\n for k from 1 to taille(Lis te) do\n if (Liste_neg[k]<>Liste_pos[permutation[k]]) then RETURN(fa lse) fi;\n od;\n RETURN(true);\nend:" }}}{EXCHG {PARA 11 "" 1 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "verifier_pe rmute([2,3,1],[[0,1],[0,-1],[1]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# %%trueG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 263 2 "Q7" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 386 "est_echangeur_aux := proc(per,d)\n local a,b,c,n;\n n:=taille(p er);\n for c from d+1 to n-2 do\n for b from c+1 to n-1 do\n \+ for a from b+1 to n do\n if ((per[c] " 0 "" {MPLTEXT 1 0 31 "est_echangeur_aux([2,4,1,3],2);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "est_echangeur_aux([2,4,1,3],1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 2 "Q8" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 155 "est_echangeur := proc(per) \nlocal d,n;\nn := taille(per);\nfor d from 1 to n do\n if not est_ec hangeur_aux(per,d) then RETURN(false) fi;\nod;\nRETURN(true)\nend:" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "est_echangeur([2,4,1,3]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 2 "Q9" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 201 "nombre_echangeurs := proc(n )\n local a,k,i;\n a := allouer(n);\n a[1] := 1;\n for k from 2 to n d o\n a[k]:=a[k-1];\n for i from 1 to k-1 do\n a[k]:=a[k]+a[i ]*a[k-i];\n od;\n od;\n RETURN(a[n])\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "nombre_echangeurs(4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#A" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 185 "dec aler := proc(t,v)\n local n,u,i; \n n:=taille(t);\n u:=allouer(n+1);\n u[1]:=v;\n for i from 2 to n+1 do\n if t[i-1] " 0 "" {MPLTEXT 1 0 25 "decaler([1,2,3,4,5,6],4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7)\"\"%\"\"\"\"\"#\"\"$\"\"&\"\"'\"\"(" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}}{MARK "51 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }