la page avec les exemples de la dernière fois
Si vous rencontrez des difficultés avec les exercices ci-dessus, vous pouvez en savoir plus sur la Programmation modulaire et les définitions des commandes ici (ou dans le livre Chapitre 2):
Définir et utiliser de nouvelles commandes
Si vous rencontrez des difficultés avec les “Boucles simples” vous pouvez en lire plus dans le livre Chapitre 3, page 30, ou suivre ce lien:
#Un programme qui montre les nombres naturels jusqu'au paramètre donné
def afficher_les_nombres_jusqua(maximum):
numero_actuel = 0
repeat maximum:
print numero_actuel
numero_actuel = numero_actuel + 1
def afficher_les_nombres_jusqua_v2(maximum):
numero_actuel = 0
while numero_actuel <= maximum:
print numero_actuel
numero_actuel = numero_actuel + 1
afficher_les_nombres_jusqua(10)
lien vers l'exercice sur plateforme
Développez un programme “d’identification” qui permet à un utilisateur de se “loguer sur l’ordinateur”. Les logins valables sur l’ordinateur sont les suivants, mentionnés avec le mot de passe correspondant :
TartempionJ (mot de passe: 8ahH8$8AHZ)
DoeJ (mot de passe: Rikiki1_0)
Lorsque l’utilisateur DoeJ se connecte avec succès, le système de login doit afficher la phrase “Welcome back, John!”. Lorsque c’est TartempionJ qui se connecte, le système doit lui répondre “Bonjour Monsieur Tartempion, comment allez-vous aujourd'hui?”.
Tous les autres utilisateurs doivent recevoir le message “Accès refusé”. Si l’utilisateur saisit l’un des comptes utilisateur existants mais se trompe de mot de passe, il doit également recevoir le même message.
Commencez par dessiner dans votre cahier l’ordinogramme de ce programme. Complétez ensuite le programme ci-dessous directement dans l’éditeur:
Réflexion sécurité informatique
Dans ce programme, on stocke les mots de passe des utilisateurs “en clair”. Quel danger potentiel de sécurité cela peut-il poser? Comment pourrait-on résoudre ce problème?
user_name = input("Login: ")
if user_name == "DoeJ":
print("Welcome back, John!")
print("Accès refusé")
Développez une commande spirale(nb_cotes, cote_initial, increment, angle, cote_max) qui dessine une spirale dont le premier côté dessiné vaut cote_initial et qui augmente à chaque fois la longueur des côtés de increment. La tortue doit tourner de angle degrés entre chaque côté.
Testez ensuite votre commande avec différentes valeurs pour les paramètres.
from gturtle import * makeTurtle() def spirale(nb_cotes, cote_initial, increment, angle): # compléter le code ici
Un exemple plus simple pour une spirale carrée:
from gturtle import *
def spirale(cote, cote_max):
while cote<cote_max:
forward(cote)
left(90)
cote=cote+5
makeTurtle()
hideTurtle()
spirale(5, 150)