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.1. Le type Point

Pour définir le concept de Point, il faut lui attribuer un nom (Point) et en définir les composants (x et y) :

class Point {
    double x;
    double y;
}

Lorsqu'on déclare une variable p1 de type Point (Point p1), ses composantes se nomment p1.x et p1.y, ce qu'on peut constater dans le programme suivant calculant le périmètre d'un triangle :

Programme principal Fonction distance
void main() {
  Point p1;
  Point p2;
  Point p3;
  p1.x=readDouble("abscisse 1 :"); 
  p1.y=readDouble("ordonnee 1 :"); 
  p2.x=readDouble("abscisse 2 :"); 
  p2.y=readDouble("ordonnee 2 :"); 
  p3.x=readDouble("abscisse 3 :"); 
  p3.y=readDouble("ordonnee 3 :"); 
  double peri;
  peri=distance(p1,p2)+distance(p2,p3)
                      +distance(p3,p1);
  print("perimetre du triangle : "); 
  println(peri); 
}
double distance(Point p1, Point p2) {
  double dist;
  dist=(p1.x-p2.x)*(p1.x-p2.x)
      +(p1.y-p2.y)*(p1.y-p2.y);
  return sqrt(dist); // racine carrée  
}

Il est possible réunir les 3 variables de type Point (p1, p2, p3) dans un tableau (Point[] tr) :

void main() {
    Point[] tr;
    tr = new Point[3];
    int i;
    for(i=1; i<=3; i=i+1) {
        tr[i-1].x = readDouble("abscisse " + i); 
        tr[i-1].y = readDouble("ordonnee " + i); 
    }
    double peri;
    peri = distance(tr[0],tr[1]) + distance(tr[1],tr[2]) + distance(tr[2],tr[0]);
    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