-
Nicolas M. Thiéry authoredNicolas M. Thiéry authored
jupytext:
text_representation:
extension: .md
format_name: myst
format_version: 0.13
kernelspec:
display_name: C++17
language: C++17
name: xcpp17
rise:
auto_select: first
autolaunch: false
centered: false
controls: false
enable_chalkboard: true
height: 100%
margin: 0
maxScale: 1
minScale: 1
scroll: true
slideNumber: true
start_slideshow_at: selected
transition: none
width: 90%
+++ {"slideshow": {"slide_type": "slide"}}
Conclusion
+++ {"slideshow": {"slide_type": "fragment"}}
Résumé de la séance
:::{admonition} Programmes et compilation
- Algorithme, programme, sources, binaire, assembleur
- Interpréteur, compilateur
- Cycle de vie d'un programme :::
+++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Compilation séparée pour la modularité
- Découper un programme non seulement en fonctions, mais en fichiers
- Définir des bibliothèque de fonctions réutilisables entre programmes :
- fichier d'entêtes :
max.hpp
- fichier source :
max.cpp
- fichier de tests :
maxTest.cpp
:::
- fichier d'entêtes :
+++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Digressions
- Surcharge : un nom, plusieurs fonctions
- Templates : une fonction, plusieurs types
- Espaces de noms : pour éviter les conflits de noms :::
+++ {"slideshow": {"slide_type": "slide"}}
Résumé des bonnes pratiques vues ce semestre (méthodologie de développement)
+++ {"slideshow": {"slide_type": "fragment"}}
:::{hint} Bonne pratique : développement incrémental
- Toujours être «proche de quelque chose qui marche»
- Gestion de version (
git
,mercurial
, ...) :::
+++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Bonnes pratiques : spécifications et tests
- Spécification : définir précisément la sémantique des fonctions :
qu'est-ce qu'elles doivent faire? - Test : vérifier que la sémantique est respectée sur des exemples
- Analogie Programmer
Démontrer : Documentation Énoncé, Test Exemple, Code Démonstration
+++ {"slideshow": {"slide_type": "fragment"}}
:::{hint} Bonne pratique : modularité
- Découpage d'un programme en fonctions : cours 4
- Découpage d'un programme en modules : aujourd'hui !
- Découpage d'un programme en espaces de noms : plus tard :::
+++ {"slideshow": {"slide_type": "slide"}}
Conclusion : qu'avons nous vu ce semestre?
+++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Les bases de la programmation
- Contrôle du flot d'exécution : instructions conditionnelles et itératives, fonctions
- Gestion des données : variables, tableaux, collections, entrées et sorties, fichiers :::
+++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Méthodologie de développement
- Développement incrémental
- Spécifications et tests
- Modularité :::
+++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Une esquisse de quelques thèmes de l'informatique
- Programmation modulaire (S2)
- Algorithmes et structures de données, complexité (S2)
- Science des données (S2)
- Web, graphisme, architecture, réseau, ... :::
+++ {"slideshow": {"slide_type": "fragment"}}
Ce n'est que le début de l'aventure !