Pensée informatique et résolution de problèmes

Découvre comment les informaticiens abordent les problèmes. Découvre ce qu’étudie l’informatique, puis exerce-toi aux quatre techniques de la pensée informatique : décomposer un problème, repérer des motifs, ne garder que les détails utiles et rédiger une solution précise étape par étape. Écris des algorithmes en pseudo-code avec des variables, des conditions et des boucles, représente-les par des organigrammes, vérifie-les à l’aide de tableaux de suivi d’exécution et de données de test, puis crée tes premiers programmes par blocs dans Scratch.

DébutantUnité 1 sur 7 de la formation Formation : Informatique : données, algorithmes, Internet et IA

Ce que tu vas apprendre

  1. Décris ce qu’étudie l’informatique, en quoi elle ne se limite pas à la programmation et comment la pensée informatique transforme un problème en une solution qu’une personne ou un ordinateur peut exécuter.
    • Décris ce qu’étudie l’informatique
      Explique que l’informatique étudie le calcul et l’information, nomme ses principaux domaines et décris tout calcul comme la transformation d’une entrée en sortie.
    • Décris la pensée informatique et ses quatre techniques
      Définis la pensée informatique, nomme la décomposition, la reconnaissance de motifs, l’abstraction et la conception d’algorithmes, puis utilise-les ensemble dans un processus de résolution de problèmes.
  2. Utilise la décomposition, la reconnaissance de motifs et l’abstraction pour transformer un problème vaste et flou en petites parties générales faciles à résoudre.
    • Décompose un problème en parties faciles à traiter
      Décompose un problème en sous-problèmes, organise-les en hiérarchie et détermine à quel moment une partie est assez petite pour être résolue directement.
    • Repère des motifs et généralise des solutions
      Trouve des ressemblances au sein d’un problème et entre plusieurs problèmes, réutilise les solutions des parties qui se répètent et généralise un motif pour qu’une solution couvre de nombreux cas.
    • Utilise l’abstraction pour te concentrer sur l’essentiel
      Conserve les détails nécessaires à un objectif, masque les autres et utilise des modèles et des procédures nommées comme abstractions aux entrées et sorties clairement définies.
  3. Décris ce qui rend un algorithme correct et utile, puis écris des algorithmes en pseudo-code avec des variables, des entrées et des sorties, des conditions et des boucles.
    • Explique ce qu’est un algorithme et ce qui fait sa qualité
      Définis un algorithme, vérifie la précision et l’exhaustivité des instructions et compare différents algorithmes pour un même problème selon leur correction et leur nombre d’étapes.
    • Stocke et modifie des données à l’aide de variables, d’entrées et de sorties
      Écris du pseudo-code qui lit des entrées, stocke et met à jour des valeurs dans des variables, effectue des calculs à l’aide d’opérateurs et produit des sorties.
    • Prends des décisions à l’aide de structures conditionnelles
      Écris des conditions avec des opérateurs de comparaison et des opérateurs logiques, puis utilise IF, ELSE et ELSE IF pour qu’un algorithme emprunte le bon chemin pour chaque entrée.
    • Répète des étapes à l’aide de boucles
      Utilise des boucles bornées et des boucles conditionnelles, tiens des totaux cumulés et des comptes, et évite les boucles infinies et les erreurs de décalage d’une unité.
  4. Dessine et lis des organigrammes, convertis des organigrammes en pseudo-code et inversement, puis vérifie des algorithmes en suivant leur exécution et en les testant avec des données bien choisies.
    • Lis et dessine des organigrammes
      Utilise les symboles et les lignes de liaison standard des organigrammes pour représenter les étapes d’un algorithme et lire le chemin qu’il suit.
    • Représente des décisions et des boucles dans des organigrammes et en pseudo-code
      Dessine des structures conditionnelles et des itérations dans des organigrammes et traduis un algorithme dans les deux sens entre organigramme et pseudo-code.
    • Suis l’exécution d’un algorithme, teste-le et débogue-le
      Vérifie un algorithme à la main avec un tableau de suivi d’exécution, choisis des données de test normales, aux limites et invalides, puis trouve et corrige les trois types d’erreurs.
  5. Utilise un environnement de programmation par blocs comme Scratch pour créer des programmes avec des séquences, des boucles, des conditions, des variables, des événements et des blocs personnalisés, et relie-les au pseudo-code et au code textuel.
    • Repère-toi dans un environnement de programmation par blocs
      Explique le fonctionnement de la programmation par blocs, nomme les éléments d’un projet Scratch et utilise les formes et catégories de blocs pour créer un script.
    • Crée des programmes par blocs avec des boucles, des conditions et des variables
      Utilise les blocs répéter, répéter indéfiniment, si-sinon et répéter jusqu’à ce que, les variables et le bloc demander pour créer des programmes interactifs, puis lis-les comme des algorithmes.
    • Utilise des événements et des blocs personnalisés, puis passe à la programmation textuelle
      Démarre des scripts avec des événements, coordonne des lutins avec des messages, définis des blocs personnalisés avec des entrées et transpose les mêmes idées aux langages textuels.

Pensée informatique : cours

5 chapitres

1

Les questions de l’informatique et la manière d’aborder un problème

L’informatique commence par des questions sur l’information et les processus utilisés pour la traiter. Décrire une tâche par ses entrées et ses sorties permet de clarifier l’objectif avant d’écrire du code. La pensée informatique fournit ensuite des moyens d’organiser le travail, de repérer des structures réutilisables, de sélectionner les détails importants et de construire une solution vérifiable. Ces méthodes sont utiles pour la planification quotidienne comme pour les programmes.

1.1 Calcul, information et problèmes qu’ils permettent de résoudre

Un ordinateur peut calculer un itinéraire, jouer un son ou organiser une liste de noms. L’informatique étudie les processus derrière ces tâches : comment l’information est représentée et traitée, quels problèmes peuvent être résolus et comment construire des systèmes qui mettent en œuvre les solutions.

Décrire un calcul

Un modèle de départ utile est entrée → traitement → sortie. Un calculateur d’itinéraire reçoit un point de départ et une destination. Il effectue une recherche dans les informations sur les routes, puis renvoie un itinéraire, une distance en kilomètres et une durée de trajet. Les informations routières sont aussi des données nécessaires au traitement. Le résultat visible ne constitue qu’une partie du calcul.

Énonce un problème informatique avant de choisir sa méthode. Par exemple : « Entrée : une liste de noms. Sortie : les mêmes noms par ordre alphabétique. » Cet énoncé précise à quoi doit ressembler un résultat correct. Il laisse la place à différentes méthodes pour le produire. Si la sortie omet un nom, elle ne résout pas le problème, même si les noms restants sont classés.

Au-delà de l’écriture de code

La programmation consiste à écrire des instructions dans un langage qu’un ordinateur peut exécuter. C’est une activité importante de l’informatique. Ce domaine plus vaste cherche aussi à savoir si une solution existe, quelle quantité de travail elle demande et comment les personnes peuvent l’utiliser facilement et en toute sécurité.

DomaineUne question étudiée
Algorithmes et théorieQuelles étapes résolvent un problème et que peut-on calculer ?
Langages de programmationComment exprimer clairement des instructions ?
Systèmes informatiquesComment le matériel, les systèmes d’exploitation et les réseaux permettent-ils d’effectuer des calculs ?
Données et bases de donnéesComment stocker, organiser et retrouver l’information ?
Intelligence artificielle et apprentissage automatiqueComment des systèmes peuvent-ils effectuer des tâches comme la reconnaissance de motifs ?
Interaction humain-machineComment les personnes peuvent-elles comprendre et utiliser un système ?
SécuritéComment protéger les données et les systèmes ?
InfographieComment créer et afficher des images ?
Génie logicielComment des équipes peuvent-elles construire et maintenir des programmes fiables ?

Les frontières entre ces domaines se recoupent. La conception d’un éditeur d’images peut faire intervenir à la fois l’infographie, l’interaction avec l’utilisateur et le génie logiciel. L’informatique contribue aussi à d’autres disciplines : les biologistes comparent des séquences d’ADN, les climatologues modélisent l’atmosphère et les artistes utilisent des logiciels pour créer des images et de la musique.

Disciplines voisines et limites pratiques

L’ingénierie informatique se concentre sur les dispositifs physiques comme les processeurs et les cartes électroniques. Les technologies de l’information se concentrent sur le choix, l’installation et l’exploitation des systèmes d’une organisation. La science des données associe les statistiques et l’informatique pour tirer des conclusions à partir de données. Ces disciplines partagent des méthodes avec l’informatique tout en mettant l’accent sur des activités différentes.

Les ordinateurs exécutent rapidement des instructions précises, souvent à raison de milliards d’opérations simples par seconde. La vitesse ne corrige pas une instruction imprécise. « Ajoute du sel » ne précise pas la quantité ; un processus destiné à une exécution automatique nécessite une action précise.

Il existe aussi des limites qui ne tiennent pas à la vitesse. Certains problèmes énoncés avec précision n’ont pas de solution algorithmique. D’autres ont des solutions qui demandent trop d’étapes pour être réalisables en pratique. Se demander ce qu’un ordinateur peut accomplir fait partie de l’informatique elle-même.

Points clés

  • L’informatique étudie le calcul, l’information et les systèmes qui la traitent.
  • L’énoncé d’un problème définit les entrées valides et les sorties attendues avant le choix d’une méthode.
  • La programmation exprime des instructions ; l’informatique étudie aussi la correction, la facilité d’utilisation, la sécurité et les limites du calcul.
  • L’entrée, le traitement et la sortie décrivent les rôles des données et des étapes dans un calcul.

1.2 Transforme un problème en un plan vérifiable

La pensée informatique rend un problème assez clair pour qu’il puisse être résolu étape par étape. Une personne peut exécuter la solution, un ordinateur peut le faire ou les deux peuvent se partager le travail. Cette réflexion consiste notamment à déterminer le sens du problème et la manière de vérifier un résultat.

Quatre techniques qui fonctionnent ensemble

La décomposition divise un problème en parties plus petites. La reconnaissance de motifs trouve des ressemblances ou des tâches répétées. L’abstraction conserve les détails nécessaires à un objectif et écarte les autres. La conception d’algorithmes transforme une solution en étapes précises et ordonnées.

Ces techniques sont des outils auxquels tu peux revenir selon tes besoins. Ce ne sont pas quatre cases à remplir dans un ordre imposé. Un test échoué peut révéler un sous-problème manquant. Un sous-problème répété peut suggérer une procédure réutilisable. Un modèle peut avoir besoin d’un détail supplémentaire avant que l’algorithme fonctionne.

Jeannette Wing a contribué à faire largement connaître le terme « pensée informatique » dans un essai de 2006. Son message central était que cette approche est utile à tous, au-delà des personnes qui travaillent comme programmeurs.

Comprendre, planifier, exécuter et vérifier

Le mathématicien George Pólya a décrit quatre étapes de résolution de problèmes en 1945. En informatique, elles conduisent à des actions concrètes :

  1. Comprendre le problème. Identifie les entrées, les sorties, les contraintes et les critères de réussite.
  2. Établir un plan. Choisis des tâches plus petites, des motifs utiles et un algorithme.
  3. Exécuter le plan. Exprime-le et exécute-le à l’aide de pseudo-code, d’un organigramme ou d’un programme.
  4. Revenir sur le résultat. Compare le résultat aux critères de réussite et révise la solution si nécessaire.

Une contrainte est une règle que la solution doit respecter, comme un temps maximal disponible. Un critère de réussite est un moyen de juger le résultat. « Produire une liste de courses regroupée avec les quantités nécessaires » peut être vérifié. « Améliorer les courses » laisse le résultat flou.

Étudier un plan de repas

Supposons que tu doives prévoir les repas du soir pour une semaine. Les entrées comprennent les recettes, le nombre de personnes et les aliments déjà disponibles. La sortie est un plan et une liste de courses. Les besoins alimentaires et le temps disponible pour cuisiner sont des contraintes.

Décompose le travail en trois tâches : choisir les repas, faire la liste et cuisiner. La reconnaissance de motifs montre que plusieurs recettes utilisent du riz et des oignons. L’abstraction représente un ingrédient par son nom et sa quantité, comme « riz, 1 kg », sans conserver la marque lorsque celle-ci n’a pas d’incidence sur le plan.

L’algorithme des courses peut maintenant être ordonné : choisir les repas, lister leurs ingrédients, regrouper les ingrédients répétés, soustraire ce qui se trouve déjà dans les placards et acheter ce qui reste. Regrouper les quantités avant de vérifier les placards évite de soustraire le même stock séparément pour chaque recette.

Vérifie le résultat par rapport aux repas. Chaque ingrédient nécessaire doit être disponible en quantité suffisante. S’il manque un ingrédient, suis la construction de la liste et révise l’étape concernée.

Une erreur courante consiste à commencer à coder avant de déterminer le résultat recherché. Un programme rapide peut résoudre fidèlement le mauvais problème. Ce sont toujours les personnes qui choisissent le modèle, les contraintes et les étapes ; l’ordinateur exécute les instructions qui expriment ces choix.

Points clés

  • La pensée informatique rend les solutions assez précises pour être exécutées par des personnes ou des ordinateurs.
  • La décomposition, la reconnaissance de motifs, l’abstraction et la conception d’algorithmes peuvent être utilisées dans tout ordre utile.
  • Note les entrées, les sorties, les contraintes et les critères de réussite avant d’implémenter une solution.
  • Utilise les tests pour guider les modifications du plan, du modèle ou des étapes.
  • Cette approche s’applique à la planification quotidienne comme aux logiciels.
2

Décompose les problèmes en parties utiles et réutilisables

Une tâche compliquée devient plus facile à résoudre lorsque ses parties, ses structures répétées et ses détails essentiels sont visibles. La décomposition donne un rôle à chaque partie, la reconnaissance de motifs révèle les méthodes que tu peux réutiliser et l’abstraction te permet de travailler avec un modèle simplifié. Les exemples montrent comment choisir ces limites et vérifier que le plan simplifié contient toujours tout ce qui est nécessaire pour accomplir la tâche initiale.

2.1 Divise le travail en parties qui s’assemblent

Il peut être difficile de garder à l’esprit un grand problème dans son ensemble. La décomposition le remplace par des sous-problèmes plus petits que tu peux comprendre, résoudre et vérifier séparément. Les parties doivent néanmoins pouvoir être combinées en une solution au problème initial.

Partir de l’ensemble pour aller vers les détails

Commence par la tâche principale. Divise-la en quelques responsabilités bien définies, puis affine chacune d’elles. C’est la décomposition descendante. Un arbre de décomposition place le problème entier en haut et les tâches plus petites en dessous. Les branches indiquent à quelle tâche appartient une tâche plus petite.

Pour une application de quiz, les parties principales sont le stockage des questions et des réponses, la présentation des questions, la vérification des réponses, puis la tenue et l’affichage du score. La partie « poser une question » peut être divisée en trois : afficher le texte de la question, afficher les choix de réponse et lire le choix de l’apprenant.

Un diagramme de structure textuel pourrait ressembler à ceci :

Run a quiz
    Store questions and answers
    Ask a question
        Show question text
        Show answer options
        Read the choice
    Check the answer
    Keep and show the score

Ces branches décrivent des responsabilités. Leur seule position verticale ne donne pas l’ordre complet d’exécution. Par exemple, l’application répète les questions et les vérifications tant qu’il reste des questions. Un algorithme distinct décrit ce déroulement.

Décider quand arrêter la décomposition

Une partie est assez petite lorsque tu vois comment la résoudre directement ou lorsqu’une méthode ou un outil existant la prend en charge. « Lire le choix » peut être une tâche exploitable une fois que tu sais comment l’interface recueille la saisie. La diviser en mouvements de main individuels ajouterait des détails qui n’aident pas à concevoir l’application.

Effectue d’abord la décomposition principale. Si tu commences par décrire de minuscules actions, tu risques de passer du temps sur un écran tout en oubliant une responsabilité entière, comme décider quand le quiz se termine.

