Dossier Algorithmique
Prolongement > Parallélogramme
Le plan est muni d'un repère ; A, B et C sont trois points dont on donne les coordonnées : il faut faire afficher les coordonnées du point D tel que ABCD soit un parallélogramme.


On demande aux élèves de trouver un algorithme avec les trois parties : Entrée, Traitement et Sortie et de préciser les variables qui seront utilisées.
Cette recherche d'algorithme vient naturellement après celui du milieu d'un segment et du symétrique d'un point dans une symétrie centrale. En effet une solution consiste à :
Puis on demande aux élèves de transcrire leur algorithme avec des formules pour un tableur et de faire un graphique pour visualiser le parallélogramme obtenu . On peut leur proposer de créer eux-mêmes la feuille de calcul ou d'utiliser une feuille préparée (pour Excel ou Calc),

On doit obtenir la présentation suivante :


Le graphique (qui est automatique dans la feuille préparée) peut être obtenu de la manière suivante :
Avec Excel
  • sélectionner la cellule contenant l'ordonnée de A, puis cliquer sur le bouton Assistant graphique de la barre d'outils Standard ;
  • dans la première étape de la boîte de dialogue de l'assistant, choisir Nuage de points (avec le premier sous-type) comme type de graphique ;
  • cliquer sur le bouton Suivant pour passer à la deuxième étape. Cliquer sur le deuxième onglet Séries ;
  • cliquer dans le champ Valeur X et supprimer son contenu puis sélectionner dans l'ordre (sélection disjointe en maintenant enfoncée la touche Ctrl) les cellules contenant l'abscisse de A, l'abscisse de B, l'abscisse de C et celle qui contiendra l'abscisse de D;
  • cliquer dans le champ Valeur Y et supprimer son contenu puis sélectionner dans l'ordre (sélection disjointe en maintenant enfoncée la touche Ctrl) les cellules contenant l'ordonnée de A, l'ordonnée de B, l'ordonnée de C et celle qui contiendra l'ordonnée de D ;
  • cliquer sur le bouton suivant pour passer à la troisième étape. Dans l'onglet Quadrillage, cocher Quadrillage principal pour l'axe des X et l'axe des Y et dans l'onglet Légende, décocher Afficher la légende ;
  • Cliquer sur le bouton Terminer.
Télécharger le fichier complété.
Avec Calc
  • sélectionner dans l'ordre (sélection disjointe en maintenant enfoncée la touche Ctrl) les cellules contenant l'ordonnée de A, l'ordonnée de B, l'ordonnée de C et celle qui contiendra l'ordonnée de D ;
  • puis cliquer sur l'outil graphique ;
  • dans la boîte graphique, choisir à l'étape Type du graphique, le type XY (dispersion) ;
  • à l'étape Plage de données, laisser Séries en colonne ;
  • à l'étape Séries de données, cliquer sur Valeur Y et copier la Plage de valeur pour Y puis cliquer sur Valeur X et coller les valeurs copiées. Modifier ensuite les numéros de ligne des références pour avoir celles des cellules contenant les abscisses des points ;
  • À l'étape Élément du diagramme, cocher Axe X et Axe Y pour l'affichage des grilles (quadrillage) ;
  • Cliquer sur le bouton Terminer.
Télécharger le fichier complété.

Avec Excel ou Calc, le graphique apparaît alors avec les points A, B, C et D. On peut aussi modifier la présentation (couleur de fond, couleur du quadrillage, forme et couleur des marques etc.) ainsi que l'échelle de chaque axe si on veut fixer l'unité principale et secondaire (pour le quadrillage) voire limiter la zone de représentation.

On peut ensuite demander aux élèves d'écrire leur algorithme avec Algobox :


Dans l'onglet Dessiner dans un repère d'Algobox, on peut, après avoir ajouté une ligne à l'algorithme, cocher Utiliser un repère et cliquer sur Ajouter TRACER POINT ; une boîte de dialogue permet alors d'entrer les coordonnées du point (en désignant les variables correspondantes). On peut aussi tracer des segments.
Télécharger le fichier Algobox.

En exécutant l'algorithme on obtient la fenêtre suivante :


Dans la feuille de calcul précédente d'Excel, on peut aussi créer un bouton pour exécuter un programme Visual Basic (langage intégré à Excel) traduisant l'algorithme précédent :



Private Sub CommandButton1_Click()
'variables
Dim xa As String, xb As String, xc As String, ya As String, yb As String, yc As String
Dim xi As Double, yi As Double
Dim xd As Double, yd As Double
'Initialisation
Cells(8, 4).Value = "": Cells(9, 4).Value = ""
Cells(11, 4).Value = "": Cells(12, 4).Value = ""
Cells(14, 4).Value = "": Cells(15, 4).Value = ""
Cells(18, 4).Value = "": Cells(19, 4).Value = ""
Cells(22, 4).Value = "": Cells(23, 4).Value = ""
'Entrées et affichage des valeurs saisies
xa = InputBox("Donner l'abscisse du point A", "Coordonnées du point A", 2)
If xa = "" Then Exit Sub
Cells(8, 4).Value = xa
ya = InputBox("Donner l'ordonnée du point A", "Coordonnées du point A", 6)
If ya = "" Then Exit Sub
Cells(9, 4).Value = ya
xb = InputBox("Donner l'abscisse du point B", "Coordonnées du point B", 1)
If xb = "" Then Exit Sub
Cells(11, 4).Value = xb
yb = InputBox("Donner l'ordonnée du point B", "Coordonnées du point B", 1)
If yb = "" Then Exit Sub
Cells(12, 4).Value = yb
xc = InputBox("Donner l'abscisse du point C", "Coordonnées du point C", 5)
If xc = "" Then Exit Sub
Cells(14, 4).Value = xc
yc = InputBox("Donner l'ordonnée du point C", "Coordonnées du point C", 3)
If yc = "" Then Exit Sub
Cells(15, 4).Value = yc
'Traitement
'Calculs intermédiaire
xi = (Val(xa) + Val(xc)) / 2
yi = (Val(ya) + Val(yc)) / 2
'affichage du résultat intermédiaire
Cells(18, 4).Value = xi
Cells(19, 4).Value = yi
'Calcul des coordonnées de D
xd = 2 * xi - Val(xb)
yd = 2 * yi - Val(yb)
'Sortie
Cells(22, 4).Value = xd
Cells(23, 4).Value = yd
End Sub
Télécharger le fichier Excel complété.

Avec Calc le programme est un peu plus long du fait du mode d'accès aux cellules de la feuille.
Télécharger le fichier Calc complété.

Remarques
  • la fonction InputBox renvoie une expression de type chaîne, les variables xa, ya, xb et yb sont donc déclarées de type chaîne. Si on clique sur le bouton Annuler, la fonction InputBox renvoie une chaîne vide.
  • la fonction Val convertit un nombre rentré au format texte en nombre. Elle renvoie 0 pour une chaîne vide.
  • c'est le point qui doit être utilisé pour la virgule (sinon le nombre ne sera pas interprété correctement).
Si on fixe le minimum et maximum des abscisses et des ordonnées sur le graphique (par l'onglet échelle), on peut demander aux élèves de modifier l'algorithme pour tester les valeurs tapées et de ne pas accepter des valeurs dépassant les limites fixées.