Un logiciel polyvalent d'apprentissage de la programmation
Chapitre 1. Introduction
Chapitre 2. Le logiciel en bref
Chapitre 3. Premiers pas en algorithmique
Chapitre 4. Instructions conditionnelles
Chapitre 5. Boucles
Chapitre 6. Sous-programmes
Chapitre 7. Tableaux à une dimension
Chapitre 8. Tableaux à deux dimensions
Chapitre 9. Enregistrements
9.1. Présentation
9.2. Un peu de géométrie
9.2.1. Le type Point
9.2.2. Le type Triangle
9.3. Bon de commande
9.4. Travaux dirigés
Annexe : comment tester vos programmes ?
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module

9.2.2. Le type Triangle

Le concept Point peut à son tour être utilisé pour définir le concept de Triangle :

Définition du type Programme principal
class Triangle {
  Point p1;
  Point p2;
  Point p3;
}
void main() {
  Triangle tr;
  tr.p1.x = readDouble("abscisse 1 :") ;
  tr.p1.y = readDouble("ordonnee 1 :"); 
  ...
  tr.p3.y = readDouble("ordonnee 3 :"); 
  double peri;
  peri=distance(tr.p1,tr.p2)+distance(tr.p2,tr.p3)
                            +distance(tr.p3,tr.p1);
  print("perimetre du triangle : "); println(peri);
}

Lorsqu'on déclare une variable tr de type Triangle (Triangle tr), son premier point est tr.p1 : donc son abscisse est tr.p1.x et son ordonnée est tr.p2.y.

L'introduction du type Triangle ne présente un intérêt pratique que si elle est accompagnée de sous-programmes :

Sous-programmes Programme principal
void saisir(Triangle tr) {
  tr.p1.x=readDouble("abscisse 1 :"); 
  tr.p1.y=readDouble("ordonnee 1 :"); 
  ...
  tr.p3.y=readDouble("ordonnee 3 :");  
}

double perimetre(Triangle tr) {
  double peri;
  peri=distance(tr.p1,tr.p2)
       +distance(tr.p2,tr.p3)
       +distance(tr.p3,tr.p1);
  return peri;    
}
void main() {
  Triangle tr;
  saisir(tr);
  double peri;
  peri=perimetre(tr);
  print("perimetre du triangle : "); 
  println(peri);
}
Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module