Identifier les dépendances

Une dépendance signifie qu’une tâche a besoin du résultat d’une autre. Le quiz doit obtenir un choix avant de le vérifier, puis le vérifier avant de mettre à jour le score. Note ce que chaque partie reçoit et produit. Cela clarifie les échanges entre elles.

Les parties doivent être aussi indépendantes que possible. Si l’affichage passe de quatre boutons de réponse à une autre méthode de saisie, le calcul du score doit toujours fonctionner avec le résultat vérifié. Des limites claires permettent à plusieurs personnes de construire des parties séparées en même temps et facilitent les modifications ultérieures.

L’indépendance ne signifie pas que les parties n’échangent jamais d’informations. Elles ont besoin d’entrées et de sorties convenues. Une partie chargée du score qui attend TRUE ou FALSE ne peut pas utiliser directement le texte brut d’une partie qui affiche une question sans une étape de vérification de la réponse.

Chercher les lacunes et les chevauchements

Relis le problème initial et demande-toi si l’exécution de toutes les parties permettrait de terminer le travail entier. Le premier arbre ne montre pas quand le quiz s’arrête. Ajoute cette responsabilité au contrôle général du quiz. Demande-toi aussi si deux parties modifient toutes deux le score, ce qui pourrait compter deux fois une bonne réponse.

Vérifie chaque petite partie séparément, puis vérifie le processus assemblé. Un affichage de question correct et un vérificateur de réponse correct peuvent quand même échouer ensemble si l’un envoie un choix dans un format différent de celui attendu par l’autre.

Points clés

  • La décomposition sépare un problème entier en responsabilités plus petites.
  • Affine les parties principales avant de décrire leurs actions les plus petites.
  • Arrête lorsqu’une partie peut être résolue directement ou prise en charge par une solution existante.
  • Les dépendances déterminent quels résultats doivent être disponibles avant le début d’une autre tâche.
  • Vérifie que les parties assemblées ne laissent aucune lacune et n’effectuent aucune tâche deux fois.
  • Des entrées et des sorties claires facilitent la construction et l’assemblage de parties distinctes.

2.2 Trouve le motif et rends-le réutilisable

Un travail répété cache souvent une méthode réutilisable. La reconnaissance de motifs consiste à rechercher des ressemblances, des répétitions ou des tendances au sein d’un problème et entre différents problèmes. La question utile est de savoir ce qui reste identique et ce qui change.

Trouver une répétition dans une tâche

Pour dessiner un carré, un stylo en mouvement peut avancer de 100 pas et tourner à droite de 90 degrés, quatre fois. Cette paire d’actions se répète. Une boucle exprime cette paire une seule fois et indique le nombre de répétitions :

REPEAT 4 TIMES
    Move forward 100 steps
    Turn right 90 degrees

Ce motif rend la structure plus facile à voir. Il facilite aussi les modifications : changer la distance parcourue en un seul endroit modifie tous les côtés.

Remplacer les détails changeants par des paramètres

La généralisation permet à une solution de fonctionner pour une famille de cas. Un paramètre est une entrée nommée qui représente un détail susceptible de changer. Pour les polygones réguliers, le nombre et la longueur des côtés peuvent être des paramètres.

Un stylo qui parcourt le contour d’un polygone régulier effectue un tour complet. La rotation à chaque sommet est :

angle de rotation=360∘/n

Ici, n est le nombre de côtés. Répète la paire d’actions avancer et tourner n fois, en gardant la même longueur de côté et la même rotation à chaque fois.

Polygone régulierCôtésRotation à chaque sommet
Triangle3120°
Carré490°
Pentagone572°
Hexagone660°

La rotation est le changement de direction du stylo, pas l’angle intérieur du polygone. Pour un triangle, une rotation de 60 degrés ne produirait pas le trajet à trois côtés recherché.

Reconnaître la même méthode dans différents problèmes

Trouver le vol le moins cher, l’itinéraire le plus court et la meilleure note demande dans chaque cas de retenir la meilleure possibilité examinée jusque-là. Commence par une possibilité. Examine chacune des suivantes et remplace celle retenue lorsque la nouvelle est meilleure. Le sens de la comparaison change selon qu’on cherche la plus petite ou la plus grande valeur, mais le motif général reste utile.

Les motifs peuvent aussi organiser les données. Regrouper les dépenses en alimentation, transport et logement rend visibles leurs caractéristiques communes. Si les ventes de parapluies augmentent régulièrement lorsque la météo annonce de la pluie, un magasin peut utiliser cette tendance pour l’aider à prévoir son stock. Une tendance est un constat à examiner ; la raison qui l’explique compte lorsqu’on cherche à savoir si elle va se poursuivre.

Vérifier le motif proposé

Les nombres 1, 2, 4 ne déterminent pas un seul nombre suivant. Doubler donne 8. Augmenter les écarts de un donne 7, puisque les écarts sont jusqu’ici de 1 et 2. Il faut davantage de cas ou une règle expliquant la suite pour décider quel motif convient au problème.

Recherche les différences importantes avant de réutiliser une solution. Partager une addition à parts égales et la partager selon ce que chacun a commandé impliquent tous deux un total commun. La division à parts égales résout la première tâche, mais la seconde nécessite de connaître la commande de chaque personne. Ne réutilise la structure commune qu’après avoir identifié le détail qui modifie le résultat attendu.

Points clés

  • La reconnaissance de motifs trouve des structures réutilisables au sein des problèmes et entre eux.
  • La généralisation remplace les détails changeants par des paramètres nommés.
  • Un polygone régulier à n côtés utilise n déplacements égaux et des rotations de 360° / n.
  • Vérifie davantage de cas et les différences importantes avant de te fier à un motif.

2.3 Conserve les détails nécessaires à l’objectif

Un modèle peut être plus simple que la réalité tout en restant utile. L’abstraction conserve les informations nécessaires à un objectif précis et écarte les autres détails. Sa qualité dépend de sa capacité à répondre aux questions posées par la tâche.

Choisir un modèle adapté à la tâche

Un plan de métro conserve les stations, leur ordre sur chaque ligne et les correspondances. Ces détails aident un voyageur à préparer son trajet. Le plan peut déformer les distances et omettre le tracé des rues, car son objectif principal est de montrer les correspondances.

Ce même plan est un mauvais outil pour déterminer la distance à parcourir à pied entre deux stations. Le modèle a omis un détail nécessaire à ce nouvel objectif. Un détail est pertinent en fonction du problème, et non parce qu’il est intéressant en général.

Considère deux modèles d’une même voiture :

ObjectifDétails nécessaires au modèle
Jeu de courseVitesse, position et direction
Système de parkingNuméro d’immatriculation, heure d’arrivée et place de stationnement

Le jeu de course doit actualiser le mouvement. Le parking doit identifier la voiture et suivre son passage. Aucun des deux modèles n’a besoin de conserver toutes les caractéristiques physiques de la voiture.

Masquer des étapes derrière un nom clair

L’abstraction te permet aussi d’utiliser ce que fait un composant sans avoir à réfléchir à son fonctionnement à chaque fois. Choisir un programme de machine à laver ne t’oblige pas à commander directement son moteur.

Dans un algorithme, une procédure est un groupe d’étapes nommé. L’appel de son nom exécute ces étapes. Un nom comme average(list) indique une tâche tout en masquant le calcul répété. Une procédure qui renvoie un résultat à l’élément qui l’a appelée retourne une valeur. Celui-ci peut stocker cette valeur ou l’utiliser dans un autre calcul.

Un paramètre fournit à une procédure une entrée qui peut changer. drawPolygon(sides, length) possède deux paramètres. L’appel drawPolygon(6, 100) fournit six côtés et une longueur de 100 pas. Cela combine l’abstraction, qui masque les étapes du dessin, et la généralisation, qui permet différentes formes et tailles.

Les limites d’une procédure doivent être claires : quelles entrées accepte-t-elle et quel résultat ou quelle action produit-elle ? Pour une moyenne, une liste vide demande un traitement particulier, car aucun effectif ne permet d’effectuer la division. Masquer les étapes ne dispense pas de définir les entrées utilisables.

Construire des couches de compréhension

Une application de messagerie permet d’envoyer un message. En dessous, le système d’exploitation propose des services que l’application peut utiliser. À un niveau inférieur, le matériel exécute des opérations. Chaque couche s’appuie sur le comportement de la couche suivante sans exposer tous ses détails internes à son utilisateur. Une modification interne peut rester circonscrite tant que le comportement annoncé reste le même.

Les techniques se renforcent mutuellement. La décomposition identifie des parties. La reconnaissance de motifs trouve les parties qui partagent une structure. L’abstraction donne à ces parties des noms et des limites claires afin qu’elles puissent être combinées.

Une erreur d’abstraction courante consiste à supprimer un fait qui détermine si un résultat fonctionne. Un calculateur d’itinéraire qui ignore les rues à sens unique peut proposer un trajet impossible à parcourir. Pour vérifier un modèle, liste les décisions qu’il doit permettre de prendre et confirme que les données conservées suffisent pour chacune.

Points clés

  • L’abstraction conserve les informations pertinentes pour un objectif et masque les détails inutiles.
  • Un même objet peut nécessiter différents modèles pour différentes tâches.
  • Une procédure nomme des étapes réutilisables ; les paramètres fournissent des entrées et une valeur de retour est renvoyée à l’élément qui l’a appelée.
  • Une procédure avec des paramètres peut fournir à la fois une abstraction et une généralisation.
  • Les couches permettent à un composant de s’appuyer sur le comportement d’un autre sans exposer toutes ses étapes internes.
3

Exprime des algorithmes avec des variables, des conditions et des boucles

Un algorithme transforme un plan en instructions dont on peut suivre exactement le comportement. Les variables conservent l’état changeant, les conditions choisissent les chemins et les boucles répètent le travail jusqu’à ce qu’un nombre de passages ou une condition y mette fin. Étudier ces structures ligne par ligne montre pourquoi l’ordre des instructions compte. Tu compareras aussi des méthodes selon leur correction et leur nombre d’étapes, puis tu utiliseras le pseudo-code pour exprimer des calculs, des choix et des traitements répétés.

3.1 Écris une méthode qui se termine et donne le bon résultat

Un algorithme est un ensemble fini et ordonné d’instructions précises permettant de résoudre un problème ou d’accomplir une tâche. Pour une entrée valide, il produit la sortie attendue après un nombre fini d’étapes. Une recette, une notice de montage et la division posée utilisent toutes cette idée.

Vérifier les propriétés de la méthode

Un algorithme utile possède des entrées et des sorties définies. Chaque étape doit être assez précise pour n’avoir qu’un seul sens et assez effective pour pouvoir être exécutée. Les étapes doivent se terminer et leur résultat doit être correct pour chaque entrée valide.

« Trouver le plus grand nombre » indique un objectif, mais ne précise pas de méthode. « Examiner chaque nombre et retenir le plus grand trouvé jusque-là » donne une méthode qui peut être développée en instructions. Elle soulève aussi une question sur l’entrée : que doit-il se passer si la liste est vide ? Définir les entrées valides évite de laisser la méthode inachevée.

Les instructions de la vie quotidienne peuvent laisser des lacunes que les personnes comblent grâce à leur expérience. « Mets la confiture sur le pain » omet l’ouverture du pot et l’étalement d’une quantité sur une surface. Lorsque tu conçois une méthode destinée à une exécution automatique, indique les actions nécessaires au système qui l’exécute et place-les dans un ordre utilisable.

Séparer la méthode de son expression

Un algorithme est la méthode de résolution. Un programme exprime une méthode dans un langage de programmation afin qu’un ordinateur puisse l’exécuter. Le même algorithme peut apparaître en pseudo-code, dans un organigramme et dans des programmes écrits dans différents langages.

Trois structures de contrôle organisent l’exécution :

StructureDéroulement
SéquenceLes étapes s’exécutent les unes après les autres.
Structure conditionnelleUne condition choisit un chemin.
ItérationUn bloc d’étapes se répète.

Avec des variables, ces structures suffisent à exprimer tout algorithme. C’est l’idée derrière un résultat classique publié par Böhm et Jacopini en 1966. Un algorithme peut les combiner : parcourir une liste en répétant des étapes, tester chaque valeur et mettre à jour un résultat stocké en suivant une séquence.

Comparer des méthodes correctes

Supposons qu’un annuaire classé par ordre alphabétique comporte 1 000 pages. Vérifier les pages une par une peut demander 1 000 vérifications. Tourner deux pages à la fois et ne vérifier qu’une page sur deux demande jusqu’à environ 500 vérifications, plus un retour en arrière si le nom a été dépassé.

Une autre méthode ouvre la partie restante au milieu et conserve la moitié qui peut contenir le nom. Au plus 10 divisions par deux réduisent les 1 000 pages possibles à une seule :

1000 → 500 → 250 → 125 → 63 → 32
     → 16 → 8 → 4 → 2 → 1

Le classement permet d’écarter une moitié sans risque. Sans cet ordre, la moitié écartée pourrait contenir le nom. Cette hypothèse sur l’entrée fait partie de la méthode.

Pour 2 000 pages, vérifier chaque page peut demander deux fois plus de vérifications, tandis que la méthode par divisions successives n’en demande qu’une de plus : 11. Comparer la croissance du nombre d’étapes en dit plus que chronométrer une exécution sur une seule machine.

Vérifie la correction avant de vanter la vitesse. Une méthode qui examine seulement le premier et le dernier nombre d’une liste trouve par hasard 12 dans [7, 3, 12]. Elle manque le 12 dans [7, 12, 3]. Un exemple réussi ne suffit pas à établir que la méthode traite toute la plage d’entrées.

Points clés

  • Un algorithme doit être précis, effectif, fini et correct, avec des entrées et des sorties définies.
  • Un algorithme est une méthode ; un programme exprime des instructions dans un langage exécutable.
  • La séquence, la structure conditionnelle et l’itération organisent les étapes d’un algorithme.
  • Les hypothèses d’un algorithme sur ses entrées doivent être respectées pour que son raisonnement soit valide.
  • Compare les méthodes correctes selon la croissance du travail nécessaire lorsque la taille de l’entrée augmente.

3.2 Stocke des valeurs et mets-les à jour dans l’ordre

Le pseudo-code décrit un algorithme à l’aide d’instructions structurées et lisibles. Il n’est pas lié à un langage de programmation particulier. Il permet de travailler sur la logique avant de s’occuper de la ponctuation et des autres règles d’écriture d’un langage.

Lire la notation

Les mots-clés sont en majuscules : INPUT, OUTPUT, IF, WHILE et FOR. Chaque instruction occupe sa propre ligne. L’indentation montre quelles instructions appartiennent à un bloc. Un commentaire commence par // et explique le code sans ajouter d’action.

La flèche ← signifie affectation. D’autres styles de pseudo-code utilisent = ou SET … TO pour l’affectation. Ici, = compare des valeurs. Lis count ← 0 comme « count reçoit zéro ». Une variable est un emplacement nommé qui stocke une valeur susceptible de changer. Une constante a un nom mais garde la même valeur, comme PASS_MARK ← 50.

Le membre de droite d’une affectation est évalué en premier. Son résultat remplace l’ancienne valeur à gauche. Si count contient 4, count ← count + 1 lit l’ancienne valeur 4, ajoute 1 et stocke 5. C’est une instruction qui modifie une donnée stockée, pas une équation affirmant qu’un nombre est égal à lui-même plus un.

Adapter les opérations aux données
TypeSens et exemple
EntierNombre entier, comme 17
Réel ou nombre à virgule flottanteNombre qui peut avoir une partie fractionnaire, comme 21,5
Chaîne de caractèresTexte, comme « Lima »
BooléenTRUE ou FALSE
Liste ou tableauValeurs ordonnées, comme [18, 21, 19, 22, 20]

