jupytext:
text_representation:
extension: .md
format_name: myst
format_version: 0.13
jupytext_version: 1.15.1
kernelspec:
display_name: C++17
language: C++17
name: xcpp17
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "ff657c59b200e50d261c063a9775dbc5", "grade": false, "grade_id": "cell-65f24a4fe8c153b9", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Semaine 2: Programmation impérative: premier aperçu
La semaine dernière, Laby nous a amené à la découverte des premiers éléments de la programmation impérative: programmes, fonctions, expressions conditionnelles et itératives. Cette semaine, nous allons commencer à formaliser ces éléments, en y ajoutant expressions et variables.
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "2c35c1c7542efe699c052d8014954324", "grade": false, "grade_id": "cell-65f24a4fe8c153c0", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Cours
TD
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "6b66466b7f04d30b80167a5b5f733e1f", "grade": false, "grade_id": "cell-65f24a4fe8c153c1", "locked": true, "schema_version": 3, "solution": false, "task": false}}
TP
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "4225cf9a77f610bff1cadee460f19ddd", "grade": false, "grade_id": "cell-65f24a4fe8c153c2", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Rappel : Tout exercice non marqué d'un ♣️ est à terminer pour la semaine prochaine.**
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "16d262add0837e4334ab87b904b85f8f", "grade": false, "grade_id": "cell-bf0808a9dcb0b572", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Exercice 0 : Notes de cours
- Consultez les notes de cours de la semaine 1 sur le site web.
- Que signifie syntaxe? Et sémantique? Vérifiez dans les notes de cours.
- Quelle est la syntaxe et la sémantique de l'affectation de variables? Vérifiez dans les notes de cours de la semaine 2 (voir le site web ou ci-dessus).
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "e97d0f3d2c198c10d8f8aa4313e2f707", "grade": false, "grade_id": "cell-bf0808a9dcb0b574", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Exercice 1 : Jupyter
Chaque semaine, nous commencerons par une petite feuille pour vous familiariser progressivement à l'utilisation de Jupyter. Aujourd'hui, ce sera:
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "1974cd8f2b5e472f6c0416829c9031d3", "grade": false, "grade_id": "cell-bf0808a9dcb0b573", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Exercice 2 : Jupyter, valeurs, types, types, variables, conditionnelles, fonctions
Travaillez successivement sur les feuilles suivantes :
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "d82b17ec12b05990bfd4e9bd1aff611e", "grade": false, "grade_id": "cell-bf0808a9dcb0b575", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Exercice 3 : Dépôt de votre travail
-
Utilisez le tableau de bord pour déposer votre travail sur GitLab (consultez au besoin la page Case départ du site web).
-
N'oubliez pas de déposer à nouveau votre travail en fin de séance, afin que tout soit bien sauvegardé.
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "3f7ea34bb4fe2ce23ec7d6a49f3c5ae9", "grade": false, "grade_id": "cell-bf0808a9dcb0b576", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Exercice 4 : Service JupyterHub@Paris-Saclay
Rappel : l'université a déployé un service JupyterHub
(expérimental)
vous permettant de travailler en dehors des séances avec simplement
une connexion internet et un navigateur web (firefox, chrome, safari,
...).
Cet exercice n'est à faire que si vous n'avez pas encore utilisé ce service ou si vous avez rencontré des difficultés.
- Suivez les instructions de la page Case départ du site web pour vous connecter au service JupyterHub; téléchargez-y vos TP 1 et 2 et consultez les; demandez de l'aide au besoin à votre enseignant.
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "3e6182e1ad41cd0c966bafd7c7405f45", "grade": false, "grade_id": "cell-bf0808a9dcb0b577", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Exercice 5 : Retour sur le TD
Travaillez successivement sur les deux feuilles suivantes :
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "9e02be34bb97f5a80a6ad0f6e9729ec5", "grade": false, "grade_id": "cell-bf0808a9dcb0b578", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Exercice 6 : Pour la semaine prochaine
-
Vous vérifierez que vous pouvez vous connecter au service JupyterHub depuis chez vous et que vous pouvez y exécuter vos feuilles Jupyter (voir exercice « Service JupyterHub » ci dessus).
-
Terminez les fiches Jupyter de ce TP, soit en salle informatique de l'université, soit depuis chez vous en utilisant le service JupyterHub.
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "72cd89adbc36aa95e2dcc50f3cd6e55d", "grade": false, "grade_id": "cell-bf0808a9dcb0b57a", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Note :
Vous pouvez aborder les exercices ♣️ suivants dans l'ordre que vous souhaitez.
Pour les réaliser, vous créerez au fur et à mesure de nouvelles
feuilles de travail (notebook). Pour cela : utilisez le menu Fichier -> Nouveau -> Notebook
et sélectionnez le noyau Python 3
ou C++ 17
. Vous noterez dans le titre de l'onglet que votre feuille
s'appelle Untitled.ipynb
; utilisez un clic droit sur le titre de
l'onglet et choisissez Renomer
dans le menu pour donner un nom
informatif à la feuille.
Indication :
Pour que le dépôt sur GitLab tienne compte de vos nouveaux fichiers,
vous devez au préalable les déclarer au système de gestion de version
sous-jacent git
. Par exemple, pour déclarer un nouveau fichier
mon_fichier.md
que vous avez créé dans votre répertoire Semaine2
,
vous ouvrirez un terminal et ferez :
cd ~/ProgImperative/Semaine2
git add mon_fichier.md
Il sera alors inclus dans tous les dépôts ultérieurs.
Exercice ♣️ : Euler forever!
Vous trouverez sur le site du projet Euler https://projecteuler.net une série de problèmes mathématiques qui nécessitent chacun une combinaison de réflexion sur feuille et de programmation (voir http://submoon.freeshell.org/fr/sphinx/euler.html pour avoir les énoncés en français).
Essayez de résoudre les problèmes 1, 2, 5 et tous ceux qui vous plairont!
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "1265a7c7fccab11b7f710a2d6abf74be", "grade": false, "grade_id": "cell-bf0808a9dcb0b579", "locked": true, "schema_version": 3, "solution": false, "task": false}}
Exercice ♣️ : Python
Dans le cours «Introduction à la programmation», vous (re)découvrirez
le langage de programmation Python. Pour prendre un peu d'avance,
refaites le TP en utilisant cette fois Python
.
Vous pouvez consulter la feuille «Résumé de la syntaxe de base Python», fournie dans la feuille de TD en parallèle à celle pour C++.