Semaine 2 : premiers éléments de programmation impérative#

La semaine dernière, Laby nous a amené à la découverte de premiers éléments de la programmation impérative: programmes, fonctions, instructions conditionnelles et itératives. Cette semaine, nous allons commencer à formaliser ces éléments, en y ajoutant expressions et variables.

Cours#

TD : affectations, instructions conditionnelles#

TP#

Attention

Rappel Tout exercice non marqué d’un ♣ est à terminer pour la semaine prochaine.

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

Exercice 1 : Jupyter#

Chaque semaine, nous commencerons par une petite feuille pour vous familiariser progressivement à l’utilisation de Jupyter. Aujourd’hui, ce sera:

Exercice 2 : Jupyter, valeurs, types, types, variables, conditionnelles, fonctions#

Travaillez successivement sur les feuilles suivantes :

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

Exercice 4 : Service JupyterHub@Paris-Saclay#

Indication

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, …).

Attention

Cet exercice n’est à faire que si vous n’avez pas encore utilisé ce service ou si vous avez rencontré des difficultés. Demandez de l’aide au besoin à votre enseignant.

  1. Suivez les instructions de la page Case départ du site web pour vous connecter au service JupyterHub;

  2. Téléchargez-y vos TP 1 et 2 et consultez les;

Exercice 5 : Retour sur le TD#

Travaillez successivement sur les deux feuilles suivantes :

  1. 04-td-exercice3.md.

  2. 05-td-exercice4.md.

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.

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 Renommer dans le menu pour donner un nom informatif à la feuille.

Astuce

Astuce

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!

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.