Bonjour,
La spécificité de cet excercice est qu'il est à la frontière entre le géométrie et l'algorimétrie.
Le professeur a répondu qu'il fallait démontrer dans le cas général. Il y a donc deux interprétations possibles,
-- soit on démontre que quelque soit les données fournies en entrée, l'algorithme donne toujours le même point. Ce qui n'est pas le cas, il est donc difficile d'utiliser la voie algorithmique pour démontrer le cas général.
-- soit on analyse l'algorithme et on se rend compte de sa "signification" géométrique.
C'est bien ce que fait l'énoncé qui par ses questions successive conduit à l'analyse géométrique de cet algorithme.
Bon si on observe l'algorithme donné, on constate qu'il est en trois parties : Entrée des données, traitement et affichage des résultats.
- Code: Tout sélectionner
Entrée des données :
Saisir les valeurs de XA,YA,XB,YB,XC,YC
Traitement:
XI prend la valeur (XA+XC)/2
YI prend la valeur (YA+YC)/2
XD prend la valeur 2XI-XB
YD prend la valeur 2YI-YB
Affichage:
Afficher XD et YD
:triste:
Or, en lisant le programme donné en réponse,
:Input "XA=",A
:Input "YA=",B
:Input "XB=",C
:Input "YB=",D
:Input "XC=",E
:Input "YC=",F

isp "XI=",G

A+E)/2

isp "YI=",H

B+F)/2

2xG-C

isp "YD=",J
:2xH-D
On se rend compte que celui-ci n'est pas correct, on ne retrouve pas les trois parties :
- il y a bien une partie saisie des données (avec les ":Input")
MAis !
Les parties traitement et affichage sont mélangées. :triste:
Il est clair que l'algorithme n'est pas compris.
Et donc évidemment, le parallèle que l'excercice essaye de faire entre cet algorithme est la géométrie tombe à l'eau.
- Code: Tout sélectionner
Entrée des données :
Saisir les valeurs de XA,YA,XB,YB,XC,YC
Il faut comprendre :
- Code: Tout sélectionner
### Entrée des données :
# Saisir coordonnées du point A
:Input "Point A X,Y=";A,B
# Saisir coordonnées du point B
:Input "Point B X,Y=";C,D
# Saisir coordonnées du point A
:Input "Point C X,Y=";E,F
### Traitement
# Calcul du point intermédiaire I millieu de A et C
# abscisse
:(A+E)/2 ;) G
# ordonnée
:(B+F)/2 ;) H
# Calcul du point final D (dernier point du parallèlogramme )
# abscisse
:2*G-C ;) I
# ordonnée
:2*H-D ;) J
### Affichage
# Affiche coordonnées du point D
:Disp "Point D x=";I
:Disp "Point D y=";J
### Fin
:End
Soit en 3 ligne de vrai BASIC (comme celui des calculette SHARP de 1985):
- Code: Tout sélectionner
10:INPUT "POINT A X,Y=";XA,YA,"POINT B X,Y=";XB,YB,"POINT C X,Y=";XC,YC
20:LET XI=(XA+XC)/2, YC=(YA+YC)/2, XD=2*XI-XB, YD=2*YI-YB
30:PRINT "POINT D X,Y=";XD;",";YD:END
Les points donnés dans l'énoncé doivent permettre de comprendre ce qui se passe et donc de faire l'analyse de l'algorithme.
On constate que l'on obtient à chaque fois un parallèlogramme.
On peut même (et je le recommande) utiliser tout un tas de point A,B et C. A chaque fois, D est placé par l'algorithme de façon à faire un parallèlogramme.
Il faut se rendre compte que l'on manipule les coordonnées des points. Ce qui doit être assez évident surtout que l'algorithme utilise des noms de variable plus explicite que le programme (Ti c'est de :hum: )
X et Y désignent respectivement abscisse et ordonnée
A B C sont les poitn A B et C donné en exemple.
Et donc I est un point de coorodnnée (XI,YI) qui sont la moyenne des coorodnnées (XA,YA) et (XC,YC). C'est donc bien le milieu du segment [AB]
Mais, l'algorithme n'affiche pas XI et YI, il calcule un autre point, le point D de coorodnnée (XD, YD)
et ce sont les coorodnnées de ce point (et uniquement elles que l'algorithme affiche).
Du point de vue algorithmique:
Les coorodnnées (XD,YD) du poitn D sont donc le résultat de cet algorithme .
Mais, du point de vue géométrie, qu'est-ce que D ? Est-ce bien le sommet d'un parallèlogramme ?
Si c'est le cas, quelle(s) condition(s) doive(nt) replir ces coordonnées pour que ce soit le cas.
Quelle(s) propriété(s) des parallèlogrammes peut-on utiliser ?
Parmi celles-ci quelle est la plus simple à utiliser sachant que l'on a déjà défini le point I milieu de [AC] (c'est à dire milieu de la première diagonale ?)
...