Vous êtes sur la page 1sur 6

Mini-projet

Travail attendu :

I Se choisir un binôme ou trinôme

I Choisir un sujet de mini-projet.

I Réfléchir à un script fonctionnel.

I Faire intervenir le plus de notions possible rencontrées en NSI, utiliser des fonc-
tions et utiliser le type list si le sujet s’y prête.

I Rendre un fichier Python et un rapport de projet par groupe le mardi 16/01/24


(en une page, élaboré avec l’outil informatique, décrivant la progression du travail,
l’organisation à deux ou trois, les difficultés rencontrées, éventuellement les amé-
liorations possibles, ainsi que l’explication du fonctionnement du programme, les
paquets additionnels installés...au format .pdf). Attention à l’orthographe (utiliser
scribens.fr). Envoyer par mail csilyon.fr.

I Présenter le travail avec un diaporama (à deux, en 8 minutes avec diaporama, prise


de parole équilibrée) le mardi 23 janvier (évaluation notée).

Quelques conseils :

J Ne pas travailler à la dernière minute.

J L’objectif est de réfléchir par soi-même. Mieux vaut choisir un sujet de difficulté
adaptée plutôt que de présenter une solution toute fait trouvée sur le web ou géné-
rée par un intelligence artificielle.

J Écrire un code lisible, abondamment et correctement commenté, en limitant la


longueur des lignes (à couper avec un backslash ou une contre-oblique).

J Présenter un travail maîtrisé, répondant au problème posé. Après cela, des amélio-
rations peuvent être envisagées (suggérées par le sujet ou non).

Sujet 1 : bissextile or not bissextile

Éditer un programme qui demande en entrée l’année choisie et qui renvoie en sortie un
affichage pour dire si c’est une année bissextile ou non. Il faudra tenir compte de toutes
les exceptions. Voir :

http://fr.wikipedia.org/wiki/Ann%C3%A9e_bissextile

Complément : présenter les différents bugs informatiques ayant eu de lourdes consé-


quences (Thérac-25, Ariane 5, Mariner 1, problème logiciel de l’ADIRU, Mars Climate
orbiter,...)

Sujet 2 : Fedex
Une entreprise expédie à ses clients 4 types de colis : ceux de type1, ceux de type2, ceux
de type3 et ceux de type4. Elle facture alors à ses clients, en fonction du type et du poids,
un certain prix d’expédition :
poids jusqu’à colis de type1 colis de type2 colis de type3 colis de type4
1 kg 1e 2e 3e 4e
3kg 3e 6e 9e 12e
5kg 5e 10e 15e 20e
10 kg 10e 20e 30e 40e
Écrire un programme qui affiche le tarif de livraison du colis en fonction de son type et
de son poids.

Sujet 3 : Hasbro

En s’inspirant du travail fait en classe, éditer un programme de bataille navale, réalisé


sur une grille de 100 cases (10 par 10). La position du bateau (1 case) sera déterminée
aléatoirement. L’affichage "en vue" sera proposé uniquement pour les cases contigües
au bateau.

Amélioration : le bateau occupe deux cases. Apparition du message "touché", le bateau


coule lorsque les deux cases sont touchées.

Sujet 4 : DAB

