From d8621c2ace41a0eb1ef1f7825309fb75c73d3f80 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Sun, 14 Oct 2012 20:48:52 +0200 Subject: Initial import of schiltknecht.fr --- CV/CV_1P.pdf | Bin 0 -> 389707 bytes CV/CV_2P.pdf | Bin 0 -> 583850 bytes Projets/1A/Allumettes.jar | Bin 0 -> 12608 bytes Projets/1A/Particules.tar.gz | Bin 0 -> 18759 bytes Projets/1A/Rapport-Enigma.pdf | Bin 0 -> 76405 bytes Projets/1A/Rapport-Huffman.pdf | Bin 0 -> 221960 bytes Projets/1A/Rapport-Particules.pdf | Bin 0 -> 343835 bytes Projets/1A/Rapport-UML.pdf | Bin 0 -> 1083667 bytes Projets/1A/UML.jar | Bin 0 -> 331387 bytes Projets/2A/Intergiciel.jar | Bin 0 -> 463333 bytes Projets/2A/MJC.tar.gz | Bin 0 -> 38405 bytes Projets/2A/Rapport-Intergiciel.pdf | Bin 0 -> 292083 bytes Projets/2A/Rapport-eBide.pdf | Bin 0 -> 336012 bytes Projets/2A/Rapport-uJava.pdf | Bin 0 -> 195494 bytes Projets/2A/Slides-eBide.pdf | Bin 0 -> 223384 bytes Projets/2A/VHDL.tar.bz2 | Bin 0 -> 6260 bytes Projets/2A/eBide.tar.gz | Bin 0 -> 3430814 bytes TIPE_2007/C/Sauv/TFD - C.tar.bz2 | Bin 0 -> 6512 bytes TIPE_2007/C/Sauv/TFD - C.zip | Bin 0 -> 10576 bytes TIPE_2007/C/TFD - C.tar.bz2 | Bin 0 -> 6447 bytes TIPE_2007/C/TFD - C.zip | Bin 0 -> 10496 bytes TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf | Bin 0 -> 6737806 bytes TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC | Bin 0 -> 6725908 bytes TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf | Bin 0 -> 98762 bytes TIPE_2007/Maple/TFD - Old.mw | 496 +++++++++++++++++++++ TIPE_2007/Maple/TFD.mw | 472 ++++++++++++++++++++ TIPE_2007/Octave/Multiplication.m | 22 + TIPE_2007/Octave/TFD - Octave.tar.bz2 | Bin 0 -> 1000 bytes TIPE_2007/Octave/TFD - Octave.zip | Bin 0 -> 1321 bytes TIPE_2007/Octave/TFDI - Octave.tar.bz2 | Bin 0 -> 1046 bytes TIPE_2007/Octave/TFDI - Octave.zip | Bin 0 -> 1380 bytes TIPE_2007/index.html | 110 +++++ TIPE_2007/index.html.plain | 73 +++ cv.html | 166 +++++++ index.html | 61 +++ projets.html | 215 +++++++++ styles/cv.css | 26 ++ styles/projets.css | 17 + styles/simpleelegance03/images/button.gif | Bin 0 -> 200 bytes styles/simpleelegance03/images/colors.gif | Bin 0 -> 1413 bytes styles/simpleelegance03/images/hr.gif | Bin 0 -> 160 bytes styles/simpleelegance03/images/image.gif | Bin 0 -> 706 bytes styles/simpleelegance03/images/link.gif | Bin 0 -> 56 bytes styles/simpleelegance03/images/list.gif | Bin 0 -> 51 bytes styles/simpleelegance03/images/more.gif | Bin 0 -> 58 bytes styles/simpleelegance03/index.html | 100 +++++ styles/simpleelegance03/style.css | 242 ++++++++++ 47 files changed, 2000 insertions(+) create mode 100644 CV/CV_1P.pdf create mode 100644 CV/CV_2P.pdf create mode 100644 Projets/1A/Allumettes.jar create mode 100644 Projets/1A/Particules.tar.gz create mode 100644 Projets/1A/Rapport-Enigma.pdf create mode 100644 Projets/1A/Rapport-Huffman.pdf create mode 100644 Projets/1A/Rapport-Particules.pdf create mode 100644 Projets/1A/Rapport-UML.pdf create mode 100644 Projets/1A/UML.jar create mode 100644 Projets/2A/Intergiciel.jar create mode 100644 Projets/2A/MJC.tar.gz create mode 100644 Projets/2A/Rapport-Intergiciel.pdf create mode 100644 Projets/2A/Rapport-eBide.pdf create mode 100644 Projets/2A/Rapport-uJava.pdf create mode 100644 Projets/2A/Slides-eBide.pdf create mode 100644 Projets/2A/VHDL.tar.bz2 create mode 100644 Projets/2A/eBide.tar.gz create mode 100644 TIPE_2007/C/Sauv/TFD - C.tar.bz2 create mode 100644 TIPE_2007/C/Sauv/TFD - C.zip create mode 100644 TIPE_2007/C/TFD - C.tar.bz2 create mode 100644 TIPE_2007/C/TFD - C.zip create mode 100644 TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf create mode 100644 TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC create mode 100644 TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf create mode 100644 TIPE_2007/Maple/TFD - Old.mw create mode 100644 TIPE_2007/Maple/TFD.mw create mode 100644 TIPE_2007/Octave/Multiplication.m create mode 100644 TIPE_2007/Octave/TFD - Octave.tar.bz2 create mode 100644 TIPE_2007/Octave/TFD - Octave.zip create mode 100644 TIPE_2007/Octave/TFDI - Octave.tar.bz2 create mode 100644 TIPE_2007/Octave/TFDI - Octave.zip create mode 100644 TIPE_2007/index.html create mode 100644 TIPE_2007/index.html.plain create mode 100644 cv.html create mode 100644 index.html create mode 100644 projets.html create mode 100644 styles/cv.css create mode 100644 styles/projets.css create mode 100644 styles/simpleelegance03/images/button.gif create mode 100644 styles/simpleelegance03/images/colors.gif create mode 100644 styles/simpleelegance03/images/hr.gif create mode 100644 styles/simpleelegance03/images/image.gif create mode 100644 styles/simpleelegance03/images/link.gif create mode 100644 styles/simpleelegance03/images/list.gif create mode 100644 styles/simpleelegance03/images/more.gif create mode 100644 styles/simpleelegance03/index.html create mode 100644 styles/simpleelegance03/style.css diff --git a/CV/CV_1P.pdf b/CV/CV_1P.pdf new file mode 100644 index 0000000..1024c67 Binary files /dev/null and b/CV/CV_1P.pdf differ diff --git a/CV/CV_2P.pdf b/CV/CV_2P.pdf new file mode 100644 index 0000000..00ca488 Binary files /dev/null and b/CV/CV_2P.pdf differ diff --git a/Projets/1A/Allumettes.jar b/Projets/1A/Allumettes.jar new file mode 100644 index 0000000..d50b19c Binary files /dev/null and b/Projets/1A/Allumettes.jar differ diff --git a/Projets/1A/Particules.tar.gz b/Projets/1A/Particules.tar.gz new file mode 100644 index 0000000..6df4bde Binary files /dev/null and b/Projets/1A/Particules.tar.gz differ diff --git a/Projets/1A/Rapport-Enigma.pdf b/Projets/1A/Rapport-Enigma.pdf new file mode 100644 index 0000000..95d9b8e Binary files /dev/null and b/Projets/1A/Rapport-Enigma.pdf differ diff --git a/Projets/1A/Rapport-Huffman.pdf b/Projets/1A/Rapport-Huffman.pdf new file mode 100644 index 0000000..b87f8de Binary files /dev/null and b/Projets/1A/Rapport-Huffman.pdf differ diff --git a/Projets/1A/Rapport-Particules.pdf b/Projets/1A/Rapport-Particules.pdf new file mode 100644 index 0000000..cd1f6e0 Binary files /dev/null and b/Projets/1A/Rapport-Particules.pdf differ diff --git a/Projets/1A/Rapport-UML.pdf b/Projets/1A/Rapport-UML.pdf new file mode 100644 index 0000000..a79de9a Binary files /dev/null and b/Projets/1A/Rapport-UML.pdf differ diff --git a/Projets/1A/UML.jar b/Projets/1A/UML.jar new file mode 100644 index 0000000..de8f86e Binary files /dev/null and b/Projets/1A/UML.jar differ diff --git a/Projets/2A/Intergiciel.jar b/Projets/2A/Intergiciel.jar new file mode 100644 index 0000000..f8c84ab Binary files /dev/null and b/Projets/2A/Intergiciel.jar differ diff --git a/Projets/2A/MJC.tar.gz b/Projets/2A/MJC.tar.gz new file mode 100644 index 0000000..b8a189a Binary files /dev/null and b/Projets/2A/MJC.tar.gz differ diff --git a/Projets/2A/Rapport-Intergiciel.pdf b/Projets/2A/Rapport-Intergiciel.pdf new file mode 100644 index 0000000..24b92a4 Binary files /dev/null and b/Projets/2A/Rapport-Intergiciel.pdf differ diff --git a/Projets/2A/Rapport-eBide.pdf b/Projets/2A/Rapport-eBide.pdf new file mode 100644 index 0000000..8af09c7 Binary files /dev/null and b/Projets/2A/Rapport-eBide.pdf differ diff --git a/Projets/2A/Rapport-uJava.pdf b/Projets/2A/Rapport-uJava.pdf new file mode 100644 index 0000000..c0c5fcd Binary files /dev/null and b/Projets/2A/Rapport-uJava.pdf differ diff --git a/Projets/2A/Slides-eBide.pdf b/Projets/2A/Slides-eBide.pdf new file mode 100644 index 0000000..78e15d1 Binary files /dev/null and b/Projets/2A/Slides-eBide.pdf differ diff --git a/Projets/2A/VHDL.tar.bz2 b/Projets/2A/VHDL.tar.bz2 new file mode 100644 index 0000000..48de1fb Binary files /dev/null and b/Projets/2A/VHDL.tar.bz2 differ diff --git a/Projets/2A/eBide.tar.gz b/Projets/2A/eBide.tar.gz new file mode 100644 index 0000000..c5cfdb8 Binary files /dev/null and b/Projets/2A/eBide.tar.gz differ diff --git a/TIPE_2007/C/Sauv/TFD - C.tar.bz2 b/TIPE_2007/C/Sauv/TFD - C.tar.bz2 new file mode 100644 index 0000000..d8ca9fc Binary files /dev/null and b/TIPE_2007/C/Sauv/TFD - C.tar.bz2 differ diff --git a/TIPE_2007/C/Sauv/TFD - C.zip b/TIPE_2007/C/Sauv/TFD - C.zip new file mode 100644 index 0000000..bb60997 Binary files /dev/null and b/TIPE_2007/C/Sauv/TFD - C.zip differ diff --git a/TIPE_2007/C/TFD - C.tar.bz2 b/TIPE_2007/C/TFD - C.tar.bz2 new file mode 100644 index 0000000..9b207b7 Binary files /dev/null and b/TIPE_2007/C/TFD - C.tar.bz2 differ diff --git a/TIPE_2007/C/TFD - C.zip b/TIPE_2007/C/TFD - C.zip new file mode 100644 index 0000000..1e4a38f Binary files /dev/null and b/TIPE_2007/C/TFD - C.zip differ diff --git a/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf b/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf new file mode 100644 index 0000000..d6d5f29 Binary files /dev/null and b/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf differ diff --git a/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC b/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC new file mode 100644 index 0000000..d8a7a47 Binary files /dev/null and b/TIPE_2007/Dossier/Dossier_TIPE_2007_TF.pdf.sansTOC differ diff --git a/TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf b/TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf new file mode 100644 index 0000000..25434b7 Binary files /dev/null and b/TIPE_2007/Dossier/Transparents_TIPE_2007_TF.pdf differ diff --git a/TIPE_2007/Maple/TFD - Old.mw b/TIPE_2007/Maple/TFD - Old.mw new file mode 100644 index 0000000..950dcc2 --- /dev/null +++ b/TIPE_2007/Maple/TFD - Old.mw @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +restart: + + +
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par une proc\303\251dure "na\303\257ve"</Font></Text-field> +Cette proc\303\251dure calcule les coefficients de Fourier par une m\303\251thode dite "naive". + + +TFDSimple:=proc(x) + +local n,X: +n:=nops(x): + +X:=[seq(sum(x[j]*exp(-2*I*(j-1)*(k-1)*Pi/n),j=1..n),k=1..n)]; + + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par une proc\303\251dure r\303\251cursive</Font></Text-field> +Cette proc\303\251dure prend en entr\303\251e une liste repr\303\251sentant les coefficients d'un polyn\303\264me dont on cherche \303\240 calculer les coefficients de Fourier. + + +TFDRecur:=proc(x) + +local N,CoefFFT,xp,xi,u,v,omega: +N:=nops(x): + +if N=1 then CoefFFT:=x: +else + +xp:=[seq(x[2*i],i=1..N/2)]: +xi:=[seq(x[2*i-1],i=1..N/2)]: +u:=TFDRecur(xp): +v:=TFDRecur(xi): + +omega:=exp(-2*I*Pi/N): + +CoefFFT:=[seq(omega^(k-1)*u[k]+v[k],k=1..N/2),seq(-omega^(k-1)*u[k]+v[k],k=1..N/2)]; +end if: +CoefFFT; + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par it\303\251ration</Font></Text-field> +On va utiliser l'\303\251criture des divers coefficients en binaire. + + + +TFDIter:=proc(x) +local n,i,j,k,a,b,p,l,z,w,h,m,tmp: +n:=nops(x): +l:=x; +p:=n/2; #p: puissance max dans d\303\251composition. + +while p>=1 do +#On fait les signaux jusqu'a 2^p + z:=1; #premi\303\250re valeur de omega. + w:=exp(-I*Pi/p); #c'est omega. + + for h from 1 to p do #Variable servant \303\240 la d\303\251composition + for m from 1 to n/(2*p) do + #On va calculer le signal xm + #prendre l'exemple du Butterfly pour illustrer + a:=h+2*(m-1)*p:#indice du signal pour j_(r-1) + b:=a+p; + tmp:=(l[a]-l[b])*z: + l[a]:=l[a]+l[b]: + l[b]:=tmp: + end do: + #On passe au signal m+1 -> w<-w^(m+1) + z:=z*w: + end do: + p:=p/2: +end do: + +#On a maintenant notre liste contenant les signaux x_r +#Il reste \303\240 remettre les signaux dans le bon ordre. + +j:=1: +for i from 1 to n do + if j>i then tmp:=l[j]: + l[j]:=l[i]: + l[i]:=tmp: + end if: + p:=n/2: + while p>=2 and j>p do + j:=j-p: + p:=p/2: + end do: + j:=j+p: +end do: +return l; + + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la Transform\303\251e Inverse.</Font></Text-field> +De m\303\252me, il est possible d'effectuer deux m\303\251thodes pour calculer la transform\303\251e inverse de Fourier : +
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode na\303\257ve</Font></Text-field> +En utilisant le m\303\252me algorithme, on obtient : + + +TFDISimple:=proc(X) + +local n,F: +n:=nops(X): + +F:=[seq((1/n)*sum(X[i]*exp(2*I*(j-1)*(i-1)*Pi/(n)),i=1..n),j=1..n)]; + +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode r\303\251cursive</Font></Text-field> +Attention : Pour que l'on puisse retrouver les valeurs initiales, +il ne faut pas oublier de diviser par le nombre de valeurs. + + +TFDIRecur:=proc(X) +local Coef,N,Xi,Xp,U,V,Omega,k; +N:=nops(X); + +if N=1 then Coef:=X: +else + Xi:=[seq(X[2*k-1],k=1..N/2)]; + Xp:=[seq(X[2*k],k=1..N/2)]; + U:=TFDIRecur(Xi); + V:=TFDIRecur(Xp); + Omega:=exp(2*I*Pi/N); + Coef:=[seq(U[k]+Omega^(k-1)*V[k],k=1..N/2),seq(U[k]-Omega^(k-1)*V[k],k=1..N/2)]: + end if; +Coef; +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode it\303\251rative</Font></Text-field> + + + +TFDIIter:=proc(x) +local n,i,j,k,a,b,p,l,z,w,h,m,tmp: +n:=nops(x): +l:=x; +p:=n/2; + +while p>=1 do + z:=1; + w:=exp(I*Pi/p); #C'est la diff\303\251rence + + for h from 1 to p do + for m from 1 to n/(2*p) do + a:=h+2*(m-1)*p: + b:=a+p; + tmp:=(l[a]-l[b])*z: + l[a]:=l[a]+l[b]: + l[b]:=tmp: + end do: + z:=z*w: + end do: + p:=p/2: +end do: + +j:=1: +for i from 1 to n do + if j>i then tmp:=l[j]: + l[j]:=l[i]: + l[i]:=tmp: + end if: + p:=n/2: + while p>=2 and j>p do + j:=j-p: + p:=p/2: + end do: + j:=j+p: +end do: +return l/n; +end proc: + + +
+
+
+<Text-field style="Heading 1" layout="Heading 1">Mesure du temps de calcul</Text-field> +On va ici s'inter\303\251sser \303\240 la mesure du temps pris pour calculer les coefficients de Fourier (Transform\303\251e Directe) par la m\303\251thode na\303\257ve et la m\303\251thode r\303\251cursive pour n grand, par exemple n=2^5, n=2^10, n=2^20. +Pour cela, on va d\303\251finir la liste de nos coefficients, entiers compris entre -50 et 50 par exemple, par une m\303\251thode "pseudo-al\303\251atoire" : + + + +with(RandomTools[MersenneTwister]); +A:=[seq(GenerateInteger32(),i=1..2^5)]: + + +NiQtSShtZmVuY2VkRzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiwtSSNtaUdGJTY5US5HZW5lcmF0ZUZsb2F0RigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUYtNjlRMEdlbmVyYXRlRmxvYXQ2NEYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvLUYtNjlRMEdlbmVyYXRlSW50ZWdlckYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvLUYtNjlRMkdlbmVyYXRlSW50ZWdlcjMyRihGMEYzRjZGOUY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaW5GXG8tRi02OVE2R2VuZXJhdGVVbnNpZ25lZEludDMyRihGMEYzRjZGOUY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaW5GXG8tRi02OVEpR2V0U3RhdGVGKEYwRjNGNkY5RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZpbkZcby1GLTY5US1OZXdHZW5lcmF0b3JGKEYwRjNGNkY5RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZpbkZcby1GLTY5USlTZXRTdGF0ZUYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvLyUlb3BlbkdRJyZsc3FiO0YoLyUmY2xvc2VHUScmcnNxYjtGKDcjNypJLkdlbmVyYXRlRmxvYXRHRihJMEdlbmVyYXRlRmxvYXQ2NEdGKEkwR2VuZXJhdGVJbnRlZ2VyR0YoSTJHZW5lcmF0ZUludGVnZXIzMkdGKEk2R2VuZXJhdGVVbnNpZ25lZEludDMyR0YoSSlHZXRTdGF0ZUdGKEktTmV3R2VuZXJhdG9yR0YoSSlTZXRTdGF0ZUdGKA== + + +
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode na\303\257ve</Font></Text-field> +On effectue le calcul pour la m\303\251thode it\303\251rative : + + +t:=time(): +N:=TFDSimple(A): +Temps := time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmMC4wOTZGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiMnKiEiJDcjRmhy + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode r\303\251cursive</Font></Text-field> +Calcul pour la m\303\251thode r\303\251cursive : + + +t:=time(): +R:=TFDRecur(A): +Temps := time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmMC4wMDRGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiIlISIkNyNGaHI= + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode it\303\251rative</Font></Text-field> + + + +t:=time(): +I:=TFDIter(A): +Temps:= time()-t; + + +Error, illegal use of an object as a name + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEjMC5GKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiIhRmlyNyNGaHI= + + + + + + + +
+
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Multiplication de polyn\303\264mes</Font></Text-field> +
+<Text-field style="Heading 2" layout="Heading 2">Algorithme</Text-field> +On va prendre en entr\303\251e deux listes contenant les coefficients des deux polyn\303\264mes dont on cherche \303\240 calculer le produit. +Utilise la m\303\251thode simple, car sinon impose en plus une condition sur le degr\303\251 des polyn\303\264mes. + + +Multiplication:=proc(P,Q) + +local n,N,R,A,B,i,j,k: + +n:=nops(P): + +#On cr\303\251e la liste des coefficients \303\251tendus \303\240 2n \303\251l\303\251ments. +A:=[seq(P[k],k=1..n),seq(0,k=n+1..2*n)]; +B:=[seq(Q[k],k=1..n),seq(0,k=n+1..2*n)]; + +#On calcule la TFD de chacune de ces listes. +A:=TFDIter(A): +B:=TFDIter(B): + +#On effectue les produits +R:=[seq(A[k]*B[k],k=1..2*n)]: + +#On r\303\251cup\303\250re les coefficients. +TFDIIter(R); + +end proc: + + + + + + + +
+
+<Text-field style="Heading 2" layout="Heading 2">Exemple</Text-field> +
+<Text-field style="Heading 3" layout="Heading 3">Maple</Text-field> +On va poser LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2OVEiUEYnLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRicvJSVzaXplR1EjMTJGJy8lJWJvbGRHUSZmYWxzZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y3LyUqc3Vic2NyaXB0R0Y3LyUsc3VwZXJzY3JpcHRHRjcvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJy8lJ29wYXF1ZUdGNy8lK2V4ZWN1dGFibGVHRjcvJSlyZWFkb25seUdGNy8lKWNvbXBvc2VkR0Y3LyUqY29udmVydGVkR0Y3LyUraW1zZWxlY3RlZEdGNy8lLHBsYWNlaG9sZGVyR0Y3LyUwZm9udF9zdHlsZV9uYW1lR1EoMkR+TWF0aEYnLyUqbWF0aGNvbG9yR0ZDLyUvbWF0aGJhY2tncm91bmRHRkYvJStmb250ZmFtaWx5R0YxLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKW1hdGhzaXplR0Y0LUkjbW9HRiQ2M1EjOj1GJy8lJWZvcm1HUSZpbmZpeEYnLyUmZmVuY2VHRjcvJSpzZXBhcmF0b3JHRjcvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Zqby8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobWF4c2l6ZUdRKWluZmluaXR5RicvJShtaW5zaXplR1EiMUYnLyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJTBmb250X3N0eWxlX25hbWVHRlcvJSVzaXplR0Y0LyUrZm9yZWdyb3VuZEdGQy8lK2JhY2tncm91bmRHRkYtRiM2Jy1GLDY5USFGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUkrbXVuZGVyb3ZlckdGJDYnLUZebzYzUSYmU3VtO0YnL0Zib1EncHJlZml4RidGZG9GZm8vRmlvUSQwZW1GJy9GXHBRLnRoaW5tYXRoc3BhY2VGJy9GXnBGOkZfcEZhcEZkcC9GaHBGOi9GanBGOkZbcUZdcUZfcUZhcUZjcS1GIzYnRmdxLUYsNjlRImlGJ0YvL0YzUSMxMEYnRjVGOEY7Rj1GPy9GQlEsWzIwMCwwLDIwMF1GJ0ZERkdGSUZLRk1GT0ZRL0ZURjpGVS9GWUZhc0ZaRmZuRmhuL0Zcb0Zfcy1GXm82M1EiPUYnRmFvRmRvRmZvRmhvRltwRl1wRl9wRmFwRmRwRmdwRmlwRltxRl1xRl9xRmFxRmNxLUkjbW5HRiQ2OVEiMEYnRi9GMkY1L0Y5RjdGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm4vRmluUSdub3JtYWxGJ0Zbb0ZncS1GIzYjLUZpczY5USMxMEYnRi9GMkY1Rlx0RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRl10RltvRltxLyUsYWNjZW50dW5kZXJHRjdGZ3EtSSVtc3VwR0YkNiUtRiw2OVEjaVhGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUYsNjlGXXNGL0YyRjVGOEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZobkZbby8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGZ3FGZ3E= et LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2OVEiUUYnLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRicvJSVzaXplR1EjMTJGJy8lJWJvbGRHUSZmYWxzZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y3LyUqc3Vic2NyaXB0R0Y3LyUsc3VwZXJzY3JpcHRHRjcvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJy8lJ29wYXF1ZUdGNy8lK2V4ZWN1dGFibGVHRjcvJSlyZWFkb25seUdGNy8lKWNvbXBvc2VkR0Y3LyUqY29udmVydGVkR0Y3LyUraW1zZWxlY3RlZEdGNy8lLHBsYWNlaG9sZGVyR0Y3LyUwZm9udF9zdHlsZV9uYW1lR1EoMkR+TWF0aEYnLyUqbWF0aGNvbG9yR0ZDLyUvbWF0aGJhY2tncm91bmRHRkYvJStmb250ZmFtaWx5R0YxLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKW1hdGhzaXplR0Y0LUkjbW9HRiQ2M1EjOj1GJy8lJWZvcm1HUSZpbmZpeEYnLyUmZmVuY2VHRjcvJSpzZXBhcmF0b3JHRjcvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Zqby8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobWF4c2l6ZUdRKWluZmluaXR5RicvJShtaW5zaXplR1EiMUYnLyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJTBmb250X3N0eWxlX25hbWVHRlcvJSVzaXplR0Y0LyUrZm9yZWdyb3VuZEdGQy8lK2JhY2tncm91bmRHRkYtRiM2KS1GLDY5USFGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUkrbXVuZGVyb3ZlckdGJDYnLUZebzYzUSYmU3VtO0YnL0Zib1EncHJlZml4RidGZG9GZm8vRmlvUSQwZW1GJy9GXHBRLnRoaW5tYXRoc3BhY2VGJy9GXnBGOkZfcEZhcEZkcC9GaHBGOi9GanBGOkZbcUZdcUZfcUZhcUZjcS1GIzYmRmdxLUYsNjlRImlGJ0YvL0YzUSMxMEYnRjVGOEY7Rj1GPy9GQlEsWzIwMCwwLDIwMF1GJ0ZERkdGSUZLRk1GT0ZRL0ZURjpGVS9GWUZhc0ZaRmZuRmhuL0Zcb0Zfcy1GXm82M1EiPUYnRmFvRmRvRmZvRmhvRltwRl1wRl9wRmFwRmRwRmdwRmlwRltxRl1xRl9xRmFxRmNxLUkjbW5HRiQ2OVEiMEYnRi9GMkY1L0Y5RjdGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm4vRmluUSdub3JtYWxGJ0Zbby1GaXM2OVEjMTBGJ0YvRjJGNUZcdEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZddEZbb0ZbcS8lLGFjY2VudHVuZGVyR0Y3RmdxLUklbXN1cEdGJDYlLUYsNjlGXXNGL0YyRjVGOEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZobkZbb0ZndC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGZ3EtRmV0NiUtRiw2OVEiWEYnRi9GMkY1RjhGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm5GaG5GW29GZ3RGaXRGZ3FGZ3E= + + +P:=sum(i*X^i,i=0..15); + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJQRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2QC1GLTY5USJYRihGMEYzRjZGOUY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaW5GXG8tRl9vNjNRJyZwbHVzO0YoRmJvRmVvRmdvL0Zqb1EwbWVkaXVtbWF0aHNwYWNlRigvRl1wRl9yRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYkNiYtSSNtbkdGJTY5USIyRihGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GX282M1ExJkludmlzaWJsZVRpbWVzO0YoRmJvRmVvRmdvL0Zqb1EkMGVtRigvRl1wRl5zRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUklbXN1cEdGJTYlRmhxRmNyLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGKC9JK21zZW1hbnRpY3NHRiVRIipGKEZbci1GJDYmLUZkcjY5USIzRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRlt0RmNzRmZzRltyLUYkNiYtRmRyNjlRIjRGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHFGYnRGY3NGZnNGW3ItRiQ2Ji1GZHI2OVEiNUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocUZpdEZjc0Zmc0Zbci1GJDYmLUZkcjY5USI2RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmB1RmNzRmZzRltyLUYkNiYtRmRyNjlRIjdGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHFGZ3VGY3NGZnNGW3ItRiQ2Ji1GZHI2OVEiOEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocUZedkZjc0Zmc0Zbci1GJDYmLUZkcjY5USI5RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmV2RmNzRmZzRltyLUYkNiYtRmRyNjlRIzEwRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRlx3RmNzRmZzRltyLUYkNiYtRmRyNjlRIzExRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmN3RmNzRmZzRltyLUYkNiYtRmRyNjlRIzEyRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmp3RmNzRmZzRltyLUYkNiYtRmRyNjlRIzEzRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmF4RmNzRmZzRltyLUYkNiYtRmRyNjlRIzE0RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmh4RmNzRmZzRltyLUYkNiYtRmRyNjlRIzE1RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRl95RmNzRmZzL0Znc1EiK0YoL0Znc1EjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkiUEdGKCxASSJYR0YoIiIiKiYiIiNGYnopRmF6RmR6RmJ6RmJ6KiYiIiRGYnopRmF6Rmd6RmJ6RmJ6KiYiIiVGYnopRmF6Rmp6RmJ6RmJ6KiYiIiZGYnopRmF6Rl1bbEZiekZieiomIiInRmJ6KUZhekZgW2xGYnpGYnoqJiIiKEZieilGYXpGY1tsRmJ6RmJ6KiYiIilGYnopRmF6RmZbbEZiekZieiomIiIqRmJ6KUZhekZpW2xGYnpGYnoqJiIjNUZieilGYXpGXFxsRmJ6RmJ6KiYiIzZGYnopRmF6Rl9cbEZiekZieiomIiM3RmJ6KUZhekZiXGxGYnpGYnoqJiIjOEZieilGYXpGZVxsRmJ6RmJ6KiYiIzlGYnopRmF6RmhcbEZiekZieiomIiM6RmJ6KUZhekZbXWxGYnpGYno3I0Zgeg== + + + + +Q:=sum(i^i*X^i,i=0..15); + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJRRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2Qi1JI21uR0YlNjlGZ3BGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GX282M1EnJnBsdXM7RihGYm9GZW9GZ28vRmpvUTBtZWRpdW1tYXRoc3BhY2VGKC9GXXBGYnJGXnBGYHBGYnBGZXBGaHBGanBGXHFGXnFGYHFGYnFGZHEtRi02OVEiWEYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvRl5yLUYkNiYtRmlxNjlRIjRGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG8tRl9vNjNRMSZJbnZpc2libGVUaW1lcztGKEZib0Zlb0Znby9Gam9RJDBlbUYoL0ZdcEZgc0ZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1JJW1zdXBHRiU2JUZkci1GaXE2OVEiMkYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcby8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRigvSSttc2VtYW50aWNzR0YlUSIqRihGXnItRiQ2Ji1GaXE2OVEjMjdGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIjNGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GaHNGW3RGXnItRiQ2Ji1GaXE2OVEkMjU2RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyRmlyRmhzRlt0Rl5yLUYkNiYtRmlxNjlRJTMxMjVGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIjVGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GaHNGW3RGXnItRiQ2Ji1GaXE2OVEmNDY2NTZGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIjZGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GaHNGW3RGXnItRiQ2Ji1GaXE2OVEnODIzNTQzRihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USI3RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRmhzRlt0Rl5yLUYkNiYtRmlxNjlRKTE2Nzc3MjE2RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USI4RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRmhzRlt0Rl5yLUYkNiYtRmlxNjlRKjM4NzQyMDQ4OUYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zccy1GY3M2JUZkci1GaXE2OVEiOUYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zoc0ZbdEZeci1GJDYmLUZpcTY5USwxMDAwMDAwMDAwMEYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zccy1GY3M2JUZkci1GaXE2OVEjMTBGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GaHNGW3RGXnItRiQ2Ji1GaXE2OVEtMjg1MzExNjcwNjExRihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USMxMUYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zoc0ZbdEZeci1GJDYmLUZpcTY5US44OTE2MTAwNDQ4MjU2RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USMxMkYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zoc0ZbdEZeci1GJDYmLUZpcTY5UTAzMDI4NzUxMDY1OTIyNTNGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIzEzRihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRmhzRlt0Rl5yLUYkNiYtRmlxNjlRMjExMTEyMDA2ODI1NTU4MDE2RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRlxzLUZjczYlRmRyLUZpcTY5USMxNEYoRjBGM0Y2RltyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZcckZcb0Zoc0ZbdEZeci1GJDYmLUZpcTY5UTM0Mzc4OTM4OTAzODA4NTkzNzVGKEYwRjNGNkZbckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXHJGXG9GXHMtRmNzNiVGZHItRmlxNjlRIzE1RihGMEYzRjZGW3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRlxyRlxvRmhzRlt0L0ZcdFEiK0YoL0ZcdFEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkiUUdGKCxCIiIiRmpcbEkiWEdGKEZqXGwqJiIiJUZqXGwpRltdbCIiI0ZqXGxGalxsKiYiI0ZGalxsKUZbXWwiIiRGalxsRmpcbComIiRjI0ZqXGwpRltdbEZdXWxGalxsRmpcbComIiVESkZqXGwpRltdbCIiJkZqXGxGalxsKiYiJmNtJUZqXGwpRltdbCIiJ0ZqXGxGalxsKiYiJ1ZOIylGalxsKUZbXWwiIihGalxsRmpcbComIik7c3g7RmpcbClGW11sIiIpRmpcbEZqXGwqJiIqKls/dVFGalxsKUZbXWwiIipGalxsRmpcbComIiwrKysrKyJGalxsKUZbXWwiIzVGalxsRmpcbComIi02MW42YEdGalxsKUZbXWwiIzZGalxsRmpcbComIi5jI1svNTsqKUZqXGwpRltdbCIjN0ZqXGxGalxsKiYiMGBBZjFeKEdJRmpcbClGW11sIiM4RmpcbEZqXGwqJiIyOyFlYiNvKzc2IkZqXGwpRltdbCIjOUZqXGxGalxsKiYiM3YkZjNRISpRKnlWRmpcbClGW11sIiM6RmpcbEZqXGw3I0ZpXGw= + + + + +R:=expand(P*Q); + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJSRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2aG4tRi02OVEiWEYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvLUZfbzYzUScmcGx1cztGKEZib0Zlb0Znby9Gam9RMG1lZGl1bW1hdGhzcGFjZUYoL0ZdcEZfckZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1GJDYmLUkjbW5HRiU2OVE0NjI5NzE5NDU2NzcxNTQwMTQ5MEYoRjBGM0Y2L0Y6RjhGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduL0ZqblEnbm9ybWFsRihGXG8tRl9vNjNRMSZJbnZpc2libGVUaW1lcztGKEZib0Zlb0Znby9Gam9RJDBlbUYoL0ZdcEZec0ZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1JJW1zdXBHRiU2JUZocS1GZHI2OVEjMjlGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG8vJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYoL0krbXNlbWFudGljc0dGJVEiKkYoRltyLUYkNiYtRmRyNjlRNDE4MDkwMTc2MzU1NTY1NzQ2NzhGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzE5RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRNDIyNTgzMzU2MTk2ODY3NzAzNzhGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzIwRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRMzkxMDM4MTY2NzI5NjE3NTUyNEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMTdGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0MTM1OTY5OTY1MTQyNjM3NTI4N0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMThGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVEiM0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEiMkYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5USI5RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxRmZ2RmZzRmlzRltyLUYkNiYtRmRyNjlRIzQyRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxLUZkcjY5USI0RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRJDMzMUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEiNUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5USo0MjM2NDk1NzVGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzEwRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRLDEwODI4NzIwODkzRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxLUZkcjY5USMxMUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5USc5Mjc0MjhGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIjhGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVEpMTg1NzgyNTdGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHFGYHdGZnNGaXNGW3ItRiQ2Ji1GZHI2OVElMzc0NUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEiNkYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5USY1MzgxNUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEiN0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5UTQ1NDAzNTU2NzY2MzAxNTgyMDkwRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxLUZkcjY5USMyN0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5UTQ1ODUyNzMxNzk3MTA3ODY3ODk0RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmpyLUZhczYlRmhxLUZkcjY5USMyOEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zmc0Zpc0Zbci1GJDYmLUZkcjY5US0zMDY1NDU0NjI4MjJGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzEyRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRLjk1MTgzNjI2NTMwMDdGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzEzRihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRMDMyMTYwNTI4NjQzNTQ0NUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMTRGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0NjU2ODQwODM1NTcxMjg5MDYyNUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMzBGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVEyMTE3NDU2OTkwMzU3NzU4OTlGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GanItRmFzNiVGaHEtRmRyNjlRIzE1RihGMEYzRjZGZ3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmhyRlxvRmZzRmlzRltyLUYkNiYtRmRyNjlRMzQ2MTA2MzY4MzE2NTk3NTcxMkYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMTZGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0MjcwNzY1MzYwMzgxNjkxOTkxOEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjFGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0MzE1Njk3MTU4Nzk0NjM2OTgzN0YoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjJGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0MzYwNjI4OTU3MjA2MzM0MjkwOEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjNGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0NDA1NTYwNzU1NTkyNDIzMzY2OEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjRGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0NDUwNDkyNTUzMzgzODA1NDg0NEYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjVGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXNGW3ItRiQ2Ji1GZHI2OVE0NDk1NDI0MzM1NzU2MzE4MzM1NUYoRjBGM0Y2RmdyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZockZcb0Zqci1GYXM2JUZocS1GZHI2OVEjMjZGKEYwRjNGNkZnckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GaHJGXG9GZnNGaXMvRmpzUSIrRigvRmpzUSM6PUYoNyMtX0YpSSxtcHJpbnRzbGFzaEdGKDYkNyM+SSJSR0YoLGhuSSJYR0YoIiIiKiYiNCFcLGFyblg+KEgnRlxmbClGW2ZsIiNIRlxmbEZcZmwqJiI0eVlkY2JqPCE0PUZcZmwpRltmbCIjPkZcZmxGXGZsKiYiNHkueCdvPmNMZUFGXGZsKUZbZmwiIz9GXGZsRlxmbComIjNDYjwnSG47UTUqRlxmbClGW2ZsIiM8RlxmbEZcZmwqJiI0KEd2alVeJypwZjhGXGZsKUZbZmwiIz1GXGZsRlxmbComIiIkRlxmbClGW2ZsIiIjRlxmbEZcZmwqJiIiKkZcZmwpRltmbEZiZ2xGXGZsRlxmbComIiNVRlxmbClGW2ZsIiIlRlxmbEZcZmwqJiIkSiRGXGZsKUZbZmwiIiZGXGZsRlxmbComIip2JlxPVUZcZmwpRltmbCIjNUZcZmxGXGZsKiYiLCQqM3NHMyJGXGZsKUZbZmwiIzZGXGZsRlxmbComIidHdSMqRlxmbClGW2ZsIiIpRlxmbEZcZmwqJiIpZCN5Jj1GXGZsKUZbZmxGZmdsRlxmbEZcZmwqJiIlWFBGXGZsKUZbZmwiIidGXGZsRlxmbComIiY6USZGXGZsKUZbZmwiIihGXGZsRlxmbComIjQhNCNlLGp3Y05TJkZcZmwpRltmbCIjRkZcZmxGXGZsKiYiNCUqeSd5NSh6SkYmZUZcZmwpRltmbCIjR0ZcZmxGXGZsKiYiLUFHWVhsSUZcZmwpRltmbCIjN0ZcZmxGXGZsKiYiLjJJbGkkPSYqRlxmbClGW2ZsIiM4RlxmbEZcZmwqJiIwWGFWJ0cwO0tGXGZsKUZbZmwiIzlGXGZsRlxmbComIjREMSpHcmIkMyVvbEZcZmwpRltmbCIjSUZcZmxGXGZsKiYiMioqZXhOISpwWDwiRlxmbClGW2ZsIiM6RlxmbEZcZmwqJiIzN2QoZjskb2o1WUZcZmwpRltmbCIjO0ZcZmxGXGZsKiYiND0qPnAiUWdgd3EjRlxmbClGW2ZsIiNARlxmbEZcZmwqJiI0UClwaiV6ZXJwOiRGXGZsKUZbZmwiI0FGXGZsRlxmbComIjQzSE1qP2QqRzFPRlxmbClGW2ZsIiNCRlxmbEZcZmwqJiI0b09CQ2ZiMmMwJUZcZmwpRltmbCIjQ0ZcZmxGXGZsKiYiNFdbMFFRYERcXSVGXGZsKUZbZmwiI0RGXGZsRlxmbComIjRiTD1qdk5WVSZcRlxmbClGW2ZsIiNFRlxmbEZcZmw3I0ZqZWw= + + + + + + + +
+
+<Text-field style="Heading 3" layout="Heading 3">Algo</Text-field> + + + +P:=[seq(i,i=0..15)]; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJQRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctSShtZmVuY2VkR0YlNjQtSSNtbkdGJTY5USIwRihGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GanE2OUZncEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjJGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjNGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjRGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjVGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjZGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjdGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjhGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjlGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIzEwRihGMEYzRjZGXXJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl5yRlxvLUZqcTY5USMxMUYoRjBGM0Y2Rl1yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZeckZcby1GanE2OVEjMTJGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIzEzRihGMEYzRjZGXXJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl5yRlxvLUZqcTY5USMxNEYoRjBGM0Y2Rl1yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZeckZcby1GanE2OVEjMTVGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8vJSVvcGVuR1EnJmxzcWI7RigvJSZjbG9zZUdRJyZyc3FiO0YoL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkiUEdGKDcyIiIhIiIiIiIjIiIkIiIlIiImIiInIiIoIiIpIiIqIiM1IiM2IiM3IiM4IiM5IiM6NyNGXXY= + + + + +Q:=[seq(i^i,i=0..15)]; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJRRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctSShtZmVuY2VkR0YlNjQtSSNtbkdGJTY5RmdwRjBGM0Y2L0Y6RjhGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduL0ZqblEnbm9ybWFsRihGXG9GaXEtRmpxNjlRIjRGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRIzI3RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLUZqcTY5USQyNTZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRJTMxMjVGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRJjQ2NjU2RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLUZqcTY5USc4MjM1NDNGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRKTE2Nzc3MjE2RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLUZqcTY5USozODc0MjA0ODlGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRLDEwMDAwMDAwMDAwRihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLUZqcTY5US0yODUzMTE2NzA2MTFGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRLjg5MTYxMDA0NDgyNTZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRMDMwMjg3NTEwNjU5MjI1M0YoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcby1GanE2OVEyMTExMTIwMDY4MjU1NTgwMTZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG8tRmpxNjlRMzQzNzg5Mzg5MDM4MDg1OTM3NUYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcby8lJW9wZW5HUScmbHNxYjtGKC8lJmNsb3NlR1EnJnJzcWI7RigvSSttc2VtYW50aWNzR0YlUSM6PUYoNyMtX0YpSSxtcHJpbnRzbGFzaEdGKDYkNyM+SSJRR0YoNzIiIiJGW3YiIiUiI0YiJGMjIiVESiImY20lIidWTiMpIik7c3g7IioqWz91USIsKysrKysiIi02MW42YEciLmMjWy81OyopIjBgQWYxXihHSSIyOyFlYiNvKzc2IiIzdiRmM1EhKlEqeVY3I0ZqdQ== + + + + +R:=evalf(Multiplication(P,Q)): + + + + +R:=[seq(round(R[j]),j=1..20)]; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJSRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctSShtZmVuY2VkR0YlNjgtRiQ2Ji1JI21uR0YlNjlRKy0zMDAwMDAwMDBGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvLUZfbzYzUScmcGx1cztGKEZib0Zlb0Znby9Gam9RMG1lZGl1bW1hdGhzcGFjZUYoL0ZdcEZmckZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1GJDYmLUZccjY5USsxMzAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvLUZfbzYzUTEmSW52aXNpYmxlVGltZXM7RihGYm9GZW9GZ28vRmpvUSQwZW1GKC9GXXBGYXNGXnBGYHBGYnBGZXBGaHBGanBGXHFGXnFGYHFGYnFGZHEtRlxyNjlRLSZJbWFnaW5hcnlJO0YoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcby9JK21zZW1hbnRpY3NHRiVRIipGKC9GZ3NRIitGKC1GJDYmLUZccjY5USsyMzYwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRmJyLUYkNiYtRlxyNjlRKzQwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVErNTAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmcy1GJDYmLUZccjY5USwtMjMwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zici1GJDYmLUZccjY5USsyMzAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzRmlzLUYkNiYtRlxyNjlRKy05MDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnJGYHRGaXMtRiQ2Ji1GXHI2OVErLTgwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0ZickZldEZpcy1GJDYmLUZccjY5USwtMTAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0ZickZldEZpcy1GJDYmLUZccjY5USozMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnItRiQ2Ji1GXHI2OVErMTE0MjAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmc0Zpcy1GJDYmLUZccjY5USs0NTM3NTAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzLUYkNiYtRlxyNjlRKzEwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnItRiQ2Ji1GXHI2OVErNDU2ODc1MDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmc0Zpcy1GJDYmRmR3RmJyLUYkNiYtRlxyNjlRKzUxNTYyNTAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVErOTAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zici1GJDYmLUZccjY5USs1Mzg3NTAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzRmlzLUYkNiYtRlxyNjlRLTMwNzAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zici1GJDYmLUZccjY5USs4ODUwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzRmlzLUYkNiYtRlxyNjlRLjk1MjAwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnItRiQ2Ji1GXHI2OVErNzcwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmc0Zpcy1GJDYmLUZccjY5UTAzMjE2MDgwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYnItRiQ2Ji1GXHI2OVErNzY1NzUxNzk1N0YoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0Zdc0Zjc0Zmc0Zpcy1GJDYmLUZccjY5UTIxMTc0NTY5ODM1MDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcby1GX282M1EoJm1pbnVzO0YoRmJvRmVvRmdvRmVyRmdyRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYkNiYtRlxyNjlRKzIyMjQyOTM1ODlGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVEzNDYxMDYzNjg0MDAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRmBbbC1GJDYmLUZccjY5USo5MDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVEzOTEwMzgxNjY5MTAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRmBbbC1GJDYmLUZccjY5USsyMDAwMDAwMDAwRihGMEYzRjZGX3JGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmByRlxvRl1zRmNzRmZzRmlzLUYkNiYtRlxyNjlRNDEzNTk2OTk2NTMwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GYFtsLUYkNiYtRlxyNjlRKzMwMDAwMDAwMDBGKEYwRjNGNkZfckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYHJGXG9GXXNGY3NGZnNGaXMtRiQ2Ji1GXHI2OVE0MTgwOTAxNzYzNDAwMDAwMDAwMEYoRjBGM0Y2Rl9yRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZgckZcb0ZgW2wtRiQ2JkZldkZdc0Zjc0Zmc0Zpcy8lJW9wZW5HUScmbHNxYjtGKC8lJmNsb3NlR1EnJnJzcWI7RigvRmdzUSM6PUYoNyMtX0YpSSxtcHJpbnRzbGFzaEdGKDYkNyM+SSJSR0YoNzYsJiIqKysrKyQhIiIqJiIrKysrKzgiIiJeI0ZjX2xGY19sRmNfbCwmIisrKytnQkZjX2wqJiIrKysrK1NGY19sRmRfbEZjX2xGY19sKiYiKysrKytdRmNfbEZkX2xGY19sLCYiKysrKytCRmBfbComRlxgbEZjX2xGZF9sRmNfbEZjX2wsJiIqKysrKypGYF9sRmdfbEZjX2wsJiIqKysrKylGYF9sRmlfbEZjX2wsJiIrKysrKzVGYF9sRmlfbEZjX2wsJkZfX2xGY19sKiYiKysrK1U2RmNfbEZkX2xGY19sRmNfbComIisrK11QWEZjX2xGZF9sRmNfbCwmRmNgbEZjX2wqJiIrKyt2b1hGY19sRmRfbEZjX2xGY19sLCZGY2BsRmNfbComIisrK0RjXkZjX2xGZF9sRmNfbEZjX2wsJiIrKysrKyEqRmNfbComIisrK10oUSZGY19sRmRfbEZjX2xGY19sLCYiLSsrKytxSUZjX2wqJiIrKysrXSkpRmNfbEZkX2xGY19sRmNfbCwmIi4rKysrK18qRmNfbComIisrKysreEZjX2xGZF9sRmNfbEZjX2wsJiIwKysrKyEzO0tGY19sKiYiK2R6XmR3RmNfbEZkX2xGY19sRmNfbCwmIjIrKytdJClwWDwiRmNfbComIisqZSRIQ0FGY19sRmRfbEZjX2xGYF9sLCYiMysrKytTb2o1WUZjX2wqJkZfYGxGY19sRmRfbEZjX2xGYF9sLCYiMysrKysicDtRNSpGY19sKiYiKysrKys/RmNfbEZkX2xGY19sRmBfbCwmIjQrKysrSWwqcGY4RmNfbComIisrKysrSUZjX2xGZF9sRmNfbEZgX2wsJiI0KysrK1NqPCE0PUZjX2wqJkZfX2xGY19sRmRfbEZjX2xGYF9sNyNGXV9s + + + + + + + +
+
+
+
\ No newline at end of file diff --git a/TIPE_2007/Maple/TFD.mw b/TIPE_2007/Maple/TFD.mw new file mode 100644 index 0000000..87d6772 --- /dev/null +++ b/TIPE_2007/Maple/TFD.mw @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +restart: + + +
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par une proc\303\251dure "na\303\257ve"</Font></Text-field> +Cette proc\303\251dure calcule les coefficients de Fourier par une m\303\251thode dite "naive". + + +TFDSimple:=proc(x) + +local n,X: +n:=nops(x): + +X:=[seq(sum(x[j]*exp(-2*I*(j-1)*(k-1)*Pi/n),j=1..n),k=1..n)]; + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par une proc\303\251dure r\303\251cursive</Font></Text-field> +Cette proc\303\251dure prend en entr\303\251e une liste repr\303\251sentant les coefficients d'un polyn\303\264me dont on cherche \303\240 calculer les coefficients de Fourier. + + +TFDRecur:=proc(x) + +local N,CoefFFT,xp,xi,u,v,omega: +N:=nops(x): + +if N=1 then CoefFFT:=x: +else + +xp:=[seq(x[2*i],i=1..N/2)]: +xi:=[seq(x[2*i-1],i=1..N/2)]: +u:=TFDRecur(xp): +v:=TFDRecur(xi): + +omega:=exp(-2*I*Pi/N): + +CoefFFT:=[seq(omega^(k-1)*u[k]+v[k],k=1..N/2),seq(-omega^(k-1)*u[k]+v[k],k=1..N/2)]; +end if: +CoefFFT; + +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la TFD par it\303\251ration</Font></Text-field> +On va utiliser l'\303\251criture des divers coefficients en binaire. + + + +TFDIter:=proc(x) +local n,i,j,k,a,b,p,l,z,w,h,m,tmp: +n:=nops(x): +l:=Array(1..n): +l:=Array(x): +p:=n/2:#p: puissance de 2 dans d\303\251composition. + +while p>=1 do + z:=1: #premi\303\250re valeur de omega. + w:=exp(-I*Pi/p): #c'est omega. + + for h from 1 to p do #Variable servant \303\240 la d\303\251composition + for m from 1 to n/(2*p) do + #On va calculer le signal xm + a:=h+2*(m-1)*p: #Premi\303\250re valeur du signal x_(m-1) + b:=a+p: #Seconde valeur du signal x_(m-1) + tmp:=(l[a]-l[b])*z: + l[a]:=l[a]+l[b]: #x_m(a) = x_(m-1)(a)+x_(m-1)(b) + l[b]:=tmp: #x_m(b) = (x_(m-1)(a)-x_(m-1)(b))*z + end do: + #On passe au signal m+1 -> w<-w^(m+1) + z:=z*w: + end do: + p:=p/2: +end do: + +#On a maintenant notre liste contenant les signaux x_r +#Il reste \303\240 remettre les signaux dans le bon ordre. +j:=1: +for i from 1 to n do + if j>i then tmp:=l[j]: + l[j]:=l[i]: + l[i]:=tmp: + end if: + p:=n/2: + while p>=2 and j>p do + j:=j-p: + p:=p/2: + end do: + j:=j+p: +end do: +l; +end proc: + + +
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Calcul de la Transform\303\251e Inverse.</Font></Text-field> +De m\303\252me, il est possible d'effectuer deux m\303\251thodes pour calculer la transform\303\251e inverse de Fourier : +
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode na\303\257ve</Font></Text-field> +En utilisant le m\303\252me algorithme, on obtient : + + +TFDISimple:=proc(X) + +local n,F: +n:=nops(X): + +F:=[seq((1/n)*sum(X[i]*exp(2*I*(j-1)*(i-1)*Pi/(n)),i=1..n),j=1..n)]; + +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode r\303\251cursive</Font></Text-field> +Attention : Pour que l'on puisse retrouver les valeurs initiales, +il ne faut pas oublier de diviser par le nombre de valeurs. + + +TFDIRecur:=proc(X) +local Coef,N,Xi,Xp,U,V,Omega,k; +N:=nops(X); + +if N=1 then Coef:=X: +else + Xi:=[seq(X[2*k-1],k=1..N/2)]; + Xp:=[seq(X[2*k],k=1..N/2)]; + U:=TFDIRecur(Xi); + V:=TFDIRecur(Xp); + Omega:=exp(2*I*Pi/N); + Coef:=[seq(U[k]+Omega^(k-1)*V[k],k=1..N/2),seq(U[k]-Omega^(k-1)*V[k],k=1..N/2)]: + end if; +Coef; +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">La m\303\251thode it\303\251rative</Font></Text-field> + + + +TFDIIter:=proc(x) +local n,i,j,k,a,b,p,l,z,w,h,m,tmp: +n:=nops(x): +l:=Array(1..n): +l:=Array(x): +p:=n/2: + +while p>=1 do + z:=1: + w:=exp(I*Pi/p); #C'est la diff\303\251rence + + for h from 1 to p do + for m from 1 to n/(2*p) do + a:=h+2*(m-1)*p: + b:=a+p: + tmp:=(l[a]-l[b])*z: + l[a]:=l[a]+l[b]: + l[b]:=tmp: + end do: + z:=z*w: + end do: + p:=p/2: +end do: + +j:=1: +for i from 1 to n do + if j>i then tmp:=l[j]: + l[j]:=l[i]: + l[i]:=tmp: + end if: + p:=n/2: + while p>=2 and j>p do + j:=j-p: + p:=p/2: + end do: + j:=j+p: +end do: +for i from 1 to n do + l[i]:=l[i]/n: +end do: +return l; +end proc: + + +
+
+
+<Text-field style="Heading 1" layout="Heading 1">Mesure du temps de calcul</Text-field> +On va ici s'int\303\251resser \303\240 la mesure du temps n\303\251cessaire pour calculer les coefficients de Fourier (Transform\303\251e Directe) pour n "grand", par exemple n=2^5, n=2^10,... . +Pour cela, on va d\303\251finir la liste de nos coefficients par une m\303\251thode "pseudo-al\303\251atoire" : + + + +with(RandomTools[MersenneTwister]): +A:=[seq(GenerateFloat(),i=1..2^8)]: + + +
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode na\303\257ve</Font></Text-field> +On effectue le calcul pour la m\303\251thode na\303\257ve : + + +t:=time(): +TFDSimple(A): +Temps := time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmNi40NzJGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiVzayEiJDcjRmhy + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode r\303\251cursive</Font></Text-field> +Calcul pour la m\303\251thode r\303\251cursive : + + +t:=time(): +TFDRecur(A): +Temps := time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmMC4wNzZGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiN3ISIkNyNGaHI= + + +
+
+<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">M\303\251thode it\303\251rative</Font></Text-field> +Mesure pour la m\303\251thode it\303\251rative : + + +t:=time(): +TFDIter(A): +Temps:= time()-t; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USZUZW1wc0YoLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRigvJSVzaXplR1EjMTJGKC8lJWJvbGRHUSZmYWxzZUYoLyUnaXRhbGljR1EldHJ1ZUYoLyUqdW5kZXJsaW5lR0Y4LyUqc3Vic2NyaXB0R0Y4LyUsc3VwZXJzY3JpcHRHRjgvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRigvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYoLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y4LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGKC8lKm1hdGhjb2xvckdGRC8lL21hdGhiYWNrZ3JvdW5kR0ZHLyUrZm9udGZhbWlseUdGMi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRigvJSltYXRoc2l6ZUdGNS1JI21vR0YlNjNRKSZBc3NpZ247RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EvdGhpY2ttYXRoc3BhY2VGKC8lJ3JzcGFjZUdGW3AvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR0ZYLyUlc2l6ZUdGNS8lK2ZvcmVncm91bmRHRkQvJStiYWNrZ3JvdW5kR0ZHLUkjbW5HRiU2OVEmMC4wNDBGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkmVGVtcHNHRigkIiNTISIkNyNGaHI= + + +
+
+
+<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Multiplication de polyn\303\264mes</Font></Text-field> +
+<Text-field style="Heading 2" layout="Heading 2">Algorithme</Text-field> +On va prendre en entr\303\251e deux listes contenant les coefficients des deux polyn\303\264mes dont on cherche \303\240 calculer le produit. +Il faut prendre des pr\303\251cautions, car la proc\303\251dure ne v\303\251rifie pas si les deux polyn\303\264mes sont de m\303\252me degr\303\251, qui doit \303\252tre une puissance de 2, si l'on souhaite utiliser la m\303\251thode r\303\251cursive ou it\303\251rative. + + +Multiplication:=proc(P,Q) + +local n,N,R,A,B,i,j,k: + +n:=nops(P): +N:=2*n: + +#On cr\303\251e la liste des coefficients \303\251tendus \303\240 2n \303\251l\303\251ments. +A:=[seq(P[k],k=1..n),seq(0,k=n+1..N)]; +B:=[seq(Q[k],k=1..n),seq(0,k=n+1..N)]; + +#On calcule la TFD de chacune de ces listes. +A:=TFDIter(A): +B:=TFDIter(B): + +#On effectue les produits +R:=[seq(A[k]*B[k],k=1..N)]: + +#On r\303\251cup\303\250re les coefficients. +TFDIIter(R); + +end proc: + + +
+
+<Text-field style="Heading 2" layout="Heading 2">Exemple</Text-field> +On va poser LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2OVEiUEYnLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRicvJSVzaXplR1EjMTJGJy8lJWJvbGRHUSZmYWxzZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y3LyUqc3Vic2NyaXB0R0Y3LyUsc3VwZXJzY3JpcHRHRjcvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJy8lJ29wYXF1ZUdGNy8lK2V4ZWN1dGFibGVHRjcvJSlyZWFkb25seUdGNy8lKWNvbXBvc2VkR0Y3LyUqY29udmVydGVkR0Y3LyUraW1zZWxlY3RlZEdGNy8lLHBsYWNlaG9sZGVyR0Y3LyUwZm9udF9zdHlsZV9uYW1lR1EoMkR+TWF0aEYnLyUqbWF0aGNvbG9yR0ZDLyUvbWF0aGJhY2tncm91bmRHRkYvJStmb250ZmFtaWx5R0YxLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKW1hdGhzaXplR0Y0LUkjbW9HRiQ2M1EjOj1GJy8lJWZvcm1HUSZpbmZpeEYnLyUmZmVuY2VHRjcvJSpzZXBhcmF0b3JHRjcvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Zqby8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobWF4c2l6ZUdRKWluZmluaXR5RicvJShtaW5zaXplR1EiMUYnLyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJTBmb250X3N0eWxlX25hbWVHRlcvJSVzaXplR0Y0LyUrZm9yZWdyb3VuZEdGQy8lK2JhY2tncm91bmRHRkYtRiM2Jy1GLDY5USFGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUkrbXVuZGVyb3ZlckdGJDYnLUZebzYzUSYmU3VtO0YnL0Zib1EncHJlZml4RidGZG9GZm8vRmlvUSQwZW1GJy9GXHBRLnRoaW5tYXRoc3BhY2VGJy9GXnBGOkZfcEZhcEZkcC9GaHBGOi9GanBGOkZbcUZdcUZfcUZhcUZjcS1GIzYnRmdxLUYsNjlRImlGJ0YvL0YzUSMxMEYnRjVGOEY7Rj1GPy9GQlEsWzIwMCwwLDIwMF1GJ0ZERkdGSUZLRk1GT0ZRL0ZURjpGVS9GWUZhc0ZaRmZuRmhuL0Zcb0Zfcy1GXm82M1EiPUYnRmFvRmRvRmZvRmhvRltwRl1wRl9wRmFwRmRwRmdwRmlwRltxRl1xRl9xRmFxRmNxLUkjbW5HRiQ2OVEiMEYnRi9GMkY1L0Y5RjdGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm4vRmluUSdub3JtYWxGJ0Zbb0ZncS1GaXM2OVEiN0YnRi9GMkY1Rlx0RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRl10RltvRltxLyUsYWNjZW50dW5kZXJHRjdGZ3EtSSVtc3VwR0YkNiUtRiw2OVEjaVhGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUYsNjlGXXNGL0YyRjVGOEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZobkZbby8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGZ3FGZ3E= et LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2OVEiUUYnLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRicvJSVzaXplR1EjMTJGJy8lJWJvbGRHUSZmYWxzZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y3LyUqc3Vic2NyaXB0R0Y3LyUsc3VwZXJzY3JpcHRHRjcvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJy8lJ29wYXF1ZUdGNy8lK2V4ZWN1dGFibGVHRjcvJSlyZWFkb25seUdGNy8lKWNvbXBvc2VkR0Y3LyUqY29udmVydGVkR0Y3LyUraW1zZWxlY3RlZEdGNy8lLHBsYWNlaG9sZGVyR0Y3LyUwZm9udF9zdHlsZV9uYW1lR1EoMkR+TWF0aEYnLyUqbWF0aGNvbG9yR0ZDLyUvbWF0aGJhY2tncm91bmRHRkYvJStmb250ZmFtaWx5R0YxLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKW1hdGhzaXplR0Y0LUkjbW9HRiQ2M1EjOj1GJy8lJWZvcm1HUSZpbmZpeEYnLyUmZmVuY2VHRjcvJSpzZXBhcmF0b3JHRjcvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Zqby8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobWF4c2l6ZUdRKWluZmluaXR5RicvJShtaW5zaXplR1EiMUYnLyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJTBmb250X3N0eWxlX25hbWVHRlcvJSVzaXplR0Y0LyUrZm9yZWdyb3VuZEdGQy8lK2JhY2tncm91bmRHRkYtRiM2KS1GLDY5USFGJ0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvLUkrbXVuZGVyb3ZlckdGJDYnLUZebzYzUSYmU3VtO0YnL0Zib1EncHJlZml4RidGZG9GZm8vRmlvUSQwZW1GJy9GXHBRLnRoaW5tYXRoc3BhY2VGJy9GXnBGOkZfcEZhcEZkcC9GaHBGOi9GanBGOkZbcUZdcUZfcUZhcUZjcS1GIzYmRmdxLUYsNjlRImlGJ0YvL0YzUSMxMEYnRjVGOEY7Rj1GPy9GQlEsWzIwMCwwLDIwMF1GJ0ZERkdGSUZLRk1GT0ZRL0ZURjpGVS9GWUZhc0ZaRmZuRmhuL0Zcb0Zfcy1GXm82M1EiPUYnRmFvRmRvRmZvRmhvRltwRl1wRl9wRmFwRmRwRmdwRmlwRltxRl1xRl9xRmFxRmNxLUkjbW5HRiQ2OVEiMEYnRi9GMkY1L0Y5RjdGO0Y9Rj9GQUZERkdGSUZLRk1GT0ZRRlNGVUZYRlpGZm4vRmluUSdub3JtYWxGJ0Zbby1GaXM2OVEiN0YnRi9GMkY1Rlx0RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRl10RltvRltxLyUsYWNjZW50dW5kZXJHRjdGZ3EtSSVtc3VwR0YkNiUtRiw2OUZdc0YvRjJGNUY4RjtGPUY/RkFGREZHRklGS0ZNRk9GUUZTRlVGWEZaRmZuRmhuRltvRmd0LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0ZncS1GZXQ2JS1GLDY5USJYRidGL0YyRjVGOEY7Rj1GP0ZBRkRGR0ZJRktGTUZPRlFGU0ZVRlhGWkZmbkZobkZbb0ZndEZpdEZncUZncQ== doncLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbW9HRiQ2M1ExJkludmlzaWJsZVRpbWVzO0YnLyUlZm9ybUdRJmluZml4RicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjQvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYnLyUncnNwYWNlR0Y5LyUpc3RyZXRjaHlHRjQvJSpzeW1tZXRyaWNHRjQvJShtYXhzaXplR1EpaW5maW5pdHlGJy8lKG1pbnNpemVHUSIxRicvJShsYXJnZW9wR0Y0LyUubW92YWJsZWxpbWl0c0dGNC8lJ2FjY2VudEdGNC8lMGZvbnRfc3R5bGVfbmFtZUdRKDJEfk1hdGhGJy8lJXNpemVHUSMxMkYnLyUrZm9yZWdyb3VuZEdRKFswLDAsMF1GJy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRictSSNtaUdGJDY5USJuRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHRlEvJSVib2xkR0Y0LyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y0LyUqc3Vic2NyaXB0R0Y0LyUsc3VwZXJzY3JpcHRHRjQvJStmb3JlZ3JvdW5kR0ZULyUrYmFja2dyb3VuZEdGVy8lJ29wYXF1ZUdGNC8lK2V4ZWN1dGFibGVHRjQvJSlyZWFkb25seUdGNC8lKWNvbXBvc2VkR0Y0LyUqY29udmVydGVkR0Y0LyUraW1zZWxlY3RlZEdGNC8lLHBsYWNlaG9sZGVyR0Y0LyUwZm9udF9zdHlsZV9uYW1lR0ZOLyUqbWF0aGNvbG9yR0ZULyUvbWF0aGJhY2tncm91bmRHRlcvJStmb250ZmFtaWx5R0Zobi8lLG1hdGh2YXJpYW50R1EnaXRhbGljRicvJSltYXRoc2l6ZUdGUS1GLDYzUSI9RidGL0YyRjVGN0Y6RjxGPkZARkNGRkZIRkpGTEZPRlJGVS1JI21uR0YkNjlRIjhGJ0ZmbkZpbkZbby9GXm9GNEZgb0Zib0Zkb0Zmb0Zob0Zqb0ZccEZecEZgcEZicEZkcEZmcEZocEZqcEZccUZecS9GYXFRJ25vcm1hbEYnRmNxRmVxLUklbXN1cEdGJDYlLUZpcTY5USIyRidGZm5GaW5GW29GXHJGYG9GYm9GZG9GZm9GaG9Gam9GXHBGXnBGYHBGYnBGZHBGZnBGaHBGanBGXHFGXnFGXXJGY3EtRmlxNjlRIzMuRidGZm5GaW5GW29GXHJGYG9GYm9GZG9GZm9GaG9Gam9GXHBGXnBGYHBGYnBGZHBGZnBGaHBGanBGXHFGXnFGXXJGY3EvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUZZNjlRIUYnRmZuRmluRltvRl1vRmBvRmJvRmRvRmZvRmhvRmpvRlxwRl5wRmBwRmJwRmRwRmZwRmhwRmpwRlxxRl5xRmBxRmNx +
+<Text-field style="Heading 3" layout="Heading 3">Algo</Text-field> +On va demander la liste des coefficients du polyn\303\264me R=P*Q. Pour une lecture plus facile, nous en prendrons les valeurs arrondies. + + +P:=[seq(i,i=0..7)]: + + + + +Q:=[seq(i^i,i=0..7)]: + + + + +R:=evalf(Multiplication(P,Q)): + + + + +[seq(R[j],j=1..2*nops(P))]; + + +NiQtSShtZmVuY2VkRzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNjQtSSVtcm93R0YlNiYtSSNtbkdGJTY5USgwLjAwMDkxRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHRjsvJSp1bmRlcmxpbmVHRjsvJSpzdWJzY3JpcHRHRjsvJSxzdXBlcnNjcmlwdEdGOy8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjsvJStleGVjdXRhYmxlR0Y7LyUpcmVhZG9ubHlHRjsvJSljb21wb3NlZEdGOy8lKmNvbnZlcnRlZEdGOy8lK2ltc2VsZWN0ZWRHRjsvJSxwbGFjZWhvbGRlckdGOy8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZGLyUvbWF0aGJhY2tncm91bmRHRkkvJStmb250ZmFtaWx5R0Y1LyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGKC8lKW1hdGhzaXplR0Y4LUkjbW9HRiU2M1EnJnBsdXM7RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y7LyUqc2VwYXJhdG9yR0Y7LyUnbHNwYWNlR1EwbWVkaXVtbWF0aHNwYWNlRigvJSdyc3BhY2VHRl1wLyUpc3RyZXRjaHlHRjsvJSpzeW1tZXRyaWNHRjsvJShtYXhzaXplR1EpaW5maW5pdHlGKC8lKG1pbnNpemVHUSIxRigvJShsYXJnZW9wR0Y7LyUubW92YWJsZWxpbWl0c0dGOy8lJ2FjY2VudEdGOy8lMGZvbnRfc3R5bGVfbmFtZUdGWi8lJXNpemVHRjgvJStmb3JlZ3JvdW5kR0ZGLyUrYmFja2dyb3VuZEdGSS1GLTYmLUYwNjlRJjAuMDAyRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vLUZhbzYzUTEmSW52aXNpYmxlVGltZXM7RihGZG9GZ29GaW8vRlxwUSQwZW1GKC9GX3BGYXJGYHBGYnBGZHBGZ3BGanBGXHFGXnFGYHFGYnFGZHFGZnEtRjA2OVEtJkltYWdpbmFyeUk7RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vL0krbXNlbWFudGljc0dGJVEiKkYoL0ZnclEiK0YoLUYtNiYtRjA2OVEnMS4wMDI0RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRmBvLUYtNiYtRjA2OVEnMC4wMDIwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRjA2OVEnMy4wMDQ1RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRmBvLUYtNiYtRjA2OVEmMC4wMDVGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGY3JGZnJGaXItRi02Ji1GMDY5USc5LjAwMDhGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GYG8tRi02Ji1GMDY5USgwLjAwMjIxRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRjA2OVEnNDEuOTk5RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRmBvLUYtNiYtRjA2OVEvMC4wMDMwMzEyNTAwMDBGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGY3JGZnJGaXItRi02Ji1GMDY5USgzMzAuOTk5RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRmBvLUYtNiYtRjA2OVEvMC4wMDI5NzUwMDAwMDBGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGY3JGZnJGaXItRi02Ji1GMDY5USkzNzQ1LjAwMEYoRjNGNkY5RjxGPkZARkJGREZHRkpGTEZORlBGUkZURlZGWEZlbkZnbkZpbkZbb0Zeb0Zgby1GLTYmLUYwNjlRLzAuMDAzNzUwMDAwMDAwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRjA2OVEsNTM4MTUuMDAwMzVGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm8tRmFvNjNRKCZtaW51cztGKEZkb0Znb0Zpb0ZbcEZecEZgcEZicEZkcEZncEZqcEZccUZecUZgcUZicUZkcUZmcS1GLTYmLUYwNjlRLzAuMDAxMzQ4NjA1Mzk3RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRjA2OVEsOTI3NDIwLjAwMTNGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXHdGaHFGaXItRi02Ji1GLTYmLUYwNjlRLDEuODAxMDI0MDAwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yLUklbXN1cEdGJTYmLUYwNjlRIzEwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vLUYwNjlRIjZGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm8vJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYoL0ZnclEiXkYoRmZyRlx3LUYtNiYtRjA2OVEnMC4wMDMwRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRi02Ji1GMDY5USwyLjY3NDYwMzAwMEYoRjNGNkY5RjxGPkZARkJGREZHRkpGTEZORlBGUkZURlZGWEZlbkZnbkZpbkZbb0Zeb0ZdckZgeEZmckZcd0Zqc0Zpci1GLTYmLUYtNiYtRjA2OVEsMy41NDc5OTM5OTdGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGYHhGZnJGXHctRi02Ji1GMDY5USgwLjAwMTY1RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLUYtNiYtRi02Ji1GMDY5USw0LjQxOTUyNTk5N0YoRjNGNkY5RjxGPkZARkJGREZHRkpGTEZORlBGUkZURlZGWEZlbkZnbkZpbkZbb0Zeb0ZdckZgeEZmckZcd0ZedUZpci1GLTYmLUYtNiYtRjA2OVEsNS4yNjc4NDk5OTlGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGYHhGZnJGXHctRi02Ji1GMDY5US8wLjAwMTc3NTAwMDAwMEYoRjNGNkY5RjxGPkZARkJGREZHRkpGTEZORlBGUkZURlZGWEZlbkZnbkZpbkZbb0Zeb0ZdckZjckZmckZpci1GLTYmLUYtNiYtRjA2OVEsNS43NjQ4MDA5OTZGKEYzRjZGOUY8Rj5GQEZCRkRGR0ZKRkxGTkZQRlJGVEZWRlhGZW5GZ25GaW5GW29GXm9GXXJGYHhGZnJGXHdGYnZGaXItRi02Ji1GMDY5USgwLjAwMjA1RihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRlx3LUYtNiYtRjA2OVEwMC4wMDAwOTg2MDUzOTcyRihGM0Y2RjlGPEY+RkBGQkZERkdGSkZMRk5GUEZSRlRGVkZYRmVuRmduRmluRltvRl5vRl1yRmNyRmZyRmlyLyUlb3BlbkdRJyZsc3FiO0YoLyUmY2xvc2VHUScmcnNxYjtGKDcjNzIsJiQiIyIqISImIiIiKiYkIiIjISIkRmZdbF4jRmZdbEZmXWxGZl1sLCYkIiZDKyIhIiVGZl1sKiYkIiM/Rl9ebEZmXWxGW15sRmZdbEZmXWwsJiQiJlgrJEZfXmxGZl1sKiYkIiImRmpdbEZmXWxGW15sRmZdbEZmXWwsJiQiJjMrKkZfXmxGZl1sKiYkIiRAI0ZlXWxGZl1sRltebEZmXWxGZl1sLCYkIiYqKj4lRmpdbEZmXWwqJiQiKysrREpJISM3RmZdbEZbXmxGZl1sRmZdbCwmJCInKio0TEZqXWxGZl1sKiYkIisrKyt2SEZlX2xGZl1sRltebEZmXWxGZl1sLCYkIigrXXUkRmpdbEZmXWwqJiQiKysrK11QRmVfbEZmXWxGW15sRmZdbEZmXWwsJiQiK04rXSJRJkZlXWxGZl1sKiYkIisoUjAnWzhGZV9sRmZdbEZbXmxGZl1sISIiLCYkIis4Kz91IypGX15sRmZdbEZnXWxGaGBsLCYkIisrUy0sPUZqXWxGZl1sKiYkIiNJRl9ebEZmXWxGW15sRmZdbEZoYGwsJiQiKytJZ3VFRmpdbEZmXWxGZl5sRmhgbCwmJCIrKCpSKnphJEZqXWxGZl1sKiYkIiRsIkZlXWxGZl1sRltebEZmXWxGaGBsLCYkIisoKmZfPldGal1sRmZdbEZiX2xGaGBsLCYkIisqKipceUUmRmpdbEZmXWwqJiQiKysrK3Y8RmVfbEZmXWxGW15sRmZdbEZoYGwsJiQiKycqNCFbdyZGal1sRmZdbEZfYGxGaGBsLCYkIiQwI0ZlXWxGZl1sKiYkIipzUjAnKSohIzhGZl1sRltebEZmXWxGaGBs + + + + +R:=[seq(round(R[j]),j=1..2*nops(P))]; + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiYtSSNtaUdGJTY5USJSRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EpJkFzc2lnbjtGKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctSShtZmVuY2VkR0YlNjQtSSNtbkdGJTY5USIwRihGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GanE2OUZncEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjNGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIjlGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRIzQyRihGMEYzRjZGXXJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl5yRlxvLUZqcTY5USQzMzFGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRJTM3NDVGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRJjUzODE1RihGMEYzRjZGXXJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl5yRlxvLUZqcTY5USc5Mjc0MjBGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDE4MDEwMjRGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDI2NzQ2MDNGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDM1NDc5OTRGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDQ0MTk1MjZGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDUyNjc4NTBGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG8tRmpxNjlRKDU3NjQ4MDFGKEYwRjNGNkZdckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXnJGXG9GaXEvJSVvcGVuR1EnJmxzcWI7RigvJSZjbG9zZUdRJyZyc3FiO0YoL0krbXNlbWFudGljc0dGJVEjOj1GKDcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkiUkdGKDcyIiIhIiIiIiIkIiIqIiNVIiRKJCIlWFAiJjpRJiInP3UjKiIoQzUhPSIoLlluIyIoJSp6YSQiKEUmPlciKF15RSYiKCxbdyZGW3Y3I0ZqdQ== + + +
+
+<Text-field style="Heading 3" layout="Heading 3">Maple</Text-field> +On va evaluer le polyn\303\264me P*Q : + + +P:=sum(i*X^i,i=0..7): + + + + +Q:=sum(i^i*X^i,i=0..7): + + + + +sort(expand(P*Q),X,ascending); + + +NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNj4tSSNtaUdGJTY5USJYRigvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjgvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EnJnBsdXM7RigvJSVmb3JtR1EmaW5maXhGKC8lJmZlbmNlR0Y4LyUqc2VwYXJhdG9yR0Y4LyUnbHNwYWNlR1EwbWVkaXVtbWF0aHNwYWNlRigvJSdyc3BhY2VHRltwLyUpc3RyZXRjaHlHRjgvJSpzeW1tZXRyaWNHRjgvJShtYXhzaXplR1EpaW5maW5pdHlGKC8lKG1pbnNpemVHUSIxRigvJShsYXJnZW9wR0Y4LyUubW92YWJsZWxpbWl0c0dGOC8lJ2FjY2VudEdGOC8lMGZvbnRfc3R5bGVfbmFtZUdGWC8lJXNpemVHRjUvJStmb3JlZ3JvdW5kR0ZELyUrYmFja2dyb3VuZEdGRy1GJDYmLUkjbW5HRiU2OVEiM0YoRjBGM0Y2L0Y6RjhGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduL0ZqblEnbm9ybWFsRihGXG8tRl9vNjNRMSZJbnZpc2libGVUaW1lcztGKEZib0Zlb0Znby9Gam9RJDBlbUYoL0ZdcEZjckZecEZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcS1JJW1zdXBHRiU2JUYsLUZpcTY5USIyRihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGKC9JK21zZW1hbnRpY3NHRiVRIipGKEZeby1GJDYmLUZpcTY5USI5RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRixGaHFGW3NGXnNGXm8tRiQ2Ji1GaXE2OVEjNDJGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEiNEYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USQzMzFGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEiNUYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USUzNzQ1RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRiwtRmlxNjlRIjZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GW3NGXnNGXm8tRiQ2Ji1GaXE2OVEmNTM4MTVGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEiN0YoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USc5Mjc0MjBGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEiOEYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USgxODAxMDI0RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRixGY3NGW3NGXnNGXm8tRiQ2Ji1GaXE2OVEoMjY3NDYwM0YoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zfci1GZnI2JUYsLUZpcTY5USMxMEYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USgzNTQ3OTk0RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRiwtRmlxNjlRIzExRihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRltzRl5zRl5vLUYkNiYtRmlxNjlRKDQ0MTk1MjZGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GX3ItRmZyNiVGLC1GaXE2OVEjMTJGKEYwRjNGNkZcckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GXXJGXG9GW3NGXnNGXm8tRiQ2Ji1GaXE2OVEoNTI2Nzg1MEYoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zfci1GZnI2JUYsLUZpcTY5USMxM0YoRjBGM0Y2RlxyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZdckZcb0Zbc0Zec0Zeby1GJDYmLUZpcTY5USg1NzY0ODAxRihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRl9yLUZmcjYlRiwtRmlxNjlRIzE0RihGMEYzRjZGXHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRl1yRlxvRltzRl5zL0Zfc1EiK0YoNyMsPkkiWEdGKCIiIiomIiIkRmh6KUZneiIiI0ZoekZoeiomIiIqRmh6KUZnekZqekZoekZoeiomIiNVRmh6KUZneiIiJUZoekZoeiomIiRKJEZoeilGZ3oiIiZGaHpGaHoqJiIlWFBGaHopRmd6IiInRmh6Rmh6KiYiJjpRJkZoeilGZ3oiIihGaHpGaHoqJiInP3UjKkZoeilGZ3oiIilGaHpGaHoqJiIoQzUhPUZoeilGZ3pGXltsRmh6Rmh6KiYiKC5ZbiNGaHopRmd6IiM1Rmh6Rmh6KiYiKCUqemEkRmh6KUZneiIjNkZoekZoeiomIihFJj5XRmh6KUZneiIjN0ZoekZoeiomIihdeUUmRmh6KUZneiIjOEZoekZoeiomIigsW3cmRmh6KUZneiIjOUZoekZoeg== + + + + + + + +
+
+
+
\ No newline at end of file diff --git a/TIPE_2007/Octave/Multiplication.m b/TIPE_2007/Octave/Multiplication.m new file mode 100644 index 0000000..eb53abc --- /dev/null +++ b/TIPE_2007/Octave/Multiplication.m @@ -0,0 +1,22 @@ +function[R]=Multiplication(P,Q) + +n=length(P); +N=2*n; +A=zeros(1,N); +B=zeros(1,N); +R=zeros(1,N); + +for i=1:n + A(i)=P(i); + B(i)=Q(i); +end + +%On calcule les transformées de chaque élément. +A=TFDB(A); +B=TFDB(B); +%On effectue les produits +for i=1:N + R(i)=A(i)*B(i); +end +R=TFDIB(R); +endfunction diff --git a/TIPE_2007/Octave/TFD - Octave.tar.bz2 b/TIPE_2007/Octave/TFD - Octave.tar.bz2 new file mode 100644 index 0000000..6ac824f Binary files /dev/null and b/TIPE_2007/Octave/TFD - Octave.tar.bz2 differ diff --git a/TIPE_2007/Octave/TFD - Octave.zip b/TIPE_2007/Octave/TFD - Octave.zip new file mode 100644 index 0000000..e540144 Binary files /dev/null and b/TIPE_2007/Octave/TFD - Octave.zip differ diff --git a/TIPE_2007/Octave/TFDI - Octave.tar.bz2 b/TIPE_2007/Octave/TFDI - Octave.tar.bz2 new file mode 100644 index 0000000..696a8a1 Binary files /dev/null and b/TIPE_2007/Octave/TFDI - Octave.tar.bz2 differ diff --git a/TIPE_2007/Octave/TFDI - Octave.zip b/TIPE_2007/Octave/TFDI - Octave.zip new file mode 100644 index 0000000..537115d Binary files /dev/null and b/TIPE_2007/Octave/TFDI - Octave.zip differ diff --git a/TIPE_2007/index.html b/TIPE_2007/index.html new file mode 100644 index 0000000..48eeee2 --- /dev/null +++ b/TIPE_2007/index.html @@ -0,0 +1,110 @@ + + + + +Algorithmes de calculs de TFD : Sources et programmes + + + + + + + + + + + + + + + + +
+
+
+

