17-12-2010, 12:23 AM
Voilà...
On a défini une liste de 4 points
A(1;2) B(2;4) C(4;0) D(2;-1)
et on voudrait tracer le polygone fermé ABCD
Avec Algobox, nos points ont été créés avec 2 listes X (pour les abscisses) et Y (pour les ordonnées)
La première idée est, tout simplement, d'écrire 4 instructions
pour tracer nos 4 segments
![[Image: Capture%20d’écran%202010-12-16%20à%2023.48.04.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.48.04.png)
![[Image: Capture%20d’écran%202010-12-16%20à%2023.48.45.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.48.45.png)
L'instruction 5 équivaut aux instructions :
X[1] ppv 1
X[2] ppv 2
X[3] ppv 4
X[4] ppv 2
Mais... si notre polygone possède 100 côtés, il faudrait écrire 100 instructions pour tracer les 100 segments du polygone
L'idée d'une boucle vient naturellement
Si i varie de 1 à 4, un message d'erreur s'affiche
car, quand i=4, X[i+1]=X[5] n'est pas défini
![[Image: Capture%20d’écran%202010-12-16%20à%2023.51.30.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.51.30.png)
(bien sûr, on pourrait créer X[5] ppv X[1] et Y[5] ppv Y[1] pour que cela "marche")
![[Image: image10%20.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/image10%20.png)
Si i varie de 1 à 3, le dernier segment ne s'affiche pas
![[Image: Capture%20d’écran%202010-12-16%20à%2023.52.26.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.52.26.png)
![[Image: Capture%20d’écran%202010-12-16%20à%2023.52.05.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.52.05.png)
(bien sûr, on pourrait rajouter une instruction pour construire le dernier segment)
![[Image: Capture%20d’écran%202010-12-16%20à%2023.54.43.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.54.43.png)
Comment modifier la boucle, pour que le polygone fermé soit créé ?
sans rajouter X[5] et Y[5]
et sans rajouter la dernière instruction Tracer Segment (X[4];X[1]) --> (Y[4];Y[1])
On a défini une liste de 4 points
A(1;2) B(2;4) C(4;0) D(2;-1)
et on voudrait tracer le polygone fermé ABCD
Avec Algobox, nos points ont été créés avec 2 listes X (pour les abscisses) et Y (pour les ordonnées)

pour tracer nos 4 segments
![[Image: Capture%20d’écran%202010-12-16%20à%2023.48.04.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.48.04.png)
![[Image: Capture%20d’écran%202010-12-16%20à%2023.48.45.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.48.45.png)
L'instruction 5 équivaut aux instructions :
X[1] ppv 1
X[2] ppv 2
X[3] ppv 4
X[4] ppv 2
Mais... si notre polygone possède 100 côtés, il faudrait écrire 100 instructions pour tracer les 100 segments du polygone

L'idée d'une boucle vient naturellement


car, quand i=4, X[i+1]=X[5] n'est pas défini
![[Image: Capture%20d’écran%202010-12-16%20à%2023.51.30.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.51.30.png)
(bien sûr, on pourrait créer X[5] ppv X[1] et Y[5] ppv Y[1] pour que cela "marche")
![[Image: image10%20.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/image10%20.png)

![[Image: Capture%20d’écran%202010-12-16%20à%2023.52.26.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.52.26.png)
![[Image: Capture%20d’écran%202010-12-16%20à%2023.52.05.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.52.05.png)
(bien sûr, on pourrait rajouter une instruction pour construire le dernier segment)
![[Image: Capture%20d’écran%202010-12-16%20à%2023.54.43.png]](http://mathsbidouille.free.fr/ImagesForumMathsBi/ClubInfo/Capture%20d’écran%202010-12-16%20à%2023.54.43.png)

sans rajouter X[5] et Y[5]
et sans rajouter la dernière instruction Tracer Segment (X[4];X[1]) --> (Y[4];Y[1])