Un Distributeur Automatique de Billets contient des billets de 10, 20, 50, 100, 200, 500
e. On suppose illimité le nombre de billets de chaque type contenu dans le DAB. Écrire
un programme demandant la somme voulue à l’utilisateur et qui renvoie une répartition
proposant le moins de billets possible (et indique le message "impossible de verser cette
somme" lorqu’il est impossible de verser la somme)

Amélioration : proposer à l’utilisateur d’effectuer (ou non) un autre retrait.

Sujet 5 : calendrier Grégorien (1582)

Faire une recherche sur le calendrier Grégorien et sur les règles concernant les années
bissextiles.
Écrire un programme qui demande en entrée une date postérieure à 1582 (sous la forme
jour, mois, année) et qui donne le jour de la semaine correspondant.

Sujet 6 A : tortue

Faire une recherche sur le module turtle.


Écrire un programme qui permet de dessiner avec turtle le trapèze isocèle, le cerf-volant,
le fer de lance suivants :
Améliorations : ajouter couleur, remplissage, légendes à vos dessins.

Sujet 6 B : tortue

Faire une recherche sur le module turtle.


Écrire un programme qui permet de dessiner avec turtle une figure de ce genre :
Sujet 6 C : tortue

Faire une recherche sur le module turtle.


Écrire un programme qui permet de dessiner avec turtle une figure de ce genre :

Sujet 6 D : tortue
Faire une recherche sur le module turtle.
Écrire un programme qui permet de dessiner avec turtle une figure de ce genre :

Sujet 7 : pgcd, ppcm

Faire une recherche sur les notions de pgcd et de ppcm, ainsi que sur leur utilité.
Écrire un programme qui demande en entrée deux entiers naturels et renvoie en sortie
leur pgcd et leur ppcm.
Utiliser ce programme pour déterminer deux entiers naturels de trois chiffres, dont le
pgcd est égal à un (on dit qu’ils sont premiers entre eux).

Améliorations : on pourra proposer plusieurs méthodes de calcul du pgcd.


Sujet 8 : système

Faire une recherche sur la résolution d’un système linéaire de deux équations à deux
inconnues :
(
a1 x + b1 y = c1
a2 x + b2 y = c2

Écrire un programme qui permet la résolution de ce système.

Sujet 9 (avancé) : quel est ce nombre ?

Éditer un programme qui génère un nombre entier aléatoire entre 0 et 999 et qui pro-
pose à l’utilisateur de deviner ce nombre, en affichant, à chaque fois que l’utilisateur se
trompe, "le nombre est plus grand" ou "le nombre est moins grand".

Amélioration : comptabiliser le nombre d’essais du joueur et l’afficher, permettre à l’uti-


lisateur de rejouer ou non.

Sujet 10 (avancé) : Blackjack simplifié

Éditer un programme qui permet de jouer au blackjack : ce jeu oppose un joueur à la


banque, le but étant d’approcher 21 sans le dépasser. À chaque tour le joueur peut lan-
cer le nombre de dés (à 6 faces) qu’il souhaite, le total est calculé. La banque doit alors
lancer autant de dés que le joueur. Si l’un des deux dépasse 21, la partie est perdue, si les
deux dépassent 21, la partie est considérée comme nulle, sinon, le joueur peut continuer
à lancer à nouveau un certain nombre de dé(s) pour se rapprocher encore plus de 21.

Amélioration : permettre au joueur de rejouer (ou non), comptabiliser le nombre de par-


ties gagnées par le joueur.

Sujet 11 (avancé) : écritures binaires

Écrire un programme qui demande en entrée un entier naturel (écrit en base 10) et ren-
voie en sortie son écriture binaire.

Améliorations : proposer à l’utilisateur le choix de la base k (k allant de 2 à 9), proposer


un programme permettant de donner l’écriture en base 10 d’un nombre écrit en binaire.
Proposer la base 16.
Sujet 12 (avancé) : jeux de billes

On dispose de vingt billes et de deux joueurs. Chaque joueur choisit de retirer, à tour de
rôle, un nombre de billes égal à 1, 2 ou 3 (uniquement).
Le joueur qui prend la dernière bille a perdu.
Écrire un programme permettant de jouer à ce jeux avec l’ordinateur, qui choisira aléa-
toirement le nombre de bille à retirer.

Améliorations : proposer à l’utilisateur de choisir le nombre total de billes de départ, plu-


tôt qu’il soit imposé à 20.
Permettre au joueur de rejouer, fournir le nombre de parties gagnées, imaginer une stra-
tégie pour rendre l’ordinateur plus « intelligent ».

Sujet 13 : Jeu d’aventure textuel en console

Éditer un programme permettant de jouer à un jeu d’aventure textuel en console du type


jeu dont vous êtes le héros.

Sujet 14 : sujet libre ( ?)

Sujet choisi par le binôme. Se limiter à une centaine de lignes d’environ 100 caractères.

Bonnes pratiques pour le codage : les 10 commandements de la PEP8 (à lire et relire !)


http://media.jehaisleprintemps.net/talks/pep8-talk/#slide1

Vous aimerez peut-être aussi