Softanza
DémarrerEnglish
Softanza
Le livre · Chapitre 15 · La preuve de chaque chapitre

Écrire une narration

Ce chapitre a 4 cellules et écrit 8 promesses. Dans chacune de ses quatre éditions, ses cellules ont été exécutées dans un processus neuf le 2026-10-08 20:15 : English, 4 cellules exécutées, 8 promesses tenues; Français, 4 cellules exécutées, 8 promesses tenues; العربية, 4 cellules exécutées, 8 promesses tenues; Hausa, 4 cellules exécutées, 8 promesses tenues. Les quatre éditions font les mêmes promesses, cellule pour cellule. Aucune édition ne stocke de sortie.

Le garde

Le garde du cours est course_narrated.ring(s'ouvre dans un nouvel onglet) : il exécute chaque chapitre dans les quatre langues, compare les promesses d'une édition à l'autre, et fait prouver chaque exercice sur ses mauvaises et ses bonnes réponses. Cette page a posé les mêmes questions aux mêmes objets, dans un seul processus à l'intérieur de la bibliothèque, au commit 0e72e2e2c. Pour prouver ce chapitre seul, depuis votre copie du dépôt :

cd libraries/stzlib/base/test/education
# exécutez course_narrated avec le moteur d'exécution du dépôt, pour ce chapitre :
#   course_narrated write-a-narration

exécuté le 2026-10-08 20:15 dans la bibliothèque au commit 4a184e6f0, en 246.4 s pour tout le livre · Les quatre éditions du chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Le lecteur ne stocke aucune sortie, par la loi du cours ; cette page est le compte rendu d'une exécution, faite pour elle. Le code des cellules est celui de l'édition anglaise ; les titres viennent de l'édition française. Les quatre éditions font les mêmes promesses, cellule pour cellule.

Les cellules, exécutées

Cellule 1 · 1. Une narration est un fichier texte avec des promesses

Softanza
cDoc = "# Mini" + char(10) + "```ring" + char(10) + "? 1 + 1" + char(10) + "#--> 2" + char(10) + "```" + char(10)
cMini = "t_mini_" + ProcessId() + ".en.md"
write(cMini, cDoc)
oCh = StzChapterQ(cMini, "en")
oCh.Run("")
? oCh.NumberOfCells()
#--> 1
? oCh.AllPromisesKept()
#--> TRUE
Sortie de cette exécution
1
1

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 2 · 2. Une promesse rompue est attrapée, pas cachée

Softanza
cBroken = "# Mini" + char(10) + "```ring" + char(10) + "? 1 + 1" + char(10) + "#--> 3" + char(10) + "```" + char(10)
cMini2 = "t_mini2_" + ProcessId() + ".en.md"
write(cMini2, cBroken)
oCh2 = StzChapterQ(cMini2, "en")
oCh2.Run("")
? oCh2.AllPromisesKept()
#--> FALSE
? oCh2.CellKept(1)
#--> FALSE
Sortie de cette exécution
0
0

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 3 · 3. Une garde a un cas positif et un cas négatif

Softanza
? oCh.AllPromisesKept() = 1 and oCh2.AllPromisesKept() = 0
#--> TRUE
remove(cMini)
remove(cMini2)
Sortie de cette exécution
1

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 4 · 4. Un verdict s'explique lui-même

Softanza
oNo = new stzExerciseCheck("demo", [ "3" ], "? 42", [])
? oNo.Passed()
#--> FALSE
? oNo.Why()
#--> Your program ran, but what it printed is not yet what the task asks. It printed: 42
oYes = new stzExerciseCheck("demo", [ "3" ], "? 1 + 2", [])
? oYes.Why()
#--> Every promise of the exercise was kept when your program ran.
Sortie de cette exécution
0
Your program ran, but what it printed is not yet what the task asks. It printed: 42
Every promise of the exercise was kept when your program ran.

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Les exercices

Chaque exercice s'éprouve lui-même : ses mauvaises réponses sont refusées et ses bonnes acceptées.

ex-15-01 · Exercice 15.1 · Votre première narration

2 mauvaises réponses refusées sur 2, 2 bonnes acceptées sur 2

01-a-wrong-promise.ring refusée · 02-asks-before-running.ring refusée · 01-write-and-run.ring acceptée · 02-another-cell.ring acceptée

Le dossier de l'exercice(s'ouvre dans un nouvel onglet)

ex-15-02 · Exercice 15.2 · Un cas positif et un cas négatif

2 mauvaises réponses refusées sur 2, 2 bonnes acceptées sur 2

01-only-the-positive-case.ring refusée · 02-two-good-documents.ring refusée · 01-both-cases.ring acceptée · 02-cell-verdicts.ring acceptée

Le dossier de l'exercice(s'ouvre dans un nouvel onglet)

ex-15-03 · Exercice 15.3 · Pourquoi a-t-il dit non ?

2 mauvaises réponses refusées sur 2, 2 bonnes acceptées sur 2

01-prints-the-verdict.ring refusée · 02-a-check-that-passed.ring refusée · 01-why.ring acceptée · 02-why-in-english.ring acceptée

Le dossier de l'exercice(s'ouvre dans un nouvel onglet)