Institut Supérieure des Sciences Appliquées et de Technologie de
Sousse
TP1: C# : Syntaxe de base
Matière: Environnement technologique (.net) Classes: FI-GL-A3
Enseignante: Dr. Ikbel Sayahi Date: 3-10 Octobre 2025
Environnement
1) Installer Microsoft Visual Studio
2) Choisir créer un nouveau projet
3) Cliquer sur Console App comme indiqué dans la figure ci-dessous
4) Choisir un nom pour ton projet « Equation » et un emplacement puis cliquer sur « Create »
Exercice 1 :
Un nombre complexe se compose de deux parties: la partie réelle et la partie imaginaire. Dans un nombre
comme a + bi (1-2i, par exemple), la partie réelle serait 1 et la partie imaginaire serait -2.
Créez une classe Complex avec:
– Un constructeur pour définir les valeurs de la partie réelle et de la partie imaginaire.
– Setters et getters pour les deux.
– Une méthode « ToString », qui retournerait « (1, -2) »
Développement web 1/6 Ikbel Sayahi
Institut Supérieure des Sciences Appliquées et de Technologie de
Sousse
– Une méthode « GetMagnitude » pour renvoyer l’ordre de grandeur du nombre complexe (racine carrée de
a2 + b2)
– Une méthode « Sum », pour additionner deux nombres complexes
– Une méthode « Mult», pour multiplier deux nombres complexes
Exercice 2 :
1. Définir une classe Client avec les attributs suivants : CIN, Nom, Prénom, Tél.
2. Définir à l’aide des propriétés les méthodes d’accès aux différents attributs de la classe.
3. Définir un constructeur permettant d’initialiser tous les attributs.
4. Définir un constructeur permettant d’initialiser le CIN, le nom et le prénom.
5. Définir la méthode Afficher ( ) permettant d’afficher les informations du Client en cours.
6. Créer Une classe Compte caractérisée par son solde et un code qui est incrémenté lors de sa création
ainsi que son propriétaire qui représente un client.
7. Définir à l’aide des propriétés les méthodes d’accès aux différents attributs de la classe (le numéro
de compte et le solde sont en lecture seule)
8. Définir un constructeur permettant de créer un compte en indiquant son propriétaire.
9. Ajouter à la classe Compte les méthodes suivantes :
• Une méthode permettant de Crediter() le compte, prenant une somme en paramètre.
• Une méthode permettant de Crediter() le compte, prenant une somme et un compte en
paramètres, créditant le compte et débitant le compte passé en paramètres.
• Une méthode permettant de Debiter() le compte, prenant une somme en paramètre
• Une méthode permettant de Débiter() le compte, prenant une somme et un compte bancaire
en paramètres, débitant le compte et créditant le compte passé en paramètres
• Une méthode qui permet d’afficher le résumé d’un compte.
• Une méthode qui permet d’afficher le nombre des comptes crées.
10. Créer un programme de test pour la classe Compte.
Développement web 2/6 Ikbel Sayahi
Institut Supérieure des Sciences Appliquées et de Technologie de
Sousse
Exercice 3:
Le directeur des systèmes d’information de la société XXXX souhaite développer un module pour la gestion
des utilisateurs de son service, pour cela il vous a fait appel pour réaliser cette tâche.
Le diagramme de classe a été établi par un analyste afin de mettre en place une base de données sous
ORACLE ou MySQL.
Développement web 3/6 Ikbel Sayahi
Institut Supérieure des Sciences Appliquées et de Technologie de
Sousse
1. Créer la classe "Personne". Définir ces attributs et ces méthodes abstraites.
2. Créer les classes "Développeur" et "Manager" :
a. Créer les constructeurs paramétrés de ces classes.
b. Redéfinir la méthode calculerSalaire() sachant que:
✓ Le développeur aura une augmentation de 20% par rapport à son salaire normal.
✓ Le manager aura une augmentation de 35% par rapport à son salaire normal.
c. Redéfinir la méthode affiche pour que nous puissions afficher les informations comme suit :
.
Le salaire du manager Foulen Ben Foulen est: 30 000 dh, son service: Informatique
Le salaire du développeur Foulen Ben Foulen est: 10000 dh, sa spécialité: PHP
3. Développer maintenant la classe main comme suit :
a. Créer un tableau de développeur tabD et le remplir depuis le clavier sachant que le nombre de
développeur N est donné par l’utilisateur.
b. Afficher les ids des développeurs de c#.
c. Compter le nombre de développeurs qui touchent plus que 1000 d.
d. Afficher les détails du développeur ayant le salaire le plus élevé.
e. Créer et afficher un Manager.
Exercice 4 :
Créez une classe « House », avec un attribut « surface », un constructeur qui définit sa valeur et une
méthode « Display » pour afficher « Je suis une maison, ma surface est de XXX m2 » (XXX: la valeur de
surface). Incluez aussi des getters et des setters pour la surface.
La classe « House » contiendra une porte (Door). Chaque porte aura un attribut « color » (de type String), et
une méthode « Display » qui affichera « Je suis une porte, ma couleur est bleu » (ou quelle que soit la
couleur). Inclure un getter et un setter. Créez également la méthode « GetDoor » dans la classe « House ».
Développement web 4/6 Ikbel Sayahi
Institut Supérieure des Sciences Appliquées et de Technologie de
Sousse
La classe « Apartment » est une sous-classe de la classe « House », avec une surface prédéfinie de 50m2.
Créez également une classe Person, avec un nom (de type String). Chaque personne aura une maison. La
méthode « Display » pour une personne affichera son nom, les données de sa maison et les données de la
porte de cette maison.
Écrivez un Main pour créer un Appartement, une personne pour y vivre et pour afficher les données de la
personne.
Exercice 5 :
Dans ce TP, vous êtes chargés de manipuler les classes véhicule, voitures et avion dont la structure est la
suivante:
Développement web 5/6 Ikbel Sayahi
Institut Supérieure des Sciences Appliquées et de Technologie de
Sousse
Comme le montre le Modèle conceptuel de données (MCD), les classes voiture et avion héritent de la classe
vehicule. La classe GestionVehicule est une classe "main".
1. Définissez une classe Vehicule qui a pour attributs des informations valables pour tout type de
véhicule : sa marque , sa date d'achat, son prix d'achat et son prix courant. Tous ces attributs sont
"private".
2. Définissez un constructeur par défaut et un constructeur prenant en paramètres la marque, la date
d'achat et le prix d'achat pour pouvoir instancier la classe véhicule.
3. Définissez une méthode publique affiche() qui affiche la valeur des attributs de la classe véhicule.
4. Définissez deux classes Voiture et Avion, héritant de la classe Vehicule et ayant les attributs
supplémentaires indiqués dans le MCD. Tous ces attributs sont "private".
5. Définissez maintenant un constructeur pour Voiture, ainsi qu'une méthode affichant la valeur des
attributs. Ces méthodes sont publiques.
6. Définissez maintenant un constructeur pour Avion, ainsi qu'une méthode affichant la valeur des
attributs. Ces méthodes sont publiques.
7. Ajoutez une méthode double calculePrix( int année-actuelle) dans la classe Vehicule. Cette méthode
retourne un double sans aucun traitement.
8. Redéfinissez cette méthode dans les deux sous-classes Voiture et Avion. Sachant que le prix d’une
voiture diminu de 20% pour chaque année passante et 5% chaque 10000 km parcouru. Alors que
pour l’avion, son prix se baisse de 2% chaque 100 heures de vols et de 10% pour chaque année
d’utilisation.
9. Développer la classe main GestionVehicule est donnée un scénario d’exécution.
Développement web 6/6 Ikbel Sayahi