Introduction à l'Informatique (INFO0205)


TP 8: Fonction et passage par valeur

Professeurs Patrick E. Meyer et Alejandro Silhanek

Version 2.0

  1. Que fait le programme suivant? Quel autre nom pourriez-vous donner à fonction1 ? Qu'écrit-il sur output quand on lui fournit en input:
    1. la valeur 12
    2. la valeur 3

     
    #include<iostream>
    
    using namespace std;
    
    bool fonction1(int val)
    {
        bool ok=(val%2 == 0)
        return ok;
    }
    
    int main(int argc, char* const argv[])
    {
        int a;
    
        cin >> a;
        if (fonction1(a))
            cout << "vrai" << endl;
        else
            cout << "faux" << endl;
        return 0;
    }
    

  2. Que fait le programme suivant ? Quel autre nom pourriez-vous donner à fonction2 ? Qu'écrit-il sur output quand on lui fournit en input:
    1. les valeurs 2 et 4
    2. les valeurs 11 et 2

     
    #include<iostream>
    
    using namespace std;
    
    int fonction2(int x, int n)
    {
        int res = 1;
    
        for (int i = 1; i <= n; ++i) 
             res *= x;
        
        return (res);
    }
    
    int main(int argc, char* const argv[])
    {
        int a, i;
    
        cin >> a >> i;
        cout << fonction2(a, i) << endl;
    
        return 0;
    }
    

  3. La distance euclidienne entre 2 points de coordonnées $(x_1, y_1)$ et $(x_2, y_2)$ est donnée par la formule :

    \begin{displaymath}s = \sqrt{(x_1-x_2)^2 + (y_1-y_2)^2} \end{displaymath}

    Écrire une fonction qui reçoit les coordonnées de 2 points et calcule la distance entre ces 2 points (vous pouvez utiliser la fonction sqrt(double)).

  4. Écrire une fonction à valeur booléenne qui teste la primalité d'un nombre.

  5. Écrire une fonction qui calcule la valeur approchée de $\pi$ sur base de la série suivante (due à Leibniz). Les calculs s'arrêtent lorsque la valeur du dernier terme ajouté est inférieure à un $\varepsilon$ donné, ou lorsque le nombre de termes considérés atteint une borne également donnée.

    \begin{displaymath}
\frac{\pi}{4}=1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+\frac{1}{9}-\cdots
\end{displaymath}