Additionner les nombres 12 et 3 donne 15. Joindre les chaînes « 12 » et « 3 » donne « 123 ». Choisis des noms descriptifs comme temperature et total pour que le rôle d’une valeur reste visible.

Les opérateurs arithmétiques comprennent +, −, * et /. DIV donne le quotient entier, tandis que MOD donne le reste. Ainsi, 17 DIV 5 vaut 3 et 17 MOD 5 vaut 2. Le test n MOD 2 = 0 permet de reconnaître un entier pair. Des comparaisons comme =, ≠, <, >, ≤ et ≥ produisent des valeurs booléennes.

Lire, calculer et afficher
INPUT minutes
hours ← minutes DIV 60
rest ← minutes MOD 60
OUTPUT hours, "h", rest, "min"

Pour 135 minutes, deux groupes complets de 60 utilisent 120 minutes, et il reste 15 minutes. La sortie est « 2 h 15 min ». INPUT reçoit les données, les deux affectations les traitent et OUTPUT envoie le résultat.

Préserver une valeur avant de la remplacer

Supposons que a contienne 5 et b contienne 8. Les instructions a ← b puis b ← a laissent les deux variables avec la valeur 8. La première instruction a écrasé l’unique copie stockée de 5.

Utilise une variable temporaire :

temp ← a
a ← b
b ← temp

Après la première ligne, temp contient 5. La deuxième ligne place 8 dans a. La troisième place le 5 sauvegardé dans b. L’affectation copie une valeur actuelle ; elle ne crée pas de lien permanent entre les variables.

Donne une valeur de départ à chaque variable avant de la lire. Un total cumulé a besoin de total ← 0 avant sa première addition. Placer l’affectation après l’addition laisse la première étape sans valeur de départ définie.

Points clés

  • Le pseudo-code utilise une notation cohérente pour exprimer la logique sans choisir de langage de programmation.
  • L’affectation évalue le membre de droite et remplace la valeur stockée à gauche.
  • Les types de données déterminent quelles opérations ont un sens.
  • DIV donne un quotient entier ; MOD donne un reste.
  • INPUT reçoit des données et OUTPUT envoie un résultat.
  • Une variable temporaire préserve l’ancienne valeur pendant un échange.
  • Initialise une variable avant d’utiliser sa valeur.

3.3 Choisis le bon chemin à l’aide de conditions

Une structure conditionnelle choisit les instructions à exécuter. Une condition est une expression dont la valeur est TRUE ou FALSE. La comparaison score ≥ 50 vérifie si le score actuel est au moins égal à 50.

Utiliser IF et ELSE
IF score ≥ 50 THEN
    OUTPUT "Pass"
ELSE
    OUTPUT "Fail"
END IF

Une seule branche s’exécute. Pour 50, la condition est vraie et la sortie est « Pass ». Pour 49, elle est fausse et la sortie est « Fail ». Un IF sans ELSE saute simplement son bloc lorsque sa condition est fausse.

La comparaison doit correspondre à la règle. « Au moins 50 » inclut 50 : il faut donc utiliser ≥. Utiliser > rejetterait ce score situé à la limite. Tester des valeurs au seuil est un moyen direct de détecter cette erreur.

Ordonner plusieurs cas

Un enchaînement de conditions ELSE IF vérifie les conditions dans l’ordre et exécute la première branche correspondante :

IF temperature ≥ 30 THEN
    OUTPUT "Hot"
ELSE IF temperature ≥ 20 THEN
    OUTPUT "Warm"
ELSE IF temperature ≥ 10 THEN
    OUTPUT "Mild"
ELSE
    OUTPUT "Cold"
END IF

Pour 24 °C, le premier test échoue et le deuxième réussit. La sortie est « Warm ». Pour 10 °C, la troisième branche s’exécute. Pour −3 °C, c’est le ELSE final qui s’exécute.

Une température de 35 °C satisfait les trois comparaisons écrites, mais seule la première branche correspondante s’exécute. Si temperature ≥ 10 venait en premier, cette condition serait satisfaite pour 35 et la sortie serait « Mild ». Lorsque des seuils « au moins » se chevauchent, teste d’abord le plus élevé. Les branches suivantes traitent alors les valeurs qui n’ont pas satisfait les seuils supérieurs.

Combiner des conditions
OpérateurQuand le résultat est TRUE
A AND BA et B sont toutes deux vraies.
A OR BAu moins l’une des conditions A et B est vraie.
NOT AA est fausse.

Pour inclure les températures de 10 °C inclus à 20 °C exclu, utilise temperature ≥ 10 AND temperature < 20. Les deux bornes doivent être respectées. Pour 15, les deux conditions sont vraies. Pour 20, la seconde est fausse.

Utiliser OR pour cet intervalle donne temperature ≥ 10 OR temperature < 20. Cette condition accepte tous les nombres : une valeur inférieure à 10 satisfait quand même la seconde partie, tandis que toute valeur supérieure ou égale à 10 satisfait la première. OR est utile lorsqu’un seul des deux cas suffit, mais pas lorsque deux bornes doivent être respectées simultanément.

Placer une décision dans une autre

Un IF imbriqué place une décision dans une branche d’une autre décision. Tu peux d’abord vérifier si un mot de passe est assez long, puis, dans la branche où le test réussit, vérifier s’il contient un chiffre. La décision intérieure n’est atteinte que si la condition extérieure le permet.

Indente le bloc intérieur pour rendre les chemins visibles. Si plusieurs décisions imbriquées rendent une règle simple difficile à lire, envisage de combiner les conditions avec AND ou d’utiliser un enchaînement de conditions ELSE IF. Suis le parcours d’une valeur dans l’ordre réel avant de supposer que tous les tests écrits sont atteints.

Points clés

  • Une condition a un résultat booléen : TRUE ou FALSE.
  • IF … ELSE choisit l’un de deux chemins ; un enchaînement de conditions ELSE IF choisit le premier cas correspondant.
  • Selon que le seuil est inclus ou exclu, il faut utiliser l’opérateur de comparaison correspondant.
  • AND exige que les deux conditions soient vraies, OR qu’au moins l’une le soit, et NOT inverse une condition.
  • Ordonne les seuils qui se chevauchent afin qu’une branche antérieure ne capte pas un cas prévu plus loin.
  • Une décision intérieure ne s’exécute que lorsque l’exécution atteint la branche qui la contient.

3.4 Répète le travail en conservant les bonnes valeurs

L’itération répète un bloc d’instructions. Une boucle permet d’exprimer une seule fois un travail répété, mais tu dois encore décider quand elle commence, quand elle se termine et quelles valeurs changent à chaque passage.

Choisir comment contrôler la répétition
BoucleFonctionnement
FOR i ← 1 TO 5S’exécute cinq fois, de 1 à 5 inclus.
FOR EACH item IN listS’exécute une fois pour chaque élément de la liste.
WHILE condition DOVérifie avant chaque passage ; répète tant que la condition est vraie.
REPEAT … UNTIL conditionVérifie après chaque passage ; s’arrête lorsque la condition est vraie.

Une boucle FOR convient lorsque le nombre de répétitions est connu. Une boucle conditionnelle convient à une tâche dont le moment d’arrêt dépend de valeurs ou de nouvelles entrées. Le corps d’une boucle WHILE peut ne jamais s’exécuter. Le corps d’une boucle REPEAT … UNTIL à test en fin s’exécute au moins une fois.

Suivre un compte à rebours
n ← 3
WHILE n > 0 DO
    OUTPUT n
    n ← n − 1
END WHILE
OUTPUT "Go!"

Au premier test, n vaut 3. La boucle affiche 3 et donne à n la valeur 2. Les passages suivants affichent 2 et 1. Après le passage de 1 à 0, le test est faux. L’exécution sort de la boucle et affiche « Go! ».

Si l’on retire la mise à jour, n reste égal à 3 et la boucle n’atteint jamais son état d’arrêt. Une boucle destinée à se terminer a besoin d’un moyen de modifier la condition : une mise à jour interne ou une nouvelle entrée peut le fournir.

Cumuler un total et compter les éléments

Un accumulateur construit un résultat au fil de plusieurs passages. Un compteur consigne le nombre de fois qu’un événement se produit. Pour calculer la moyenne des températures quotidiennes 18, 21, 19, 22 et 20 °C :

total ← 0
count ← 0
FOR EACH t IN temperatures
    total ← total + t
    count ← count + 1
END FOR
OUTPUT total / count

Les totaux successifs sont 18, 39, 58, 80 et 100. Le compteur vaut 5 à la fin, donc la moyenne est de 20 °C. Initialise les deux variables avant la boucle. Remettre total à zéro à l’intérieur effacerait les additions précédentes. Une liste vide exige une vérification distincte avant la division, car son nombre d’éléments est nul.

Retenir la meilleure valeur trouvée jusque-là

Pour une liste non vide, initialise largest avec le premier élément. Examine ensuite chaque valeur et remplace largest chaque fois qu’une valeur plus grande apparaît :

largest ← first item of list
FOR EACH value IN list
    IF value > largest THEN
        largest ← value
    END IF
END FOR
OUTPUT largest

Pour [7, 3, 12, 5], la meilleure valeur retenue reste 7, passe à 12 et reste à 12. Commencer à zéro échoue pour une liste comme [−4, −9, −2], dont la plus grande valeur est −2. Zéro n’a jamais été une valeur candidate.

Vérifier le premier et le dernier passage

Une erreur de décalage d’une unité ajoute ou retire une répétition. FOR i ← 0 TO 5 s’exécute six fois. Dans le compte à rebours, n ≥ 0 afficherait aussi zéro. Écris la première et la dernière valeur de la variable de contrôle pour vérifier le nombre de passages.

Les boucles imbriquées répètent une boucle à l’intérieur d’une autre. Pour 3 lignes et 4 colonnes, le bloc intérieur s’exécute quatre fois pour chaque ligne, soit 12 exécutions. La boucle intérieure recommence à chaque passage de la boucle extérieure.

Points clés

  • Les boucles bornées se répètent un nombre connu de fois ; les boucles conditionnelles dépendent d’un test.
  • WHILE teste avant le corps de la boucle, tandis que REPEAT … UNTIL en pseudo-code teste après.
  • Initialise les accumulateurs et les compteurs avant la boucle et mets-les à jour à l’intérieur.
  • La recherche de la plus grande valeur peut commencer par le premier élément d’une liste non vide.
  • Une boucle qui se termine doit pouvoir atteindre son état d’arrêt.
  • Vérifie les bornes pour repérer les erreurs de décalage d’une unité ; l’intervalle de 0 à 5 inclus contient six valeurs.
  • Une boucle intérieure s’exécute entièrement à chaque passage de sa boucle extérieure.
4

Dessine les chemins et vérifie les résultats

Un schéma peut révéler les chemins d’un algorithme et un suivi d’exécution peut révéler les valeurs prises le long de l’un de ces chemins. Les organigrammes et le pseudo-code décrivent la même logique sous des formes différentes. Passer de l’un à l’autre aide à repérer les tests et les mises à jour mal placés. Des données de test soigneusement choisies permettent ensuite de vérifier les cas ordinaires, les seuils et les entrées inhabituelles, tandis que le débogage utilise un échec reproductible pour trouver la première étape à corriger.

4.1 Lis un organigramme flèche par flèche

Un organigramme représente un algorithme à l’aide de formes reliées par des flèches. Les formes indiquent les types d’étapes et les flèches montrent quelle étape s’exécute ensuite. Un organigramme court rend un processus visible pour une personne qui ne lit pas nécessairement le code.

Choisir une forme pour chaque rôle

Les principaux symboles suivent la norme ISO 5807. Ils ont des rôles distincts :

SymboleFormeRôle
Symbole de début ou de finOvale ou rectangle arrondiMarque le début ou la fin.
TraitementRectangleEffectue une action ou un calcul.
Entrée-sortieParallélogrammeLit ou envoie des données.
DécisionLosangeTeste une condition ou une valeur et choisit une sortie.
Traitement prédéfiniRectangle à double trait vertical sur les côtésAppelle une procédure décrite séparément.
ConnecteurPetit cercle portant une indicationRelie des parties séparées du flux.

Une ligne de liaison possède une flèche qui indique le sens. Le sens habituel de lecture va de haut en bas et de gauche à droite, mais c’est la flèche qui détermine l’étape suivante. Une ligne qui revient à un point antérieur peut représenter une répétition.

Construire une séquence simple

Pour calculer l’aire d’une pièce rectangulaire, utilise ces cinq symboles dans l’ordre :

  1. Symbole de début ou de fin : « Début ».
  2. Entrée-sortie : « Entrer longueur, largeur ».
  3. Traitement : area ← length * width.
  4. Entrée-sortie : « Afficher l’aire ».
  5. Symbole de début ou de fin : « Fin ».

Relie chaque étape à la suivante par une flèche. Avec une longueur de 4,5 m et une largeur de 3 m, le calcul donne 13,5 mètres carrés. La lecture des entrées ne calcule pas l’aire : ce calcul appartient à son propre rectangle de traitement. L’affichage de l’aire appartient au parallélogramme de sortie.

Cet organigramme ne comporte ni choix ni parcours répété. C’est une séquence pure et sa forme rend l’ordre clair.

Suivre une décision avec les valeurs actuelles

Un losange pose une question ou teste une valeur. Pour une question oui/non comme score ≥ 50?, indique « Oui » et « Non » sur les sorties. Évalue la condition avec le score actuel et suis exactement une flèche, celle qui correspond au résultat.

Une décision peut avoir plus de deux sorties possibles lorsqu’elle teste plusieurs valeurs distinctes. Indique sur chaque sortie la valeur ou le cas qu’elle représente. Ces indications servent à rendre l’étape suivante non ambiguë.

Une action comme count ← count + 1 appartient à un rectangle de traitement. Une question comme count < 5? appartient à un losange de décision. Mélanger ces rôles masque si une valeur est modifiée ou testée.

Vérifier les liaisons

Un organigramme clair comporte un seul début et au moins une fin. Chaque symbole de traitement et d’entrée-sortie possède une ligne de liaison sortante. Chaque décision oui/non possède deux sorties portant une indication. Suis chaque chemin pour vérifier qu’il atteint une étape suivante prévue ou la fin.

Évite de laisser une branche sans suite après sa sortie. Si les deux branches doivent se poursuivre par la même étape, dessine leur jonction avant cette étape. Utilise des connecteurs portant une indication lorsque des lignes longues ou croisées rendraient la page difficile à suivre. Un symbole de traitement prédéfini permet de garder une grande procédure sur un organigramme séparé tout en conservant la structure générale de l’organigramme principal.

Points clés

  • Un organigramme utilise des formes pour les types d’étapes et des flèches pour l’ordre d’exécution.
  • Les rectangles effectuent des actions, les parallélogrammes traitent les données et les losanges choisissent les chemins.
  • Indique les réponses sur les sorties d’une décision et suis la flèche correspondant à la valeur actuelle.
  • Utilise des symboles de début et de fin et relie tous les chemins prévus.
  • Un symbole de traitement prédéfini peut masquer les détails d’une procédure séparée.

4.2 Dessine des branches et des boucles sans modifier leur logique

Le pseudo-code et les organigrammes peuvent exprimer le même algorithme. Passer de l’un à l’autre implique de conserver l’ordre des actions, les conditions et tous les chemins du processus. Un schéma soigné dont le test est placé ailleurs décrit un algorithme différent.

Montrer un choix et réunir les chemins

Pour un seuil de réussite de 50, dessine un losange portant score ≥ 50?. Sa sortie Oui mène à un parallélogramme de sortie portant « Pass ». Sa sortie Non mène à un parallélogramme portant « Fail ». Réunis les chemins avant la fin.

En pseudo-code, ces chemins deviennent les branches IF et ELSE. Leur point de jonction correspond à la première instruction après END IF. L’organigramme ne doit pas envoyer le flux de la sortie Pass vers la sortie Fail : une seule des deux intervient lors d’une exécution donnée.

