Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






TRAVAIL PRATIQUE N15

Thème :programmation avec l`utilisation des guide-fonctions.

But du travail :réception de l`expérience de la programmation avec l`utilisation des guide-fontions.

 

Devior

Il faut élaborer un organigramme et composer un programme pour l`exécution des actions indiquées dans le tableau 5.6 avec les éléments de la matrice A(m x n)

dont les types sont indiqués dans le tableau 5.13 , en utilisant un guide-fonction dont la destination est donnée dans le tableau 5.7

Les valeurs des éléments de la matrice peuvent être pris comme nombres quelconques du type arbitraire. En plus il faut prévoir des guide - fonctions pour faire entrer des matrices avec de différents types des éléments , de différents fichiers externes et des guide-fonctions pour faire sortir des résultats sur l`écran.

Il faut donner trois exemples du fonctionnement du programme ( trois différents types des données de départ ).

Il faut faire sous forme suivante l`affichage de l`information sur l`écran :

 

PROGRAMMATION AVEC L`UTILISATION DES GUIDE - FONCTIONS

Matrice de départ

. . . . . . . . . . . . . . .

Résultat du calcul

. . . . . . . . . . . . . . .

 

Matrice de départ

. . . . . . . . . . . . . . .

Résultat du calcul

. . . . . . . . . . . . . . .

 

Matrice de départ

. . . . . . . . . . . . . . .

Résultat du calcul

. . . . . . . . . . . . . . .

Òàbleau 5.13

¹ var. Types des données   ¹ var. Types des données   ¹ var. Types des données
short, float, complex   long, float, complex   short, long, char
Int, double, char   short, float, char   short, long, double
Short, int, float   short, int, char   short, double, char
int, double, complex   short, float, double   short, int, double
long, double, complex   Long, complex, char   Int, float, char
float, complex, char   short, long, complex   long, float, char
short, complex, char   double, complex, char   unsigned int, float, char
unsigned int, int, complex   short, double, complex   int, complex, char
long, double, char   short, int, complex      

 

 

5.15.2 Généralités et recommandations pour l`exécution du travail

Beaucoup d`algorithmes ne dependent pas des types des données utilisées ( par exemple, les algorithmes typiques ) . Il est naturel de présenter l`algorithme de telle manière pour qu`on puisse utiliser avec de différents types des données.



Il est possible d`appliquer deux sortes de la paramétrisation

- à l`aide du paramètre auxiliaire qui comprend l`information sur le type des données, par exemple, en octet ;

- à l`aide de la surcharge des fonctions .

En plus , C++ a un moyen puissant et efficace qui est appelé guide. Par l`intermédiare du guide de la fonction, on peut créer un algorithme qui peut être appliqué aux données de différents types. Avec cela, le type concret des données est transmis à la fonction sous forme d`un paramètre au cours de la compilation. Dans ce cas, le compiilateur génere automatiquement un code correct qui correspond au type transmis. La fonction, créée de telle manière, est appelée générique, qui surcharge automatiquement elle-même . Avec cela, elle n`a pas de dépenses auxiliaires liées avec la paramètrisation.

En cas général le guide-fonction peut avoir quelques paramètres dont chaqun peut être un type de la variable et la variable du type standard. Par exemple,

 

 

template <class Type1, class Type2 >

void f ( Type1 A[ ][N], Type2 B[ ], int n )

{

// corps de la fonction

 

}

L`appel de la fonction générique avec des données du type concret mène à la création par le compilateur d`un code pour la vérsion correspondante à cette fonction. Ce processus est appelé l`instanciation du guide . Le type concret de l`instanciation peut être déterminé automatiquement par compilateur en partant des types des paramètres indiqués lors de l`appel de la fonction ou bien peut être établie d`une manière évidente.

Par exemple, dans ce travail, dans le guide-fonction qui prévoit l`entrée et la sortie d`une matrice, on peut présenter d`une manière évidente le type de l`adresse d`une variable du type de fichier ( par exemple h[ ] ) . Comme les opérations de relation pour les variables du type complexe ne sont pas déterminées dans la bibliothèque du langage C++, on peut, si cela est nécessaire , soit surcharger l`opération exigée, soit surcharger le guide-fonction, c`est-à-dire, choisir la manière évidente de la variante de la fonction destinée au fonctionnement avec des nombres complexes, par exemple,

template < class Type >

void sort_choix ( Type B[ ], int n )

{

// corps d`un guide de la fonction en forme générale

}

void sort_choix ( complex B[ ], int n )

{

// corps d`une variante spécialisée de la fonction

}

Dans ce travail, si cela est nécessaire, il faut utiliser ce mode et déterminer la variante de l`algorithme, si les paramètres de l`algorithme sont les nombres complexes. Dans cet algorithme, on peut changer d`opération de comparaison par l`opération de comparaison des valeurs absolutes.

Il est à noter que le guide-fonction peut être surchargé encore à l`aide de l`autre guide-fonction ( cette situation n`est pas prévue dans ce travail ).

Comme on le sait, les opérations de comparaison sont déterminées pour les variables du type de caractère. On juge que le caractère est plus grand dont son code est grand. Par exemple, ‘b’ > ‘a’ est vrai.

Pour utiliser le guide –fonction avec des types des données déterminés par le programmeur, il faut surcharger les opérations destinées à ces types de données qui sont utilisées dans cette fonction (dans ce travail pratique cela n`est pas prévu ).

 

5.15.3 Questios de contrôle et devoirs

1. Par quels modes peut – on paramétriser un algorithme ?

2. Donnez la définition d`un guide-fonction.

3. Quel avantage l`utilisation des guides donne-t-elle?

4. Donnez la syntaxe de la déclaration d`un guide-fonction.

5. Donnez la définition de la notion « instanciation du guide ».

6. La surcharge d`un guide-fonction pourquoi est-elle nécessaire ?

 

 


Date: 2015-12-24; view: 952


<== previous page | next page ==>
TRAVAIL PRATIQUE N14 | TRAVAIL PRATIQUE N16
doclecture.net - lectures - 2014-2024 year. Copyright infringement or personal data (0.008 sec.)