Cours d'environnement de programmation en informatique en BAT4

Environnement de développement logiciel utilisé pour ce module

Pour de multiples raisons qui seront exposées en introduction du cours, nous allons tout au long de ce module utilisé l'IDE Visual Studio de Microsoft, dans sa version 2013 et/ou 2015.

Voici les liens pour les télécharger et les installer :

Microsoft Visual Studio Express 2013 pour Windows Desktop avec Update 4

et

voir le lien Express pour Desktop à télécharger pour Visual Studio Express 2015


Projet du module

La date limite de remise du projet est Vendredi 15/1/16 à minuit

Un seul étudiant par projet

Introduction

Le projet de ce module a pour objectif de récapituler les notions qui y ont été acquises :

Sujet du projet

Voici une solution sous Visual 2015 winforms_excel_interrop au format zip. Après l'avoir décompressée, éditer la solution sous Visual Studio 2015. Vous trouverez dans ce projet :

L'interface graphique développée dans ce projet permet ainsi de remplir certaines cellules de la feuille Excel et d'obtenir les résultats au travers des cellules pré-écrites avec des formules et donc calculs délégués à Excel.

Dans le domaine du bâtiment nombreux sont les classeurs excel dans lesquels se trouvent des feuilles qui contiennent déjà l'ensemble des formules à appliquer pour tel ou tel dimensionnement.

De nombreux exemples se trouvent dans l'offre e-Cahiers du CSTB. Par exemple pour les calculs des poutres et dalles en béton armé d'après l'Eurocode 2 un classeur Excel est disponible moyennant l'achat du guide correspondant…

Il semble donc assez intéressant de créer dans ces cas, une interface graphique permettant de saisir l'ensemble des valeurs à rentrer, et de récupérer simplement les résultats à retranscrire sans pour autant voir la feuille Excel dans son intégralité avec toutes les formules intermédiaires.

1. Interface Simple

Dans la première partie de ce projet, vous récupérerez sur le site "Le Béton" le classeur Excel de Calcul d’une dalle en béton armé. Créer une interface graphique qui permet de saisir toutes les entrées nécessaires au remplissage des cellules pour les informations et les calculs de la feuille. Sur cette même interface vous choisirez des widgets de visualisation des données adaptés pour restituer les résultats de la feuille.

2. Interface Libre

Lors de vos précédents cours, vous avez eu l'occasion de modéliser différents phénomènes physiques pour un bâtiment et parfois d'écrire les feuilles pour faire les calculs correspondants. Par exemple en béton et structures, en thermique, en conditionnement de l'air, en acoustique, etc.

Choisissez un exemple d'application issu de vos cours. Ecrivez si besoin un fichier Excel pour l'ensemble des calculs nécessaires à l'étude. Développer une interface graphique qui permettra d'entrer les paramètres et récupérer les résultats des calculs. Une attention toute particulière devra être portée sur la création de graphiques (charts) de visualisation d'ensembles de données.

Date de Remise du projet

Le projet devra être envoyé par email dans un courrier

Le fichier .zip contiendra l'arborescence des fichiers de votre projet Visual studio 2015.

Veillez à ce qu'il contienne tous les fichiers nécessaires au chargement de la solution de votre projet, sa compilation et son exécution.

La date limite de cet envoi est le Vendredi 15/1/16 à minuit . Passer ces date et horaire, tout heure de retard correspondra à un point de pénalité retiré à la note du projet.


Cours et illustrations de la Programmation en C# sans Objet

Séance 1, 2 et 3 : Rappel sur la programmation et introduction à la Programmation orientée Objet

Supports de Cours, de Démos et corrections d'exercices

Support du cours sur la Programmation sans Objet en C#

Exemple de Solution Visual Studio 2013 : Ma premier programme en C#

Exercices

Exercice 1 : L'exercice de la séance a pour objectif de faire détecter par la machine un palindrome d'une phrase.

Pour cela nous écrirons tout d'abord un programme qui inverse les caractères d'une phrase entrée au clavier.

Les plus avancés pourront comparer la phrase d'origine et la phrase inversée pour vérifier si palindrome il y a. Ils pourront aussi chercher les palindromes dans l'ensemble des mots de la phrase et afficher les mots concernés.

Exercice 2 Pour vérifier que vous avez bien assimilé le TD, écrivez un programme qui lit un nombre au clavier et affiche la liste des nombres premiers qui lui sont inférieurs.

L'exercice sera évaluer lors de la 3ième séance.

Autres Tutoriaux et exercices facultatifs

Votre premiers programmes C# “sans objet” :

Sujet : Manipulation des chaines de caractères

Ce tutorial vous sera utile lorsque que vous devrez gérer des messages à envoyer sur le réseau.

Exercices :
  1. Récupérer la suite d'une chaine de caractère après un mot clef trouvé dans la chaine (ex. le mot clef est “NOM est”, la chaine de caractère “mon NOM est Jean-Yves”. Le résultat donne : “Jean-Yves”.
  2. Extraire les “tokens” (sous-chaines de caractères séparées par des blancs) dans une chaine de caractères (ex. “mon NOM est Jean-Yves”, donnera : chaine1 = “mon”, chaine2 = “NOM”, chaine3 = “est”, chaine4 = “Jean-Yves”)
  3. Remplir des variables : nom_du_produit (string), quantité (uint), code (uint), prix unitaire (double) à partir d'une chaine de caractère saisie à la console au format “NOM QT CODE PRIX”, comme par exemple “poutre1 5 3254 125,3”. Rajouter une méthode dite de “calcul du prix du lot” qui renverra une chaine de caractère affichée à la console sous la forme “le prix du lot est de <prix total> €”.

