Cours  C, C++ MPE , FreeFem++

Version du 05/11/2019


Université Pierre et Marie Curie

F. Hecht,


Annee 2019-2020




 NotesdeCoursMPE.pdf



 


Pour les debutants en programmation vous pouvez tester vos

programme avec le site:



Cours de C pour débutants, par Mathias Hiron


Et d'autre site:

http://a.michelizza.free.fr/pmwiki.php?n=TutoCFrench.TutoCFrench


Bien programmer en langage C (Emmanuel Delahaye)


TUTORIELS C++


Pour bien comprendre la gestion mémoire

La gestion de la mémoire en langage C


OpenGL: 

un support de cours OpenGL (E. Boyer)

un support de cours Robin Vivian Format PDF

http://users.polytech.unice.fr/~buffa/cours/synthese_image/index.html par Michel Buffa



Outil informatiques utilises sur votre ordinateur:


Si vous avez un ordinateur de type Windows 98, XP, Vista, ...

il faut utiliser l'environnement cygwin qui est le portage des outil unix sur Windows.

voir la page : 

installation de msys2.html    (pour avoir un environement de programmation type unix sous windows.


et install notepad++ comme éditeur de programme

Si vous avez un ordinateur de type Unix (Linux, FreeBSD, ....)

il faut installer les paquets suivants:

g++ et les outils de développement

X11 et les outils de développement

curl (outil réseau)

wget (outil réseau)

texlive

emacs ou xemacs

bibliothèque OpenGL et les outils de développement

bibliothèque GLUT ou freeglut et les outils de développement




Si vous avez un ordinateur de type apple (OSX)

il faut installer les developper tools qui sont sur les DVD installations avec Xcode ou sur App Store (Gratuit)

installation MacTeX.pkg pour latex et texshop/




Semaine 1) du 4 nov 10   (language C++)


les difference entre le C et le C++



surcharge de opérateur, les entrées sorties (cout,  cin)

les classe versus struct

Une classe R2 point modélise le plan 


Les classes avec des pointeurs  


les problèmes lient aux destructeurs 


les opérateur de copie construction par copie, copie par affectation 


la stack et la pile et le problème lie à la recrutions


Utilisation de Debogger


voir C++-1 et ou C++-1.zip

Semaine 2) du 13 nov.   (langage C++)


Les classe derives et méthode virtuelle


exemples d'un classe Matrice pour code le Gradient Conjugue de manière générique


Voir C++-2 et ou C++-2.zip


Semaine 3) du 20 nov.    (langage C++)


Correction de exo de la semaine dernière 


 les template et introduction de la stl voir  C++-3 et stl



Exemple utilisation d'une multi map pour construire l'image réciproque

et construction de l'image réciproque aven les liste chaine. 


Travail pour la prochaine fois construire les arête d'une maillage (cf. C++-3/Th.pdf )

cf  C++-3/AFAIRE.txt


Semaine 4) de 27 nov (langage C++)


Rappel sur la notion d'heritage en c++  (cf/ C++4 )


Semaine 5) du 4 dec (langage C++)


Algorithme sur les graphes, calcul des composantes connexe d'un graphe avec le parcours de la  fermeture transitive , algorithme de Kruskal, et présentation de l'algorithme des Diskstra 


En Tp programmation du calcul, pour la semaine prochaine a rendre par 

mail la fin du programme qui calcul les nombre de composante connexe d'un graphe. 


voir les dossier C++-5