site2wouf.fr : Algorithme — Séquence 3

Pour se marier, il faut un témoin, comme pour un accident ou un duel.

Sacha Guitry (sur Mon tshirt!)

Partager :

Facebook X (Twitter) LinkedIn Email WhatsApp

1. Relecture du mémo des séquences 1 et 2

Après relecture du mémo (PDF), j'insiste sur la syntaxe :
mot[-3:] pour afficher les 3 derniers caractères d'une chaîne.

exemple.py

On travaille aujourd'hui sur un nouveau programme :

Code Python traduit en HTML:
mot=input("Entrez un mot :" )
while mot!="" :
    if mot[0] in "aeiouy" :
        print("ce mot commence par une voyelle" )
    elif mot[0] in "bcdfghjklmnpqrstvwxz" :
        print("ce mot commence par une consonne" )
    else:
        print(mot+" n'est pas un mot !" )
    mot=input("Encore un mot :" )

exemple.py v0.0.0

On teste le code :

Résultat de exemple.py

Analyse du code

On a déjà travaillé sur la boucle while.

On se souvient de la syntaxe != qui signifie "différent de" et de l'indentation dans toute la boucle while.

La nouveauté est le bloc :
if / elif / else

SI la première lettre de la chaîne stockée dans mot est DANS "aeiouy" ALORS on affiche : "ce mot commence par une voyelle"

SINON SI la première lettre est DANS "bcdfghjklmnpqrstvwxz" ALORS on affiche : "ce mot commence par une consonne"

SINON on informe l'utilisateur que la variable mot ne contient pas un mot.

Petit bug à corriger (exercice)

Un nouveau test révèle une erreur :

Bug avec la majuscule

Le programme ne fonctionne pas pour "Chien" alors qu'il fonctionne avec "chat". Voyez-vous pourquoi ? Avez-vous une solution ?

Évidemment, c'est à cause de la majuscule ! Et assez rapidement une solution est proposée :

Code Python traduit en HTML:
mot=input("Entrez un mot :" )
while mot!="" :
    if mot[0] in "aeiouyAEIOUY" :
        print("ce mot commence par une voyelle" )
    elif mot[0] in "bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ" :
        print("ce mot commence par une consonne" )
    else:
        print(mot+" n'est pas un mot !" )
    mot=input("Encore un mot :" )

exemple.py v1.0.0

Remarque

D'autres solutions étaient envisageables avec .upper() ou .lower() :

Exercice récapitulatif

Souvenons-nous de la première version de conjugueur.py :

Code Python traduit en HTML:
verbe=input("Bonjour, entrez un verbe et appuyer sur ENTREE     :"  )
""" le verbe de l'utilisateur est stocké dans la variable verbe"""  
while verbe !=""  :
    print(" Je dois conjuguer "  + verbe)
    """ Tant que la variable verbe ne contient pas une chaine vide on recommence"""        
    verbe=input("Entrez un verbe et appuyer sur ENTREE      :"  )


conjugueur.py V2

La consigne : en utilisant le contenu de cette séquence, transformer ce programme pour qu'il prévienne l'utilisateur que le verbe entré est un verbe du premier groupe.

Bonne réflexion !

Au cycle 4, les élèves s'initient à la programmation, en développant dans une démarche de projet quelques programmes simples, sans viser une connaissance experte et exhaustive d'un langage ou d'un logiciel particulier. En créant un programme, ils développent des méthodes de programmation, revisitent les notions de variables et de fonctions sous une forme différente, et s'entraînent au raisonnement.

Attendus de fin de cycle

Connaissances et compétences associées

Décomposer un problème en sous-problèmes afin de structurer un programme ; reconnaître des schémas. Écrire, mettre au point (tester, corriger) et exécuter un programme en réponse à un problème donné. Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs. Programmer des scripts se déroulant en parallèle. - Notions d'algorithme et de programme. - Notion de variable informatique. - Déclenchement d'une action par un événement, séquences d'instructions, boucles, instructions conditionnelles.

Exemples de situations, d'activités et de ressources pour l'élève

Jeux dans un labyrinthe, jeu de Pong, bataille navale, jeu de nim, tic tac toe. Réalisation de figure à l'aide d'un logiciel de programmation pour consolider les notions de longueur et d'angle. Initiation au chiffrement (Morse, chiffre de César, code ASCII...). Construction de tables de conjugaison, de pluriels, jeu du cadavre exquis... Calculs simples de calendrier. Calculs de répertoire (recherche, recherche inversée...). Calculs de fréquences d'apparition de chaque lettre dans un texte pour distinguer sa langue d'origine : français, anglais, italien, etc.

Repères de progressivité:

En 5e, les élèves s'initient à la programmation événementielle. Progressivement, ils développent de nouvelles compétences, en programmant des actions en parallèle, en utilisant la notion de variable informatique, en découvrant les boucles et les instructions conditionnelles qui complètent les structures de contrôle liées aux événements.

Liens utiles

Téléchargements