User Tools

Site Tools


in202:seance_3:td3:part_i

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
in202:seance_3:td3:part_i [2021/04/06 11:08]
bmonsuez created
— (current)
Line 1: Line 1:
-====== TD3 - Partie 1 - Les fonctions génériques ====== 
- 
-[[..:​td3|Sujet complet]] 
- 
-===== Question 1 ===== 
- 
-Nous considérons la fonction ''​find''​ suivante qui recheche si un élément est présent dans un élément dans un tableau. 
- 
-<code cpp> 
-int find(const int* theArray, int theArrayLength,​ int theValue) 
-{ 
-    for(int index = 0; index < theArrayLength;​ index ++) 
-    { 
-        if(theArray[index] == theValue) 
-            return index; 
-    } 
-    return -1; 
-}            
-</​code>​ 
- 
-==== Question 1.1 ==== 
- 
-Expliquer ce que fait le code précédent. 
- 
-==== Question 1.2 ==== 
- 
-Si nous souhaitons travailler sur des nombres à virgule flottante comme des ''​float''​ ou des ''​double'',​ que faudrait-il faire pour avoir une telle fonction ? 
- 
-==== Question 1.3 ==== 
- 
-Proposer une implantation ''​générique''​ de la fonction ''​find''​ qui permette d'​écrire un seul code qui fonctionne à la fois avec des types dénotant des valeurs entières mais aussi des nombres à virgule flottante. 
- 
-==== Question 1.4 ==== 
- 
-Nous aimerions tester la fonction sur les tableaux suivants : 
-<code cpp> 
- 
-</​code>​ 
- 
-Vérifier que l'​implantation ''​générique''​ fonctionne correctement. 
- 
-==== Question 1.5 ==== 
- 
-Nous aimerions introduire un type point ainsi qu'un tableau de point dont les coordonnées sont entières. 
- 
-<code cpp> 
-struct Point 
-{ 
-private: 
-    int m_x; 
-    int m_y; 
-public: 
-    Point(): m_x(0), m_y(0) {} 
-    Point(int x) : m_x(x), m_y(0) {} 
-    Point(int x, int y) : m_x(x), m_y(y) {} 
- 
-    int x() const { return m_x; } 
-    int y() const { return m_y; } 
-}; 
- 
-Point* = arrayOfPoints[] = { Point(2,3), Point(4,5), Point(0,0), Point(7, 8) }; 
- 
-</​code>​ 
- 
-Tester si la fonction ''​find''​ précédemment définie fonctionne pour rechercher par exemple : ''​Point origin = {0, 0}''​. 
- 
-Expliquer le résultat. 
  
in202/seance_3/td3/part_i.1617707287.txt.gz · Last modified: 2021/04/06 11:08 by bmonsuez