Placer le test au bon endroit

Une boucle possède un chemin qui revient à une étape antérieure et une décision qui détermine si la répétition continue. Pour une boucle WHILE, place la décision avant le corps de la boucle. La sortie correspondant à une condition fausse contourne le corps : il peut donc y avoir zéro passage.

Pour une boucle REPEAT … UNTIL à test en fin, place la décision après le corps. Sa sortie correspondant à une condition fausse revient au corps et sa sortie correspondant à une condition vraie quitte la boucle. Le corps s’exécute au moins une fois, car l’exécution l’atteint avant le premier test.

BouclePlace de la décisionSortie de la répétition
WHILE conditionAvant le corpsLa condition est fausse.
REPEAT … UNTIL conditionAprès le corpsLa condition est vraie.
Étudier une connexion en trois tentatives
attempts ← 0
REPEAT
    INPUT password
    attempts ← attempts + 1
UNTIL password = storedPassword OR attempts = 3
IF password = storedPassword THEN
    OUTPUT "Welcome"
ELSE
    OUTPUT "Account locked"
END IF

Commence l’organigramme par le début et un rectangle de traitement pour attempts ← 0. Dessine ensuite le parallélogramme de saisie du mot de passe, puis le rectangle d’incrémentation. Le losange de la boucle demande « Mot de passe correct OU attempts = 3 ? ». Sa sortie Non revient à la saisie du mot de passe. Sa sortie Oui quitte la boucle.

La condition de sortie donne deux raisons possibles de s’arrêter : elle ne peut donc pas choisir à elle seule le message final. Ajoute un deuxième losange qui demande si le mot de passe est correct. Oui mène à « Welcome » ; Non mène à « Account locked ». Si la troisième tentative est correcte, la boucle s’arrête et la branche du mot de passe correct accueille bien l’utilisateur.

Convertir en suivant les chemins

Pour passer du pseudo-code à un organigramme, transforme chaque affectation en rectangle et chaque entrée ou sortie en parallélogramme. Transforme les tests des branches et des boucles en losanges. Relie le corps à sa décision de contrôle en plaçant correctement la flèche de retour.

Pour passer d’un organigramme au pseudo-code, examine où mènent les chemins de chaque losange. Des chemins qui réalisent des actions différentes puis se rejoignent indiquent une structure conditionnelle. Un chemin qui revient à une étape antérieure indique une itération. Indente chaque corps pour en montrer les limites.

Vérifie la destination de chaque flèche de retour. Revenir après la décision de contrôle ferait sauter le test suivant. Revenir avant une initialisation unique pourrait remettre un compteur à zéro à chaque passage et empêcher la boucle de se terminer.

Points clés

  • La conversion entre représentations doit préserver les actions, les conditions et les chemins d’exécution.
  • Les branches d’une structure conditionnelle se rejoignent après leurs actions respectives.
  • Les boucles à test en début peuvent sauter le corps ; les boucles à test en fin l’exécutent au moins une fois.
  • La sortie d’une boucle peut nécessiter une décision distincte pour déterminer pourquoi la boucle s’est arrêtée.
  • Les flèches de retour doivent repasser par le test de contrôle prévu et éviter de répéter une initialisation unique.

4.3 Trouve les erreurs grâce au suivi d’exécution et à des tests bien choisis

Un algorithme peut sembler raisonnable tout en faisant ce qu’il ne faut pas. Le suivi d’exécution consiste à suivre exactement ses instructions et à consigner ce qui se produit. Les tests l’exécutent avec des entrées choisies et vérifient les résultats. Le débogage trouve et corrige la cause d’un échec.

Rendre l’état visible

Un tableau de suivi d’exécution consigne les variables et les sorties pendant une exécution à la main. Utilise les valeurs actuelles, pas celles que tu penses que l’auteur avait prévues. Par exemple :

total ← 0
FOR i ← 1 TO 4
    total ← total + i
END FOR
OUTPUT total
Moment de l’exécutionitotalSortie
Après l’initialisation-0-
Après la première addition11-
Après la deuxième addition23-
Après la troisième addition36-
Après la quatrième addition410-
À OUTPUT41010

Ce tableau compact montre l’état après chaque addition. Pour un bogue difficile, ajoute des lignes après chaque instruction et une colonne pour les résultats des conditions. Un test de boucle faux a aussi sa place dans un suivi détaillé : il explique pourquoi l’exécution quitte la boucle.

Choisir les tests à partir des règles

Détermine le résultat attendu avant d’exécuter chaque test. Sinon, il est facile d’accepter la sortie du programme simplement parce qu’elle est apparue. Certains tests vérifient une propriété, comme le maintien de l’ordre dans la sortie, plutôt qu’un résultat exact.

Pour des scores valides de 0 à 100 avec un seuil de réussite de 50 :

TypeExemple d’entréeCe que le test vérifie
Normal73Un score valide habituel qui atteint le seuil de réussite.
Aux limites0, 49, 50, 100Les bornes et le seuil de décision.
Juste hors de la plage−1, 101Le rejet au-delà des bornes valides.
Type invalide« abc »Le rejet d’un texte lorsqu’un score est nécessaire.

Les catégories des données aux limites et invalides peuvent se chevaucher : −1 est à la fois proche d’une borne et invalide. La catégorie explique pourquoi le test est utile. Une règle utilisant score > 50 réussit les tests normaux avec 73 et 49, mais échoue avec exactement 50.

Teste aussi des structures d’entrée inhabituelles. Une liste vide, un seul élément, des valeurs toutes égales et des valeurs négatives révèlent des hypothèses différentes. Un algorithme de calcul de la moyenne doit traiter une liste vide avant de diviser par son nombre d’éléments. Un algorithme de recherche de la plus grande valeur initialisé à zéro peut échouer sur une liste entièrement négative.

Identifier l’erreur à corriger

Une erreur de syntaxe enfreint les règles d’écriture d’un langage, par exemple l’absence d’une parenthèse fermante. Une erreur d’exécution se produit pendant l’exécution, par exemple une division par zéro. Une erreur de logique permet l’exécution mais donne un résultat faux, par exemple en excluant le seuil de réussite avec >.

Ces catégories t’aident à choisir une vérification. La vérification syntaxique détecte les formes qui enfreignent les règles du langage. Un suivi d’exécution peut révéler le premier état erroné dans une erreur de logique. Des données de test peuvent déclencher une erreur d’exécution qu’une entrée habituelle ne provoquerait jamais.

Déboguer à partir du premier écart

Reproduis l’échec avec une entrée précise. Suis l’exécution ou affiche les valeurs intermédiaires et trouve la première étape où l’état réel diffère de l’état attendu. Corrige la cause, puis exécute à nouveau le test qui échouait et les tests précédents. Une correction dans une branche peut en perturber une autre.

La réussite de tests choisis fournit des éléments sur ces entrées. La correction exige toujours que la méthode traite chaque entrée valide : associe donc les tests à un raisonnement sur les instructions et leurs hypothèses.

Points clés

  • Un suivi consigne ce que les instructions font réellement, en utilisant les valeurs actuelles des variables.
  • Choisis les résultats attendus ou les propriétés requises avant d’exécuter les tests.
  • Utilise des cas normaux, aux limites, invalides et des cas limites liés à la structure.
  • Les erreurs de syntaxe enfreignent les règles du langage, les erreurs d’exécution se produisent pendant l’exécution et les erreurs de logique produisent un comportement incorrect.
  • Trouve le premier état erroné, corrige sa cause et exécute à nouveau les tests précédents.
  • La réussite d’un ensemble de tests fournit des éléments sans établir la correction pour chaque entrée valide.
5

Crée et coordonne des programmes dans Scratch

Les blocs donnent aux instructions une forme visible afin que tu puisses construire et exécuter un programme en te concentrant sur sa logique. Scratch présente ce modèle à travers les lutins, les événements, les variables, les conditions et les boucles. De courts projets relient une entrée à une sortie visible, et les blocs personnalisés transforment un travail répété en procédures nommées. La coordination de plusieurs scripts montre aussi pourquoi l’ordre au sein d’un script diffère du moment d’exécution des différents scripts.

5.1 Crée un script avec des blocs Scratch

En programmation par blocs, des blocs graphiques représentent des instructions et des valeurs. Tu les fais glisser dans un espace de travail et tu les assembles. Leurs formes évitent une grande partie du travail de mémorisation de la syntaxe et te permettent de te concentrer sur la logique du programme.

Connaître les éléments d’un projet

Scratch a été créé au MIT Media Lab. Parmi les autres environnements par blocs figurent Snap!, développé à l’University of California, Berkeley, Microsoft MakeCode et Blockly. Blockly est une bibliothèque permettant de construire des interfaces par blocs ; elle a été créée chez Google et transférée à la Raspberry Pi Foundation en 2025.

Dans Scratch, la scène est l’espace où l’exécution du projet est visible. Les lutins sont les personnages ou objets qui y agissent. Un lutin peut avoir des scripts, des costumes et des sons. Un script est une pile de blocs ; un costume est une image que le lutin peut afficher.

La scène mesure 480 unités Scratch sur 360. Son centre est le point de coordonnées (0 ; 0). Les coordonnées horizontales x vont de −240 à 240 et les coordonnées verticales y de −180 à 180. Les pas de déplacement dans Scratch sont des unités de la scène, pas des mètres.

Se laisser guider par la forme des blocs
Forme du blocRôleExemple
TêteDémarre un script en réponse à un événement.« quand le drapeau vert est cliqué »
EmpilableExécute une commande.« avancer de 10 pas »
En CEntoure des blocs dans une boucle ou une branche.« répéter 10 fois »
Bloc de valeur arrondiFournit une valeur.Bloc de valeur d’une variable
Bloc booléen à six côtésFournit TRUE ou FALSE.« souris touchée ? »
FinTermine un script.« arrêter tout »

Un bloc de valeur s’insère dans un emplacement d’entrée d’un autre bloc. Une commande s’insère dans une pile d’actions. Un bloc booléen s’insère dans un emplacement de condition. La forme aide à distinguer la fourniture d’une valeur de l’exécution d’une commande.

Trouver les blocs par catégorie

Scratch 3 possède neuf catégories principales repérées par des couleurs : Mouvement, Apparence, Son, Événements, Contrôle, Capteurs, Opérateurs, Variables et Mes blocs. Mouvement change la position ; Apparence gère l’aspect visible et les paroles ; Capteurs reçoit des informations ; Opérateurs effectue des calculs ou des comparaisons. L’extension Stylo s’ajoute séparément lorsqu’un projet doit tracer des lignes pendant le déplacement d’un lutin.

Exécuter une courte séquence

Sélectionne un lutin et place ces blocs sous un bloc de tête « quand le drapeau vert est cliqué » :

  1. « aller à x : 0 y : 0 »
  2. « dire Bonjour ! pendant 2 secondes »
  3. « avancer de 100 pas »

Clique sur le drapeau vert. Le lutin va d’abord au centre, puis affiche « Bonjour ! » pendant deux secondes, puis avance de 100 pas dans sa direction actuelle. Le bloc de parole avec durée rend la pause visible. La pile s’exécute de haut en bas.

Une pile isolée peut s’exécuter si l’on clique directement dessus dans l’espace de travail, mais elle ne démarrera pas avec le drapeau vert si elle ne possède pas le bloc de tête correspondant. Vérifie l’ordre de la pile et son événement de démarrage lorsque le projet semble ne pas réagir.

Des blocs correctement assemblés nécessitent toujours un plan correct. Un déplacement peut avoir lieu avant une remise en position prévue, ou une question peut être posée après l’affichage du résultat. Les formes aident à construire un assemblage valide ; le suivi d’exécution révèle si cet assemblage accomplit le travail prévu.

Points clés

  • Les blocs expriment des instructions et des valeurs avec des formes qui guident leur placement.
  • La scène affiche le projet ; les lutins possèdent leurs propres scripts, costumes et sons.
  • Un script s’exécute dans l’ordre de la pile à partir de son événement de démarrage.
  • Le centre de Scratch est (0 ; 0), sur une scène de 480 unités sur 360.
  • Utilise les catégories pour trouver les blocs et ajoute des extensions comme Stylo si nécessaire.
  • Un assemblage de blocs qui s’emboîtent peut quand même contenir une erreur de logique.

5.2 Fais réagir et répéter un programme par blocs

Scratch utilise les mêmes idées que le pseudo-code : stocker une valeur, tester une condition et répéter des étapes. Les blocs rendent la structure visible, mais leur place détermine toujours quand chaque action se produit.

Choisir une boucle adaptée à la tâche

« Répéter 10 fois » exécute son corps dix fois. « Répéter indéfiniment » continue jusqu’à l’arrêt du programme et convient à un jeu qui vérifie continuellement les entrées. « Répéter jusqu’à ce que  » teste avant chaque passage et s’arrête lorsque la condition est vraie. Son corps peut donc ne jamais s’exécuter, contrairement à REPEAT … UNTIL en pseudo-code, qui teste à la fin.

Avec l’extension Stylo et le stylo en position d’écriture, « répéter 4 fois » contenant « avancer de 100 pas » et « tourner à droite de 90 degrés » dessine un carré. Pour un hexagone régulier, utilise six répétitions et une rotation de 60 degrés. Les changements de direction totalisent 360 degrés autour de la figure.

Stocker une valeur et choisir une branche

Crée score dans Variables. « Mettre score à 0 » affecte sa valeur de départ. « Ajouter 1 à score » ajoute à sa valeur actuelle. Place la remise à zéro avant une boucle de calcul du score ; à l’intérieur, elle effacerait le score précédent à chaque fois.

Le bloc de valeur arrondi score fournit la valeur actuelle aux autres blocs. Cocher sa case affiche un indicateur sur la scène, ce qui aide au suivi d’exécution.

Un bloc « si … alors … sinon » exécute l’un de ses deux corps. Son emplacement de condition à six côtés accepte un booléen comme « (score) > (9) » ou « souris touchée ? ». Les opérateurs « et », « ou » et « non » combinent des conditions avec le même sens qu’en pseudo-code.

Recevoir une entrée, construire du texte et l’afficher

Le bloc « demander [Comment t’appelles-tu ?] et attendre » attend une saisie et la stocke dans « réponse ». Le bloc « regrouper [Bonjour, ] et (réponse) » construit un texte. Place ce bloc de valeur dans « dire … pendant 2 secondes » pour afficher la salutation. Si l’entrée est « Amara », la sortie est « Bonjour, Amara ».

Les trois rôles sont distincts : demander reçoit les données, regrouper traite le texte et dire l’affiche. Un bloc de valeur peut calculer une valeur utile sans rien afficher par lui-même.

Construire un jeu de devinette

Utilise cet ordre de blocs, chaque partie indentée étant placée dans le bloc qui la contient :

"when green flag clicked"
"set secret to (pick random 1 to 10)"
"ask [Guess a number from 1 to 10] and wait"
"repeat until <(answer) = (secret)>"
    "if <(answer) > (secret)> then"
        "say [Too high] for 2 seconds"
    "else"
        "say [Too low] for 2 seconds"
    "ask [Guess a number from 1 to 10] and wait"
"say [Correct!] for 2 seconds"

Une bonne réponse dès le premier essai saute la boucle. Pour le nombre secret 6 et les propositions 3, 8 et 6, les messages sont « Too low », « Too high », puis « Correct! ». La nouvelle demande dans la boucle fournit une valeur qui peut rendre sa condition vraie.

La durée des messages compte. La question posée par un lutin visible utilise sa bulle de dialogue : la demande suivante remplace donc immédiatement une bulle dire sans durée. Un bloc dire de deux secondes permet à l’apprenant de lire d’abord le message.

Lis la boucle comme WHILE answer ≠ secret pour la vérifier en pseudo-code. Omettre la demande répétée bloque le jeu avec l’ancienne réponse incorrecte ; placer le message final de réussite à l’intérieur de la boucle le met sur le mauvais chemin.

