|
|
— |
cours:cours_environnement_logiciel_et_programmation_2013_2014 [2014/06/27 12:18] (Version actuelle) tigli créée |
| ====== Cours d'environnement informatique en BAT4 ====== |
| |
| ===== Cours et illustrations de la Programmation en C# sans Objet ===== |
| |
| |
| === Séance 1 === |
| |
| {{:cours:cours_1_introduction_c_de_base.pdf|Support du cours 1 Programmation sans Objet en C#}} |
| |
| {{:cours:consolemonpremierprogramme.zip|Exemple de Solution Visual Studio 2012 : Ma premier programme en C#}} |
| |
| == toto == |
| |
| [[test|test]] |
| ===== Cours et illustrations des Notions de Programmation Orientée Objet en C# ===== |
| |
| === Séance 2,3,4 === |
| |
| {{:cours:cours_2_introduction_aux_objets_c_.pdf|Support du cours 2 Programmation Orienté Objet en C#}} |
| |
| {{:cours:consolemapremiereclasse.zip|Exemple de Solution Visual Studio 2012 : Ma première classe en C#}} |
| |
| == Les CONSTRUCTEURS == |
| |
| {{:cours:consolelesconstructeurs.zip|Exemple de Solution Visual Studio 2012 : Les constructeurs d'une classe en C#}} |
| |
| == Les PROPRIETES == |
| |
| == Les MEMBRES STATIQUES de CLASSE == |
| |
| |
| ===== Pratique de la Programmation orientée Objet de base en C# ===== |
| |
| === Séance 5 et 6 === |
| |
| Il s'agit d'exercices sur machine en temps limité : |
| |
| [[cours:exercicesPOOBAT4Exam|Exercices Programmation orientée Objet de base en C#]] |
| |
| <note warning> à rendre pour le 27/11/13 au plus tard dans un mail pour tigli@unice.fr |
| dans un fichier .zip contenant les 2 fichiers .cs des deux exercices, attachés au mail |
| dont le sujet est composé : |
| - de la chaine de caractère "RENDU TP POO C# BAT4 271113" entre crochets |
| - et de votre nom de login entre crochets |
| |
| Le nom du fichier .zip sera composé de : |
| - de la chaine de caractère "TP271113" |
| - et de votre nom de login |
| - séparés entre eux par un souligné "_" |
| avant le suffixe ".zip" |
| |
| |
| ATTENTION : Tout retard de rendu sera pénalisé d'1 point toutes les 2h. Tout créneau de retard entamé est pénalisé. |
| |
| ATTENTION : Si votre mail n'est pas conforme à ces consignes, vous aurez des points en moins ! |
| |
| </note> |
| |
| |
| <note important>Ce module utilisera la version Visual Studio 2012 Ultimate de Microsoft. Elle devra donc être installer par les étudiants depuis leur compte DreamSpark de Polytech</note> |
| |
| |
| |
| ===== Pratique de la Programmation orientée Objet et l'Algorithmique en C# ===== |
| |
| === Séance 7 === |
| |
| [[cours:exercicesPOOBAT4Classes|Exercices POO et Références de classe]] |
| |
| |
| |
| Pour les plus avancés, un peu d'algorithmique en C# ... |
| |
| [[cours:exercicesPOOBAT4Avance|Exercices POO et Algorithmique]] |
| |
| |
| |
| ==== Ce que nous n'aurons pas vu en Programmation Orientée Objet en C# en 2013 ... ==== |
| |
| == Les Exceptions == |
| |
| * try / catch |
| * try / finally |
| |
| == L'héritage == |
| |
| * Déclaration de classe avec héritage |
| * Constructeur et instance de la classe dite de base avec le constructeur "base()" |
| |
| == Classes Abstraites et Interfaces (ou abstraction) == |
| |
| * Liste à puceLes interfaces sont des classes abstraites qui n'ont que des méthodes abstraites |
| |
| == Les opérateurs is et as == |
| |
| == Le Polymorphisme == |
| |
| * Classe héritée "incomplète" |
| * donc dans méthodes sont virtuelles dans la classe de base (mot clef "virtual") |
| * donc ces méthodes sont surchargées dans la classe dérivée (mot clef "virtual") |
| |
| == Les délégués et les événements == |
| |
| == D'autres éléments de C# == |
| |
| * Les tableaux |
| * Mot clef lock |
| * Le préprocesseur |
| * Mode non protégé : unsafe |
| |
| ===== Cours de Programmation d'Interface Graphique en C# ===== |
| |
| ==== Séance 8 : Interface Graphique sous Visual Studio (1) ==== |
| |
| Durant la première partie de la séance, les étudiants seront interrogés sur la première partie de ce module au travers un QCM. |
| |
| <note tip>Rappel : on utilisera ici la version 2012 de Visual Studio</note> |
| |
| * Démonstration de l'utilisation de Visual Studio et C# pour développer des interfaces graphiques |
| * Illustration des concepts vus en programmation orientée objet avec le code généré par Visual Studio pour les interfaces graphique |
| |
| |
| Visual Studio bénéficie à la fois d'un générateur de code et d'un éditeur graphique pour faciliter la conception d'Interfaces Graphiques : |
| * En premier lieu créez un projet C# / WinForms |
| * Editez le contenu de program.cs |
| * Editez le contenu de Form1.cs et allez vois le contenu de InitializeComponent() |
| |
| * Utilisez la boîte à outils pour composer dans la fenêtre Form1 votre interface graphique |
| * Remarquez que les manipulations sous l'éditeur graphique correspondent à des instances des classes de la boîte à outils graphiques. Ces classes permettent de créer des objets appelés Widget |
| |
| * Pour chaque objet graphique, vous pouvez éditer ses propriétés. Ceux sont pour l'objet les propriétés telles que nous les avons vu dans les cours de programmation C#. Elles correspondent bien souvent à un aspect graphique. |
| |
| A ce stade, votre interface graphique à l'allure que vous souhaitez mais ne "fait rien". |
| |
| * Chaque événement (issu bien souvent d'une interaction avec un objet graphique) est associé à l'appel d'une méthode (dite événementielle) dont le code peut-être modifié pour programmer ainsi le comportement de votre application. Par exemple : |
| * La méthode Button1_Click() est définie automatiquement pour contenir le code qui va être exécuté quand l'utilisateur cliquera (événement Click) sur le bouton Button1. |
| * Pour trouver toutes les méthodes événementielles définies pour un objet graphique, il vous suffit d'éditer l'onglet avec un symbole "éclair" dans la fenêtre propriété. |
| |
| Les manipulations du cours illustré sont les suivantes : |
| * créer un bouton qui changera de couleur et de nom quand la souris passera dessus (Rouge/"OUT" et Vert/"IN") |
| * créer une simple classe qui gère un compteur initialisé à 0, incrémentable avec incr(), réinitialisable avec reset(), lut avec val(). |
| * Affiché dans la fenêtre principale le compteur qui s'incrémentera à chaque click sur le bouton ci-dessus. |
| * Ajouter un bouton de Reset pour réinitialiser le compteur à 0. |
| |
| {{:cours:windowsformsapplication5.zip| Projet de Correction des Manipulation du cours }} |
| |
| Après ces manipulations, vous devez être capables de créer des programmes C# similaire aux programmes que vous avez développés en mode console et leur rajouter des interfaces graphiques. |
| |
| [[http://cplus.about.com/od/learnc/ss/random.htm|Autre référence : C# Programming Tutorial - Programming Winforms in C#]] |
| |
| ==== Séance 9 : Interface Graphique sous Visual Studio (2) ==== |
| |
| * Développer une classe non graphique contenant un certains nombre de membre, propriétés et attributs. |
| * Développer une interface graphique permettant de manipuler une ou plusieurs instances de cette classe et de représenter les valeurs de leurs propriétés. |
| |
| {{:cours:salaireinterface.zip|Exemple de solution Visual Studio 2012: Interface Salarié}} |
| |
| |
| ==== Séance 10 : Introduction aux bases de données. Exemple de MySQL ==== |
| |
| <note important>Attention de télécharger avant la séance, la distribution de mySQL nécessaire à son installation en TD </note> |
| voir : [[http://www.mysql.fr/why-mysql/windows/|Site de Téléchargement et d'Installation de MySQL pour Windows]] |
| |
| * Installation et configuration de MySQL |
| * Manipulation de MySQL |
| {{:cours:inrtroduction_base_de_donnees.pdf|Introduction Base e données:MySQL}} |
| |
| ===== Cours sur l'Interopérabilité des applications (ex. MySQL / Excel / Scilab / Word ...) avec une programme en C# ===== |
| |
| ==== Séance 11 : Utilisation de MySQL dans un Programme C# ==== |
| |
| |
| <note important>Attention ce TD doit être rendu avant le mercredi 15/01/2014 en envoyant recours un mail à hend.affes@unice.fr, avec pour sujet [BAT4][TD_MySql] </note> |
| |
| {{:cours:td_mysql.pdf|TD Utilisation de MySQL dans un Programme C#}} |
| ==== Séance 12 : Utilisation d'Excel depuis un programme C# ==== |
| |
| [[http://csharp.net-informations.com/excel/csharp-excel-tutorial.htm|Tutorial Utilisation d'Excel en C#]] |
| |
| ==== Séance 13 : Utilisation de Scilab depuis un programme C# ==== |
| |
| {{:cours:c_.zip| exemple de projet C# utilisant les librairies scilab }} |
| |
| ==== Séance 14 : Evaluation ==== |
| |
| |
| ===== Annexes ===== |
| |
| - mercredi 25 Septembre 2013 J.-Y. Tigli, de 13h30 à 15h30 (2h00) 140 (ex E+157) Templiers 48 pl |
| - mardi 01 Octobre 2013 J.-Y. Tigli, de 15h45 à 17h45 (2h00) O+310 Templiers VA 58pl. |
| - mercredi 02 Octobre 2013 J.-Y. Tigli, de 13h30 à 15h30 (2h00) O+317 Templiers VA 49pl. |
| - mercredi 16 Octobre 2013 J.-Y. Tigli, de 13h30 à 15h30 (2h00) 141( ex E+158 )Templiers 79 pl |
| - mercredi 13 Novembre 2013 J.-Y. Tigli, de 13h30 à 15h30 (2h00) 140 (ex E+157) Templiers 48 pl |
| - mercredi 20 Novembre 2013 J.-Y. Tigli, de 13h30 à 15h30 (2h00) O+311 Templiers V 48pl. |
| - mercredi 27 Novembre 2013 J.-Y. Tigli, de 13h30 à 15h30 (2h00) O+311 Templiers V 48pl. |
| - mercredi 04 Décembre 2013 J.-Y. Tigli, de 13h30 à 15h30 (2h00) O+309 Templiers V 39pl. |
| - mercredi 11 Décembre 2013 H. Affes, de 13h30 à 15h30 (2h00) O+309 Templiers V 39pl. |
| - mercredi 18 Décembre 2013 H. Affes, de 13h30 à 15h30 (2h00) O+307 Templiers V 48 pl. |
| - mercredi 08 Janvier 2014 H. Affes, de 13h30 à 15h30 (2h00) O+307 Templiers V 48 pl. |
| |
| |
| |
| |