Skip to content

Instantly share code, notes, and snippets.

@Tructruc
Created October 24, 2022 08:45
Show Gist options
  • Save Tructruc/ce2ced3d2482ef826fd3dab074f7b021 to your computer and use it in GitHub Desktop.
Save Tructruc/ce2ced3d2482ef826fd3dab074f7b021 to your computer and use it in GitHub Desktop.
SAE1.01
@Tructruc
Copy link
Author

Tructruc commented Oct 24, 2022

/**
 * TP1 exo 3,4,5.
 *
 * @author (FIEU Emilien)
 */
public class Geometrie
{
    /**
     * @param diametre
     *      Le diametre du disque (nombre positif).
     * @return la surface du disque
     */
    public static double surfaceDisque(double diametre) {
        double pi, rayon, surface;
        pi=3.14;
        rayon = diametre/2;
        surface= pi*rayon*rayon;
        return surface;
    }

    /**
     * @param longueur
     *      La longueur du rectangle (nombre positif).
     * @param largeur
     *      La largeur du rectangle (nombre positif, inférieur ou égal à la longueur).
     * @return la surface du rectangle
     */
    public static double surfaceRectangle(double longueur, double largeur) {
        double surface;
        surface = longueur*largeur;
        return surface;
    }

    /**
     * @param cote
     *      La longueur d'un cote du carré (nombre positif).
     * @return la surface du carré
     */
    public static double surfaceCarre(double cote) {
        double surface;
        surface = surfaceRectangle(cote, cote);
        return surface;
    }
    
    /**
     * Surface du gazon, en m2. Toutes les données sont en m.
     * Terrain, maison, appenti et piscine s'organisent comme vu en TD.
     */
    public static double surfaceGazon(double longueurTerrain, double largeurTerrain,
    double diametrePiscine, double longueurMaison, double largeurMaison, double longueurAppenti) {
        /* déclaration des variables de travail */
        double surfaceMaison, surfacePiscine, surfaceTerrain, surfaceAppenti, surfaceGazon;

        /* calcul de la surface à tondre */
        // calcul de la surface du terrain
        surfaceTerrain = surfaceRectangle(longueurTerrain, largeurTerrain);
        
        //calcul de la surface de la maison
        surfaceMaison = surfaceRectangle(longueurMaison, largeurMaison);
        
        //calcul de la surface de l'appenti
        surfaceAppenti = surfaceRectangle(largeurMaison, longueurAppenti)/2;
        
        //calcul de la surface de la piscine
        surfacePiscine = surfaceDisque(diametrePiscine);
        
        //calcul de la surface du gazon a tondre
        surfaceGazon = surfaceTerrain - surfaceMaison - surfaceAppenti - surfacePiscine;
        return surfaceGazon;
    }
    
    /**
     * Affiche les informations sur la tonte du gazon. Toutes les données sont en m.
     */
    public static void informationTonte(double longueurTerrain, double largeurTerrain,
    double diametrePiscine, double longueurMaison, double largeurMaison, double longueurAppenti) {
        /* déclaration des variables de travail */
        double surfaceATondre, vitesse, duree;
        
        // Défins la vitesse de tonte a 100m2 par heures
        vitesse = 100;

        /* Calcul */
        
        // Calcule la surface a tondre
        surfaceATondre = surfaceGazon(longueurTerrain, largeurTerrain, diametrePiscine, longueurMaison, largeurMaison, longueurAppenti);
        
        // Calcule la durée de tonte
        duree = surfaceATondre / vitesse;

        /* Affichage des résultats */
    
        System.out.println("Il y a " + surfaceATondre + " m² à tondre");
        System.out.println("Cela va prendre " + duree + " heures");
    }
    
    /**
     * Calcule la surface d’un ovale
     * @param rayon1
     *  premier rayon de l’ovale en m
     * @param rayon2
     *  deuxieme rayon de l’ovale en m
     *  
     * @return surface de l’ovale en m2
     */
    
    public static double surfaceOvale(double rayon1, double rayon2){
        // Variable de travail
        double pi, surface;
        
        pi=3.14;
        
        // Calcul
        
        surface = rayon1 * rayon2 * pi;
        return surface;
    }
    
    /**
     * transforme des heures a virgules en heures et minutes es l’affiche
     * @param temps
     *  temps en heures a virgules
     * 
     * @ruturn affiche le temps en heures et minutes (sans virgules)
     */
    public static void heuresMinutes(double temps){
        // Variables de travails
        int heures, minutes;
        
        // Calculs
        heures = (int)temps;
        minutes = (int)((temps-(double)heures)*60);
        
        // Affichage
        System.out.println(heures + " heures et " + minutes + " minutes");
    }
    
    /**
     * @param diametreA
     *  diametre du cercle A
     * @param diametreB
     *  diametre du cercle B
     * @return surface de l’anneau formé par les deux cercles 
     */
    
public static double surfaceAnneau(double diametreA, double diametreB){
    //Variables de fonctionnement
    double surface;
    
    // Calculs
    if (diametreA > diametreB){
        surface = surfaceDisque(diametreA) - surfaceDisque(diametreB);
    }else{
        surface = surfaceDisque(diametreB) - surfaceDisque(diametreA);
    }
    
    return surface;
}
}```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment