Accueil

Version complète : AlgoBox : Fermer un polygone...
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
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)


arrow 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]

[Image: 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 hein

L'idée d'une boucle vient naturellement roll

arrow 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]

(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]


arrow 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]

[Image: 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]



arrow 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]) whistle
Il faut donc créer une variable j...
et se débrouiller pour que quand :

i = 1 j = 2
i = 2 j = 3
i = 3 j = 4
i = 4 j = 1

Il ne reste plus qu'à trouver l'instruction à écrire...

[Image: Capture%20d’écran%202010-12-17%20à%2021.40.34.png]

Bien sûr, cela doit "marcher" quelque soit le nombre d'éléments de la liste...

i = 1 j = 2
i = 2 j = 3
i = 3 j = 4
i = 4 j = 5
i = 5 j = 6
i = 6 j = 1
moi j'ai fais ça mais ça marche pas...Undecided
Where is the mistake?Big Grin [attachment=90] help!!!Big Grin
Le plaisir de la réussite c'est fait!! l'erreur bête[attachment=91]
Certes... pour une liste de 4 éléments, ça passe...

Mais si la liste a 100 éléments, tu ne vas pas écrire :
"Si i=1 ou i=2 ou ..... ou i=99 alors ... sinon ..." surprised

Regarde mon message précédent :
Je demande une seule petite ligne
"j ppv ..."

---------------

Si on voulait

i=1 j=3
i=2 j=4
...
i=100 j=102

ce serait facile...
j ppv i + 2 roll

Il faut trouver la relation (fonction..?) qui lie i et j...

Sûr que c'est une fonction "spéciale"
eh... on est dans le club info...

et on apprend ici les trucs (bases..?) de la programmation good
ok!
c'est un fonction affine mais je vois pas le truc exact en fait...huuh
(19-12-2010 02:19 PM)mosu a écrit : [ -> ]c'est un fonction affine
La représentation graphique de cette fonction n'est pas une droite
(ou plutôt des points alignés, car on est ici avec des nombres entiers...)

Graphiquement, cela donnerait ça :

[Image: Image%201.png]

La représentation graphique complète de cette fonction est :

[Image: Image%202.png]

Allez... je t'aide un peu...
C'est une "histoire" de division whistle
pfff.
Trop facile. Bon courage mosu tongue
Pour quelqu'un de 17 ans qui à 1 an d'étude plus que moi peut être whistle Mais là moi je rame...huuh
j ppv i+1?...
jppv i+1/4 peut être? non je ne crois pas sa ferait un truc bon... Undecided
c'est pas vraiment avec un an de plus qu'on en sais plus la dessus. C'est uniquement la programmation qui m'a appris comment faire.
toujours et il que c'est pas avec un tant que et que je bug toujours!cole
Faut pas cherche du côté des boucles, mais des divisions comme l'a dit jumera.
division division... je vois pas du tout!
Ben oui... ça remonte loin... à l'école primaire hein

Tu te rappelles quand tu faisais une division à la main ??

Essaye d'en faire une à la main...
ça te donnera peut-être des idées good
j'ai truvé quelque chose mais sa marche que pour 3>i>0
j ppv (i+1)/1 ...
C'est dans cette voie??? huuh Undecided
ben les division j'en ai fait un 10aine à la main (53/8 ; 49/9 etc...) et ça m'aide pas! vous pouvez pas me donner une division du même type s'il vous plait???(que celle voulu bien sur!) Big Grin
Undecided
(20-12-2010 03:51 PM)mosu a écrit : [ -> ]ben les division j'en ai fait un 10aine à la main (53/8 ; 49/9 etc...) et ça m'aide pas! vous pouvez pas me donner une division du même type s'il vous plait???(que celle voulu bien sur!) Big Grin
Undecided

A l'école primaire... quand on apprenait les divisions au début...
on arrêtait les divisions avant la virgule roll

On appelle cela des divisions euclidiennes fi_lone_ranger



Si tu observes la représentation graphique...
...cela doit te guider vers quelles divisions il faut faire roll
Bon je vois comment faire, mais j'ai la flemme.

Pour info Mosu , j'ai aussi appris ça avec la programmation, et non pas avec les cours au lycée.

Sinon si tu veux un peu d'aide, tu as la liste des opérations possibles quand tu veut affecter une valeur a une variable, tu peux chercher dans ce sens la aussi.
(20-12-2010 07:15 PM)Little Dragoon a écrit : [ -> ]Mosu, si tu veux un peu d'aide
Il y a 2 façons d'avoir de l'aide...
Soit on demande la réponse (...) ou on va "pomper" sur internet (...)
Soit on a la chance d'avoir un professeur qui te guide petit à petit vers la solution...
Donc la représentation graphique nous donne l'idée
de faire des divisions par . . . ?
4 non?
et on bosse avec le reste non??? je crois avoir trouvé!!! Big Grin Big Grin Big Grin!!!
purée j'étais pas du tout dans la bonne voie... w00t
RHAAA et oui j'ai trouvé Big Grin
Merci LD c'est en regardant les possibilité de calcul que l'idée m'est venue!!! whistle happy L'astuce est à connaitre.
(est ce qu'on considère ça comme du pompage???)huuh
On peut passer à l'autre exercice maintenant! (il m'a l'air plus compliqué...)whistle
(21-12-2010 01:05 PM)mosu a écrit : [ -> ]j'ai trouvé
C'est comme en cours de Maths
C'est mieux d'avoir le plaisir de trouver...
ou de pomper la réponse sur le cahier du voisin..?
(21-12-2010 02:25 PM)jumera a écrit : [ -> ]C'est mieux d'avoir le plaisir de trouver...
ou de pomper la réponse sur le cahier du voisin..?
C'est mieux d'avoir le plaisir de trouverBig Grin
URLs de référence