Vous êtes sur la page 1sur 1

TP de Maple : Programmation

c Benoit Jacob, protégé par la GNU Free Documentation License


source disponible sur http://www.velvia.org

1. Afin de vous remettre en tête la syntaxe du langage de programmation de Maple, voici 4. Ecrivez une procédure racinededeux ne prenant pas d’argument et renvoyant la racine
des exemples de procédures. Dans la suite du TD, n’hésitez pas à vous y référer comme carrée de 2. Pour cela, appliquez la méthode de Newton à la fonction x 7→ x2 − 2.
modèles. Lisez attentivement ces procédures ligne par ligne et essayez de comprendre Modifiez ce programme pour obtenir la racine cubique de 10.
ce qu’elles font. Vous devez être capable de prédire leurs valeurs de retour en fonction 5. Ecrivez une procédure coeffbinome prenant en argument deux entiers n et p, et ren-
des valeurs de leurs arguments. p−1
voyant Cnp , en utilisant la formule Cnp = Cn−1 p
+ Cn−1 .
6. Ecrivez une procédure nbchiffres prenant en argument un réel x et renvoyant le
prog1:=proc(n::integer) prog2:=proc(x::complex) nombre de chiffres de x à gauche de la virgule (en base 10), sans calculer de loga-
if n<0 then local n, y, somme ; rithme. Utilisez une boucle while pour tester, pour n de plus en plus grand, la condition
ERROR("n doit ^
etre >= 0.") ; n:=0 ; somme:=0 ; y:=infinity ; x > 10n .
elif n<=1 then while y>10^(-Digits) do 7. Ecrivez une procédure estpremier prenant en argument un entier positif n et renvoyant
RETURN(n) ; y:=x^n/n ! ; true ou false suivant que n est premier ou pas. Bien entendu, vous ne devez pas utiliser
else n:=n+1 ; somme:=somme+y ; isprime.
RETURN(prog1(n-1)+prog1(n-2)) ; od ;
fi ; RETURN(somme) ; 8. Ecrivez une procédure sommedesdiviseurs prenant en argument un entier n>1 et ren-
end ; end ; voyant la somme des diviseurs de n (on considère seulement les diviseurs positifs et
< n ; on considère 1 comme un diviseur).
2. Ecrivez une procédure max prenant en argument deux réels (type numeric) x et y, et 9. Ecrivez un programme utilisant une boucle for pour afficher la liste des nombres parfaits
renvoyant le plus grand des deux. entre 2 et 1000. Un nombre est dit parfait s’il est égal à la somme de ses diviseurs.
3. Ecivez une procédure listprem prenant en argument deux entiers x et y, avec x<y, et 10. Ecrivez un programme utilisant une boucle for pour afficher la liste des couples de
affichant la liste des nombres premiers entre x et y. Il est recommandé d’utiliser une nombres amicaux inférieurs à 1000. Deux entiers x et y sont dits amicaux si chacun
boucle for et la fonction Maple isprime. d’entre eux est somme des diviseurs de l’autre.

Vous aimerez peut-être aussi