Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Problème algorithmique sur TI-82 Advanced

Posté par
lefou123456
27-09-17 à 17:59

Bonjour.

Il y a 1 mois, je m'amusai à programmer sur ma calculatrice ! Seulement, quelque chose de bizarre c'est passé... Le but de cet algorithme est tout simplement de dessiner un carré.

Voici l'algorithme :



prgmSETWINDOW // paramétrage de la fenêtre (enlever les axes etc.)
ClrHome
ClrDraw

Prompt X
Prompt Y
Prompt C

If C < 0
Then

     Output(2, 6, "Erreur: ")
     Output(4, 4, "La valeur de C est négative")
     Pause
     ClrHome
     Stop

End

For(s, x, x + c) // Parcourir la zone choisi
For(t, y, y + c)

     Pt-On(s, t)

End
End

Pause
ClrDraw


Je l'ai ré-écris plein de fois, mais le problème persiste.
Voici un schéma du résultat voulu, et du résultat observé :

Problème algorithmique sur TI-82 Advanced

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 18:00

Résultat observé :

Problème algorithmique sur TI-82 Advanced

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 18:02

x et y étant les coordonnées et c la longueur du côté.

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 19:32

Bonjour

Je connais pas le langage de ta calculatrice , mais tu saisis des variables X et Y et C puis tu utilises x et y et c

Ton traducteur d'instructions se mélange peut-être un peu les pinceaux.

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 19:37

Ah...
Non, c'est une erreur de recopiage !
En fait, sur ma calculatrice, on ne peut saisir que des lettres capitales.

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 19:40

L'instruction Pt-On dessine des points sur des pixels parce que tes boucles for sans Pas ajoutent 1 à S et T
Et C il compte bien le nombre de points à dessiner ?

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 19:45

Oui, Pt-on dessine les points.
Quand à C, c'est le coté du carré.
Donc il y aura C² points de dessinés

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:06

Pour comprendre d'où vient le dysfonctionnement tu peux introduire une instruction qui affiche les contenus des variables S et T

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:17

Bonne idée !
Voici le résultat pour x = 5, y = 5 et c = 5


S = 1
T = 1
--------
S = 1
T = 2
--------
S = 1
T = 3
--------
S = 2
T = 1
--------
S = 2
T = 2
--------
S = 2
T = 3
--------
S = 3
T = 1
--------
S = 3
T = 2
--------
S = 3
T = 3
--------


Mais... Il me semble que ces valeurs sont correctes...

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:21

je veux dire : x = 1, y = 1 et c = 2

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:24

Tu dessines un carré avec 3 points par ligne ?
Y a comme un souci si tu veux en dessiner 5 à npartir du point (5, 5)

Il dessine
1;1.   1;2.   1;3
2;1.    2;2.   2;3

Pas 5;5.   5;6  5;7  5;8   5;9   (5 points à partir de 5;5 !)

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:27

Bon remet un peu d'ordre dans tes idées et tu reviens après.  

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:40

J'ai compris ! :

For(s, x, x + c - 1) // Parcourir la zone choisi
     For(t, y, y + c - 1)

          Pt-On(s, t)

     End
End

Je n'ai pas marqué la bonne condition d'arrêt de la boucle !

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:41

Le résultat :


S = 1
T = 1
--------
S = 1
T = 2
--------
S = 2
T = 1
--------
S = 2
T = 2
--------

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:46

Du coups, j'ai essayé de marquer une pause après le traçage de chaque point. J'ai remarqué cet ordre :

Problème algorithmique sur TI-82 Advanced

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:48

En plus je me trompe même ici... Je vais poster la version correcte de ce schéma...

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 20:54

Voilà :

Problème algorithmique sur TI-82 Advanced

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 21:03

Il faudrait peut être essayer de comprendre où se trouve sur l'écran le point (0;0) ainsi que (0;1) et (0;2)

La base de la programmation : quel est le résultat d' une instruction quand on l'utilise.

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 21:12

J'ai déjà cherché la documentation avant de l'utiliser; (0;0) se trouve dans le coin inférieure gauche.
Et le coin supérieure droite et de coordonnée (Ymax ; Xmax).

