| Les candidats doivent être capables de : | Notes et orientations |
|---|---|
| 1 Déclarer et utiliser des variables et des constantes | |
| 2 Comprendre et utiliser les types de données de base | • Y compris : – entier – réel – char – chaîne – Booléen |
| 3 Comprendre et utiliser les entrées et les sorties | |
| 4 (a) Comprendre et utiliser le concept de séquence | |
| (b) Comprendre et utiliser le concept de sélection | • Y compris : – instructions IF – instructions CASE |
| (c) Comprendre et utiliser le concept d'itération | • Y compris : – boucles contrôlées par compteur – boucles à précondition – boucles à postcondition |
| (d) Comprendre et utiliser les concepts d'accumulation et de comptage | |
| (e) Comprendre et utiliser le concept de gestion des chaînes | • Y compris : – longueur – sous-chaîne – majuscules – minuscules • Le premier caractère de la chaîne peut être à la position zéro ou un |
| (f) Comprendre et utiliser les opérateurs arithmétiques, relationnels et logiques | • Arithmétiques, limités à : – + – – – / – * – ^ (élévé à la puissance) – MOD – DIV • Relationnels, limités à : – = – < – <= – > – >= – <> (différent de) • Logiques, limités à : – AND – OR – NOT |
| 5 Comprendre et utiliser les instructions imbriquées | • Y compris la sélection imbriquée et l'itération imbriquée • Les candidats ne seront pas tenus d'écrire plus de trois niveaux d'instructions imbriquées |
| 6 (a) Comprendre ce que signifient les procédures, les fonctions et les paramètres (b) Définir et utiliser des procédures et des fonctions, avec ou sans paramètres (c) Comprendre et utiliser les variables locales et globales | • Les procédures et les fonctions peuvent avoir jusqu'à trois paramètres |
| 7 Comprendre et utiliser les routines de bibliothèque | • Y compris : – MOD – DIV – ROUND – RANDOM |
| 8 Comprendre comment créer un programme maintenable | • Y compris l'utilisation appropriée de : – identifiants significatifs – la fonction de commentaires fournie par le langage de programmation – procédures et fonctions – commentaire pertinent et approprié de la syntaxe • Utiliser des identifiants significatifs pour : – variables – constantes – tableaux – procédures et fonctions |
Programmation
Informatique IGCSE · Sujet 8
13:16
Programmation
Voici un court programme. Il lit cinq notes de test et affiche le total. Les cinq notes sont huit, neuf, sept, six et dix, donc le total devrait être quarante. Regardez…
Narration en anglais · Sous-titres anglais + 中文 incrustés
8.1
Variables and constants
Programme
Source : Programme Cambridge International
Une variable 变量 est un espace nommé qui contient une valeur qui peut changer pendant l'exécution du programme. Un constante 常量 est un espace nommé dont la valeur est fixe et ne change pas.


Vous devez les déclarer 声明 (donner leur nom et leur type) avant utilisation :
DECLARE Score : INTEGER
DECLARE Name : STRING
CONSTANT Pi ← 3.142

Utilisez une constante pour une valeur qui ne change jamais (comme Pi), afin qu'elle soit définie à un seul endroit et facile à lire.
Variables et affectation
Parcourez les lignes et regardez chaque variable prendre sa nouvelle valeur.
| Anglais | Chinois | Pinyin |
|---|---|---|
| variable/ˈveərɪəbl/ | 变量 | biàn liàng |
| constant/ˈkɒnstənt/ | 常量 | cháng liàng |
| declare/dɪˈkleə/ | 声明 | shēng míng |
8.1
Data types
Un data type 数据类型 indique quel type de valeur une variable contient. Vous devez connaître cinq types de base.

| Type | Holds | Exemple |
|---|---|---|
| integer 整数 | un nombre entier | 42, -7 |
| réel 实数 | un nombre avec une virgule décimale | 3.14, -0.5 |
| char 字符 | un caractère unique | 'A', '?' |
| string 字符串 | une séquence de caractères | "Hello" |
| Boolean 布尔值 | l'une de deux valeurs | TRUE ou FALSE |
| Anglais | Chinois | Pinyin |
|---|---|---|
| data type/ˈdeɪtə taɪp/ | 数据类型 | shù jù lèi xíng |
| integer/ˈɪntɪdʒə/ | 整数 | zhěng shù |
| real/rɪəl/ | 实数 | shí shù |
| char/tʃɑː/ | 字符 | zì fú |
| string/strɪŋ/ | 字符串 | zì fú chuàn |
| Boolean/ˈbuːlɪən/ | 布尔值 | bù ěr zhí |
8.1
Input and output
Entrée 输入 lit une valeur de l'utilisateur. Sortie 输出 affiche une valeur sur l'écran.
OUTPUT "What is your name?"
INPUT Name
OUTPUT "Hello ", Name
| Anglais | Chinois | Pinyin |
|---|---|---|
| input/ˈɪnpʊt/ | 输入 | shū rù |
| output/ˈaʊtpʊt/ | 输出 | shū chū |
8.1
The three basic structures
Chaque programme est construit à partir de trois structures de contrôle.

