Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
2gy_2021:2gy06:s36_revision1 [2020/09/09 04:38] ilko |
2gy_2021:2gy06:s36_revision1 [2020/09/09 07:56] (Version actuelle) ilko |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Révisions sur la programmation (chapitres 1 à 4) ====== | + | [[2gy_2021/2gy06/s35_intro|la page avec les exemples de la dernière fois]] |
| + | ====== Révisions sur la programmation (chapitres 3 à 6) ====== | ||
| - | ==== Chapitre 4 Répeter des opérations ==== | + | ===== Chapitre 3 Répeter des opérations ===== |
| === Répeter des operations p.41 Exercice 1 et 2 === | === Répeter des operations p.41 Exercice 1 et 2 === | ||
| {{:2gy_2021:2gy06:p41_ex1_2.png?direct&800|}} | {{:2gy_2021:2gy06:p41_ex1_2.png?direct&800|}} | ||
| Ligne 20: | Ligne 21: | ||
| - | ==== Répétition des operations et paramètres (Chapitre 4) ==== | + | ===== Répétition des operations et paramètres (Chapitre 4) ===== |
| + | === p. 57 exercice 1 (commande avec des paramètres) === | ||
| + | |||
| + | {{ :2gy_2021:2gy06:p57_ex1.png?direct&600 |}} | ||
| + | |||
| + | === p. 57 exercice 2 === | ||
| {{ :2gy_2021:2gy06:p57_ex2.png?direct&600 |}} | {{ :2gy_2021:2gy06:p57_ex2.png?direct&600 |}} | ||
| + | |||
| + | |||
| + | ===== Variables (Chapitre 5) ===== | ||
| + | |||
| + | === p. 75 exercice 1 et 2 === | ||
| + | |||
| + | {{ :2gy_2021:2gy06:p75_ex1_2.png?direct&600 |}} | ||
| + | |||
| + | <code> | ||
| + | #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) | ||
| + | </code> | ||
| + | |||
| + | |||
| + | ===== Branchements et boucles conditionnelles (Chapitre 6)===== | ||
| + | |||
| + | ==== Exercice R1 ==== | ||
| + | [[https://courses.21-learning.com/runestone/books/published/doi-2gy-20-21/prog-if-while/prog-6-exercises-revision.html#exercice-r1|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? | ||
| + | |||
| + | <code> | ||
| + | user_name = input("Login: ") | ||
| + | |||
| + | if user_name == "DoeJ": | ||
| + | print("Welcome back, John!") | ||
| + | |||
| + | print("Accès refusé") | ||
| + | </code> | ||
| + | |||
| + | |||
| + | ==== Exercice R3 (de la dernière fois)==== | ||
| + | [[https://courses.21-learning.com/runestone/books/published/doi-2gy-20-21/prog-if-while/prog-6-exercises-revision.html#exercice-r3|Lien vers la plateforme]] | ||
| + | |||
| + | 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. | ||
| + | |||
| + | <code> | ||
| + | from gturtle import * | ||
| + | makeTurtle() | ||
| + | |||
| + | def spirale(nb_cotes, cote_initial, increment, angle): | ||
| + | # compléter le code ici | ||
| + | </code> | ||
| + | |||
| + | <WRAP center round info 100%> | ||
| + | |||
| + | Un exemple plus simple pour une spirale carrée: | ||
| + | <code> | ||
| + | from gturtle import * | ||
| + | |||
| + | def spirale(cote, cote_max): | ||
| + | while cote<cote_max: | ||
| + | forward(cote) | ||
| + | left(90) | ||
| + | cote=cote+5 | ||
| + | |||
| + | makeTurtle() | ||
| + | hideTurtle() | ||
| + | spirale(5, 150) | ||
| + | </code> | ||
| + | </WRAP> | ||
| + | |||
| + | ==== Exercice R2 (de la dernière fois)==== | ||
| + | |||
| + | [[https://courses.21-learning.com/runestone/books/published/doi-2gy-20-21/prog-if-while/prog-6-exercises-revision.html#exercice-r2|L'exercice sur les années bissextiles de la dernière fois]] | ||
| + | |||
| + | |||
| + | |||
| + | |||