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 à les formaliser, en y ajoutant expressions et variables.

TP

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

Exercice: Notes de cours

  1. Consultez le poly de l’Amphi 1 sur la page web du cours.

  2. Que signifie syntaxe? Et sémantique? Vérifiez dans le poly.

  3. Quelle est la syntaxe et la sémantique de l’affectation de variables? Vérifiez dans le poly.

Exercice: Téléchargement du sujet de TP

  1. Ouvrez un terminal (vous pouvez consulter l’exercice 2 du TP 1).

  2. Exécutez la commande info-111 et observez le résultat.

  3. Vous venez de lire la documentation de la commande info-111. Téléchargez le sujet de TP «Semaine2» en suivant les instructions données à ce sujet par cette documentation. Remarque: Si vous n’avez pas fait le TP1, vous aurez besoin d’activer votre compte gitlab (voir TP1).

  4. Consultez la liste des fichiers de votre nouveau répertoire ~/ProgImperative/Semaine2/ à l’aide de la commande ls (cf. l’UE Introduction à l’Informatique pour ceux qui la suivent):

    ls ~/ProgImperative/Semaine2/
    

Exercice: Jupyter: affectations, conditionnelles, fonctions

  1. Démarrez Jupyter:

    • En salle de TP: vous n’avez pas besoin de vous connecter au serveur JupyterHub. Si vous ne vous souvenez plus de la commande exacte, tapez info-111 dans un terminal.

    • Sur JupyterHub: Jupyter est déjà lancé!

  2. Naviguez jusqu’à votre répertoire Semaine2.

  3. Sélectionnez la feuille de travail feuille1-valeurs-types-variables.md. Suivez les instructions qu’elle contient. Rappel: ne fermez pas le terminal où vous avez le cas échéant lancé Jupyter.

  4. De même avec feuille2-conditions-fonctions.md.

Exercice: Dépôt de votre travail

  1. Exécutez la commande info-111 dans un terminal disponible : si votre terminal est occupé par Jupyter, ouvrir un autre terminal.

  2. Suivez les instructions indiquées pour déposer votre travail, en veillant à bien préciser votre groupe.

  3. N’oubliez pas de déposer à nouveau votre travail en fin de séance, afin que tout soit bien sauvegardé.

Exercice: Service JupyterHub

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 du TP 1 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.

  2. Fermez votre serveur avec Control Panel -> Stop My Server, puis fermez la page.

Exercice: Retour sur le TD

  1. Ouvrez (avec Jupyter) la feuille feuille-3-td-exercice-3 et implantez en C++ les algorithmes de l’exercice 3 du TD. Pensez à faire des tests pour vérifier vos réponses.

  2. De même pour l’exercice 4 dans la feuille feuille-4-td-exercice-4.

Exercice: Pour la semaine prochaine

  1. Vérifiez que vous pouvez vous connecter au serveur JupyterHub depuis chez vous et que vous pouvez y exécuter vos fiches 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 serveur 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. Pour cela, depuis le navigateur de fichiers de Jupyter, choisissez New -> C++ ou New -> Python 3. Puis dans la barre d’en-tête, vous cliquerez sur Untitled pour donner un nom informatif à la feuille.

Indication

Pour que la soumission 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 ferez:

    cd ~/ProgImperative/Semaine2
    git add mon_fichier.md

Il sera alors inclus dans toutes les soumissions ultérieures.

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», fournie dans la feuille de TD en parallèle à celle pour C++.