site2wouf.fr : Algorithme — Séquence 5

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.

Confucius (sur mon T shirt!)

Partager :

Facebook X (Twitter) LinkedIn Email WhatsApp

La problématique était la suivante : dans la séquence 4 nous avions un souci lié aux exceptions :

En outre, certains d'entre vous ont soulevé deux autres problèmes :

En me servant de vos travaux et en y apportant quelques améliorations, je vous propose de découvrir ce code :

Code Python traduit en HTML :
def premier_groupe(verbe):
    """ verbe est un verbe du premier groupe
    Cette fonction conjugue le verbe """
    print()
    print()
    print("Tableau de conjugaison du verbe "+verbe+" :")
    print("-------------------------------------------------------")
    print()
    print("Infinitif : "+verbe+" (premier groupe)")
    print()
    print("PRESENT :")
    print()
    radical=verbe[:-2]
    print("Je "+ radical +"e")
    print("Tu "+ radical +"es")
    print("Il "+ radical +"e")
    print(" À suivre !") # c'est à vous de jouer !

verbe=input("Bonjour, entrez un verbe et appuyez sur ENTRÉE : ")
""" le verbe de l'utilisateur est stocké dans la variable verbe """
while verbe !="" :
    # On nettoie le verbe des espaces inutiles
    verbe=verbe.strip()
    # On met le verbe en minuscule
    verbe=verbe.lower()
    print("Je dois conjuguer "+ verbe)
    if verbe[-2:]=="er" :
        """ On sait que le verbe finit par er
        mais cela pourrait être aller (exception) """
        if verbe=="aller" :
            print("Je ne sais pas encore conjuguer le verbe aller")
        else:
            premier_groupe(verbe)
    elif verbe[-3:]=="oir" : # Une idée de Théo de 3B — Collège Péguy d'Arras
        print(verbe+" semble être un verbe du troisième groupe (oir)")
    elif verbe[-2:]=="ir" :
        print(verbe+" semble être un verbe du deuxième groupe (ir)")
    else:
        print(verbe+" semble être un verbe du troisième groupe")
    """ Tant que la variable verbe ne contient pas une chaîne vide on recommence """
    print() # seulement pour passer une ligne !
    verbe=input("Entrez un autre verbe et appuyez sur ENTRÉE : ")

conjugueur.py version 0.2.0

Nouveautés

Le code est documenté (commenté). Pour chaque verbe entré, on le nettoie d'abord :

1. verbe = verbe.strip()

strip() supprime les espaces en début et en fin de chaîne.
Ainsi " Bonjour les amis ".strip() retourne "Bonjour les amis".

2. verbe = verbe.lower()

lower() transforme la chaîne en minuscules.
Ainsi "Bonjour les amis".lower() retourne "bonjour les amis".

Les fonctions

On crée une fonction selon ce schéma :

def nom_de_la_fonction(parametres):
    # Bloc d'instructions (indenté)

Votre mission

Bon courage !

En cas de besoin, vous pouvez relire les séquences précédentes via les liens en bas de page.

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