1) On commence par additionner les n premiers entiers avec la boucle suivante:
Code : Tout sélectionner
som(n):={
local s;
local indice;
pour indice de 0 jusque n faire
s:=s+indice;
fpour;
return s;
}:;
2) Ensuite on entre quelque chose comme
Code : Tout sélectionner
factor(sum(k,k,1,n))
3) Afin de comparer les deux manières de calculer les nombres triangulaires, on mesure ces temps de calcul pour diverses valeurs de n. Avec
Code : Tout sélectionner
boucle:=seq(time(som(n))[0],n=1..100))
formule:=seq(time(n*(n+1)/2)[0],n=1..100))
4) Enfin, on représente le nuage de points de la version boucle par
Code : Tout sélectionner
(point(k+1,boucle[k]))$(k=0..99) ;
En fait on peut faire le TP en deux séances, une pour les 1-2-3-4 et une (ou un DM) pour la 5.
Par contre, en y regardant de plus près, le nuage est plus en escalier que vraiment affine, il y a des paliers que j'ai également découverts avec Rhino, en utilisant l'objet Date() de JavaScript pour mesurer le temps.