Procédures et fonctions

Cette partie vous permettra de mettre en pratique les notions suivantes :

Pour chaque exercice :

Rappel

Une procédure effectue un traitement et ne retourne pas de valeur

  • Le type de retour d’une procédure est toujours “void”

Une fonction effecture un traitement et retourne TOUJOURS une valeur

  • Le type de retour d’une fonction est toujours différent de “void”
  • Exemples de types de retour : String, int, float, double, DateTime…

Reproduisez les 3 exemples suivant avant de commencer

Exemple 1 : Procédure Hello World

Cette procédure sera appelée depuis le programme principal (main()) comme dans l’exemple ci-dessous :

public class HelloWorld {
    public static void main(String[] args) {
        HelloWorld.hello(); // Appel de la procédure "hello" de la classe "HelloWorld"
    }

    public static void hello() {
        System.out.println("Hello World !");
    }
}

Exemple 2 : Fonction Hello You

Cette fonction sera appelée depuis le programme principal (main()) qui affichera le résultat comme dans l’exemple ci-dessous :

public class HelloYou {
    public static void main(String[] args) {
        String result = HelloYou.sayHello(); // Appel de la fonction "sayHello" de la classe "HelloYou"
        System.out.println(result);
    }

    public static String sayHello() {
        return "Hello You !";
    }
}

Exemple 3 : Fonction Hello {$name}


import java.util.Scanner;

public class HelloName {
    public static void main(String[] args) {
        String result;
        result = HelloName.askFirstName(); // Demande du prénom
        HelloName.showResult(result); // Affichage du résultat
    }

    public static String askFirstName() {
        String firstname;
        Scanner sc = new Scanner(System.in); // Initialise le Scanner
        System.out.println("Bonjour, saisissez votre prénom: "); 
        firstname = sc.nextLine(); // Attente de la saisie utilisateur
        sc.close();
        return firstname; // On retourne le résultat
    }

    public static void showResult(String name) {
        System.out.println("Bonjour " + name);
    }
}

Exercice 5.1 : Les opérations mathématiques

  1. Créer une fonction « getSum » qui accepte deux arguments de type int.
    • La fonction restourne la somme des deux valeurs.
  2. Créer une fonction « getSub » qui accepte deux arguments de type int.
    • La fonction restourne la soustraction des deux valeurs.
  3. Créer une fonction getMulti qui accepte deux arguments de type float.
    • La fonction restourne la multiplication des deux valeurs.
    • Limitez le résultat à 2 décimales.
  4. Créer une fonction getDiv qui accepte deux arguments de type double.
    • La fonction restourne la division des deux valeurs.
    • Limitez le résultat à 2 décimales.
    • Rappel : une division par zéro est impossible. Dans ce cas, retourner la valeur « 0 ».

Pour vous aider, voici le squelette du programme attendu

public class IntroFonctionsMaths {
    public static void main(String[] args) {
        // variables
        int addition;

        // Invoquer les fonctions depuis le main 
        addition = IntroFonctionsMaths.getSum(2, 3);

        // Afficher le résultat des opérations dans le main
        System.out.println("Résultat de l'addition: " + addition);
    }

    public static int getSum(int a, int b) {
        // Code à implémenter
    }

    public static int getSub(int a, int b) {
        // Code à implémenter
    }

    public static float getMulti(float a, float b) {
        // Code à implémenter
    }

    public static double getDiv(double a, double b) {
        // Code à implémenter
    }
}

Exercice 5.2 : Les chaines de caractère

Créer une fonction « getMC2 ».


Créer une fonction « getUserName » qui accepte deux arguments (prénom et nom) de type string.


Créer une fonction « getFullName » acceptant deux arguments (nom et prénom) de type string.


Créer une fonction « askUser » acceptant deux arguments (nom et prénom) de type string.

Validez votre travail avec votre formateur avant de passer à la suite.