UdMHaut
UdMBAS

IFT1166
Programmation Orientée Objet avec C++

Département d'informatique et de recherche opérationnelle

Direction de l'enseignement de service en informatique
 

Image C++
 
Été 2008

Accueil

Professeurs et
Démonstrateurs

Horaires et locaux

Notes de cours

Cours
après Cours

Démonstrations
et devoirs

Examens

Liens utiles

Au sujet du
livre de cours

Consultez vos notes

Foire aux questions
(FAQ)

Sessions antérieures

  Démonstration #4  
 
Dernière mise à jour : sam 03 mai 2008 14:18:56 EDT
 

Buts:

  • [Fonctions].

Fonctions

  • Q1: Soient les déclarations C++ suivantes:[Solutionnaire].
        int min(int,int);
        double min(double,double);
    

    Sachat que:

        int m = 43, n=56;
        double v = 6.5, w = 8.9;
    

    Les appels suivants sont-ils corrects et, si oui, quelles seront les fonctions effectivement appelées et les conversions éventuellement mises en place?

        cout << min(m,w) << endl;
        cout << min(v,n) << endl;
    

  • Q2: Soient les déclarations C++ suivantes:[Solutionnaire].
        int fct(int); // fonction I
        int fct(float); // fonction II
        void fct(int,float); // fonction III
        void fct(float,int); // fonction IV 
    

    Sachat que:

        int n,p;
        float x,y;
        char c;
        double z;
    

    Les appels suivants sont-ils corrects et, si oui, quelles seront les fonctions effectivement appelées et les conversions éventuellement mises en place?

        fct(n);
        fct(x);
        fct(n,x);
        fct(x,n);
        fct(c);
        fct(n,p);
        fct(n,c);
        fct(n,z);
        fct(z,z); 
    

  • Q3: Le programme suivant (q3.cpp) est-il correct. Essayez de trouver la réponse sans vous aider de votre compilateur![Solutionnaire].

  • Q4: Le programme suivant (q4.cpp) est-il correct. Essayez de trouver la réponse sans vous aider de votre compilateur![Solutionnaire].

  • Q5: Le programme suivant (q5.cpp) est-il correct. Essayez de trouver la réponse sans vous aider de votre compilateur![Solutionnaire].

  • Q6: Le programme suivant utilise la macro MAX pour calculer le maximum entre deux nombres.[Solutionnaire].

    • Indiquez le résultat de l’affichage, pour chaque fragments de code suivant:
      
          #include 
          #define MAX(a,b) ((a) > (b) ? (a) : (b))
          int main () {
              int a =6,b=5,c=100;
              
              cout << "a: " << a << " b: " << b << " c: " << c << endl;
              Réponse :
      
              c=MAX(a,b);
              cout << "a: " << a << " b: " << b << " c: " << c << endl;
              Réponse :
              
              c=MAX(a++,b);
              cout << "a: " << a << " b: " << b << " c: " << c << endl;
              Réponse :
              
              return 0;
          }
      
    • Réécrivez la définition de la fonction MAX grâce a une fonction qui offre la rapidité de la macro cidessus, mais sans les possibilités de calculs incorrects.

    • À l’aide de cette nouvelle fonction, donnez le résultat d’affichage des deux fragments de code suivants:
              c=MAX(a,b);
              cout << "a: " << a << " b: " << b << " c: " << c << endl;
              Réponse :
              
              c=MAX(a++,b);
              cout << "a: " << a << " b: " << b << " c: " << c << endl;
              Réponse :
              
      



pift1166@iro.umontreal.ca
[top]