Séquence
Séquence 顺序 signifie que les étapes s'exécutent les unes après les autres, dans l'ordre, de haut en bas.
INPUT Length
INPUT Width
Area ← Length * Width
OUTPUT Area
Sélection
Sélection 选择 choisit quelles étapes exécuter, selon une condition. Utilisez une instruction IF, ou une instruction CASE lorsqu'il y a plusieurs choix.
IF Score >= 50
THEN
OUTPUT "Pass"
ELSE
OUTPUT "Fail"
ENDIF
CASE OF Grade
'A' : OUTPUT "Excellent"
'B' : OUTPUT "Good"
OTHERWISE OUTPUT "Keep trying"
ENDCASE
Itération
Itération 迭代 (une boucle 循环) répète des étapes. Il existe trois sortes.
Une count-controlled loop 计数循环 répète un nombre fixe de fois :
FOR I ← 1 TO 5
OUTPUT "Hello"
NEXT I
Une pre-condition loop 前测循环 vérifie la condition avant chaque répétition, elle peut donc s'exécuter zéro fois :
WHILE Answer <> "stop" DO
INPUT Answer
ENDWHILE
Une post-condition loop 后测循环 vérifie la condition après chaque répétition, elle s'exécute donc toujours au moins une fois :
REPEAT
INPUT Password
UNTIL Password = "secret"

Comment une structure IF … ELSE IF décide
Les conditions sont testées de haut en bas ; la PREMIÈRE qui est vraie s'exécute et les autres sont ignorées. Faites glisser la note et regardez quelle branche s'allume.
Sélection
Modifiez la valeur et observez quelle branche s'exécute — la sélection en action.
| Anglais | Chinois | Pinyin |
|---|---|---|
| sequence/ˈsiːkwəns/ | 顺序 | shùn xù |
| selection/sɪˈlekʃn/ | 选择 | xuǎn zé |
| iteration/ˌɪtəˈreɪʃn/ | 迭代 | dié dài |
| loop/luːp/ | 循环 | xún huán |
| count-controlled loop/kaʊnt kənˈtrəʊld luːp/ | 计数循环 | jì shù xún huán |
| pre-condition loop/priː kənˈdɪʃn luːp/ | 前测循环 | qián cè xún huán |
| post-condition loop/pəʊst kənˈdɪʃn luːp/ | 后测循环 | hòu cè xún huán |
8.1
Totaliser et compter
- totalling 求和 — continuer à ajouter des valeurs à un total cumulatif :
Total ← Total + Value. - counting 计数 — ajouter 1 à un compteur à chaque fois :
Count ← Count + 1.


Total ← 0
FOR I ← 1 TO 10
INPUT Mark
Total ← Total + Mark
NEXT I
OUTPUT Total
Worked example. Un programme doit lire 5 notes, puis afficher le total et la moyenne.
Total ← 0
FOR I ← 1 TO 5
INPUT Mark
Total ← Total + Mark
NEXT I
Average ← Total / 5
OUTPUT Total, Average
Deux lignes transportent les notes. Total ← 0 doit être placé avant la boucle : si vous le mettez à l'intérieur, le total est réinitialisé à chaque passage, donc le programme n'affiche que la dernière note. Et Average ← Total / 5 doit être placé après la boucle, car le total n'est pas complet tant que toutes les notes n'ont pas été ajoutées. Initialiser avant, calculer après — cet ordonnancement est ce que la question teste réellement.
| Anglais | Chinois | Pinyin |
|---|---|---|
| totalling/ˈtəʊtəlɪŋ/ | 求和 | qiú hé |
| counting/ˈkaʊntɪŋ/ | 计数 | jì shù |
| remainder/rɪˈmeɪndə/ | 余数 | yú shù |
8.1
Operators
Opérateurs arithmétiques
| Opérateur | Sens |
|---|---|
+ - * / |
addition, soustraction, multiplication, division |
^ |
élevé à la puissance |
MOD |
le reste 余数 après une division |
DIV |
la partie entière d'une division |
Par exemple, 17 MOD 5 est 2, et 17 DIV 5 est 3.
Relational operators
Ces opérateurs comparent deux valeurs et donnent un résultat booléen : =, <, <=, >, >=, et <> (différent de).
Logical operators
Ces opérateurs joignent des conditions : AND (les deux doivent être vraies), OR (au moins une doit être vraie), NOT (inverse vrai/faux).