Points clés

  • Dans Scratch, « répéter jusqu’à ce que » vérifie la condition avant chaque passage et peut sauter son corps.
  • Initialise un score avant une boucle et mets-le à jour à l’intérieur.
  • Un bloc booléen fournit la condition d’une décision.
  • Demander lit une entrée, regrouper construit du texte et dire l’affiche.
  • Une boucle de devinette a besoin de nouvelles propositions pour pouvoir atteindre sa condition d’arrêt.
  • Les blocs dire avec durée gardent les messages visibles avant qu’une nouvelle demande remplace la bulle.

5.3 Coordonne des scripts et réutilise un bloc personnalisé

Un projet Scratch comporte souvent plusieurs scripts qui attendent différents événements. La programmation événementielle démarre un script lorsqu’un événement se produit. Un bloc personnalisé permet ensuite à un script d’appeler une tâche réutilisable nommée.

Démarrer le bon script

Les blocs de tête comprennent « quand le drapeau vert est cliqué », « quand ce lutin est cliqué », « quand la touche espace est pressée » et « quand je reçois [message] ». Chacun décrit ce qui démarre la pile qui lui est attachée.

Plusieurs scripts peuvent réagir au même événement. Deux lutins peuvent tous deux démarrer lorsque le drapeau vert est cliqué, puis s’exécuter simultanément. La position de leurs piles dans l’espace de travail ne fixe pas d’ordre d’exécution entre elles.

À l’intérieur d’un script, les actions restent ordonnées de haut en bas. Entre les scripts, le moment de leur exécution peut compter. Si deux scripts déplacent le même lutin dans des directions opposées, leur résultat combiné dépend du moment où leurs actions s’exécutent. Donne aux scripts des responsabilités claires et coordonne le travail lorsqu’une tâche a besoin du résultat d’une autre.

Envoyer un message entre scripts

« Envoyer à tous [fin du jeu] » transmet un message à tous les lutins et à la scène. Les scripts correspondants « quand je reçois [fin du jeu] » démarrent en réponse. Le nom du message doit correspondre : il identifie l’événement traité par les destinataires.

« Envoyer à tous et attendre » met aussi l’émetteur en pause jusqu’à la fin des scripts destinataires. Utilise ce bloc lorsque l’action suivante dépend de leur achèvement. Par exemple, un contrôleur peut diffuser un message de préparation et attendre que les lutins rejoignent leurs positions de départ, puis commencer le jeu.

L’attente ne fixe pas d’ordre entre les destinataires. Si deux scripts de préparation destinataires écrasent tous deux la même valeur, ils ont toujours besoin d’un plan qui évite les responsabilités contradictoires. Un script destinataire qui s’exécute indéfiniment empêche aussi l’émetteur en attente de poursuivre.

Donner un nom et une entrée à un travail répété

Dans Mes blocs, crée un bloc personnalisé avec une entrée appelée size. Sa définition peut être décrite ainsi :

"define square (size)"
    "repeat 4"
        "move (size) steps"
        "turn right 90 degrees"

Avec le stylo en position d’écriture, appeler « square (100) » dessine des côtés de 100 pas. Appeler « square (60) » utilise les mêmes instructions avec des côtés plus courts. Le bloc personnalisé fournit une abstraction en masquant les étapes derrière un nom et une généralisation en laissant l’élément qui l’appelle fournir la taille.

L’appel exécute la définition ; il ne copie pas dans le script une deuxième version à maintenir manuellement. Modifier la définition change le travail effectué par les appels ultérieurs. Cela facilite la maintenance d’une méthode répétée.

Transposer les idées au texte
Idée dans ScratchIdée en pseudo-code ou en code textuel
« répéter 4 fois »Boucle bornée
« si … alors … sinon »Structure conditionnelle
« mettre score à 0 »Affectation
Bloc personnaliséProcédure
Bloc de tête d’événement et script associéGestionnaire d’événement

Dans un langage textuel, tu saisis les instructions et respectes les règles de ponctuation et d’espacement du langage. Le raisonnement sous-jacent sur l’état, les conditions et les répétitions reste valable.

Les blocs éliminent de nombreuses erreurs de syntaxe, mais une mauvaise condition peut toujours choisir le mauvais chemin. Les suivis d’exécution et les tests restent utiles. Les grands projets par blocs peuvent aussi devenir difficiles à parcourir et à comparer parce que leurs scripts occupent beaucoup d’espace à l’écran ; le texte est plus facile à parcourir et à gérer pour les grands projets logiciels.

Points clés

  • Un événement démarre les scripts dont les blocs de tête y répondent.
  • Les scripts peuvent s’exécuter simultanément : leur position dans l’espace de travail ne fixe donc pas leur ordre.
  • La diffusion d’un message démarre les scripts destinataires correspondants ; la diffusion avec attente attend aussi qu’ils se terminent.
  • Les blocs personnalisés masquent des étapes réutilisables et peuvent prendre des paramètres.
  • La même logique d’affectation, de structure conditionnelle, d’itération et de procédure se retrouve dans le code textuel.

Pensée informatique : exemples

5 Leçons Interactives

1

D’une tâche à une solution vérifiable

10 étapes
Identifie un calcul, définis son résultat et utilise les quatre techniques de pensée pour préparer une solution.
  1. 1
    IntroductionCommence par le résultat

    Un problème clair est plus facile à résoudre qu’une demande vague. Supposons qu’un groupe de lecture souhaite afficher les noms de ses membres par ordre alphabétique. Avant de choisir un logiciel, identifie les informations disponibles et ce que le résultat final doit contenir.

    Tu vas suivre cette demande, de l’énoncé du problème jusqu’à un plan, en utilisant l’entrée, le traitement, la sortie et les quatre techniques de la pensée informatique.

  2. 2
    ExplicationNomme l’entrée et la sortie

    L’entrée est la liste des noms des membres. La sortie attendue est la même liste par ordre alphabétique. Le traitement est la méthode qui réorganise les noms.

    Ces rôles sont différents. Une liste qui omet un membre ne remplit pas la tâche, même si les noms restants sont classés. Préciser la sortie te donne un moyen de reconnaître cet échec avant de décider comment fonctionne la méthode.

  3. 3
    LienSitue la tâche dans l’informatique

    L’informatique étudie l’information et les processus qui la traitent. Cette tâche soulève des questions sur la représentation des noms, la conception d’une méthode et la vérification de la correction du résultat.

    La programmation exprimerait les instructions dans un langage exécutable. Les questions plus générales viennent d’abord : quelle sortie est attendue, quelles hypothèses la méthode exige-t-elle et quelle quantité de travail une liste plus grande demandera-t-elle ?

  4. 4
    DéfiVérifie une sortie proposée

    Les noms en entrée sont « Noor », « Ava » et « Luis ». Un système affiche « Ava », « Noor ». Quelle exigence n’a-t-il pas respectée, avant même de discuter de sa vitesse ?

    ---reveal---

    Il n’a pas conservé tous les noms en entrée : Luis manque. L’ordre alphabétique ne suffit pas à remplir toute l’exigence de sortie. Le résultat doit contenir les noms d’origine et les placer dans l’ordre demandé.

  5. 5
    ExplicationChoisis des outils de réflexion

    Quatre techniques aident à transformer la demande en solution. La décomposition sépare la collecte des noms, leur classement et l’affichage du résultat. La reconnaissance de motifs trouve le travail répété d’un nom à l’autre. L’abstraction conserve les informations nécessaires à la tâche. La conception d’algorithmes précise les instructions.

    Tu peux revenir à n’importe quelle technique lorsqu’une vérification révèle un problème. Leurs noms décrivent des types de réflexion, pas une séquence d’exécution fixe en quatre étapes.

  6. 6
    ExempleRends les exigences exploitables

    Note les entrées, les sorties, les contraintes et les critères de réussite. Pour le groupe de lecture, l’entrée est la liste de ses membres et la sortie un affichage ordonné. Conserver chaque nom est une exigence ; vérifier le nombre et l’identité des membres aide à juger le résultat.

    Établis ensuite un plan, exprime-le et teste-le. Ces actions suivent les étapes de Pólya : comprendre, planifier, exécuter et revenir sur le résultat. Un test peut révéler quelque chose que le premier plan avait omis.

  7. 7
    AnalogieApplique la même réflexion aux repas

    La planification des repas utilise la même approche. Sépare le choix des recettes de la préparation de la liste de courses. Repère les ingrédients communs, conserve les quantités utiles, puis ordonne les actions : regrouper les besoins, vérifier les aliments disponibles et faire les courses.

    La représentation « riz, 1 kg » conserve une quantité utile sans garder une marque sans importance. L’objectif détermine les détails importants ; cuisiner pour davantage de personnes modifie les quantités nécessaires au plan.

  8. 8
    DéfiChoisis la première action utile

    Un organisateur dit : « Améliore le planning de l’événement. » Un développeur commence à concevoir un affichage coloré. Que doit clarifier l’équipe avant ce choix d’implémentation ?

    ---reveal---

    Clarifie les informations disponibles, le résultat attendu et les contraintes. Par exemple, demande ce que signifie « améliorer » et comment la réussite sera vérifiée. Un affichage soigné peut exécuter un plan qui n’a jamais traité le problème de planning.

  9. 9
    DéfiRelie le plan à la vérification

    Un outil regroupe des listes d’ingrédients mais compte le même stock du placard une fois pour chaque recette qui l’utilise. La quantité finale à acheter est trop faible. Quelle partie de la méthode ordonnée faut-il examiner, et pourquoi ?

    ---reveal---

    Examine comment les besoins communs sont regroupés et comment le stock existant est soustrait. Le stock du placard doit être pris en compte par rapport au besoin regroupé. La sortie incorrecte renvoie aux étapes de traitement, même si les données sur les ingrédients ont pu être saisies correctement.

  10. 10
    RécapitulatifPasse à l’étape suivante avec un problème clair

    Un cahier des charges initial utile indique les entrées, les sorties attendues, les contraintes et les vérifications. La solution peut ensuite être décomposée, simplifiée, exprimée et révisée.

    Pour ta prochaine tâche, écris un critère de réussite concret avant de choisir une méthode. Il doit permettre à une autre personne de juger le résultat sans avoir besoin de savoir quel logiciel ou langage l’a produit.

2

Construis un petit modèle d’une tâche plus vaste

13 étapes
Divise un quiz en responsabilités, réutilise des méthodes communes et choisis les détails nécessaires à chaque partie.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionRends un quiz facile à traiter
  2. 2
    ExplicationCommence par les responsabilités
  3. 3
    ExempleAffine une branche
  4. 4
    ConseilNote les échanges
  5. 5
    DéfiTrouve une lacune dans le plan
  6. 6
    ExplicationRecherche le même travail
  7. 7
    ExempleGénéralise une méthode de dessin
  8. 8
    DéfiVérifie si la réutilisation est justifiée
  9. 9
    AnalogieGarde à l’esprit l’objectif du plan
  10. 10
    ExempleNomme une tâche et masque ses étapes
  11. 11
    DéfiSélectionne les données selon l’objectif
  12. 12
    DéfiCombine les trois techniques
  13. 13
    RécapitulatifExamine les limites que tu as choisies
3

Suis un algorithme complet de l’entrée à la sortie

20 étapes
Construis une petite méthode de traitement de liste en t’exerçant aux affectations, aux structures conditionnelles, aux boucles et à la terminaison.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionSuis ce que font réellement les instructions
  2. 2
    ExplicationRends la méthode complète
  3. 3
    ExempleCompare le travail sur des pages classées
  4. 4
    DéfiTeste l’hypothèse de la méthode
  5. 5
    ExplicationLis l’affectation comme un remplacement
  6. 6
    ExemplePréserve l’ancienne valeur pendant un échange
  7. 7
    DéfiDécompose une durée en groupes et en reste
  8. 8
    ExplicationChoisis un chemin
  9. 9
    ExempleExige le respect des deux bornes
  10. 10
    DéfiOrdonne les tests qui se chevauchent
  11. 11
    ExplicationDétermine quand la boucle effectue son test
  12. 12
    ExemplePrépare un calcul progressif de moyenne
  13. 13
    ExempleEffectue les deux premiers passages
  14. 14
    ExempleTermine le calcul de la moyenne
  15. 15
    ConseilVérifie la progression et les bornes
  16. 16
    ExempleInitialise la meilleure valeur avec une valeur candidate
  17. 17
    DéfiSuis l’exécution avant le test suivant
  18. 18
    LienRépète une boucle pour chaque ligne
  19. 19
    DéfiCombine structure conditionnelle et accumulation
  20. 20
    RécapitulatifUtilise un suivi d’exécution pour justifier le résultat
4

Suis un organigramme et corrige une erreur aux limites

15 étapes
Traduis un court processus, suis ses valeurs et choisis des tests qui distinguent un comportement correct d’un comportement incorrect.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionObserve le chemin et les valeurs
  2. 2
    ExplicationAssocie les formes aux actions
  3. 3
    ExempleDessine la séquence de calcul de l’aire
  4. 4
    DéfiChoisis le symbole manquant
  5. 5
    ExplicationTransforme une branche en IF
  6. 6
    ExemplePlace d’abord une décision WHILE
  7. 7
    ExemplePlace le test de connexion après la saisie
  8. 8
    DéfiSuis une dernière tentative réussie
  9. 9
    ExplicationConsigne l’état actuel
  10. 10
    ExempleÉcris les résultats attendus avant l’exécution
  11. 11
    ConseilChoisis différents types d’entrées de test
  12. 12
    DéfiTrouve la première mise à jour incorrecte
  13. 13
    ExplicationCorrige la cause et vérifie à nouveau
  14. 14
    DéfiUtilise ensemble un suivi et un nouveau test
  15. 15
    RécapitulatifLaisse chaque vérification répondre à une question
5

Crée un programme Scratch interactif

17 étapes
Utilise des événements, un état, des entrées, des messages, des boucles et des blocs personnalisés tout en coordonnant les scripts.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionRelie un plan à un comportement visible
  2. 2
    ExplicationChoisis le lutin et l’événement de démarrage
  3. 3
    ExempleExécute une courte pile dans l’ordre
  4. 4
    DéfiDistingue une valeur d’une action
  5. 5
    ExplicationInitialise avant le travail répété
  6. 6
    ExempleReçois une entrée et produis une sortie
  7. 7
    ExempleChoisis le nombre secret et pose une première question
  8. 8
    ExempleDonne un message lisible
  9. 9
    ExempleSuis trois propositions
  10. 10
    DéfiCompare les deux formes « jusqu’à ce que »
  11. 11
    ExplicationCoordonne un script dépendant
  12. 12
    DéfiVérifie ce que demande l’achèvement
  13. 13
    ExempleCrée une procédure de dessin
  14. 14
    LienTranspose la structure au texte
  15. 15
    ConseilConfie clairement l’état partagé à un responsable
  16. 16
    DéfiCombine préparation, répétition et réutilisation
  17. 17
    RécapitulatifLis le comportement comme un algorithme

Pensée informatique : QCM

50 Questions Pratiques en 5 séries

Série 1 : Définis un problème et construis un plan10 Questions Pratiques

Question 1 sur 10

Un système reçoit une liste de masses mesurées, calcule leur moyenne et affiche une valeur en kilogrammes. Quelle est sa sortie ?
  1. La liste des masses en entrée.
  2. La masse moyenne affichée.
  3. Les étapes du calcul de la moyenne.
  4. Le nombre d’étapes utilisées.
Afficher la réponseMasquer la réponse
Réponse : B
La sortie est le résultat envoyé par le traitement : la masse moyenne en kilogrammes. Les mesures sont l’entrée à partir de laquelle ce résultat est calculé. Les confondre inverse le sens du calcul ; les étapes de calcul d’une moyenne décrivent le traitement lui-même.

Question 2 sur 10

