Défis de programmation
Les défis de programmation sont des exercices autonomes. Ils te demandent de choisir toi-même une méthode de résolution en utilisant les notions vues dans les cours et les laboratoires précédents.
Contrairement aux laboratoires, les défis ne donnent pas toutes les étapes à suivre. Lis attentivement le besoin, planifie ta solution, puis programme et teste ton application.
Comment relever un défi
- Reformule le besoin avec tes propres mots.
- Identifie les informations à demander, les règles à respecter et les résultats à produire.
- Prévois au moins un résultat avant de programmer.
- Choisis les variables, conditions, boucles, fonctions ou structures de données nécessaires.
- Commence par une version simple qui répond au besoin principal.
- Teste ton programme avec plusieurs situations, y compris des cas inhabituels.
- Améliore ton programme seulement lorsque la version de base fonctionne correctement.
Les deux premiers défis portent uniquement sur la compréhension et l'analyse d'un mandat. Ils ne demandent aucun code. Dans les quatre premiers défis de programmation, une section Analyse avant de coder t'aide ensuite à appliquer la même méthode. Le soutien diminue progressivement afin que tu deviennes capable de préparer ta propre analyse.
Ce que tu trouveras dans chaque défi
Chaque défi présente un contexte, les besoins à respecter, les valeurs à utiliser, les notions attendues, les contraintes, un exemple complet et des critères de réussite. Les défis d'intégration sont plus longs et combinent plusieurs notions vues récemment.
Dans les exemples, respecte les libellés, leur ordre et les unités indiquées. Tu peux toutefois choisir les espaces, les bordures et l'apparence générale de ton affichage, à moins qu'une contrainte précise le contraire.
Chaque défi contient aussi une section Tests manuels et résultats attendus. Après avoir terminé ton programme, utilise les valeurs proposées, puis compare ce qui s'affiche ou ce qui est enregistré avec le résultat attendu indiqué.
Choisir un défi
Les défis sont classés dans un ordre progressif, mais ils ne dépendent pas des numéros de rencontres. Choisis un défi selon les notions que tu maîtrises déjà.
| Défi | Tu peux commencer si tu sais… |
|---|---|
| Compréhension : La commande de chandails | lire un court mandat et justifier une réponse à partir du texte; aucun code n'est demandé |
| Analyse : Le prêt d'équipement | organiser des informations et effectuer des calculs simples; aucun code n'est demandé |
| Affichage et chaînes : Billet de bienvenue | afficher du texte et utiliser une variable string |
| Variables et calculs : Coût des brochures | lire, convertir et calculer des valeurs numériques |
| Conditions : Tarif du centre des sciences | utiliser if, else if, else et les opérateurs logiques |
| Fonctions : Commande de pizzas | déclarer une fonction, utiliser des paramètres et retourner une valeur |
| Intégration — Conditions et fonctions : Bilan d'un atelier | combiner fonctions, conditions et calculs décimaux |
Boucle for : Préparation de trousses | répéter des instructions et accumuler une valeur |
| Tableaux 1D : Bilan des températures | créer et parcourir un tableau à une dimension |
| Intégration — Tableaux 1D et fonctions : Pointages de Uno | combiner tableaux, boucles, fonctions et conditions |
| Tableaux 2D : Plan de salle | parcourir les rangées et les colonnes d'un tableau 2D |
switch et boucles conditionnelles : Borne de conversion | créer et répéter un menu tout en validant les saisies |
| Intégration — Menus et tableaux 2D : Prototypes robots | combiner tableaux 2D, fonctions et menu répété |
| Écriture de fichiers texte : Journal d'entraînement | construire puis enregistrer une ligne de texte |
| Lecture de fichiers texte : Analyseur de journal | lire, séparer et convertir les données d'un fichier |
| Fichiers CSV : Rapport de ventes | lire et écrire des données séparées en colonnes |
| Objets et classes : Compte de fidélité | instancier un objet et utiliser ses propriétés et ses méthodes |
Au début de chaque défi, l'encadré Tu peux commencer ce défi si… te permet de vérifier tes préalables. Si une notion te manque, utilise les liens proposés pour la réviser avant de commencer.