Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






TRAVAIL PRATIQUE N 12

Thème :programmation avec l`utilisation des classes.

But du travail :réception de l`expérience et de la programmation avec l`utilisation des classes.

 

Devoir

Il faut élaborer un organigramme et composer un programme de la création d`un tableau Z[N] ( N=13 ) à l`aide de la fonction Zi[Xi] présentée dans le tableau 5.5 où Xi est un élément du tableau donné X[N] . Avec cela il faut prévoir l`entrée des éléments du tableau X[N] d`un fichier externe. Les valeurs des éléments de ce tableau doivent être présentées par n`importe quel nombre entier.

Il est nécessaire de créer un tableau A[N] avec les éléments calculés par la formule

Ai = Zi * Xi

et de déterminer la quantité et la somme des éléments positifs dans chaque tableau X[N],Z[N],A[N].

Il faut prévoir les fonction – membres des classes suivantes :

- constructeur pour faire entrer un tableau X[N] d`un fichier externe ;

- fonction pour déterminer le nombre et la somme des éléments positifs du tableau X[N];

- fonction pour le calcul des valeurs des éléments du tableau Z[N] ainsi que la somme et la quantité de leur éléments positifs ;

- fonction pour le calcul des valeurs des éléments du tableau A[N] ainsi que la somme et la quantité de leur éléments positifs ;

- déstructeur pour faire sortir tous les tableaux sur l`écran, la quantité et la somme des éléments positifs de chaque tableau.

Il faut afficher les résultats sur l`écran sous forme suivante :

PROGRAMMATION AVEC L`UTILISATION DES CLASSES

X[ 1]= . . . Z[ 1]= . . . A[ 1}= . . .

X[ 2]= . . . Z[ 2]= . . . A[ 2]= . . .

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

X[13]= . . . Z[13]= . . . A[13]= . . .

tableau X[ ] . . . éléments positifs, somme = . . .

tableau Z[ ] . . . éléments positifs, somme = . . .

tableau A[ ] . . . éléments positifs, somme = . . .

 

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

 

L a c l a s s e est un type des données composées qui réalise le principe de la programmation orienté objet : encapsulation, polymorphisme, héritage.

Des classes sont créées par le programmeur selon les règles prises en langage C++.

La forme générale d`une classe est analogue à un tableau ou bien à une structure. Elle se représente l`ensemble des données. Mais à la différence des tableaux qui se composent des données de même type et des structures qui se composent des données du type divers, une classe peut se composer aussi bien des données de différents types que des différentes fonctions. Toutes les données qui se trouvent à l`intérieur de la classe sont appelées données - membres et toutes les fonctions s`appellent– fonctions - membres.



La composition de la classe détermine leur créateur en partant du problème posé. Chaque membre de la classe doit jouer son rôle bien déterminé et avoir la destination concrète.

Une certaine connaissance des classes a eu lieu plus tôt. Par exemple, l`entrée et la sortie des données sont réalisés à l`aide de la classe iostream, les opérations faites par les fichiers externes s`éffectuent par la classe fstream, etc.

De certains membres de la classe peuvent avoir la possibilité d`être en relation avec « le monde externe » , les autres n`ont pas de cette possibilité. Le langage C++ a les instruments de la disponibilité aux membres de la classe. Ils sont les suivants :

public – la disponibilité ouverte ,

private - la disponibilité fermée,

protected – la disponibilité protégée.

Sur la base des classes, on peut créer les variables du type composé . On appele de telles variables - les objets. Elles sont déclarées de la même manière que les autres variables quelconques. L`objet a la même structure que la classe sur la base de laquelle il a été créé et il a toutes les propriétés que cette classe. L`opérateur de la déclaration de l`objet a la même forme que celui de n`import quelle variable. Dans ce cas, à titre du type de l`objet le nom de la classe est utiliseé . Par exemple, on a créé une classe avec son nom class_alfa alors la déclaration de l`objet avec son nom obj a la forme suivante

class_alfa obj ;

C`est analogue avec la déclaration d`une variable simple

int b ;

Ici int est le type de la variable b. En cas précédent class_alfa est le type de la variable obj .

Si la fonction de classe prévoit utiliser une variable du type de fichier, il n`est pas rationnel pour l`universalisation de cette fonction d`utiliser dans leur corps le nom du fichier externe et son adresse. Il est mieux de transmettre cette information à cette fonction par la liste des arguments sous forme d`un tableau des caractéres. Il faut etablir la valeur de ce tableau dans la fonction main( ). Parce qu`on prescrit l`utilisation dans le travail pratique un constructeur pour faire entrer des données de départ d`un fichier externe, il faut utiliser ce constructeur avec des paramètres. Par exemple,

class first

{

. . . . . . . .

public :

first (char path[ ]) ; // le constructeur

. . . . . . . . . .

};

first :: first (char path[ ])

{

fstream f1;

f1.open(path,ios::in || ios::nocreate);

. . . . . . . . . . .

f1.close( );

}

void main( )

{

char h[ ]=’’a:\\CPP\\ddd.txt’’;

first obj( h);

. . . . . . . . . . .

}

Cette exemple montre que le constructeur first comprend des paramètres un tableau du type caractére path( ) dans sa liste dont le contenue n`est pas connu. La valeur de ce tableau est présentée dans la fonction main( ) par la variable h . Cette valeur est transmite au constructeur first( ) lors de la création de l`objet obj. Donc dans cet exemple, le constructeur n`est pas lié au le fichier externe concret. Le programme installe cette liaison seulement pendant la réalisation du problème concret qui est déterminé par la fonction principale main( ).

 

5.12.3 Questions de contrôle et devoirs

1. En quoi consiste le sens de l`incapsulation, du polymorphisme et de l`héritage ?

2. Donnez la définition pour les notions « classe » et « objet ».

3. Quelles formes de la disponibilité aux membres de la classe savez vous ?

4. Donnez la définition pour la notion « constucteur de classe ». Quelle est la propriété de l`utilisation du constructeur avec les paramètres ?

5. Donnez la définition du « déstructeur de classe ».

 

 


Date: 2015-12-24; view: 921


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