Un organisateur demande un programme qui classe des noms d’ateliers par ordre alphabétique. Quelle exigence permettrait de vérifier son résultat ?
  1. Le programme affiche une liste avec les noms les plus courts en haut.
  2. Le programme utilise une boucle pour examiner chaque nom d’atelier fourni.
  3. La sortie contient les dix noms les plus demandés par les visiteurs.
  4. La sortie contient tous les noms d’origine par ordre alphabétique.
Afficher la réponseMasquer la réponse
Réponse : D
Une exigence vérifiable précise la sortie attendue : tous les noms d’origine, classés par ordre alphabétique. Exiger une boucle choisit une partie d’une méthode sans établir si le résultat est correct. Omettre des noms ne remplirait pas la tâche, même si les noms restants étaient classés.

Question 3 sur 10

Avant de concevoir un programme de réservation de salles, une équipe liste les informations disponibles, le résultat attendu et les règles qui interdisent les réservations en double. De quelle étape de résolution de problèmes s’agit-il ?
  1. Comprendre le problème.
  2. Exécuter l’algorithme.
  3. Déboguer l’implémentation.
  4. Comparer les vitesses d’exécution.
Afficher la réponseMasquer la réponse
Réponse : A
L’équipe définit les entrées, les sorties et les contraintes, ce qui relève de la compréhension du problème. Elle n’a pas encore choisi d’instructions exécutables. Le débogage demanderait un comportement à examiner ; l’énumération des règles de réservation établit ce que doit être un comportement correct.

Question 4 sur 10

Un système de colis est divisé en lecture des demandes, choix des itinéraires et impression des étiquettes d’itinéraire. Les étiquettes doivent indiquer l’itinéraire choisi. Quelle dépendance le plan doit-il respecter ?
  1. Le choix d’un itinéraire doit précéder l’impression de son étiquette.
  2. L’impression d’une étiquette doit précéder la lecture de sa demande.
  3. La lecture des demandes doit attendre l’impression de toutes les étiquettes.
  4. Le choix des itinéraires doit attendre l’impression des étiquettes.
Afficher la réponseMasquer la réponse
Réponse : A
L’impression a besoin du choix de l’itinéraire en entrée : la sélection de l’itinéraire doit donc avoir lieu en premier pour ce colis. Inverser ces tâches priverait l’étape d’impression de la valeur nécessaire. Diviser le système en parties distinctes n’aide que si le plan respecte aussi leurs dépendances.

Question 5 sur 10

Une personne continue de diviser une tâche en parties plus petites. Quand est-il raisonnable d’arrêter d’affiner une partie ?
  1. Quand toutes les branches principales ont la même profondeur.
  2. Quand la partie a un nom mais que sa méthode reste inconnue.
  3. Quand sa solution est claire ou qu’un outil existant la traite.
  4. Quand ses entrées sont listées mais que sa sortie reste indéfinie.
Afficher la réponseMasquer la réponse
Réponse : C
On peut arrêter d’affiner une partie lorsqu’elle est directement résoluble ou déjà prise en charge par une solution connue. Un nombre égal de branches n’améliore pas une décomposition. La limite utile dépend du travail et des méthodes disponibles : différentes branches peuvent donc nécessiter des profondeurs différentes.

Question 6 sur 10

Une méthode de dessin répète huit déplacements égaux et huit rotations égales vers la droite pour former un octogone régulier. Quelle rotation faut-il effectuer après chaque déplacement ?
  1. 135 degrés.
  2. 45 degrés.
  3. 60 degrés.
  4. 90 degrés.
Afficher la réponseMasquer la réponse
Réponse : B
Les changements de direction doivent totaliser un tour complet : chacune des huit rotations vaut donc 360∘/8=45∘. Utiliser 135 degrés revient à confondre l’angle intérieur de l’octogone avec le changement de direction. La rotation répétée se mesure entre l’ancienne et la nouvelle direction du déplacement.

Question 7 sur 10

Un modèle de livraison conserve les liaisons routières et les longueurs des rues, mais supprime les restrictions de sens unique. Il propose parfois un trajet à contresens. Que faut-il modifier ?
  1. Retirer les longueurs des rues du calcul d’itinéraire.
  2. Ne garder que les noms des rues de départ et d’arrivée.
  3. Diviser les rues en morceaux de longueur égale.
  4. Conserver les restrictions de sens unique dans le modèle.
Afficher la réponseMasquer la réponse
Réponse : D
Un modèle de trajet en voiture a besoin des sens de circulation autorisés, car ils déterminent les itinéraires utilisables. L’abstraction doit supprimer les détails sans rapport avec l’objectif, pas une règle qui modifie la réponse. Davantage de détails géométriques ne rétabliraient pas les informations manquantes sur les sens autorisés.

Question 8 sur 10

Trois programmes cherchent le colis le plus léger, l’enregistrement le plus court et la température la plus basse dans des listes non vides. Quelle méthode réutilisable convient aux trois ?
  1. Retenir zéro, puis le remplacer chaque fois qu’une valeur plus petite apparaît.
  2. Comparer seulement la première et la dernière valeur et renvoyer la plus petite.
  3. Retenir la première valeur, puis la remplacer chaque fois qu’une valeur plus petite apparaît.
  4. Renvoyer la valeur à mi-chemin entre la première et la dernière valeur de la liste.
Afficher la réponseMasquer la réponse
Réponse : C
Les trois tâches cherchent un minimum : la méthode qui retient la meilleure valeur trouvée jusque-là s’applique donc aux trois. Commencer par la première valeur garantit que le résultat stocké est une véritable valeur candidate ; commencer par zéro échoue lorsque toutes les valeurs sont positives. Examiner toutes les valeurs restantes permet aussi de trouver un minimum situé au milieu.

Question 9 sur 10

Des instructions disent « répéter la vérification » mais ne donnent ni règle d’arrêt ni nombre fini de répétitions. Quelle propriété de l’algorithme n’est pas établie ?
  1. Le fait que la méthode se termine.
  2. Le fait que la méthode stocke des données.
  3. Le fait que la méthode utilise une structure conditionnelle.
  4. Le fait que la méthode possède une entrée.
Afficher la réponseMasquer la réponse
Réponse : A
Un algorithme doit se terminer après un nombre fini d’étapes pour ses entrées valides. L’instruction ne permet pas de savoir quand la répétition s’arrête. La répétition elle-même est autorisée et une boucle peut être finie ; c’est l’absence de règle d’arrêt qui empêche ici de justifier la terminaison.

Question 10 sur 10

Quelles valeurs restent après ce pseudo-code ?

a ← 6
b ← 11
a ← b
b ← a
  1. a = 11, b = 6
  2. a = 11, b = 11
  3. a = 6, b = 11
  4. a = 6, b = 6
Afficher la réponseMasquer la réponse
Réponse : B
La troisième ligne copie 11 dans a, remplaçant sa valeur précédente 6. La dernière ligne lit cette valeur actuelle de a et copie donc aussi 11 dans b. Un échange nécessiterait de sauvegarder la valeur d’origine 6 dans une variable temporaire avant d’écraser a ; l’affectation ne préserve pas les anciennes valeurs à elle seule.
Série 2 : Suis les variables, les décisions et les boucles10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Qu’affiche ce code ?

value ← 7
value ← value + 4
OUTPUT value
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Une durée est de 248 minutes. Quelles valeurs donnent 248 DIV 60 et 248 MOD 60, dans cet ordre ?
  1. 4 et 8.
  2. 4 et 48.
  3. 8 et 4.
  4. 3 et 68.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Une mesure est acceptée lorsqu’elle est au moins égale à 12. Quelle comparaison faut-il utiliser pour tester son acceptation ?
  1. measurement > 12
  2. measurement ≤ 12
  3. measurement = 12
  4. measurement ≥ 12
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

La valeur d’un capteur doit être comprise entre 4 inclus et 9 exclu. Quelle condition permet de le vérifier ?
  1. value ≥ 4 OR value < 9
  2. value ≥ 4 AND value < 9
  3. value > 4 AND value ≤ 9
  4. value ≤ 4 OR value ≥ 9
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Quelle est la sortie pour load = 82 ?

IF load ≥ 80 THEN
    OUTPUT "High"
ELSE IF load ≥ 50 THEN
    OUTPUT "Medium"
ELSE
    OUTPUT "Low"
END IF
  1. « Medium » seulement.
  2. « High » seulement.
  3. « High », puis « Medium ».
  4. « Low » seulement.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Combien de fois l’affichage s’exécute-t-il ?

FOR i ← 2 TO 6
    OUTPUT i
END FOR
  1. 4 fois.
  2. 6 fois.
  3. 5 fois.
  4. 2 fois.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Quelle suite est affichée ?

n ← 5
WHILE n > 0 DO
    n ← n − 2
    OUTPUT n
END WHILE
  1. 3, 1, −1.
  2. 5, 3, 1.
  3. 3, 1.
  4. 5, 3, 1, −1.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Quelle est la sortie ?

total ← 0
FOR EACH n IN [2, 5, 6, 9]
    IF n MOD 2 = 0 THEN
        total ← total + n
    END IF
END FOR
OUTPUT total
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Une boucle extérieure parcourt les lignes 1 à 3. Pour chaque ligne, une boucle intérieure parcourt les colonnes 1 à 5 et ajoute 2 à un total initialisé une seule fois à zéro. Quel total reste à la fin ?
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Une liste non vide peut contenir n’importe quels entiers. Une méthode de recherche de la plus grande valeur initialise largest ← 0 et ne la remplace que lorsqu’un élément plus grand apparaît. Quelle seule modification rend sa valeur de départ valide pour toutes ces listes ?
  1. Remplacer la comparaison > par ≥.
  2. Initialiser largest au dernier élément plus 1.
  3. Remettre largest à zéro avant chaque comparaison.
  4. Initialiser largest au premier élément de la liste.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 3 : Lis des organigrammes et examine des échecs10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Quel symbole d’organigramme doit contenir distance ← speed * time ?
  1. Un parallélogramme d’entrée-sortie.
  2. Un losange de décision.
  3. Un symbole de début ou de fin.
  4. Un rectangle de traitement.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un organigramme lit un nombre entier et atteint un losange portant count = 0?. Pour count égal à 3, où l’exécution doit-elle aller ensuite ?
  1. Vers la sortie indiquée Oui.
  2. Vers la sortie indiquée Non.
  3. Vers les deux sorties successivement.
  4. Vers le début avant de choisir.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Un organigramme teste items > 0? avant un corps répété. Oui entre dans le corps et revient au test ; Non mène à la fin. Quelle structure de pseudo-code lui correspond ?
  1. WHILE items > 0 DO … END WHILE
  2. REPEAT … UNTIL items > 0
  3. IF items > 0 THEN … END IF
  4. FOR items ← 0 TO 1 … END FOR
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Un programme accepte les âges entiers de 18 à 65 inclus. Quelle entrée vérifie directement si sa borne supérieure est exclue à tort ?
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Un programme de calcul de moyenne divise total par count. Il fonctionne pour plusieurs listes non vides, mais échoue avec une liste vide. Que faut-il traiter avant la division ?
  1. Le cas où count vaut zéro.
  2. Le cas d’un total négatif.
  3. Le cas d’une première valeur inférieure à la dernière.
  4. Le cas de valeurs répétées dans la liste.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Quels sont les totaux successifs stockés après chaque exécution du corps ?

total ← 1
FOR i ← 1 TO 3
    total ← total * 2
END FOR
  1. 1, 2, 4.
  2. 2, 3, 4.
  3. 2, 4, 8.
  4. 2, 4, 6.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un processus de connexion lit un code, augmente le nombre de tentatives et revient en arrière si le code est faux ET que le nombre de tentatives est inférieur à 4. À la quatrième tentative, le code est correct. Après la boucle, quel test doit choisir entre « Accepté » et « Limite atteinte » ?
  1. Vérifier si le nombre de tentatives est inférieur à quatre.
  2. Vérifier si le code saisi est correct.
  3. Vérifier si le corps de la boucle s’est exécuté au moins une fois.
  4. Vérifier si le nombre de tentatives est égal à sa valeur de départ.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un programme doit accepter les températures entières de −8 à 12 inclus. Il vérifie actuellement temperature > −8 AND temperature ≤ 12. Les tests avec −9, 0, 12 et 13 réussissent. Quel nouveau test révèle le défaut et quel résultat doit-on attendre ?
  1. −7, accepté.
  2. 11, accepté.
  3. −9, rejeté.
  4. −8, accepté.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Un organigramme initialise total ← 0, puis lit une valeur, l’ajoute à total et vérifie si une autre valeur est nécessaire. Sa flèche Oui revient à l’initialisation. L’objectif est d’obtenir un total cumulé. Où cette flèche Oui doit-elle revenir ?
  1. À l’étape de saisie après l’initialisation.
  2. À l’étape d’initialisation avant la saisie.
  3. À l’étape de sortie après la décision.
  4. À l’étape d’addition sans nouvelle saisie.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un programme s’exécute sans planter mais rejette un score qui atteint le seuil de réussite parce qu’il utilise > là où la règle exige ≥. De quel type d’erreur s’agit-il ?
  1. Une erreur de syntaxe.
  2. Une erreur de logique.
  3. Une erreur d’exécution.
  4. Une erreur de saisie.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 4 : Crée et coordonne des scripts Scratch10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Une pile Scratch s’exécute lorsqu’on clique dessus dans l’espace de travail, mais ne fait rien lorsqu’on clique sur le drapeau vert. Quel bloc doit démarrer la pile pour cet événement ?
  1. Un bloc de tête « quand le drapeau vert est cliqué ».
  2. Un bloc de tête « quand ce lutin est cliqué ».
  3. Un bloc de fin « arrêter tout » en bas.
  4. Un bloc de valeur arrondi en haut.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Quel type de bloc Scratch fournit TRUE ou FALSE à l’emplacement de condition d’un bloc si ?
  1. Un bloc de valeur textuelle arrondi.
  2. Un bloc de commande empilable.
  3. Un bloc booléen à six côtés.
  4. Un bloc de tête d’événement.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Dans Scratch, score est mis à 0 avant « répéter 6 fois ». Dans le corps de la boucle, « mettre score à 0 » est suivi de « ajouter 2 à score ». Quel score reste à la fin ?
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Dans Scratch, done est déjà TRUE avant un bloc « répéter jusqu’à ce que  ». Combien de fois son corps s’exécute-t-il ?
  1. Une fois.
  2. Deux fois.
  3. Il se répète jusqu’à l’arrêt.
  4. Zéro fois.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Un script Scratch demande une ville puis évalue « regrouper [Ville : ] et (réponse) ». Quelle action supplémentaire affiche le texte obtenu dans la bulle du lutin ?
  1. Placer un bloc d’affectation après regrouper.
  2. Placer le bloc regrouper dans un bloc dire.
  3. Placer regrouper dans un autre bloc regrouper.
  4. Placer un bloc de comparaison autour de regrouper.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Quel est le paramètre d’entrée d’un bloc personnalisé nommé « tracer chemin (longueur) » ?
  1. La valeur nommée longueur.
  2. La pile qui l’appelle.
  3. L’événement du drapeau vert.
  4. Le costume du lutin.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un contrôleur diffuse « préparer ». Un script destinataire met deux secondes à déplacer un lutin jusqu’à sa position de départ. Le contrôleur ne doit annoncer « Prêt » qu’après la fin de ce script. Quelle modification établit l’ordre nécessaire ?
  1. Placer le destinataire sous le contrôleur dans l’espace de travail.
  2. Utiliser « envoyer à tous préparer et attendre » avant de dire « Prêt ».
  3. Diffuser « préparer » immédiatement après avoir dit « Prêt ».
  4. Utiliser deux diffusions ordinaires avant de dire « Prêt ».
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Deux scripts démarrés par le drapeau vert affectent chacun une valeur différente à la même variable, puis se terminent. Un troisième script la lit sans coordination. Pourquoi est-il risqué de compter sur une valeur finale choisie ?
  1. La variable conserve les deux nombres affectés dans une liste à deux éléments.
  2. Le script situé le plus bas dans l’espace de travail affecte toujours sa valeur en dernier.
  3. Les scripts s’exécutent simultanément, donc le moment des écritures peut changer la valeur lue.
  4. L’affectation du plus grand nombre remplace toujours celle du plus petit.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Un jeu de devinette pose une question, puis répète jusqu’à ce que réponse = secret. À l’intérieur, le lutin indique si la proposition est trop grande ou trop petite, mais ne repose jamais la question. La première proposition est fausse. Qu’est-ce qui empêche la boucle de se terminer ?
  1. La boucle vérifie sa condition d’arrêt avant le premier passage du corps.
  2. Le message choisit entre une indication trop grande et trop petite.
  3. Le nombre secret a été choisi avant l’affichage de la première question.
  4. Aucune instruction n’obtient de nouvelle réponse pour le test suivant.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un bloc personnalisé dessine un polygone régulier à l’aide d’entrées pour le nombre et la longueur des côtés. Qu’est-ce qui lui apporte la généralisation ?
  1. Son nom permet d’ignorer les étapes internes du dessin.
  2. Son bloc de tête démarre lors du clic sur le drapeau vert.
  3. Ses entrées changeantes permettent à une méthode de traiter différents cas.
  4. Sa catégorie rend toutes les combinaisons de blocs logiquement correctes.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 5 : Applique les idées à de nouvelles situations10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Un modèle de musée stocke le nombre de visiteurs par salle. Une nouvelle tâche doit prévoir des itinéraires accessibles en fauteuil roulant. Quelle est la principale raison pour laquelle le modèle a besoin de plus d’informations ?
  1. Tout modèle doit inclure chaque caractéristique physique d’un bâtiment.
  2. Le nouvel objectif nécessite des détails d’accès omis par le modèle des effectifs.
  3. Le modèle a besoin de plus d’échantillons de visiteurs pour prévoir les itinéraires.
  4. Le modèle conviendra à la nouvelle tâche si les effectifs sont stockés plus précisément.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Une méthode divise successivement en deux un ensemble trié de 64 pages possibles. L’ensemble passe ensuite à 256 pages. Comment évolue le nombre de divisions par deux nécessaires pour le réduire à une page ?
  1. Il passe de 6 à 24.
  2. Il passe de 8 à 10.
  3. Il passe de 6 à 8.
  4. Il passe de 32 à 128.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Un système accepte un échantillon seulement si sa masse est comprise entre 2 et 5 kg inclus et si son étiquette est lisible. Le test actuel est (mass ≥ 2 AND mass ≤ 5) OR readable. Quelle acceptation erronée peut se produire ?
  1. Un échantillon de 6 kg est accepté si son étiquette est lisible.
  2. Un échantillon de 3 kg est rejeté si son étiquette est lisible.
  3. Un échantillon de 2 kg est rejeté si son étiquette est lisible.
  4. Un échantillon de 5 kg est rejeté si son étiquette est lisible.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Un programme tente de diviser par zéro pendant le traitement de données et s’arrête avec une erreur. Quel type d’échec s’est produit ?
  1. Une erreur de syntaxe.
  2. Un classement incorrect dû uniquement à la logique.
  3. Un chevauchement dans la décomposition.
  4. Une erreur d’exécution.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Quelle est la sortie ?

