Passer au contenu

Programmation

Informatique IGCSE · Sujet 8

Entrainer
Leçon vidéo pour ce sujet Ouvrir la page vidéo
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
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

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.

A variable named age holding the value 16
Une variable est un espace nommé dont la valeur peut changer
Lines of program code on a screen
Variables et constantes sont des espaces nommés pour des valeurs, définis dans le code du programme

Vous devez les déclarer 声明 (donner leur nom et leur type) avant utilisation :

DECLARE Score : INTEGER
DECLARE Name : STRING
CONSTANT Pi ← 3.142
Two RAM memory modules
Pendant l'exécution d'un programme, ses variables sont stockées dans la mémoire de l'ordinateur (RAM)

Utilisez une constante pour une valeur qui ne change jamais (comme Pi), afin qu'elle soit définie à un seul endroit et facile à lire.

Explorer

Variables et affectation

Parcourez les lignes et regardez chaque variable prendre sa nouvelle valeur.

Vocabulaire Entrainer
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.

Types de données : entier (7), réel (3.5), caractère ('A'), chaîne ("bonjour"), booléen (vrai/faux)
Les types de données de base : integer, real, char, string et boolean
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
Vocabulaire Entrainer
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
Vocabulaire Entrainer
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.

Trois petits organigrammes : séquence (boîtes en ligne), sélection (un test branchant deux façons), et itération (un test avec un corps qui revient en boucle)
Les trois structures de contrôle : la séquence exécute les étapes dans l'ordre, la sélection choisit une branche, l'itération répète un corps

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"
Deux organigrammes de boucle : WHILE teste la condition avant le corps ; REPEAT exécute d'abord le corps et teste ensuite
Une boucle précondition (WHILE) teste avant le corps, elle peut donc s'exécuter zéro fois ; une boucle postcondition (REPEAT) teste après, elle s'exécute donc au moins une fois
Explorer

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.

Explorer

Sélection

Modifiez la valeur et observez quelle branche s'exécute — la sélection en action.

Vocabulaire Entrainer
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.
count = count + 1 compte par 1 ; total = total + value ajoute à un total cumulé
Un compteur augmente de 1 ; un total construit une somme cumulée
Une table de traçage suivant une boucle sur les valeurs 4, 7 et 5 : total passe de 0, 4, 11, 16 tandis que count passe de 0, 1, 2, 3
Une table de traçage suit un passage par passage une boucle de totalisation et de comptage
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.

Vocabulaire Entrainer
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).

Trois familles d'opérateurs : opérateurs arithmétiques comme plus et fois donnent un nombre, opérateurs relationnels comme inférieur-à comparent et donnent vrai ou faux, opérateurs logiques ET OU NON joignent des conditions
Les trois familles d'opérateurs : arithmétiques, relationnels et logiques
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.)

Explorer

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.

Vocabulaire Entrainer
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.

Vocabulaire Entrainer
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.

Vocabulaire Entrainer
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, pas x) ;
  • 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]
Cinq cases alignées horizontalement étiquetées de l'indice 1 à 5, contenant des valeurs, avec la valeur à l'indice 2 surlignée comme étant 75
Un tableau 1D contient plusieurs valeurs dans une seule variable ; chacune est identifiée par son indice

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
Une grille de 3 par 3 avec des lignes et des colonnes numérotées ; la cellule à la ligne 2, colonne 3 est surlignée et étiquetée comme ligne 2 colonne 3
Un tableau 2D est un tableau ; chaque valeur est identifiée par deux indices, [ligne, colonne]

Vous lisez un tableau 2D avec une boucle à l'intérieur d'une boucle (itération imbriquée).

Explorer

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].

Vocabulaire Entrainer
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.

Vocabulaire Entrainer
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.
  • MOD donne le reste et DIV la partie entière d'une division : 17 MOD 5 est 2, 17 DIV 5 est 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.

Épreuves Passées

Plus de sujets dans Informatique IGCSE

Se connecter ou créer un compte

IGCSE, A-Level & AP