IF Age >= 13 AND Age <= 19
THEN
OUTPUT "Teenager"
ENDIF
8.1
Traitement des chaînes
Une chaîne est composée de caractères. Opérations utiles :
- longueur 长度 — le nombre de caractères dans la chaîne ;
- substring 子串 — une partie plus petite extraite de la chaîne ;
- upper case 大写 — convertir les lettres en majuscules ;
- lower case 小写 — convertir les lettres en minuscules.
name ← "Computer"
OUTPUT LENGTH(name) // 8
OUTPUT SUBSTRING(name, 1, 4) // "Comp"
OUTPUT UCASE(name) // "COMPUTER"
OUTPUT LCASE(name) // "computer"
(Le premier caractère peut être compté comme position 0 ou position 1, selon le langage.)
SUBSTRING : prendre une partie d'une chaîne
Le premier caractère est à la position 1. SUBSTRING(Mot, Début, Longueur) prend Length caractères commençant à Start — faites glisser les deux poignées et lisez l'appel qu'il construit.
| Anglais | Chinois | Pinyin |
|---|---|---|
| substring/ˈsʌbstrɪŋ/ | 子串 | zi chuàn |
| upper case/ˈʌpə keɪs/ | 大写 | dà xiě |
| lower case/ˈləʊə keɪs/ | 小写 | xiǎo xiě |
| length/leŋθ/ | 长度 | cháng dù |
8.1
Nested statements
Une nested statement 嵌套语句 est une structure de contrôle placée à l'intérieur d'une autre. Vous pouvez imbriquer des sélections et des itérations.
FOR I ← 1 TO 3
IF MOD(I, 2) = 0
THEN
OUTPUT I, " is even"
ELSE
OUTPUT I, " is odd"
ENDIF
NEXT I
Vous n'aurez pas à écrire plus de trois niveaux d'imbriquation.
| Anglais | Chinois | Pinyin |
|---|---|---|
| nested statement/ˈnestɪd ˈsteɪtmənt/ | 嵌套语句 | qiàn tào yǔ jù |
8.1
Procédures et fonctions
Pour éviter de répéter du code, vous pouvez diviser un programme en blocs nommés.
- Une procédure 过程 est un bloc de code nommé qui effectue une tâche. Vous l'exécutez avec
CALL. - Une fonction 函数 est comme une procédure, mais elle retourne une valeur vers l'endroit où elle a été appelée.
Un paramètre 参数 est une valeur passée dans une procédure ou une fonction (jusqu'à trois paramètres).
PROCEDURE Greet(PersonName : STRING)
OUTPUT "Hello ", PersonName
ENDPROCEDURE
CALL Greet("Sam")
FUNCTION Square(N : INTEGER) RETURNS INTEGER
RETURN N * N
ENDFUNCTION
Answer ← Square(5) // answer is 25
Variables locales et globales
- Une variable locale 局部变量 est déclarée à l'intérieur d'une procédure ou d'une fonction. Elle ne peut être utilisée que là.
- Une variable globale 全局变量 est déclarée dans le programme principal. Elle peut être utilisée partout.
Les variables locales sont plus sûres, car elles ne peuvent pas être modifiées par erreur depuis une autre partie du programme.
| Anglais | Chinois | Pinyin |
|---|---|---|
| procedure/prəˈsiːdʒə/ | 过程 | guò chéng |
| function/ˈfʌŋkʃn/ | 函数 | hán shù |
| parameter/pəˈræmɪtə/ | 参数 | cān shù |
| local variable/ˈləʊkl ˈveərɪəbl/ | 局部变量 | jú bù biàn liàng |
| global variable/ˈɡləʊbl ˈveərɪəbl/ | 全局变量 | quán jú biàn liàng |
| library routine/ˈlaɪbrəri ruːˈtiːn/ | 库程序 | kù chéng xù |
| maintainable/meɪnˈteɪnəbl/ | 可维护的 | kě wéi hù de |
| meaningful identifiers/ˈmiːnɪŋfl aɪˈdentɪfaɪəz/ | 有意义的标识符 | yǒu yì yì de biāo shí fú |
| comments/ˈkɒments/ | 注释 | zhù shì |
8.1
Fonctions de bibliothèque
Une routine de bibliothèque 库程序 est un morceau de code prêt à l'emploi que vous pouvez utiliser. Vous devez connaître celles-ci :
| Routine | Ce qu'elle fait |
|---|---|
MOD |
donne le reste d'une division |
DIV |
donne la partie entière d'une division |
ROUND |
arrondit un nombre réel au nombre de décimales spécifié |
RANDOM |
donne un nombre aléatoire |
8.1
Écrire un programme maintenable
Un programme maintenable 可维护的 est facile à lire et à modifier pour les autres. Pour en créer un :
- utilisez des identifiants significatifs 有意义的标识符 — des noms clairs pour les variables, constantes, tableaux, procédures et fonctions (
totalScore, pasx) ; - ajoutez des commentaires 注释 pour expliquer ce que font certaines parties du code ;
- utilisez des procédures et des fonctions pour diviser le travail en petits blocs.
8.2
Tableaux
Programme
| Les candidats doivent être capables de : | Notes et orientations |
|---|---|
| 1 Déclarer et utiliser des tableaux à une dimension (1D) et à deux dimensions (2D) | |
| 2 Comprendre l'utilisation des tableaux | • Y compris l'utilisation de variables comme indices dans les tableaux |
| 3 Écrire des valeurs dans un tableau et lire des valeurs à partir d'un tableau en utilisant l'itération | • Le premier indice peut être zéro ou un • Y compris l'itération imbriquée |
Source : Programme Cambridge International
Un tableau 数组 est une seule variable qui contient plusieurs valeurs du même type, identifiées par un indice 索引 (un numéro de position).
Tableaux à une dimension
Un tableau à une dimension (1D) 一维数组 est comme une liste unique.
DECLARE Scores : ARRAY[1:5] OF INTEGER
Scores[1] ← 90
Scores[2] ← 75
OUTPUT Scores[1]

Vous pouvez utiliser une boucle pour remplir ou lire un tableau :
FOR I ← 1 TO 5
INPUT Scores[I]
NEXT I
Tableaux à deux dimensions
Un tableau à deux dimensions (2D) 二维数组 est comme un tableau avec des lignes et des colonnes. Il utilise deux indices.
DECLARE Grid : ARRAY[1:3, 1:3] OF INTEGER
Grid[1, 1] ← 5
Grid[2, 3] ← 8

Vous lisez un tableau 2D avec une boucle à l'intérieur d'une boucle (itération imbriquée).
Tableaux
Choisissez une ligne et une colonne pour lire une cellule. Les tableaux de Cambridge comptent à partir de 1, et un élément en 2D s'écrit avec UNE paire de crochets — Grid[2, 3].
| Anglais | Chinois | Pinyin |
|---|---|---|
| array/əˈreɪ/ | 数组 | shù zǔ |
| index/ˈɪndeks/ | 索引 | suǒ yǐn |
| one-dimensional (1D) array/wʌn daɪˈmenʃənl əˈreɪ/ | 一维数组 | yī wéi shù zǔ |
| two-dimensional (2D) array/tuː daɪˈmenʃənl əˈreɪ/ | 二维数组 | èr wéi shù zǔ |
8.3
Gestion des fichiers
Programme
| Les candidats doivent être capables de : | Notes et orientations |
|---|---|
| 1 Comprendre l'objectif du stockage des données dans un fichier utilisé par un programme | |
| 2 Ouvrir, fermer et utiliser un fichier pour la lecture et l'écriture | • Y compris : – lire et écrire des éléments de données individuels – lire et écrire une ligne de texte |
Source : Programme Cambridge International
Un programme peut stocker des données dans un fichier 文件 afin qu'il soit conservé après l'arrêt du programme. Vous devez ouvrir le fichier, l'utiliser, puis le fermer.
OPENFILE "data.txt" FOR WRITE
WRITEFILE "data.txt", "Hello"
CLOSEFILE "data.txt"
OPENFILE "data.txt" FOR READ
READFILE "data.txt", Line
CLOSEFILE "data.txt"
Vous pouvez lire et écrire des éléments de données individuels ou une ligne entière de texte. Fermez toujours un fichier lorsque vous avez terminé avec lui.
| Anglais | Chinois | Pinyin |
|---|---|---|
| file/faɪl/ | 文件 | wén jiàn |
8.3
Conseils d'examen
- Une variable peut changer pendant l'exécution du programme ; une constante est fixe. Apprenez les cinq types de données : entier, réel, caractère, chaîne, booléen.
- Tout programme est construit à partir de trois structures : séquence, sélection (IF / CASE), et itération (boucles).
- Une boucle WHILE teste avant le corps, donc elle peut s'exécuter zéro fois ; une boucle REPEAT … UNTIL teste après, donc elle s'exécute toujours au moins une fois.
MODdonne le reste etDIVla partie entière d'une division :17 MOD 5est 2,17 DIV 5est 3.- Une fonction retourne une valeur ; une procédure ne le fait pas. Une variable locale fonctionne uniquement à l'intérieur de son bloc ; une globale fonctionne partout.
Leçons interactives sur ce sujet
Traversez-le étape par étape, avec des exercices à vérification instantanée.