total ← 0
count ← 0
FOR EACH n IN [−3, 4, 0, 8, −1]
    IF n > 0 THEN
        total ← total + n
        count ← count + 1
    END IF
END FOR
OUTPUT total / count
  1. 2,4.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Un contrôleur utilise « envoyer à tous et attendre » pour terminer la préparation avant le début du jeu. Un script destinataire de préparation contient une boucle « répéter indéfiniment ». Aucune action d’arrêt ne se produit. Qu’arrive-t-il au bloc suivant du contrôleur ?
  1. Il s’exécute dès que le destinataire commence son premier passage.
  2. Il attend toujours, car ce destinataire ne se termine jamais.
  3. Il s’exécute après exactement un passage de la boucle du destinataire.
  4. Il s’exécute lorsque tous les scripts destinataires ont démarré ensemble.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Une équipe conçoit un enregistreur d’entrées qui ajoute un au nombre de participants, un module de bienvenue qui ajoute aussi un pour cette arrivée et un module d’affichage. Quelle responsabilité faut-il modifier pour éviter un total incorrect ?
  1. Un seul module doit augmenter le nombre de participants pour chaque arrivée.
  2. Les deux modules doivent attendre l’affichage avant d’augmenter le nombre.
  3. Le module d’affichage doit remettre le nombre à zéro avant les deux ajouts.
  4. Les deux ajouts doivent s’exécuter ensemble après le message de bienvenue.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un algorithme commence par n ← 0, puis répète n ← n + 2 jusqu’à ce que n ≥ 5 et affiche n. Un organigramme est dessiné avec la même condition avant le corps : Oui mène à la sortie, Non entre dans le corps puis revient au test. Pour cette entrée, les deux affichent 6. Quelle modification révèle leur comportement différent ?
  1. Initialiser n à 2 : la version à test en fin affiche 6, celle à test en début affiche 6.
  2. Initialiser n à 4 : la version à test en fin affiche 6, celle à test en début affiche 6.
  3. Initialiser n à 6 : la version à test en fin affiche 8, celle à test en début affiche 6.
  4. Initialiser n à −2 : la version à test en fin affiche 6, celle à test en début affiche 6.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Quelle paire est affichée ?

a ← 9
b ← 14
temp ← a
a ← b + 1
b ← temp
OUTPUT a, b
  1. 14, 9.
  2. 15, 9.
  3. 15, 15.
  4. 9, 14.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Une équipe se demande si un problème énoncé avec précision possède une solution algorithmique, avant que quiconque écrive un programme. Quelle partie de l’informatique cela illustre-t-il ?
  1. L’étude des limites du calcul.
  2. Le choix du matériel d’une organisation.
  3. Les conclusions tirées d’un échantillon de données.
  4. L’écriture de la syntaxe d’un langage exécutable.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Tu bloques sur ton propre exercice ? Aide aux Devoirs

Mots-Clés

90 Mots-Clés, chacun avec sa définition

A

Abstraction
L’abstraction consiste à conserver les détails nécessaires à un objectif précis tout en masquant les autres, afin de faciliter l’utilisation d’un problème ou d’un composant.
Un plan de métro peut conserver les correspondances tout en omettant le tracé des rues entre les stations.
Accumulateur
Un accumulateur est une variable qui construit un résultat cumulé au fil des passages d’une boucle, en intégrant chaque nouvelle contribution à la valeur stockée.
Un total cumulé ajoute la température suivante à la somme déjà accumulée pour les jours précédents.
Affectation
L’affectation consiste à stocker une valeur nouvellement évaluée dans une variable, en remplaçant la valeur précédemment stockée sous ce nom.
Dans count ← count + 1, l’ancienne valeur de count est lue avant que la nouvelle y soit placée.
Algorithme
Un algorithme est un ensemble fini et ordonné d’instructions précises qui produit la sortie attendue pour chaque entrée appartenant à son domaine valide.
Une méthode correcte de recherche de la plus grande valeur doit examiner suffisamment la liste pour traiter un maximum situé au milieu.
Arbre de décomposition
Un arbre de décomposition montre comment une tâche entière est divisée en responsabilités plus petites à des niveaux de détail successifs.
Les branches sous « Poser une question » peuvent montrer l’affichage du texte, l’affichage des choix et la lecture de la saisie.

B

Bloc « regrouper »
Le bloc « regrouper » est un bloc de valeur Scratch qui construit une seule valeur textuelle en combinant deux morceaux de texte fournis, sans les afficher lui-même.
Un bloc dire peut afficher la salutation construite en regroupant « Bonjour, » suivi d’une espace avec le bloc de valeur réponse.
Bloc « répéter »
Un bloc « répéter » est un bloc de contrôle Scratch qui exécute les commandes qu’il contient un nombre indiqué de fois avant de passer au bloc suivant.
Répéter quatre fois une paire d’actions pour avancer et tourner peut dessiner un carré lorsque le stylo est en position d’écriture.
Bloc « répéter indéfiniment »
Un bloc « répéter indéfiniment » est une boucle Scratch qui continue d’exécuter son corps jusqu’à l’arrêt du script ou du programme, ce qui permet un comportement continu.
Un jeu peut utiliser une boucle qui se répète indéfiniment pour vérifier en permanence si une touche est pressée.
Bloc « répéter jusqu’à ce que »
Un bloc « répéter jusqu’à ce que » est une boucle Scratch qui vérifie un booléen avant chaque passage et répète son corps tant que cette condition d’arrêt est fausse.
Si la première proposition est correcte, un bloc qui répète jusqu’à la bonne réponse saute entièrement son corps de retour d’information.
Bloc « réponse »
Le bloc « réponse » est un bloc de valeur Scratch qui fournit la dernière réponse saisie à l’aide d’un bloc « demander et attendre » pour un traitement ultérieur.
Après avoir demandé un nom, un script peut placer réponse dans regrouper pour construire une salutation personnalisée.
Bloc booléen
Un bloc booléen est un bloc de valeur Scratch à six côtés qui fournit TRUE ou FALSE à l’emplacement de condition d’une décision ou d’une boucle.
Une comparaison de la catégorie Capteurs peut indiquer à un bloc « si » si son lutin touche le pointeur de la souris.
Bloc de tête
Un bloc de tête démarre un script Scratch ; sa forme se place au-dessus de la pile de commandes et indique l’événement qui déclenche les instructions associées.
Un bloc de tête du drapeau vert fait réagir sa pile au drapeau, tandis qu’un bloc de tête d’appui sur une touche répond à cette touche.
Bloc de valeur
Un bloc de valeur est un bloc Scratch arrondi qui fournit une valeur, comme un texte ou un nombre, à un emplacement d’entrée d’un autre bloc.
Le bloc de valeur du score fournit le nombre actuel à une comparaison qui vérifie si l’objectif est atteint.
Bloc personnalisé
Un bloc personnalisé est une procédure Scratch nommée dont la définition contient des commandes réutilisables et peut inclure des paramètres d’entrée pour les valeurs changeantes.
Un bloc carré peut dessiner des côtés de différentes longueurs lorsque chaque appel fournit une nouvelle taille.
Booléen
Un booléen est une valeur de données qui possède l’un de deux états possibles, TRUE ou FALSE, et qui est couramment produite par une comparaison ou une opération logique.
La comparaison score ≥ 50 fournit un booléen qui détermine quelle branche de l’algorithme s’exécute.
Boucle à test en début
Une boucle à test en début évalue sa condition de contrôle avant chaque exécution du corps, ce qui permet au corps de ne jamais s’exécuter si la condition d’entrée échoue.
Un organigramme WHILE peut aller directement de sa première décision à l’étape qui suit la boucle.
Boucle à test en fin
Une boucle à test en fin évalue sa condition de contrôle après le corps répété : celui-ci s’exécute donc au moins une fois avant une décision d’arrêt.
Une connexion REPEAT … UNTIL demande un mot de passe avant de décider si une autre tentative est nécessaire.
Boucle bornée
Une boucle bornée répète son corps un nombre connu de fois, souvent à l’aide d’un compteur dont les valeurs couvrent un intervalle spécifié, bornes incluses.
Une boucle FOR de 1 à 5 inclus effectue cinq passages, tandis que commencer à 0 ajoute un passage.
Boucle conditionnelle
Une boucle conditionnelle décide de la répétition à l’aide d’un test booléen : le nombre de passages peut donc dépendre de données changeantes ou d’une nouvelle entrée.
Un jeu de devinette peut continuer à poser la question jusqu’à ce que la réponse corresponde à la valeur secrète choisie au départ.
Boucle infinie
Une boucle infinie est une répétition qui ne se termine jamais parce que l’exécution n’atteint jamais un état ou une action qui arrête le travail répété.
Un compte à rebours positif se répète indéfiniment si son corps ne diminue jamais la valeur testée par la boucle.
Branche
Une branche est un chemin possible à travers une décision, qui contient le travail exécuté lorsque la condition ou le cas indiqué est sélectionné.
Dans un organigramme de connexion, la branche de connexion réussie affiche « Welcome » puis rejoint le flux avant la fin.

C

Calcul
Un calcul est un processus qui exécute des instructions sur des informations en entrée pour produire un résultat, lequel peut ensuite être utilisé par un autre processus.
Un calcul d’itinéraire utilise des lieux et des données cartographiques pour produire un itinéraire avec une distance et une durée de trajet.
Chaîne de caractères
Une chaîne de caractères est une suite de caractères textuels qui permet à un programme de stocker des noms, des messages ou du texte ressemblant à des nombres sous forme de données textuelles.
Joindre les chaînes « 12 » et « 3 » produit « 123 », ce qui diffère du calcul de leur somme numérique.
Compteur
Un compteur est une variable utilisée pour consigner le nombre de fois qu’un événement se produit ou le nombre d’éléments traités pendant l’exécution.
Le compteur augmente une fois par relevé afin que le total final puisse être divisé par le nombre de relevés.
Concurrence
La concurrence est l’exécution de plusieurs scripts sur des périodes qui se chevauchent, de sorte que leurs actions peuvent dépendre du moment de leur exécution si elles ne sont pas coordonnées.
Deux scripts qui écrivent des valeurs différentes dans une même variable ont besoin d’un plan avant qu’un autre script s’appuie sur sa valeur.
Condition
Une condition est une expression évaluée comme vraie ou fausse, qui fournit le résultat utilisé par une branche ou une boucle conditionnelle.
La condition remaining > 0 détermine si la boucle doit traiter un autre élément.
Connecteur
Un connecteur est un symbole d’organigramme portant une indication qui relie des parties séparées du flux d’exécution et aide le lecteur à suivre sa continuation dans le schéma.
Des indications identiques sur des connecteurs peuvent remplacer une longue ligne qui en croise d’autres et rendrait un grand organigramme difficile à suivre.
Constante
Une constante est une valeur nommée qui reste inchangée tout au long d’un algorithme, ce qui rend explicite une règle ou une quantité fixe dans ses instructions.
Un seuil de réussite nommé peut être comparé à de nombreux scores sans changer pendant le calcul.
Contrainte
Une contrainte est une règle ou une limite qu’une solution doit respecter et qui détermine quels résultats ou méthodes possibles sont acceptables.
Un plan de repas doit respecter le temps disponible pour cuisiner ainsi que les besoins alimentaires de chacun.
Correction
La correction est la propriété de produire le comportement attendu pour chaque entrée valide tout en respectant les règles définies du problème.
Une méthode qui ne trouve le maximum que lorsqu’il se trouve à une extrémité d’une liste n’est pas correcte pour toutes les listes.
Couche d’abstraction
Une couche d’abstraction est un niveau d’un système qui fournit un comportement défini tout en masquant les détails de l’exécution du travail aux niveaux inférieurs.
Une application de messagerie s’appuie sur les services du système d’exploitation sans obliger son utilisateur à commander directement le matériel.
Critère de réussite
Un critère de réussite est un moyen précis de juger si une solution a atteint le résultat visé et répondu aux besoins du problème.
Une liste de courses est réussie lorsqu’elle fournit une quantité suffisante de chaque ingrédient nécessaire aux repas choisis.
Cycle de résolution de problèmes
Un cycle de résolution de problèmes est un processus qui consiste à comprendre un problème, planifier une solution, l’exécuter et la vérifier, puis à la modifier si nécessaire.
Un test échoué peut amener une personne à modifier son plan initial ou à inclure une entrée manquante.

D

