# TP C# Proposition de correction : https://dotnetfiddle.net/6TeGqn ## Première partie 1. Compéltez le code suivant pour afficher un message à l'écran ```csharp using System; public class Program { public static void Main() { Console.WriteLine("..."); } } ``` 2. Déclarez et initialisez 4 variables qui contiendront le nom, prénom, age et la moyenne d'un étudiant. 3. Affichez les valeurs des quatres variables. Exemple d'output : ```csharp Nom : Benabbou, Prénom : Azzeddine, age : 32, moyenne : 15.5 ``` 4. Déclarez et initialisez un tableau de réels qui contiendra 4 notes. 5. En utilisant une boucle, affichez toutes les notes du tableau. 7. Utilisez un dictionnaire à la place du tableau de notes. Les clés du dictionnaires représentent les noms des modules, et les valeurs correspondent aux notes reçues dans chaque module. Ajoutez ensuite au moins 3 modules-notes. ```csharp Dictionary<string, double> notes = new Dictionary<string, double>(); ``` 8. Créez une fonction ```AfficherNotes``` qui permet d'afficher l'ensemble des modules et leurs notes. ```csharp public static void afficherNotes(Dictionary<string, double> notes) ``` 10. Créez une fonction `calculMax` qui renvoie la note maximale. Utilisez `using System.Linq;` s'il le faut. ```csharp public static float calculMax(Dictionary<string, double> notes) ``` 12. Créez une fonction `calculMin` qui renvoie la note minimale. ```csharp public static float calculMin(Dictionary<string, float> notes) ``` 14. Creez une fonction `calculMoyenne` qui renvoie la moyenne des notes. ```csharp public static float calculMoyenne(Dictionary<string, float> notes) ``` --- ## Deuxième partie 12. Créer une classe Personne qui contient les attributs publiques (variables) Nom, Prenom et Age 13. Créer un constructeur qui permet de construire un objet en précisant un Nom, Prenom et un Age. ```csharp public Personne(string name, string firstName, int age){ ... } ``` 14. Créez les getters et les setters des attributs. Dans le setter de l'attribut *Age* vérifiez que le paramètre entré n'est pas négatif. 15. Créez une classe ```Etudiant``` qui hérite de la classe ```Personne``` et ajoutez une propriété ```Notes``` qui consiste en un dictionnaire <module, note> (voir plus haut) ```csharp public class Etudiant : Personne { } ``` 16. Créez un constructeur à trois paramètres : name, firstName et age, qui initialise ces éléments et initialise également le dictionnaire de notes. ```csharp public Etudiant(string name, string firstName, int age) ... { ... } ``` 17. Créez une méthode (fonction) `AjouterNote` dans la classe `Etudiant` qui permet d'ajouter un module et sa note au dictionnaire de notes. ```csharp public void AjouterNote(string module, float note){ } ``` 19. Créez une fonction qui affiche le nom, prénom, age et les notes de l'étudiant. Pour afficher les notes, pensez à utiliser la fonction ```AfficherNotes``` développée plus haut en l'intégrant dans la classe ```Etudiant``` ```csharp private void afficherNotes(Dictionary<string, float> notes){{ ... } ```