TIPE 2007

+

+

Voici mes réalisations effectuées pour le TIPE que j'ai réalisé lors de ma + seconde année de classes préparatoires. Le thème était Le Temps, j'ai pris + comme sujet La Transformée de Fourrier. +

+

Programme Maple :

+

+ Télécharger le fichier : TFD.mw +
+ (Faire "clique-droit/Enregistrer sous" car sinon, cela l'ouvre dans le + navigateur) +

+ +

Sources Octave :

+
    +
  • Télécharger une archive contenant tous les fichiers concernant + la Transformée Directe : + +
  • +
  • Télécharger une archive contenant tous les fichiers concernant + la Transformée Inverse : + +
  • +
  • Source de l'algorithme de Multiplication de polynômes + (Nécessite la présence des deux archives précédentes, extraites dans le + même dossier) : Multiplication.m +
+ +

Sources C++ :

+

Le programme ne peut s'éxecuter que sur un système GNU/Linux. +
+ Archive contenant les sources : Format zip - Format tar.bz2 +

+ +

Le dossier :

+ +
+
+ + +
+ + diff --git a/TIPE_2007/index.html.plain b/TIPE_2007/index.html.plain new file mode 100644 index 0000000..56da487 --- /dev/null +++ b/TIPE_2007/index.html.plain @@ -0,0 +1,73 @@ + + + + +Algorithmes de calculs de TFD : Sources et programmes + + + + + + + + + + + + + + +

Algorithmes de calculs de Transformée de Fourier

+

Programme Maple :

+

+Télécharger le fichier : TFD.mw +
(Faire "clique-droit/Enregistrer sous" car sinon, cela l'ouvre dans le navigateur) +

+

Sources Octave :

+
    +
  • Télécharger une archive contenant tous les fichiers concernant la Transformée Directe : +Format zip + - Format tar.bz2
  • +
  • Télécharger une archive contenant tous les fichiers concernant la Transformée Inverse : + Format zip + - Format tar.bz2
  • +
  • Source de l'algorithme de Multiplication de polynômes (Nécessite la présence des deux archives précédentes, extraites dans le même dossier) : + Multiplication.m
  • +
+ +

Sources C++ : (Sous licence GNU/GPL)

+

Le programme ne peut s'éxecuter que sur un système GNU/Linux.

+ + +

Le dossier : (Sous licence Creative Commons)

+ + + + + + diff --git a/cv.html b/cv.html new file mode 100644 index 0000000..0c368ff --- /dev/null +++ b/cv.html @@ -0,0 +1,166 @@ + + + + +Bienvenue sur la page de Audric Schiltknecht - CV + + + + + + + + + + + + + + + + + +
+
+
+

Curriculum Vitæ

+
Versions PDF disponibles ici : court (1 page) et long.
+

+ +
+

Audric Schiltknecht

+

Né le 13 Octobre 1987

+

Toulon, France

+
+

Élève Ingénieur Informatique - ENSEEIHT

+
+ +

Formation

+
+

2007 - 2010

+

École Nationale Supérieure D'Électrotechnique, D'Électronique, D'Informatique, D'Hydraulique et des Télécommunications

+

ENSEEIHT

+
Toulouse, France
+

+ Ingénieur en informatique et mathématiques appliquées, spécialité informatique.
+ Étude des systèmes et langages informatiques, réseaux informatiques, mathématiques.
+ Étudiant de 3ème année. +

+ +

2009 (Septembre - Décembre)

+

Université de Montréal

+

UdeM

+
Montréal, Canada
+

+ Semestre d'échange au département informatique. +

+ +

2005-2007

+

Classes préparatoires

+

Lycée Dumont D'Urville

+
Toulon, France
+

Fillière MPSI/MP

+ +

2007

+

Baccalauréat, Série Scientifique

+

Lycée Bonaparte

+
Toulon, France
+

Mention Très Bien

+ +

Compétences

+
+
    +
  • Développement logiciel : JavaSE/JavaEE, C/C++, Perl, Prolog
  • +
  • Génie logiciel : UML, Eclipse, Ant, Make, VCS (SVN)
  • +
  • Technologies de l'Internet : XML (DTD, schéma, XPath, XSLT), XHTML, CSS, JavaScript, PHP
  • +
  • Bibliothèques logicielles : +
      +
    • Java : JUnit, Javassist, Hibernate, Swing, JSF, OpenFaces.
    • +
    • C++ : CPPUnit, STL, Gtkmm
    • +
    +
  • +
  • Systèmes d'exploitation : +
      +
    • GNU/LINUX (Debian, Ubuntu) : Utilisation/Administration
    • +
    • UNIX (OpenBSD) : Utilisation/Administration
    • +
    • Windows
    • +
    +
  • +
  • Architecture réseaux, systèmes
  • +
+ +

Stages

+
+

Été 2009 : 6 semaines

+

ENSEEIHT

+
Toulouse, France
+

+ Travail sur un générateur de compilateurs réalisé par un professeur de l'école, et utilisé + durant le cours de Traduction des Langages et Compilation : ajout du typage au compilateur. +
+ Intégration des modifications dans le plugin pour l'intégration dans l' + IDE Eclipse. +

+ +

Été 2008 : 4 semaines

+

Fondation d'Auteuil - Direction régionale

+
Marseille, France
+

+ Mise en place de blogs pour la réalisation d'un journal interne pour la région +
+ Réalisation d'un ensemble de macro Visual Basic pour la gestion d'une base de donnée + d'entreprises (5 000 entrées) servant à la prospection et au suivi commercial. +

+ +

Langues

+
+
    +
  • Anglais : Bon niveau (lu, écrit, parlé). Score au + TOEIC (en Juin 2009) : 955/990. +
  • +
  • Espagnol : Niveau scolaire
  • +
+ +

Loisirs

+
+
    +
  • Membre actif du club informatique de l'ENSEEIHT + (Net7), ainsi que du club informatique de l'INP-Toulouse + (INP-net) : +
      +
    • Gestion du réseau des étudiants (1 500 étudiants) : gestion des inscriptions à l'association étudiante, maintenance du fichier des cotisants
    • +
    • Formations : utilisation de GNU/Linux, langages informatiques (xHTML, PHP, LaTeX, etc)
    • +
    • Dépannages
    • +
    +
  • +
  • Plongée : Niveau 2 FFESSM, + 2* CMAS
  • +
  • Notions de japonais (apprentissage durant mes deux années à l'ENSEEIHT)
  • +
+ + + +
+
+
+ + diff --git a/index.html b/index.html new file mode 100644 index 0000000..47d18aa --- /dev/null +++ b/index.html @@ -0,0 +1,61 @@ + + + + +Bienvenue sur la page de Audric Schiltknecht + + + + + + + + + + + + + + + + +
+
+
+

Bienvenue sur mon site personnel

+

+ +

Ce site contient diverses informations me concernant : CV, projets + réalisés au cours de ma scolarité.

+

Bonne navigation !

+ + + + +
+
+
+ + diff --git a/projets.html b/projets.html new file mode 100644 index 0000000..2cba691 --- /dev/null +++ b/projets.html @@ -0,0 +1,215 @@ + + + + +Bienvenue sur la page de Audric Schiltknecht - Projets + + + + + + + + + + + + + + + + + +
+
+
+

Projets réalisés

+

+ +

Voici un ensemble des projets réalisés au cours de mes 3 années à l'ENSEEIHT, ainsi que mes projets personnels.

+ + + +

Projets personnels

+
+

Animation d'un système de particules

+

C++

+

+ Ayant apprécié le projet de modélisation d'un système de particules, + j'ai décidé pour améliorer mon expérience en programmation, de porter ce projet en C++. + Je n'ai cependant pas souhaité l'améliorer au niveau du moteur physique, mais plutôt me pencher + sur la ré-écriture du code noyau dans un paradigme orienté objet. Pratiquant régulièrement le Java à l'école, + j'ai voulu me pencher plus sérieusement sur cet autre langage qu'est le C++, pour en améliorer mon utilisation. +
+ Vous pouvez vous rendre sur la page dédiée à ce projet. +

+ + +

2ème année

+
+ +

Site de e-commerce

+

Java EE

+
Mai - Juin 2009
+

+ Mise en place d'un site internet commerçant en utilisant la technologie JavaEE : + réalisation d'un site de vente aux enchères. +
+ EJB3, serveur d'applications JBoss, + librairies JSF : + Project Mojorra, librairies additionnelles OpenFaces. +

+
    +
  • Le rapport est disponible ici.
  • +
  • Les slides de la présentation sont disponibles ici.
  • +
  • Les sources sont disponibles ici.
  • +
+ +

Compilateur µ-Java

+

EGG/Java

+
Mai - Juin 2009
+

+ Création d'un compilateur pour un sous ensemble de Java, µ-Java : gestion des classes, de l'héritage, surcharge de méthodes. +
+ Utilisation du générateur de compilateur EGG, réalisé à l'ENSEEIHT. +

+
    +
  • Le rapport est disponible ici.
  • +
  • Les sources sont disponibles ici.
  • +
+ +

UART

+

VHDL

+
Avril - Mai 2009
+

+ Développement d'une unité d'émission/réception (UART) + en VHDL. + Simulation sur FPGA. +

+
    +
  • Les sources sont disponibles ici.
  • +
+ + +

Objets dupliqués

+

Java

+
Mars - Avril 2009
+

+ Mise en œuvre d'un service de partage d'objets répartis et dupliqués : gestions des accès concurrents, + cohérences des objets, génération de stubs. +
+ Réalisation au dessus de la couche RMI de Java. + Utilisation de l'introspection pour la réalisation des stubs. + Utilisation de Javassist pour la création dynamique de classes. +

+
    +
  • Le rapport est disponible ici.
  • +
  • Les sources sont disponibles ici.
  • +
+ +

1ère année

+
+ +

Simulateur de diagrammes d'état UML

+

Java

+
Mai - Juin 2008
+

+ Projet en groupe assigné visant à réaliser un simulateur de diagramme d'états UML : + visualisation des états, franchissement des transitions, possibilité de modifier l'environnement en direct. +
+ Interface utilisateur en Swing. +

+
    +
  • Le rapport est disponible ici.
  • +
  • Les sources sont disponibles ici.
  • +
+ +

Jeu des Allumettes

+

Java

+
Avril 2008
+

+ Projet de programmation orientée objets : jeu des 13 allumettes. +
+ Développement à partir d'un diagramme des classes UML, tests unitaires avec JUnit +

+
    +
  • Les sources sont disponibles ici.
  • +
+ +

Processeur CRAPS

+

SHDL

+
Mars - Juin 2008
+

+ Réalisation d'un processeur de type RISC + basé sur un jeu d'instruction SPARC et implémentation en SHDL + (langage de description matérielle, developpé à l'ENSEEIHT) sur FPGA. +

+ + +

Simulation de particules

+

C

+
Mars - Avril 2008
+

+ Projet visant à réaliser une simulation de particules, avec contraintes + (position fixe, espacement entre deux particules, ressorts, etc). +
+ Gestion du fichier de description du système, interface utilisateur en GTK+. +

+
    +
  • Le rapport est disponible ici.
  • +
  • Les sources sont disponibles ici.
  • +
+ +

Machine Enigma

+

C

+
Janvier 2008
+

+ Projet de programmation impérative pour la réalisation d'une machine + Enigma. +

+
    +
  • Le rapport est disponible ici.
  • +
+ + +

Compression de Huffman

+

Caml

+
Novembre - Décembre 2007
+

+ Projet de programmation fonctionnelle, dont le but est de réaliser une compression + de Huffman +

+
    +
  • Le rapport est disponible ici.
  • +
+ + + + +
+
+
+ + diff --git a/styles/cv.css b/styles/cv.css new file mode 100644 index 0000000..2a054e0 --- /dev/null +++ b/styles/cv.css @@ -0,0 +1,26 @@ +#profil { + text-align: center; +} + +#profil h2 { + font-size: 1.5em; + margin-top: 0; +} + +#profil h3 { + font-size: 1.2em; +} + +h2 { + font-size: 2em; + margin-top: 40px; + margin-bottom: 10px; +} + +p+h3 { + margin-top: 30px; +} + +h5+p { + margin-top: 5px; +} \ No newline at end of file diff --git a/styles/projets.css b/styles/projets.css new file mode 100644 index 0000000..01249a8 --- /dev/null +++ b/styles/projets.css @@ -0,0 +1,17 @@ +h2 { + font-size: 1.5em; + margin-top: 40px; + margin-bottom: 10px; +} + +h3 { + margin-top: 40px; +} + +hr+h3 { + margin-top: 0; +} + +h5+p { + margin-top: 5px; +} \ No newline at end of file diff --git a/styles/simpleelegance03/images/button.gif b/styles/simpleelegance03/images/button.gif new file mode 100644 index 0000000..288a85c Binary files /dev/null and b/styles/simpleelegance03/images/button.gif differ diff --git a/styles/simpleelegance03/images/colors.gif b/styles/simpleelegance03/images/colors.gif new file mode 100644 index 0000000..a1da25b Binary files /dev/null and b/styles/simpleelegance03/images/colors.gif differ diff --git a/styles/simpleelegance03/images/hr.gif b/styles/simpleelegance03/images/hr.gif new file mode 100644 index 0000000..e63adf9 Binary files /dev/null and b/styles/simpleelegance03/images/hr.gif differ diff --git a/styles/simpleelegance03/images/image.gif b/styles/simpleelegance03/images/image.gif new file mode 100644 index 0000000..6f120ff Binary files /dev/null and b/styles/simpleelegance03/images/image.gif differ diff --git a/styles/simpleelegance03/images/link.gif b/styles/simpleelegance03/images/link.gif new file mode 100644 index 0000000..76130db Binary files /dev/null and b/styles/simpleelegance03/images/link.gif differ diff --git a/styles/simpleelegance03/images/list.gif b/styles/simpleelegance03/images/list.gif new file mode 100644 index 0000000..5f9782e Binary files /dev/null and b/styles/simpleelegance03/images/list.gif differ diff --git a/styles/simpleelegance03/images/more.gif b/styles/simpleelegance03/images/more.gif new file mode 100644 index 0000000..4ddb1d4 Binary files /dev/null and b/styles/simpleelegance03/images/more.gif differ diff --git a/styles/simpleelegance03/index.html b/styles/simpleelegance03/index.html new file mode 100644 index 0000000..d59cf35 --- /dev/null +++ b/styles/simpleelegance03/index.html @@ -0,0 +1,100 @@ + + + +Simple Elegance 03 + + + + + + + +
+
+
+

Headline (h1, h2, h3)

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur massa. Nullam enim arcu, adipiscing id, porta eget, consequat ut, lacus. Aliquam nibh. Etiam tortor ligula, facilisis sed, mattis sit amet, faucibus ut, turpis. In risus ipsum, pharetra eu, placerat id, mollis quis, justo. Mauris sollicitudin tincidunt justo. Sed suscipit tristique nulla. Suspendisse sit amet massa. +

Read more! Read more...

+

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur massa. Nullam enim arcu, adipiscing id, porta eget, consequat ut, lacus. Aliquam nibh. Etiam tortor ligula, facilisis sed, mattis sit amet, faucibus ut, turpis. In risus ipsum, pharetra eu, placerat id, mollis quis, justo. Mauris sollicitudin tincidunt justo. Sed suscipit tristique nulla. Suspendisse sit amet massa.

+
+
+
+

Gallery (h4, h5, h6)

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur massa. Nullam enim arcu, adipiscing id, porta eget, consequat ut, lacus. Aliquam nibh. Etiam tortor ligula, facilisis sed, mattis sit amet, faucibus ut, turpis. In risus ipsum, pharetra eu, placerat id, mollis quis, justo. Mauris sollicitudin tincidunt justo. Sed suscipit tristique nulla. Suspendisse sit amet massa. +

+
+
+
+

List

+
    +
  • Item one
  • +
  • Item two
  • +
  • Item three
  • +
  • Item four
  • +
  • Item five
  • +
+

Color Scheme

+

Colors

+
+
+
+

Form

+
+

+ + +

+

+ + +

+

+ + +

+
+ + +
+
+
+
+
+
+

Weblinks

+ +
+ +
+ + diff --git a/styles/simpleelegance03/style.css b/styles/simpleelegance03/style.css new file mode 100644 index 0000000..ba2bf33 --- /dev/null +++ b/styles/simpleelegance03/style.css @@ -0,0 +1,242 @@ +body { + margin: 0; + padding: 0; + line-height: 1.5em; + background: #fff; + font: 76%/ 160% verdana, arial, helvetica, sans-serif; + color: #000; + letter-spacing: 1px; +} + +#header { + background-color: #f5f5dc; + padding-top: 20px; + font-size: 2.4em; + font-weight: normal; + letter-spacing: 20px; + height: 40px; + text-align: center; + border-bottom: 1px solid #000; +} + +ul#navtop { + background-color: #f5f5dc; + margin: 0; + padding: 10px 0 10px 30px; + white-space: nowrap; + border-bottom: 1px solid #000; +} + +/*Navigation Styles*/ +#navtop li { + display: inline; + list-style-type: none; +} + +#navtop a { + padding: 3px 10px; +} + +#navtop a:link,#navtop a:visited { + color: #000; + text-decoration: none; + border: 1px solid #f5f5dc; + outline: none; +} + +#navtop a:hover { + color: #000; + background-color: #f9f9ea; + text-decoration: none; + border: 1px solid #000; +} + +#current { + font-weight: bold; +} + +.navbottom { + margin-left: 0; + padding-left: 0; +} + +#maincontainer { + width: 700px; + margin: 50px auto; +} + +#contentwrapper { + float: left; + width: 100%; + margin-bottom: 50px; +} + +/*Content Styles*/ +#contentcolumn { + font-size: 1em; +} + +a,a:active,a:visited { + outline: none; + color: #626258; + text-decoration: underline; +} + +a:hover { + color: #939384; + text-decoration: none; +} + +h1 { + font-size: 2em; + margin-bottom: 1em; + color: #626258; +} + +h2,h3 { + font-size: 1.3em; + margin: 0; + color: #626258; +} + +h4,h5,h6 { + font-size: 1.1em; + margin: 0; + color: #626258 +} + +.list { + margin-left: 20px; + padding-left: 0; + list-style: none; +} + +.list li { + padding-left: 10px; + background: url(images/list.gif) no-repeat 0 7px; +} + +div.hr { + margin: 20px 0 20px 0; + height: 10px; + background: #fff url(images/hr.gif); +} + +div.hr hr { + display: none; +} + +#columns { + margin: 0; +} + +#columns li { + list-style-type: none; +} + +#leftcolumn { + float: left; + width: 48%; + font-size: 1em; +} + +#leftcolumn li { + padding-left: 15px; + background: url(images/link.gif) no-repeat 0 5px; +} + +#rightcolumn { + float: right; + width: 48%; + font-size: 1em; +} + +#rightcolumn li { + padding-left: 15px; + background: url(images/link.gif) no-repeat 0 5px; +} + +#footer { + clear: left; + width: 100%; + margin: 70px 20px 20px 20px; + border-top: 5px dotted black; + text-align: center; + /*border-bottom: 20px solid #fff;*/ + font-size: 0.8em; +} + +/*Image and Gallery Styles*/ +.imgleft { + float: left; + margin: 6px 10px 0 0; +} + +.imgright { + float: right; + margin: 6px 0 0 10px; +} + +.gallery { + margin-right: 5px; + border: none; +} + +.gallery_right_img { + margin-right: 0; + border: none; +} + +/*Form Styles*/ +.form { + margin: 20px 0px 20px 0px; +} + +.form p { + width: 300px; + clear: left; + margin: 0; + padding: 5px 0 8px 0; + padding-left: 155px; + height: 1%; +} + +.form label { + font-weight: bold; + float: left; + margin-left: -155px; + width: 150px; +} + +.form .input { + width: 275px; + background-color: #f5f5dc; + border: 1px solid #f5f5dc; + letter-spacing: 1px; + padding: 4px; +} + +.form textarea { + width: 275px; + height: 150px; + background-color: #f5f5dc; + border: 1px solid #f5f5dc; + font: 1em/ 160% verdana, arial, helvetica, sans-serif; + letter-spacing: 1px; + padding: 4px; +} + +#submit { + margin-left: 155px; +} + +* html #submit { + margin-left: 158px; +} + +.submitbutton { + border: 1px solid #939384; + background: #f5f5dc url(images/button.gif); + letter-spacing: 1px; + width: 140px; +} \ No newline at end of file -- cgit v1.2.3-70-g09d2