Trucs et Astuces

Eléments de Correction
Evaluation de l'exercice 3 : RENDU + QCM sur l'exercice
à rendre pour le 23/10/14 au plus tard dans un mail pour tigli@unice.fr accompagné d'un fichier .zip contenant que le fichier .cs de l'exercice noté (ce fichier sera attaché au mail). Le sujet de ce mail est composé :
  1. de la chaine de caractère “RENDU TP1 C# BAT4 2014” entre crochets
  2. et de votre nom de login entre crochets

L'exercice est à rendre individuellement.

L'évaluation de l'exercice sera complétée par un QCM sur l'exercice lui-même lors de la prochaine séance, et sur les notions vues dans ce module jusqu'à cette date

Vous avez donc tout intérêt à vous investir personnellement même si vous avez travaillé à deux durant la séance.

Le nom du fichier .zip sera composé de :

  1. de la chaine de caractère “TP1”
  2. et de votre nom de login
  3. 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 2 points en moins ! Si vous ne comprenez pas les consignes, consultez vous !


Cours et illustrations des Notions de Programmation Orientée Objet en C#

Séance 3,4 (1,5 h 22/10/14 AM + 3h 22/10/14 PM)

Support du cours 2 Programmation Orienté Objet en C#

Exemple de Solution Visual Studio 2013 : Ma première classe en C#

Les CONSTRUCTEURS

Exemple de Solution Visual Studio 2013 : Les constructeurs d'une classe en C#

Les PROPRIETES

Exemple de Solution Visual Studio 2013 : une propriété dans une classe en C#

Les MEMBRES STATIQUES de CLASSE

Exemple de Solution Visual Studio 2013 : méthodes et attributs statiques en C#


Pratique de la Programmation orientée Objet de base en C#

Séance 5 et 6 (1h30 le 26/11/14 AM + 3h le 26/11/14 PM)

Classes et Objets : programmation de base

Exercices Programmation orientée Objet de base en C#

Séance 7 et 8 (1h30 15/12/14 AM + 3h 15/12/14 PM)

Les exceptions
Pour les plus avancés, membres static et héritage ...

Exercices POO et Références de classe

Pour les plus avancés, un peu d'algorithmique en C# ...

Exercices POO et Algorithmique

Ces deux séances de travail seront suivies d'un QCM lors d'une prochaine séance, et sur les notions vues dans ce module jusqu'à cette date

Ce que nous n'aurons pas vu en Programmation Orientée Objet en C# ...

L'héritage
Classes Abstraites et Interfaces (ou abstraction)
Les opérateurs is et as
Le Polymorphisme
Les délégués et les événements
D'autres éléments de C#

Pour aller plus loin ...

Apprendre la Programmation Orientée Objet avec le langage C#

Auteur(s) : Luc Gervais

Editeur(s) : Eni, Collection : Ressources Informatiques

Date de parution : 11/09/2013 , EAN13 : 9782746082977

Evaluation partie 1 du cours : programmation de Base POO C#

Correction QCM d'évaluation de la partie 1 du cours : programmation de Base POO C#


Cours de Programmation d'Interface Graphique en C#

Séance 9 : Interface Graphique sous Visual Studio (1) (07/01/15 1h30)

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.

Rappel : on utilisera ici la version 2012 de Visual Studio

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 :

A ce stade, votre interface graphique à l'allure que vous souhaitez mais ne “fait rien”.

Les manipulations du cours illustré sont les suivantes :

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.

Autre référence : C# Programming Tutorial - Programming Winforms in C#

Séance 10,11: Interface Graphique sous Visual Studio (2) (1h30 12/01/15 AM et 3h 12/01/15)

Exemple de solution Visual Studio 2012: Interface Salarié


Cours sur l'Interopérabilité des applications (ex. MySQL / Excel / Scilab / Word ...) avec une programme en C#

Séance 12 : Utilisation d'Excel depuis un programme C#

Supports

Cours sur l'interopérabilité avec Excel en C#

Autre référence

Tutorial Utilisation d'Excel en C#

à rendre pour la fin de la séance dans un mail pour tigli@unice.fr accompagné d'un fichier .zip contenant que le fichier .cs de l'exercice noté (ce fichier sera attaché au mail). Le sujet de ce mail est composé :
  1. de la chaine de caractère “RENDU TP1 C# BAT4 EXCEL GUI 2015” entre crochets
  2. et de votre nom de login entre crochets

L'exercice est à rendre individuellement.

Le nom du fichier .zip sera composé de :

  1. de la chaine de caractère “TP EXCEL GUI
  2. et de votre nom de login
  3. 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 2 points en moins ! Si vous ne comprenez pas les consignes, consultez vous !


Séance supplémentaire : Introduction aux bases de données. Exemple de MySQL (1h30 19/01/15)

Attention de télécharger avant la séance, la distribution de mySQL nécessaire à son installation en TD

voir : Site de Téléchargement et d'Installation de MySQL pour Windows

Introduction Base e données:MySQL

Séance supplémentaire : Utilisation de MySQL dans un Programme C#

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]

TD Utilisation de MySQL dans un Programme C#

Séance Supplémentaire : Utilisation de Scilab depuis un programme C#

exemple de projet C# utilisant les librairies scilab

Séance Supplémentaire : Evaluation

Annexes

Ajout 2014 2015

Années précédentes

Cours BAT Env Log 2013 2014