C'est comme si, à la fin de la boucle, t change ça valeur pour 0 à la place d'y...

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 21:17

Donc réfléchir sur la construction des boucles :

- on part de quel endroit ?
- on veut se déplacer dans quel sens ?
- comment faire "à la main" avant de vouloir le faire faire à une machine ?

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 21:31

Pour simplifier, je vais pour l'instant oublier x et y; je vais considérer que le coin inférieure gauche du carré et (0;0).
Et je veux me déplacer tout d'abord de bas vers le haut, puis de gauche vers la droite.
Le premier point a donc pour coordonnées (0;0) et le dernier (c, c)

Problème algorithmique sur TI-82 Advanced

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 21:34

Bonne initiative

Cela te permettra de comprendre comment fonctionne l'instruction utilisée.

Quand cette étape sera franchie tu passeras à la suivante  

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 21:34

Et en écriture algorithmique, ça donnerait :

Pour x allant de 0 à c, faire :
Début
    
     Pour y allant de 0 à c, faire :
     Début

          tracerPoint(x, y)

     Fin

Fin

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 21:36

Donc pour l'instant, ça marche parfaitement...

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 21:43

J'ai ajouté de nouveau les deux variable.
Lorsque qu'elles sont égales à 0, ça donne le même résultat qu'avant, soit le résultat voulu. Mais, quand je saisie d'autres chiffres, ça recommence à faire cette forme intrigante. Ce qui semble confirmer ma théorie...

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 21:47

Alors maintenant il te reste à déterminer correctement le point de départ du dessin de ton carré et ses dimensions.
Et réfléchir avec un algo proprement écrit en langage naturel pour obtenir le résultat escompté

Avant de programmer on écrit un brouillon = un algo en langage naturel
On teste son algo avec un jeu d'essai dont on connaît la réponse.
Quand l'algo tourne correctement on le traduit dans le langage souhaité.

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 22:11

Je verrais ça de nouveau demain, alors bonne nuit !

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 27-09-17 à 22:43

Tu en sais assez pour trouver seul(e) la réponse.

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 28-09-17 à 15:12

Vous avez remarqué où se trouve l'erreur ?

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 28-09-17 à 20:06

As tu testé ce qui se passe quand tu essayes de faire apparaître un point "en dehors" de l'écran ; c'est à dire quand les cordonnées ne sont pas comprises entre 0 et les max autorisés

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 28-09-17 à 20:28

Oui.
Le point est tracé quand même, mais on ne le vois pas.

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 28-09-17 à 23:05



Cela signifie quoi ? Tu es convaincu que le point est dessiné ? Ou tu crois qu'il est dessiné ? Puisque tu ne le vois pas !

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 29-09-17 à 00:15

La documentation, c'est une des grandes différences avec la fonction Pxl-on(), qui peut écrire seulement sur la zone observé, sinon, une erreur surgit !

Posté par
cocolaricotte
re : Problème algorithmique sur TI-82 Advanced 29-09-17 à 19:28

Que te répondre ?

Tes réponses sont plus qu'approximatives :

- je ne comprends pas la suite des points 1 , 2 , 3 ....., de 20h59 avec des flèches qui partent de 3 puis passent à 2 puis à 1

- sur ta réponse avec les coordonnées des points de  21h31 , il y a 2 points (c ; c) !

As tu vraiment compris comment fonctionne l'instruction que tu utilises ? L'utilises tu correctement ?

J'ai de sérieux doutes.

Posté par
lefou123456
re : Problème algorithmique sur TI-82 Advanced 30-09-17 à 00:05

C'est vrai que je n'est pas été assez rigoureux quant à la réalisation des schéma : pour le schéma avec les flèche, j'ai corrigé les flèches mais j'ai oublié de réécrire les numéros dans le bonne ordre; et pour les coordonnées (c ; c), c'est encore de l'inattention, je voulais bien sûr marquer (c ; 0) au coins inférieure droit.

Je pense vraiment utiliser cette instruction correctement, je ne la trouve pas vraiment compliquée. Je n'est pas trouvé plus d'informations dessus, même avec des recherches plus poussées; Pt-On(x, y) trace le point de coordonnées (x ; y) dans la fenêtre, cest tout ce que j'ai pus trouver...



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !