4. Calculs avec des émojis
Enchaînez addition, soustraction et multiplication dans le bon ordre.
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.
LOAD 10
ADD 5
PRINT
MUL 2
SUB 4
PRINT
HALT
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: 15, 26
2. Construire et vérifier
Lisez un entier x et affichez (x + 5) × 2 − 4. Votre programme doit fonctionner pour toutes les entrées fournies, y compris les nombres négatifs.
Types d’instructions requis: INPUT, ADD, MUL, SUB
Exemple de solution du défi
INPUT
ADD 5
MUL 2
SUB 4
PRINT
HALT
Cas réels du vérificateur
Cas 1
- Entrée
0- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
6
Cas 2
- Entrée
-3- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
0
Cas 3
- Entrée
12- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
30
3. Expliquer la machine
Pourquoi MUL doit-il suivre ADD pour calculer (x + 5) × 2 − 4 ?
Raisonnement et note pédagogique
Chaque opération modifie le résultat accumulé ; inverser ADD et MUL change l’expression pour la plupart des valeurs de x.
5. Division et restes
Expliquez la division arrondie vers le bas et le reste signé, même pour les nombres négatifs.
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.
LOAD -9 R1
LOAD R1
DIV 4
PRINT
LOAD R1
MOD 4
PRINT
HALT
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: -3, -1
2. Construire et vérifier
Lisez un entier. Affichez son quotient par 4 arrondi vers moins l’infini, puis son reste signé par 4. Conservez l’original assez longtemps pour calculer les deux.
Types d’instructions requis: INPUT, DIV, MOD, COPY
Exemple de solution du défi
INPUT
COPY R0 R1
DIV 4
PRINT
LOAD R1
MOD 4
PRINT
HALT
Cas réels du vérificateur
Cas 1
- Entrée
18- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
4, 2
Cas 2
- Entrée
-9- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
-3, -1
Cas 3
- Entrée
0- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
0, 0
3. Expliquer la machine
Pourquoi sauvegarder l’entrée d’origine avant de calculer le quotient ?
Raisonnement et note pédagogique
DIV remplace R0 ; rechargez l’original avant MOD. Pour −9, le quotient arrondi vers moins l’infini, −3, et le reste signé, −1, suivent des règles distinctes.
6. Une calculatrice à deux entrées
Construisez une calculatrice réutilisable plutôt qu’une réponse fixe.
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.
INPUT
COPY R0 R1
INPUT
COPY R0 R2
LOAD R1
ADD R2
PRINT
LOAD R1
MUL R2
PRINT
HALT
Ajouter les entrées à la file: 3, 4
Initialiser la mémoire: Tous les octets sont initialement nuls
Corrigé de la prédiction d’essai
Sortie: 7, 12
2. Construire et vérifier
Lisez les entiers a et b. Affichez leur somme puis leur produit. Utilisez les valeurs fournies plutôt que des réponses fixes.
Types d’instructions requis: INPUT, ADD, MUL
Exemple de solution du défi
INPUT
COPY R0 R1
INPUT
COPY R0 R2
LOAD R1
ADD R2
PRINT
LOAD R1
MUL R2
PRINT
HALT
Cas réels du vérificateur
Cas 1
- Entrée
3, 4- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
7, 12
Cas 2
- Entrée
-2, 5- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
3, -10
Cas 3
- Entrée
0, 8- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
8, 0
3. Expliquer la machine
Quelle erreur produit une multiplication immédiatement après l’affichage de la somme ?
Raisonnement et note pédagogique
PRINT laisse R0 à a + b ; multiplier ensuite par b donne (a + b)b. Rechargez a pour obtenir ab.