☀️
420-1G2-HU Logique de programmation
  • 👋Bienvenue dans le cours de logique de programmation!
  • Bases de la logique de programmation
    • Concepts de la programmation
    • Les opérateurs
      • Exercices
    • Les commentaires
  • Les données
    • Les données et types simples
    • Les variables, les constantes et les opérations de base
    • Les opérations d'écriture et de lecture
    • Les opérations sur les chaînes de caractères
    • Laboratoire 1 - données
    • Laboratoire 2 - données
  • Les collections de données
    • Les listes
    • Les opérations sur les listes
    • Laboratoire listes - solution
    • Les dictionnaires
      • Exercices
  • Différents types de traitements
    • Structures logiques séquentielle
    • Structures logiques conditionnelles (if/else/elif)
    • Structures logiques répétitives (boucles)
      • Exercices de base
      • Laboratoire boucles - solution
  • Modularisation
    • Création et appels des fonctions
    • La documentation des fonctions
    • Annotation de types dans les fonctions
    • Laboratoire - fonctions (niveau débutant)
    • Révision express fonctions
    • Les modules
      • Laboratoire
  • La portée des variables
  • Débogage
    • 🫂Le débogueur, c'est ton ami!
      • Introductions aux outils de débogage
      • Techniques de débogage
    • Les erreurs et exceptions
      • Introduction aux notions d’erreurs
      • Les exceptions et leurs gestion
      • Exercices de base - avec solutions
      • Laboratoire débogage et gestion des erreurs -solution
  • Tests unitaires
    • Tests unitaires
    • Exercice
  • Cryptographie
    • Introduction à la cryptographie
  • Les fichiers
    • Accès aux fichiers
  • Résolution de problèmes
    • Résolution de problèmes : exercice introductif
    • Étapes d'analyse et de résolution de problèmes
  • Activités avec Légos
    • Introduction à la programmation
    • Consolidation sur les fonctions avec des blocs
    • Pratiquer les boucles avec des blocs
  • Laboratoires
    • Simulation combat - dragon vs chevalier
    • Simulateur de bataille - Les anneaux du pouvoir
    • Jeu de cartes
    • Lien logique mathématique
      • Algèbre de Boole
    • Crypto variée
    • Après Noël
  • git - système de gestion de versions
    • Introduction à Git
    • Étapes de création des dépôts Git
  • Classes inversées
    • Résolution de problèmes, fonctions et traitements conditionnels
  • Examens
    • Examen 2 - 2023
    • Examen 3 - 2023
    • Examen 2 - 2024
  • Révision
    • Fonctions, gestion d'erreurs et tests unitaires
    • Résolution de problème
  • Trucs utiles
    • Check-list
Powered by GitBook
On this page
  • But
  • Énoncé
  1. Tests unitaires

Exercice

PreviousTests unitairesNextIntroduction à la cryptographie

Last updated 7 months ago

[inspiré d'un exercice de Rémy Corriveau]

But

  • Se familiariser avec les tests unitaires.

  • Compléter un plan de tests.

  • Corriger des bogues trouvés par les tests unitaires.

  • Faire des commit réguliers à chaque bogue corrigé.

Énoncé

Roche, Papier, Ciseau est un jeu qui se joue entre deux joueurs. Le programme doit d’abord inviter chaque joueur à entrer son choix d’arme parmi les trois options : roche, papier ou ciseau. Une fois les choix saisis, le programme compare les armes en utilisant les règles suivantes :

  • Roche bat Ciseau

  • Ciseau bat Papier

  • Papier bat Roche

Un code rempli de bogues vous a été fourni.

Vous devez les trouver à l'aide des tests unitaires et du débogueur, puis les corriger en suivant ces instructions :

  1. Complétez le tableau suivant afin d'avoir un plan de test complet.

arme 1
arme 2
Résultat attendu
Résultat obtenu

roche

ciseau

"joueur 1"

...

ROCHE

ciseau

"joueur 1"

papier

ciseau

"joueur 2"

...

papier

CISEAU

"joueur 2"

ciseau

ciseau

"nulle"

...

feuille

...

None

...

marteau

None

  1. Créez le(s) test(s) unitaires basés sur votre tableau de test :

    1. Suivez la démarche AAA (Arrange Act Assert) dans chaque fonction de test.

    2. Vérifiez le type et comparez les résultats attendus et obtenus.

  2. Corrigez les bogues trouvés un à la fois. Assurez-vous d'avoir un message de commit pour chaque bogue corrigé.

2KB
roche_papier_ciseau.zip
archive