Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






TRAVAIL PRATIQUE N14

Thème :programmation avec l`utilisation de la surcharge des opérateurs.

But du travail :réception de l`expérience de la programmation avec l`utilisation de la surcharge des opérateurs.

 

Devoir

Il faut élaborer un organigramme et composer un programme pour l`exécution des actions indiquées dans le tableau 5.12 en appliquant des classes ( au choix de l`utilisateur ). Lors de l`entreée et la sortie des données, il est nécessaire d`utiliser la surcharge des fonctions.

Il faut prendre sous forme fractionnée à valeur arbitraire les éléments des matrices, parties réelles et celles imaginaires des nombres complexes .

La vérification du fonctionnement correct du programme doit être fait au moins, par trois variantes. Ces variantes doivent être choisies de telle manière qui on puisse obtenir des différentes résultats et éstimer leurs corrections.

Il faut prévoir l`affichage du résultat du calcul sous forme suivante :

 

PROGRAMMATION AVEC L`UTILISATION DE LA SURCHARGE

DES OPÉRATEURS

Données de départ

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

Les exemples du calcul

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

 

 

Òàbleau 5.12

¹ var.   Données de départ   Action Opération Surchargée
Matrices , Comparaison des deux matrices «en égalité » de leurs éléments = =
Matrices , Comparaison des deux matrice « en égalité » de la quantité des lignes et des colonnes = =
Matrices , Comparaison des deux matrices «en égalité» de la quantité des lignes et des colonnes = =
Ìatrices , Comparaison des deux matrices «en moins » d`après les éléments minimums <
Ìatrices , Ñomparaison des deux matrices «en moins » d`après la quantité des lignes <
Ìàtrices , Ñomparaison des deux matrices «en moins ou égalité» d`après la quantité des colonnes <=
         
Ìàtrices , Ñomparaison des deux matrices « en supérieurité » d`après la somme des éléments >
Ìàtrices , Ñomparaison des deux matrices « en supérieurité » d`après le nombre des colonnes >
Ìàtrices , Ñomparaison des deux matrices « en supéreurité ou égalité » d`après le nombre des lignes >=
Ìàtrice Augmentation de tous les éléments de la matrice en unité ++
Ìàtrice Diminution de tous les éléments de la matrice en unité – –
Ìàtrice et un nombre (entré par clavier) Addition de la matrice evec un nombre réel +
Ìàtrice et un nombre (entrée par clavier) Addition de la matrice avec un nombre réel +=
Ìatrices , Addition des deux matrices +
Ìàtrice et un nombre (entrée par clavier) Soustraction d`un nombre de la matrice
Ìàtrice et un nombre (entrée par clavier) Soustraction d`un nombre de la matrice – =
Ìàtrices , Soustraction des deux matrices
Ìàtrice et un nombre (entrée par clavier) Multiplication de la matrice par un nombre *
Ìàtrice et un nombre (entrée par clavier) Multiplication de la matrice par un nombre * =
Ìàtrices , Multiplication des deux matrices *
Nombres complexes , Comparaison des deux nombres «en égalité » de leurs valeurs absolues = =
Nombres complexes , Comparaison des deux nombres «en inégalité » de leurs arguments !=
Nombres complexes , Ñomparaison des deux nombres «en moins » de leurs valeurs absolues <
Nombres complexes , Ñomparaison des deux nombres «en moins et égalité » de leurs arguments <=
Nombres complexes , Ñomparaison des deux nombres « en supérieurité » de leurs arguments >
Nombres complexes , Ñomparaison des deux nombres « en supérieurité » de leurs valeurs absolues >

 



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

Il est souvant nécessaire de changer la destination traditionnelle de certaines opérations par les autres . Par exemple, l`opération d`addition ( + ) est destinée à faire l`addition des nombres. Elle ne peut pas être appliquée pour l`addition des variables composées telles que les objets. Le compilateur ne « sait » pas comment faire cela. Pour réaliser cette opération il faut « l`apprendre » à cette action. Elle est appelée la surcharge d`un opérateur. Autrement dit, il faut « montrer » au compilateur comment faire telle surcharge.

Le langage C++ permet de surcharger les opérateurs. Mais c`est possible seulement pour les cas quand les opérandes des opérations sont les variables du type d`objet pas plus.

La surcharge des opérateurs est possible lors de l`exécution des limitations suivantes :

1. il ne faut pas changer les désignations traditionnelles des opérations,

2. il est interdit de surcharger les opérations suivantes :

.* ?: :: # ## sizeof

La surcharge des opérateurs est éffectuée à l`aide des opérateur-fonctions spéciales et doit suivre les règles suivantes :

- il faut garder le nombre des arguments, la priorité des opérations et succession des leurs exécutions (de gauche à droite ou inversement)

- on ne recommande pas de changer le sens établi des opérations de variables du type standard,

- les opérateur-fonctions ne peuvent pas avoir d`arguments pris selon accord,

- les opérateur-fonctions peuvent être héritées par l`autre classe sauf l`opération d`afféctation.

 

L`opérateur-fonction peut avoir le status de la fonction ordinaire ou de la fonction-membre de classe.

Dans le travail présent, il faut complémentairement établir les opérations arithmétiques et la relation avec les variables du type de tableau ainsi que les opérations de relation avec les nombres complexes. Ces opérations doivent être « établies » pour les objets ( les variables du type de classe ) qui sont créées par le programmeur. L`un des membres de classe doit être la matrice de départ ou le nombre complexe. Dans ce cas la structure de la classe peut avoir la forme siuvante

 

class matrice

{

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

float A[M][N] // matrice ou nombre complexe

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

public :

matrice opérateur + ( matrice obj )

{

. . . . . . // détermination de l`opérateur surchargé

}

} ;

Il est à noter que dans le langage C++ l`opération d`addition pour les variables du type de tableau n`est pas prévue . En même temps, cette opération est prévue pour les variables ( objet ) du type de classe.

Lors de la réalisation de l`entrée des données de départ ( par exemple, une matrice de nombres ), il faut utiliser un constructeur surchargé. Dans ce cas, l`entrée des données s`éffectuera d`un fichier externe ou par clavier en fonction de la liste des arguments indiqués au cours de l`initialisation de l`objet.

 

5.14.3 Questios de contrôle et devoirs

1. Dans quels cas il est rationnel d`utiliser le surcharge des opérateutrs ?

2. Quelles limitations sont mis pour la surcharge des opérateurs ?

3. Quelles règles la surcharge des opérateurs doit-elle suivre ?

4. Donnez la syntaxe de la surcharge de l`opérateur unique et celui binaire.

 


Date: 2015-12-24; view: 1014


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