Skip to content
Snippets Groups Projects
user avatar
Nicolas M. Thiéry authored
b03b11b6
History
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

  1. Consultez les notes de cours de la semaine 1 sur le site web.
  2. Que signifie syntaxe? Et sémantique? Vérifiez dans les notes de cours.
  3. 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

  1. Utilisez le tableau de bord pour déposer votre travail sur GitLab (consultez au besoin la page Case départ du site web).

  2. 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.

  1. 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 :

  1. 04-td-exercice3.md.
  2. 05-td-exercice4.md.

+++ {"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

  1. 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).

  2. 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++.