Lyc´ee Benjamin Franklin PTSI−2012-2013
D. Blotti`ere Maple
TP n˚1
Introduction ` a Maple
Plan 1. Affectation d’une variable
2. Type d’une variable 3. Lib´erer des variables 4. Calculs avec des nombres 5. Calculs litt´eraux
6. Calculs de sommes, boucles for (it´erative non conditionnelle) et fonction sum 7. Exercices
1. Affectation d’une variable 1 Saisissez le code suivant.
a:=1 ;
Vous venez d’affecter la valeur 1 dans la variable (i.e. case m´emoire) not´ee a. Expliquons les symboles utilis´es.
• Le symbole
:=
est la commande d’affectation (en algorithmique, cela correspond `a←).
• Le symbole
;
marque la fin de l’instruction (ordre donn´e `a la machine).Il termine g´en´eralement toute instruction.
Si on termine un instruction par ; alors il se produit un affichage. Pour empˆecher cet affichage, on peut remplacer le symbole ; par le symbole suivant.
: 2 Saisissez le code suivant.
a:=2 :
On vient d’affecter 2 dans la variablea, mais aucun affichage ne s’est produit. Pour voir quelle valeur est stock´ee dansa, on peut entrer un des deux codes ci-dessous.
a; ou print(a) ;
Notons qu’en affectant la variablea`a 2, on a ´ecras´e l’ancienne valeur dea(qui ´etait 1).
Attention :Ne pas confondre := (op´erateur d’affectation) et = (op´erateur de comparaison1).
1. L’op´erateur de comparaison sera introduit dans un prochain TP.
2. Type d’une variable
Lors de l’affectation d’une variable, celle-ci acquiert un type.
3 Pour voir des exemples de type, saisissez le code suivant.
whattype(a) ; a:=1/2 ; whattype(a) ; a:=0.5 ; whattype(a) ;
Ecrivez un commentaire dans une ligne de texte de votre feuille Maple.´
On peut modifier le type d’une variable en utilisant la fonction convert, mais la modification du type d’une variable entraˆıne parfois une modification de sa valeur.
4 Pour afficher des informations sur la fonction convert, lancez l’aide Maple en saisissant le code suivant.
? convert ;
L’aide Maple est pr´ecieuse ; il ne faut pas h´esiter `a y recourir en cas de doute.
3. Lib´erer des variables
On peut avoir besoin de lib´erer des variables, i.e. de les vider de leur contenu. Il existe plusieurs m´ethodes pour ce faire.
• Pour ne lib´erer qu’une seule variable, par exemple la variable a, on peut saisir le code suivant.
a:=’a’ ;
• Si on souhaite lib´erer toutes les variables, en une seule fois, on peut saisir le code suivant.
restart ;
4. Calculs avec des nombres
Maple permet d’effectuer des calculs avec des nombres.
5 Saisissez le code suivant.
a:=(1+4)*2−1 ; whattype(a) ; b:=1/3+2 ; whattype(b) ; c:=.75+1 ; whattype(c) ;
6 Ecrivez un commentaire dans une ligne de texte de votre feuille Maple.´
La commande evalf (le f terminal est l`a pour rappeler float) permet d’obtenir une valeur approch´ee de la valeur d’une variable.
7 Pour voir un exemple d’application, saisissez le code suivant.
evalf(b) ;
8 Lisez l’aide Maple de la commande evalf et saisissez une ligne de code pour afficher une valeur approch´ee deb avec seulement deux chiffres apr`es la virgule.
On vient de voir des exemples de calculs avec des entiers, des fractions, des r´eels (appel´es aussi flottants, d’o`u le type float). Mais on peut ´egalement calculer avec des nombres complexes en Maple.
9 A titre d’exemple, saisissez le code suivant.`
z1 :=1−2*I ; whattype(z1) ; Re(z1) ; Im(z1) ; z1ˆ8 ;
z2 :=exp(2*I*Pi/3) ; z2ˆ3 ;
evalc(z2ˆ3) ;
10 Ecrivez dans une ligne de texte de votre feuille Maple l’int´´ erˆet des commandes Re et Im (utilisez l’aide Maple pour v´erifier votre ´eventuelle intuition).
La commande evalc (le c terminal est l`a pour rappeler complex) permet d’obtenir la forme alg´ebrique d’un nombre complexe.
11 Ecrivez une justification du r´´ esultat produit par la saisie de la derni`ere ligne de code dans une ligne de texte de votre feuille Maple.
Le nombre complexei(v´erifianti2=−1) est repr´esent´e par la lettre I en Maple.
Le nombre r´eel πest repr´esent´e par le symbole Pi en Maple.
5. Calculs litt´eraux
Maple est un logiciel de calcul formel et permet donc de calculer des expressions litt´erales (i.e. des expressions avec des lettres, des symboles).
12 A titre d’exemple, saisissez le code suivant, apr`` es avoir lib´er´e toutes les variables.
P :=xˆ2+2*x−1 ; #P est une expression enx whattype(P) ;
Q:=Pˆ2 ; whattype(Q) ; R:=expand(Q) ; S :=collect(R,x) ;
Le symbole # permet d’ins´erer des commentaires dans du code.
13 Ecrivez un commentaire ligne `´ a ligne du dernier code saisi dans une ligne de texte de votre feuille Maple, apr`es avoir consult´e l’aide Maple des commandes expand, collect.
On se propose maintenant de calculer l’expressionP lorsque x=−1,x= 1
2,x= 3.
14 Saisissez le code suivant.
P(−1) ;P(1/2) ;P(3) ;
Le r´esultat n’est pas celui auquel nous aurions pu penser. La raison est simple : P est une expression enxet pasune fonction2.
En Maple (comme en math´ematiques), il y a une diff´erence profonde entre une expression enxet une fonction de la variablex.
15 Lisez l’aide de la commande Maple subs, puis utilisez cette commande pour calculer les valeurs de P pour x=−1,x= 1
2,x= 3.
16 Saisissez le code suivant, puis expliquez le r´esultat dans une ligne de texte de votre feuille Maple.
Q:=subs(x=x+ 1, P) ; R :=expand(Q) ;
S :=collect(R,x) ;
6. Calculs de sommes, boucles for (it´erative non conditionnelle) et fonction sum Ouvrez une nouvelle feuille Maple.
Nous avons vu un algorithme permettant de calculer la somme des entiers de 1 `an, o`unest un entier fix´e (cf.
algorithme 1 du TD n˚2 d’algorithmique).
17 Saisissez le code suivant, qui correspond `a la traduction de cet algorithme, dans le cas o`u n= 1000.
somme:=0 :
forifrom 1 to 1000 by 1 do somme:=somme+i: end do :
print(somme) :
18 Lisez l’aide de la commande Maple sum, puis utilisez cette commande pour calculer la somme des entiers de 1
`
a 1000, sans ´ecrire de boucle for.
2. Les objets Maple repr´esentant les fonctions seront introduits dans un prochain TP.
7. Exercices Exercice 1
L’objet math´ematique √
2 s’´ecrit sqrt(2) en Maple. ´Ecrivez un code qui : 1. affecte sqrt(2) dans une variable nomm´eer;
2. affiche le type der;
3. affiche une valeur approch´ee de√
2 avec 5 chiffres apr`es la virgule.
Exercice 2
Ecrivez un code qui affiche la somme des cubes des entiers entre 1 et 1000. Quel lien existe-t-il entre ce r´´ esultat et celui obtenu en 17 et 18 ?
Exercice 3
Ecrivez un code qui affiche la somme de tous les entiers impairs entre 1 et 999.´ Exercice 4
1. ´Ecrivez un code utilisant une boucle for affichant la valeur de 20!.
2. Contrˆolez le r´esultat pr´ec´edent en saisissant le code : 20! ; Exercice 5
1. Affectez l’expressionX+ 1 dans une variable nomm´ee P.
2. ´Ecrivez un code qui affiche pour chaque entiern∈J0,10Kle d´eveloppement r´eduit et ordonn´e de (X+ 1)n. 3. Qu’observez-vous ? Justifiez votre r´eponse.
Exercice 6
Sin∈J2,10K, on appelle table de multiplication denla liste de ses 10 premiers multiples, le premier ´etantn.
Ecrivez un code qui affiche les tables de multiplications des entiers de 2 `´ a 10.