Corrigé pour l’enseignant

Découvrir la machine

Recueillez quatre types d’indices : prédiction de l’état pertinent ; comportement dans des cas variés, y compris aux limites ; explication fondée sur la trace et l’état ; correction justifiée d’un écart. Évaluez chacun comme en développement, avec soutien ou autonome, sur papier ou selon la procédure approuvée de votre école. Réussir un défi prouve un comportement de la machine, pas la paternité du code ni une maîtrise complète. Acceptez les programmes équivalents corrects : le corrigé public est un modèle, pas l’unique réponse possible.

Matériel pédagogique public. Les solutions sont des exemples ; des programmes équivalents corrects peuvent aussi réussir les vérifications réelles.

1. Votre premier programme en émojis

Chargez un nombre dans le processeur, affichez-le et arrêtez le programme.

Ouvrir cette leçon →

1. Prévoir et tracer

Avant d’exécuter le programme d’essai, prévoyez sa sortie et tracez les trois premières instructions exécutées. Suivez les registres, les indicateurs ou la mémoire pertinents, selon le besoin. Avancez ensuite pas à pas pour comparer.

📥 42
🖨️
⏹️

Ajouter les entrées à la file: Aucune

Initialiser la mémoire: Tous les octets sont initialement nuls

Corrigé de la prédiction d’essai

Sortie: 42

InstructionPC avantPC aprèsR0 avantR0 aprèsÉtat pertinentSortie
LOAD01042{"registers":[42,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]}Aucune
PRINT124242{"registers":[42,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]}42
HALT224242{"registers":[42,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]}42

2. Construire et vérifier

Écrivez un programme qui affiche 42 exactement une fois, puis s’arrête. Utilisez LOAD, PRINT et HALT.

Types d’instructions requis: LOAD, PRINT, HALT

Exemple de solution du défi

LOAD 42
PRINT
HALT

Cas réels du vérificateur

Cas 1
Entrée
Aucune
Mémoire initiale
Tous les octets sont initialement nuls
Sortie attendue
42

3. Expliquer la machine

Que contiennent R0 et la sortie juste avant PRINT ? Où HALT laisse-t-il PC ?

Raisonnement et note pédagogique

R0 = 42 ; la sortie est vide avant PRINT et contient 42 après ; HALT se trouve à l’indice compilé 2.