Aller au contenu principal

Module 1.1 – Penser comme un programmeur

Objectif

Comprendre la logique avant le code. Développer une pensée algorithmique en analysant des problèmes de la vie quotidienne et en les décomposant en étapes logiques.

Théorie

Qu'est-ce que programmer ?

Programmer, c'est donner des instructions précises à un ordinateur pour qu'il résolve un problème. L'ordinateur est très puissant mais très bête : il fait exactement ce qu'on lui dit, rien de plus, rien de moins.

Analogie : Programmer, c'est comme donner des instructions de cuisine à quelqu'un qui ne connaît rien. Il faut être très précis et dans le bon ordre.

Le concept de problème → solution

Toute programmation commence par :

  1. Identifier le problème : Que veut-on faire ?
  2. Analyser le problème : Quelles sont les étapes nécessaires ?
  3. Créer une solution : Écrire les instructions
  4. Tester la solution : Vérifier que ça fonctionne
  5. Améliorer si nécessaire : Corriger les erreurs

Instructions, ordre, logique

Instructions

Une instruction est une action précise à exécuter.

Exemple :

  • ❌ "Fais quelque chose de bien"
  • ✅ "Ajoute 5 à la variable nombre"

Ordre

L'ordre des instructions est crucial. Changer l'ordre peut changer complètement le résultat.

Exemple - Préparer un café :

  1. Mettre de l'eau dans la bouilloire
  2. Allumer la bouilloire
  3. Attendre que l'eau bouille
  4. Verser l'eau dans la tasse
  5. Ajouter le café

Si on inverse les étapes 1 et 2, ça ne fonctionne pas !

Logique

La logique détermine quand et comment exécuter les instructions.

Types de logique :

  • Séquentielle : Faire une chose après l'autre
  • Conditionnelle : Faire quelque chose SEULEMENT si une condition est vraie
  • Répétitive : Répéter quelque chose plusieurs fois

Exemples de la vie réelle

Exemple 1 : Recette de cuisine

Problème : Faire un sandwich

Solution (instructions ordonnées) :

  1. Prendre 2 tranches de pain
  2. Prendre du beurre
  3. Étaler le beurre sur une tranche
  4. Ajouter la garniture (jambon, fromage, etc.)
  5. Mettre la deuxième tranche de pain
  6. Couper en deux (optionnel)

Si on oublie une étape ou change l'ordre, le résultat est différent !

Exemple 2 : GPS

Problème : Aller du point A au point B

Solution (algorithme GPS) :

  1. Détecter la position actuelle
  2. Demander la destination
  3. Calculer l'itinéraire
  4. Pour chaque étape de l'itinéraire :
    • Afficher la direction
    • Vérifier si on suit bien
    • Passer à l'étape suivante
  5. Arrivé à destination : afficher "Vous êtes arrivé"

Logique conditionnelle : "Si vous dépassez la sortie, recalculer l'itinéraire"

Exemple 3 : Feu tricolore

Problème : Gérer la circulation à un carrefour

Solution (algorithme du feu) :

  1. Feu vert : 30 secondes
    • Les voitures peuvent passer
  2. Feu orange : 5 secondes
    • Attention, le feu va passer au rouge
  3. Feu rouge : 30 secondes
    • Les voitures doivent s'arrêter
  4. Répéter depuis l'étape 1

Logique répétitive : Le cycle se répète indéfiniment

Penser en étapes

Pour devenir un bon programmeur, il faut apprendre à :

  1. Décomposer : Diviser un gros problème en petits problèmes
  2. Séquencer : Mettre les étapes dans le bon ordre
  3. Vérifier : S'assurer que chaque étape est correcte
  4. Tester : Vérifier que la solution fonctionne

Exercice

  1. Analyser une tâche quotidienne

    • Choisissez une action simple (ex: se brosser les dents, faire un café)
    • Écrivez toutes les étapes dans l'ordre
    • Vérifiez qu'aucune étape n'est oubliée
    • Testez mentalement : est-ce que ça fonctionne si on suit ces étapes ?
  2. Trouver les erreurs

    • Voici des instructions pour "faire un sandwich" dans le désordre :
      • Mettre la deuxième tranche de pain
      • Prendre 2 tranches de pain
      • Ajouter la garniture
      • Étaler le beurre
    • Remettez-les dans le bon ordre
  3. Créer votre propre algorithme

    • Choisissez une tâche (ex: envoyer un email, faire une recherche web)
    • Écrivez les instructions étape par étape
    • Vérifiez la logique

🧠 Quiz

  1. Qu'est-ce que programmer ?

    • Utiliser un ordinateur
    • Donner des instructions précises à un ordinateur pour résoudre un problème
    • Jouer à des jeux vidéo
  2. Pourquoi l'ordre des instructions est-il important ?

    • Parce que c'est plus joli
    • Parce que changer l'ordre peut changer complètement le résultat
    • Parce que l'ordinateur l'exige
  3. Dans l'exemple du GPS, quelle logique est utilisée pour "recalculer si on se trompe" ?

    • Logique séquentielle
    • Logique conditionnelle
    • Logique répétitive
  4. Que signifie "décomposer un problème" ?

    • Le rendre plus compliqué
    • Diviser un gros problème en petits problèmes
    • Le supprimer
  5. Dans l'exemple du feu tricolore, quelle logique est utilisée ?

    • Logique séquentielle uniquement
    • Logique conditionnelle uniquement
    • Logique répétitive (le cycle se répète)

🚀 Mini défi

Mission : Créer un algorithme complet

Choisissez UNE des tâches suivantes et créez un algorithme détaillé :

Option A : Préparer un repas simple

  • Décrivez toutes les étapes
  • Incluez les conditions (ex: "Si les pâtes sont cuites, les égoutter")
  • Incluez les répétitions (ex: "Répéter jusqu'à ce que les légumes soient coupés")

Option B : Organiser une journée de travail

  • Décrivez les étapes de votre routine
  • Incluez les conditions (ex: "Si c'est lundi, faire les réunions")
  • Incluez les répétitions (ex: "Répéter toutes les heures : vérifier les emails")

Option C : Résoudre un problème pratique

  • Choisissez un problème de votre quotidien
  • Analysez-le en étapes
  • Créez un algorithme pour le résoudre

Critères de réussite :

  • ✅ Au moins 10 étapes détaillées
  • ✅ Au moins une condition (SI... ALORS...)
  • ✅ Au moins une répétition (RÉPÉTER...)
  • ✅ Instructions claires et précises
  • ✅ Test mental : ça fonctionne si on suit les étapes

Objectif : Développer votre capacité à penser de manière structurée et logique, comme un programmeur.


✅ Validation : Vous pouvez passer au module suivant quand vous êtes capable d'analyser une tâche et de la décomposer en étapes logiques claires.