Séance 4
Correction du sujet 1
Vous trouverez ici un proposition de correction du sujet 1.
Pour dimanche 05/03 minuit
- Créer un fichier nommé projet_2_nom_de_famille.py qui contient les réponses aux questions 1 à 4 (minimum) du deuxième sujet. Normalement, vous avez déjà effectué ce travail. Attention à respecter le nom du fichier. Il n'y a que des minuscules. Si votre nom comporte une lettre avec un accent, enlevez l'accent. Si votre nom de famille contient des espaces, des apostrophes ou des trais d'union, remplacez chacun de ces caratères par un tiret _
- Créer un compte rendu nommé projet_2_nom_de_famille.pdf.
Ce compte rendu doit contenir:
- une structure:
- un titre
- des parties: Question 1, Question 2, ...
- des explications des phénomènes observés
- des explications sur les morceaux de codes les plus pertinents
- les morceaux de code les plus pertinents
- des copies des graphiques obtenus aux questions 3 et 4
- une structure:
- Envoyer un courrier éléctronique à thomas.hocedez@free.fr et à guillaume.roux.math@free.fr. Le sujet du courrier doit rigoureusement être de la forme [AppAlgo2017][2][nom_de_famille] (2017...). Le courier doit contenir en pièces jointes les deux fichiers projet_2_nom_de_famille.py et projet_2_nom_de_famille.pdf.
Indications
- Vous pouvez vous aider de la correction du premier sujet disponible ici.
- Vous trouver un exemple simple d'utilisation de la fonction time.clock() dans le fichier compte_a_rebours.py.
Exemples de noms de fichiers
- fichier .py: projet_2_d_herouville.py
- fichier .pdf: projet_2_de_maillard.pdf
- sujet du mail: [AppAlgo2017][2][van_goethem]
Pour dimanche 19/03 minuit
- Créer un fichier nommé projet_3_nom_de_famille.py qui contient les réponses aux questions 1 à 5 (minimum) du troisième sujet. Attention à respecter le nom du fichier. Il n'y a que des minuscules. Si votre nom comporte une lettre avec un accent, enlevez l'accent. Si votre nom de famille contient des espaces, des apostrophes ou des trais d'union, remplacez chacun de ces caratères par un tiret _
- Envoyer un courrier éléctronique à thomas.hocedez@free.fr et à guillaume.roux.math@free.fr. Le sujet du courrier doit rigoureusement être de la forme [AppAlgo2017][3][nom_de_famille]. Le courier doit contenir en pièce jointe le fichier projet_3_nom_de_famille.py
Adresses éléctroniques
Séance 5
Correction projet 2
Disponible ici.
Norme
- les noms de familles doivent être en minuscule; les caractères spéciaux (espace, apostrophe, trait d'union...) remplacés par un tiret du bas _
- le sujet d'un courrier doit être de la forme [AppAlgo2017][numero_du_projet][nom_de famille]
- le nom du fichier .py doit être de la forme projet_numero-du-projet_nom-de_famille.py
- le nom du fichier .pdf doit être de la forme projet_numero-du-projet_nom-de-famille.pdf
- le fichier .py doit être encodé en utf-8 grâce à l'instruction
# -*- coding: utf-8 -*-
- le fichier .py doit être testé; une erreur (syntaxe, indentation, etc...) à l'exécution sera sanctionnée
- important: avant de rendre vos fichiers, changer le port de communication à chaque ligne où cela s'impose
#port='COM4' port='/dev/ttyACM0'
- si une question nécéssite un while True:
vous devez insérer le code à exécuter dans un bloc try::while True: ''' du code a executer dans le while '''
cela permet de sortir de la boucle while avec Ctrl-X Ctrl-C (Ctrl-Z, quelques fois)while True: try: ''' du code a executer dans le while ''' except: break
Exemples de noms de fichiers
- fichier .py: projet_2_d_herouville.py
- fichier .pdf: projet_2_de_maillard.pdf
- sujet du mail: [AppAlgo2017][2][van_goethem]
Pour mercredi 26/04 minuit
- Créer un fichier nommé projet_4_nom-de-famille.py qui contient les réponses aux questions 1 à 8 du quatrième sujet; la question 9 est hors-barème.
- Envoyer un courrier éléctronique à thomas.hocedez@free.fr et à guillaume.roux.math@free.fr. Le sujet du courrier doit rigoureusement être de la forme [AppAlgo2017][4][nom_de_famille]. Le courrier doit contenir en pièces jointes les fichiers projet_4_nom_de_famille.py et projet_4_nom_de_famille.pdf
Adresses éléctroniques
Séance 6
Correction projet 3
Disponible ici.
Séance 7
Correction projet 4
Disponible ici.
Pour vendredi 26/05 minuit
Cette page est susceptible d'être améliorée d'ici la date butoir. Elle doit être consultée régulièrement.
Instructions:
- Créer un fichier nommé projet_7_nom-de-famille.py qui contient les réponses commentées du cinquième sujet.
- Envoyer un courrier éléctronique à thomas.hocedez@free.fr et à guillaume.roux.math@free.fr. Le sujet du courrier doit rigoureusement être de la forme [AppAlgo2017][7][nom_de_famille]. Le courrier doit contenir deux pièces jointes:
- le fichier projet_7_nom_de_famille.py
- le fichier projet_7_nom_de_famille.pdf
- Toutes les informations ci-après sont importantes et seront prises en compte dans la notation.
Norme pour les noms de fichiers
- les noms de familles doivent être en minuscule; les caractères spéciaux (espace, apostrophe, trait d'union...) remplacés par un tiret du bas _
- le sujet d'un courrier doit être de la forme [AppAlgo2017][numero_du_projet][nom_de famille]
- le nom du fichier .py doit être de la forme projet_numero-du-projet_nom-de_famille.py
- le nom du fichier .pdf doit être de la forme projet_numero-du-projet_nom-de-famille.pdf
- si vous avez un homonyme, vous pouvez remplacer nom-de-famille par nom-de-famille_prénom
Exemples de noms de fichiers
- fichier .py: projet_7_d_herouville.py
- fichier .pdf: projet_7_de_maillard.pdf
- sujet du mail: [AppAlgo2017][7][beauvois_corentin]
Recommandations pour le fichier .pdf
Le compte rendu au format pdf doit contenir:
- le nom et le prénom de l'étudiant(e)
- un titre
- autant de parties que de questions
- des réponses rédigées aux questions qui le nécessitent
- des morceaux de code pertinents et commentés
- des graphes, si possible
- des photos/schémas des montages, si possible
Exemples de morceaux de codes pertinents
- une boucle réalisant une tâche précise:
while t2 - t1 < 5: t2 = time.clock() value = photores.read() data.extend([value]) time.sleep(0.001)
- des instructions conditionnelles:
if id_min == 0: LED_pin_one.write(ratio_one) elif id_min == 1: LED_pin_two.write(ratio_two) elif id_min == 2:
Exemples de morceaux de codes non pertinents
- les importations de modules:
import pyfirmata import time import pylab as pl
- l'initialisation de la carte:
board = pyfirmata.Arduino('COM3')
- les commandes d'affichage de graphes, si elles n'ont rien de spécial:
pl.plot(data) pl.show()
Norme pour le fichier .py
- le fichier .py doit être encodé en utf-8 grâce à l'instruction
# -*- coding: utf-8 -*-
- le fichier .py doit être testé; une erreur (syntaxe, indentation, etc...) à l'exécution sera sanctionnée
- important: avant de rendre vos fichiers, changer le port de communication à chaque ligne où cela s'impose
#port='COM4' port='/dev/ttyACM0'
- respecter les numéro de broches suggérés dans l'énoncé, par exemple:
temperature_pin = board.get_pin('a:0:i')
- si une question nécéssite un while True:
vous devez insérer le code à exécuter dans un bloc try::while True: ''' du code a executer dans le while '''
cela permet de sortir de la boucle while avec Ctrl-X Ctrl-C (Ctrl-Z, quelques fois)while True: try: ''' du code a executer dans le while ''' except: break
Fichier python pour la moyenne glissante
Vous pouvez vous aider du fichier graphe.py pour tester vos fonctions sur la moyenne glissante.