Corrigé du TD 1 : Premiers pas

Compilation et exécution

Pour exécuter le programme, il faut appeler les commandes :

javac Bonjour.java
java Bonjour

La commande javac Bonjour.java génère un fichier Bonjour.class qui contient du code objet. Ce code sera ensuite interprété par la machine virtuelle Java.

En C, la compilation produit aussi du code objet, mais ce code est ensuite transformé en exécutable par la phase d'édition de liens.

Création d'objets

L'exécution commence par la fonction TD01::main. Après l'appel à la fonction d'affichage, le constructeur Point::Point(int, int) est appelé trois fois.

Les coordonnés d'un point sont affichées dans la fonction main par le code suivant :

Point p = new Point(16, 12);
System.out.println(p.x + " " + p.y);

La fonction Point::afficher est la suivante :

void afficher()
{
    System.out.println(x + " " + y);
}

L'appel dans le main est le suivant :

Point p = new Point(16,12);
p.afficher();

Nombres complexes

Classe NombreComplexe

class NombreComplexe
{
    // Les parties réelles et imaginaires
    private double partieReelle;
    private double partieImaginaire;
 
    // Le constructeur
    NombreComplexe(double reel, double imaginaire)
    {
        partieReelle = reel;
        partieImaginaire = imaginaire;
    }
 
    // Multiplie le nombre complexe courant par un scalaire
    void multiplier(double scalaire)
    {
        partieReelle *= scalaire;
        partieImaginaire *= scalaire;
    }
 
    // Multiplie le nombre complexe courant par un complexe
    void multiplier(NombreComplexe autre)
    {
        partieReelle = partieReelle*autre.partieReelle
            - partieImaginaire*autre.partieImaginaire;
        partieImaginaire = partieReelle*autre.partieImaginaire
            + partieImaginaire*autre.partieReelle;
    }
 
    // Additionne un complexe au complexe courant
    void additionner(NombreComplexe autre)
    {
        partieReelle += autre.partieReelle;
        partieImaginaire += autre.partieImaginaire;
    }
 
    // Affiche le nombre complexe
    void afficher()
    {
        // On utilise "+" pour concaténer les chaines de caractères
        System.out.print( "(" + partieReelle + ", " + partieImaginaire + ")" );
    }
}

Classe TestComplexe

class TestComplexe
{
    // La fonction main est appelée lorsque le programme démarre
    public static void main(String args[])
    {
        NombreComplexe nombre1 = new NombreComplexe(1, 1);
        NombreComplexe nombre2 = new NombreComplexe(5, 3);
 
        System.out.print("Nombre 1 : ");
        nombre1.afficher();
        System.out.print("n");
 
        nombre1.multiplier(5.0);
        System.out.print("Nombre 1 : ");
        nombre1.afficher();
        System.out.print("n");
 
        nombre1.multiplier(nombre2);
        System.out.print("Nombre 1 : ");
        nombre1.afficher();
        System.out.print("n");
 
        nombre1.additionner(new NombreComplexe(2,2) );
        System.out.print("Nombre 1 : ");
        nombre1.afficher();
        System.out.print("n");
 
    }
}

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>