Débogage
Le débogage consiste à trouver et à corriger la cause d’un échec de programme en le reproduisant, en examinant l’exécution et en vérifiant l’effet d’une correction.
La première valeur inattendue d’un suivi d’exécution peut conduire à une mise à jour qui a effacé le résultat accumulé.
Décomposition
La décomposition consiste à diviser une tâche complexe en sous-problèmes plus petits qui peuvent être compris, résolus et vérifiés avant d’être combinés.
Un quiz peut séparer la présentation d’une question, la vérification de la réponse et la mise à jour du score.
Décomposition descendante
La décomposition descendante consiste à diviser un problème entier en parties principales, puis à affiner ces parties en tâches plus petites et plus faciles à résoudre directement.
Une personne identifie les responsabilités d’un quiz avant de décider des actions détaillées sur chaque écran.
Dépendance
Une dépendance est une relation dans laquelle une tâche a besoin du résultat d’une autre, ce qui limite le moment où la tâche dépendante peut se poursuivre.
Dans un quiz, la tâche de calcul du score doit recevoir la réponse vérifiée avant de pouvoir décider s’il faut ajouter un point.
Diffusion de message
Une diffusion de message est l’envoi d’un message Scratch à tous les lutins et à la scène, qui démarre les scripts dont les blocs de tête de réception correspondent à ce message.
Un contrôleur peut envoyer « préparer » afin que plusieurs lutins se mettent en position grâce à leurs propres scripts destinataires.
DIV
DIV est un opérateur de division entière qui donne le quotient entier, en comptant les groupes complets de la taille du diviseur dans un dividende positif ou nul.
Pour 135 minutes, 135 DIV 60 détermine deux heures complètes avant le traitement des minutes restantes.
Données à valeurs réelles
Les données à valeurs réelles représentent des quantités numériques qui peuvent avoir une partie fractionnaire et sont couramment stockées dans un programme avec un type de données à virgule flottante.
Une longueur de pièce mesurée à 4,5 mètres nécessite un type de données capable de représenter sa partie fractionnaire.

E

Enchaînement de conditions « sinon si »
Un enchaînement de conditions « sinon si » teste des conditions dans l’ordre et n’exécute que la première branche correspondante, avec un ELSE final facultatif pour les cas sans correspondance.
Des seuils « au moins » qui se chevauchent doivent être ordonnés avec soin pour qu’une branche placée tôt ne capte pas tous les cas.
Entier
Un entier est un nombre sans partie fractionnaire qui peut être négatif, nul ou positif, ce qui le rend adapté aux décomptes et aux autres valeurs sans partie fractionnaire.
Un compteur de boucle prend des valeurs entières, tandis que la moyenne calculée de ses valeurs d’entrée peut être fractionnaire.
Entrée
Une entrée est une donnée fournie à un calcul avant ou pendant son exécution, qui apporte des informations utilisables par ses instructions.
Une température saisie par un utilisateur est une entrée pour un programme qui décide quel message afficher.
Erreur d’exécution
Une erreur d’exécution est un échec rencontré pendant l’exécution d’un programme, souvent déclenché par une entrée ou un état particulier au cours d’une opération.
Le calcul de la moyenne d’une liste vide entraîne une division par zéro si son nombre d’éléments est utilisé sans vérification préalable.
Erreur de décalage d’une unité
Une erreur de décalage d’une unité est une erreur aux limites qui fait qu’un décompte ou un processus répété inclut un élément de trop ou de moins.
Un compte à rebours utilisant n ≥ 0 affiche zéro en plus des valeurs positives si son corps affiche n.
Erreur de logique
Une erreur de logique est un défaut des instructions qui amène un programme en cours d’exécution à produire un comportement ou des résultats différents des règles attendues.
Utiliser une comparaison stricte pour un seuil de réussite inclus rejette à tort le score situé au seuil.
Erreur de syntaxe
Une erreur de syntaxe est une infraction aux règles d’écriture d’un langage de programmation qui empêche l’interprétation correcte des instructions concernées.
Une parenthèse fermante manquante peut empêcher l’exécution de code textuel avant que sa logique soit testée.
Exécution à la main
Une exécution à la main consiste à suivre manuellement un algorithme avec des valeurs d’entrée choisies et à consigner les opérations réellement effectuées sans exécuter de programme informatique.
Un apprenant utilise un tableau de suivi d’exécution pour vérifier à la main le premier passage, le dernier passage et le test d’arrêt d’une boucle.

É

Événement
Un événement est un fait, comme l’appui sur une touche ou la réception d’un message, qui peut déclencher les scripts d’un programme enregistrés pour y répondre.
Cliquer sur le drapeau vert démarre les scripts Scratch qui possèdent les blocs de tête correspondants.

G

Généralisation
La généralisation consiste à transformer une solution particulière en une méthode applicable à une famille de cas, en identifiant ce qui reste fixe et ce qui peut varier.
Une seule méthode de dessin de polygones peut accepter différents nombres de côtés au lieu d’utiliser un script pour chaque forme.
Gestionnaire d’événement
Un gestionnaire d’événement est un script ou un morceau de code qui démarre lorsqu’un événement particulier se produit et exécute la réponse attribuée à cet événement.
Un script « quand je reçois [fin du jeu] » peut arrêter le mouvement lorsque le projet envoie ce message.

I

Imbrication
L’imbrication consiste à placer une structure de contrôle dans le corps d’une autre structure, de sorte que l’accès à la structure intérieure dépende du flux qui l’entoure.
Une vérification intérieure du mot de passe ne peut s’exécuter qu’après que la vérification extérieure de sa longueur a dirigé l’exécution vers sa branche.
Informatique
L’informatique est l’étude du calcul, de l’information et de la conception de systèmes qui résolvent des problèmes par des processus précis.
Un informaticien peut étudier si un problème est résoluble avant que quiconque écrive un programme exécutable.
Ingénierie informatique
L’ingénierie informatique est la conception et le développement du matériel informatique physique, comme les processeurs, les cartes électroniques et les dispositifs associés.
Concevoir le circuit d’un processeur relève surtout de l’ingénierie informatique, tandis qu’étudier les problèmes résolubles relève surtout de la théorie.
Itération
L’itération consiste à répéter un bloc d’instructions selon un nombre de passages ou une condition, ce qui permet à une méthode de traiter un travail répété sans dupliquer ses étapes.
Une boucle peut appliquer la même comparaison à chaque valeur candidate tout en conservant la meilleure trouvée jusque-là.

L

Ligne de liaison
Une ligne de liaison est une liaison fléchée entre des symboles d’organigramme qui précise quelle étape en suit une autre, y compris le retour vers un travail répété.
Une ligne de liaison de retour peut aller de la mise à jour du corps vers la décision qui contrôle un nouveau passage.
Liste
Une liste est une collection ordonnée de valeurs traitée comme une seule donnée, qui permet à un algorithme de parcourir ses éléments et de les combiner ou de les comparer.
Une boucle FOR EACH peut parcourir les températures relevées dans une liste et en accumuler le total.
Lutin
Un lutin est un personnage ou un objet d’un projet Scratch qui possède ses propres scripts, costumes et sons et peut réagir à des événements et effectuer des actions.
Deux lutins peuvent répondre à la même diffusion de message tout en accomplissant des tâches différentes dans le projet.

M

MOD
MOD est un opérateur sur les entiers qui donne le reste après une division entière ; pour des entrées positives ou nulles, c’est ce qui reste après les groupes complets.
La valeur 135 MOD 60 donne les 15 minutes restantes après avoir retiré deux heures complètes.
Modèle
Un modèle est une représentation simplifiée de quelque chose qui conserve suffisamment d’informations pertinentes pour répondre aux questions liées à un objectif précis.
Un modèle de parking enregistre l’identité d’une voiture et son heure d’arrivée sans simuler le fonctionnement de son moteur.

O

Opérateur logique
Un opérateur logique combine ou inverse des conditions booléennes : AND exige que les deux soient vraies, OR qu’au moins l’une le soit, et NOT inverse une valeur.
Un test d’appartenance à un intervalle valide combine ses bornes inférieure et supérieure avec AND pour exiger le respect des deux.
Organigramme
Un organigramme est un schéma qui représente les étapes d’un algorithme par des symboles et montre leur ordre d’exécution à l’aide de lignes de liaison orientées.
Suivre une seule série de valeurs d’entrée à travers les flèches révèle le chemin que prendra cette exécution.

P

Paramètre
Un paramètre est une entrée nommée dans la définition d’une procédure, qui permet à ses instructions d’utiliser les valeurs fournies par différents appels.
Le paramètre de taille permet à une procédure de dessin d’utiliser 60 pas lors d’un appel et 100 lors d’un autre.
Pensée informatique
La pensée informatique est une manière de formuler les problèmes et les solutions sous forme d’étapes qu’une personne, un ordinateur ou les deux ensemble peuvent exécuter.
Prévoir les ingrédients communs à plusieurs repas fait appel à la pensée informatique avant toute utilisation d’un logiciel.
Procédure
Une procédure est un groupe nommé d’instructions qui peut être appelé pour accomplir une tâche, parfois avec des entrées fournies ou un résultat retourné.
L’élément appelant peut utiliser une procédure de calcul de moyenne sans réécrire à chaque fois ses étapes d’addition et de division.
Programmation
La programmation consiste à écrire des instructions dans un langage qu’un ordinateur peut exécuter, afin de transformer une méthode prévue en comportement exécutable.
Un développeur peut implémenter la même méthode de calcul dans plusieurs langages de programmation.
Programmation par blocs
La programmation par blocs consiste à construire un programme à partir de blocs graphiques d’instructions et de valeurs dont les formes guident les assemblages possibles.
Un débutant peut assembler une boucle sans saisir la ponctuation exigée par un langage textuel.
Programme
Un programme est un ensemble d’instructions exprimées dans un langage de programmation afin qu’un ordinateur puisse exécuter le comportement indiqué.
Un organigramme et un programme exécutable peuvent exprimer la même méthode au moyen de représentations différentes.
Pseudo-code
Le pseudo-code est une description structurée et lisible d’un algorithme qui exprime sa logique sans suivre la syntaxe d’un langage de programmation particulier.
Des mots-clés en majuscules et des blocs indentés rendent visible la structure de boucle prévue avant l’implémentation.

R

Reconnaissance de motifs
La reconnaissance de motifs consiste à identifier dans des données ou des tâches des ressemblances, des répétitions ou des tendances qui suggèrent une structure commune ou une méthode réutilisable.
Des paires répétées d’actions pour avancer et tourner suggèrent une boucle lorsqu’un stylo suit les côtés d’un polygone régulier.

S

Scène
La scène est l’espace visible du projet Scratch, qui mesure 480 unités sur 360, avec des coordonnées horizontales et verticales centrées sur (0 ; 0).
Un lutin envoyé à x : 0 et y : 0 se déplace au centre avant d’exécuter le bloc suivant.
Science des données
La science des données utilise les statistiques et l’informatique pour tirer des conclusions à partir de données, en combinant le raisonnement quantitatif et des méthodes de traitement de l’information.
Un spécialiste de la science des données peut étudier des mesures enregistrées pour repérer des tendances et évaluer des explications possibles.
Script
Un script est une pile de blocs Scratch reliés qui décrit un comportement ordonné, généralement démarrée par un bloc de tête lorsque son événement se produit.
Un script démarré par le drapeau vert peut remettre une variable à zéro, poser une question puis choisir un message de retour.
Séquence
La séquence est la structure de contrôle dans laquelle les instructions s’exécutent les unes après les autres, chaque instruction utilisant l’état laissé par les précédentes.
Lire une mesure avant de calculer son résultat est une séquence comportant une dépendance nécessaire.
Sortie
Une sortie est un résultat envoyé par un calcul, comme un texte affiché, une valeur calculée ou des données transmises à un autre processus.
La masse moyenne affichée après le traitement d’un ensemble de mesures est la sortie du calcul.
Sous-problème
Un sous-problème est une tâche plus petite au sein d’un problème plus vaste, dont la responsabilité contribue à résoudre le problème dans son ensemble.
Afficher les choix de réponse est un sous-problème de la tâche plus vaste qui consiste à poser une question de quiz.
Structure conditionnelle
Une structure conditionnelle est une structure de contrôle qui teste une condition et choisit la branche d’instructions à exécuter pour l’état actuel.
Une vérification du seuil de réussite choisit un message lorsque le score l’atteint et un autre dans le cas contraire.
Structure de contrôle
Une structure de contrôle est une manière d’organiser l’ordre d’exécution, notamment les étapes successives, les choix conditionnels et les blocs de travail répétés.
Un algorithme de traitement de liste peut placer une décision dans une boucle et mettre à jour une variable dans une séquence.
Symbole d’entrée-sortie
Un symbole d’entrée-sortie est un parallélogramme d’organigramme qui représente une étape recevant des données ou envoyant un résultat à un utilisateur ou à une autre destination.
Lire la longueur d’une pièce et afficher une aire utilisent tous deux des symboles de données, tandis que le calcul utilise un rectangle.
Symbole de début ou de fin
Un symbole de début ou de fin est un symbole d’organigramme, dessiné sous forme d’ovale ou de rectangle arrondi, qui marque un point de départ ou d’arrivée de l’exécution.
Un organigramme de calcul de l’aire d’une pièce commence au début et atteint la fin après l’affichage de l’aire calculée.
Symbole de décision
Un symbole de décision est un losange d’organigramme qui teste une condition ou une valeur et choisit exactement un de ses chemins sortants, chacun portant une indication.
Le losange score ≥ 50? dirige un score qui atteint le seuil de réussite vers Oui et un score inférieur vers Non.
Symbole de traitement
Un symbole de traitement est un rectangle d’organigramme qui représente une action ou un calcul modifiant ou utilisant les données actuelles du programme.
Le rectangle area ← length * width calcule une valeur après la lecture des deux mesures.

T

Tableau de suivi d’exécution
Un tableau de suivi d’exécution consigne les valeurs des variables, les résultats des conditions et les sorties lorsque les instructions d’un algorithme sont suivies lors d’une exécution particulière.
Le suivi d’une somme cumulée montre le total après chaque addition et rend visible une remise à zéro inattendue.
Technologies de l’information
Les technologies de l’information regroupent le choix, l’installation, la maintenance et l’exploitation des systèmes informatiques d’une organisation.
Une équipe chargée des technologies de l’information peut configurer les ordinateurs et les comptes dont une organisation a besoin pour son travail quotidien.
Tendance
Une tendance est une direction ou une relation récurrente observée dans des données, qui peut guider des prévisions lorsque le motif reste pertinent.
Un magasin compare les ventes de parapluies aux prévisions de pluie avant d’utiliser ce motif pour prévoir son stock.
Test aux limites
Un test aux limites vérifie une borne valide ou un seuil de décision ainsi que les valeurs proches, pour lesquels de petites erreurs de comparaison peuvent modifier l’acceptation.
Tester exactement 50 révèle une comparaison stricte « supérieur à » lorsque la règle de réussite inclut ce score.
Traitement prédéfini
Un traitement prédéfini est une étape d’organigramme qui appelle une procédure décrite séparément, représentée par un rectangle à double trait vertical sur les côtés.
Un organigramme principal peut appeler une procédure de vérification sans dessiner chaque comparaison interne sur la même page.
Type de données
Un type de données identifie le genre de valeur représentée et aide à déterminer quelles opérations ont un sens pour cette valeur.
Additionner des nombres calcule une somme numérique, tandis que joindre deux chaînes de caractères rassemble leur texte.

V

Valeur de retour
Une valeur de retour est un résultat qu’une procédure renvoie à l’élément qui l’a appelée, où il peut être stocké, combiné à d’autres données ou transmis.
Une procédure de calcul de moyenne peut retourner 20 afin que l’élément appelant puisse le comparer à une autre mesure.
Variable
Une variable est un emplacement de stockage nommé dont la valeur actuelle peut être lue et remplacée pendant l’exécution d’un algorithme ou d’un programme.
Une variable compteur passe de 4 à 5 après qu’une instruction a ajouté un à sa valeur actuelle.

À propos de cette unité

Par StudeliSignaler une erreur

Crée ton propre Matériel d'Étude

Transforme tes notes, diapos et documents en Guides d'Étude, Questions Pratiques, Flashcards et 6 autres outils.

Commencer