Passer au contenu

Conception d'algorithmes et résolution de problèmes

Informatique IGCSE · Sujet 7

Leçon vidéo pour ce sujet Ouvrir la page vidéo
9:17

Le Cycle de vie du développement de logiciel

Chaque application sur votre téléphone a été écrite par quelqu'un comme ceci. Mais ils n'ont pas commencé en tapant du code. Avant la première ligne, le problème a été étudié, la solution…

Narration en anglais · sous-titres en anglais et en 中文 au choix

Programme
Les candidats doivent être capables de : Notes et orientations
1 Comprendre le cycle de développement de programme, limité à : analyse, conception, codage et test • Y compris l'identification de chaque étape et l'exécution de ces tâches pour chaque étape : – analyse : abstraction, décomposition du problème, identification du problème et des exigences – conception : décomposition, diagrammes de structure, organigrammes, pseudocode – codage : écriture de code de programme et tests itératifs – test : test du code de programme à l'aide de données de test
2 (a) Comprendre que chaque système informatique est composé de sous-systèmes, qui sont constitués de sous-systèmes supplémentaires (b) Comprendre comment un problème peut être décomposé en ses parties constitutives • Y compris : – entrées – traitements – sorties – stockage
(c) Utiliser différentes méthodes pour concevoir et construire une solution à un problème • Y compris : – diagrammes de structure – organigrammes – pseudocode
3 Expliquer le but d'un algorithme donné • Y compris : – énoncer le but d'un algorithme – décrire les processus impliqués dans un algorithme
4 Comprendre les méthodes standards de solution • Limité à : – recherche linéaire – tri bulle – addition – comptage – recherche des valeurs maximales, minimales et moyennes
5 (a) Comprendre la nécessité d'effectuer des vérifications de validation sur les données d'entrée et les différents types de vérification de validation • Y compris : – contrôle de plage – contrôle de longueur – contrôle de type – contrôle de présence – contrôle de format – chiffre de contrôle
(b) Comprendre la nécessité d'effectuer des contrôles de vérification sur les données d'entrée et les différents types de contrôle de vérification • Y compris : – contrôle visuel – contrôle par double saisie
6 Suggérer et appliquer des données de test appropriées • Limité à : – normal – anormal – extrême – aux limites • Les données extrêmes sont la valeur acceptable la plus grande/la plus petite • Les données aux limites sont la valeur acceptable la plus grande/la plus petite et la valeur rejetée correspondante la plus petite/la plus grande
7 Remplir une table de traçage pour documenter un exécutable à sec d'un algorithme • Y compris, à chaque étape d'un algorithme : – variables – sorties – invites utilisateur
8 Identifier les erreurs dans des algorithmes donnés et suggérer des moyens de corriger ces erreurs
9 Rédiger et modifier des algorithmes pour des problèmes ou des scénarios donnés, en utilisant : du pseudocode, du code programme et des organigrammes • La précision est requise lors de la rédaction des algorithmes, ex. x > y est acceptable mais x is greater than y ne l'est pas • Voir la section 4 pour les symboles d'organigramme • Voir la section 4 pour le pseudocode

Source : Programme Cambridge International

7.1

Cycle de développement logiciel

Le cycle de vie du développement de programme est l'ensemble des étapes utilisées pour créer un programme. Il comprend quatre étapes.

A programmer typing code at a computer
Le logiciel est écrit par des programmeurs, qui suivent le cycle de développement
Étape Ce que vous faites
analyse étudier le problème et déterminer ce qui est nécessaire
conception planifier comment le programme fonctionnera
codage écrire le code du programme et le tester au fur et à mesure
test exécuter le programme fini avec des données de test pour détecter les erreurs
Quatre étapes en séquence — analyse, conception, codage, test — avec une flèche de retour du test vers la conception
Les quatre étapes du développement de programmes ; le test renvoie vers la conception pour corriger et affiner
Diagramme de flux d'un programme avec des boîtes de processus et des losanges de décision
Un organigramme de programme énonce les étapes et les décisions d'un programme pendant la phase de conception

Analyse

En analyse, vous comprenez le problème. Deux compétences clés aident :

  • l'abstraction — conserver uniquement les détails importants et ignorer le reste;
  • la décomposition — diviser un grand problème en petites parties plus faciles à gérer.

Conception

Lors de la conception, vous planifiez la solution, souvent en utilisant la décomposition. Vous pouvez représenter les parties comme des sous-systèmes dans un diagramme de structure (un schéma qui divise un système en petites boîtes).

Exemple corrigé. Un parking possède une borne de paiement. Le conducteur saisit la plaque d’immatriculation de la voiture, la borne calcule la durée du stationnement et le montant à payer, le conducteur paie en espèces ou par carte, puis un reçu est imprimé. Dessinez un diagramme de structure.

Un diagramme de structure : la borne de paiement en haut, divisée en Saisie, Calcul du montant, Encaissement et Sortie ; Saisie se divise en plaque d’immatriculation et heure d’arrivée, Encaissement en espèces et carte
Un diagramme de structure pour la borne de paiement du parking : chaque case représente un sous-système et chaque niveau inférieur divise la case parente en parties plus petites

Le système entier figure dans la case supérieure. Chaque case du niveau suivant correspond à une tâche du système, et une case peut être divisée à son tour (le paiement se divise en espèces et carte). Lisez chaque niveau de gauche à droite dans l’ordre où les tâches se déroulent. Un diagramme de structure montre les parties, et non l’ordre des décisions ou des boucles : c’est le rôle d’un organigramme ou du pseudocode.

Codage et test

Lors du codage, vous écrivez le code du programme. Vous utilisez un test itératif — tester de petits segments encore et encore au fur et à mesure de leur construction. Lors du test, vous exécutez l'intégralité du programme avec des données de test pour vérifier son bon fonctionnement.

Vocabulaire Entrainer
English Français
program development life cycle/ˈprəʊɡræm dɪˈveləpmənt laɪf ˈsaɪkl/ cycle de vie du développement de programme
analysis/əˈnæləsɪs/ analyse
design/dɪˈzaɪn/ conception
coding/ˈkəʊdɪŋ/ codage
testing/ˈtestɪŋ/ tests
abstraction/əbˈstrækʃn/ abstraction
decomposition/ˌdiːkɒmpəˈzɪʃn/ décomposition
sub-systems/sʌb ˈsɪstəmz/ sous-systèmes
structure diagram/ˈstrʌktʃə ˈdaɪəɡræm/ diagramme de structure
iterative testing/ˈɪtərətɪv ˈtestɪŋ/ test itératif
flowchart/ˈfləʊtʃɑːt/ diagramme de flux
pseudocode/ˈsuːdəʊkəʊd/ pseudocode
7.2

Outils de conception

Vous pouvez planifier une solution de trois manières principales.

  • un diagramme structurel — montre les parties d'un système et comment elles s'emboîtent ;
  • un organigramme — un diagramme utilisant des boîtes et des flèches pour montrer les étapes dans l'ordre ;
  • pseudocode — étapes écrites en anglais simple, semblable à du code (pas une vraie langue).
Un organigramme pour additionner les nombres 1 à n, avec des symboles de début/fin, d'entrée/sortie, de traitement et de décision, plus une légende nommant chaque forme
Un organigramme pour l'algorithme de somme, utilisant les symboles standards (début/fin, entrée/sortie, traitement, décision)
Vocabulaire Entrainer
English Français
algorithm/ˈælɡərɪθəm/ algorithme
7.3

Algorithmes

Tri à bulles, passe par passe

Un algorithme est un ensemble d'étapes, dans le bon ordre, qui résout un problème. Tout algorithme peut être divisé en trois parties :

  • données d'entrée — les données qui entrent ;
  • traitement — le travail effectué sur les données ;
  • résultat — la sortie qui en résulte.

C’est ce qu’on appelle la décomposition en entrées, traitements et sorties. Par exemple, pour « trouver la moyenne de trois notes » : les entrées sont les trois notes ; le traitement consiste à les additionner et à diviser le résultat par 3 ; la sortie est la moyenne.

Trois boîtes — INPUT (les 3 marques), PROCESSUS (additionner, diviser par 3), SORTIE (la moyenne) — reliées par des flèches
Tout algorithme se décompose en entrée, traitement et sortie — ici, trouver la moyenne de trois notes
Vocabulaire Entrainer
English Français
input/ˈɪnpʊt/ entrée
processing/ˈprəʊsesɪŋ/ traitement
bubble sort/ˈbʌbl sɔːt/ tri à bulles
7.4

Validation et vérification

Lorsqu'une donnée est saisie, vous la vérifiez pour réduire les erreurs.

La validation vérifie que les données sont cohérentes et respectent les règles. Elle ne peut pas vérifier si les données sont vraies, seulement si elles sont autorisées.

Contrôle de validation Ce qu'il vérifie
contrôle de plage la valeur se situe entre une valeur minimale et maximale autorisée
contrôle de longueur le nombre de caractères est autorisé (ex. : un mot de passe ≥ 8)
contrôle de type les données sont du bon type (ex. : un nombre, pas des lettres)
contrôle de présence quelque chose a été effectivement saisi (non laissé vide)
contrôle de format les données suivent le bon motif (ex. : une date au format jj/mm/aaaa)
chiffre de contrôle un chiffre calculé supplémentaire aide à détecter les erreurs lors de la saisie d'un nombre

La vérification vérifie que les données ont été copiées ou saisies correctement (sans erreurs de frappe). Deux méthodes :

  • contrôle visuel — une personne compare les données tapées avec l'original ;
  • double saisie — les données sont saisies deux fois et les deux copies sont comparées.
Deux panneaux : la validation vérifie si les données sont autorisées, à l’aide de contrôles de plage, de longueur, de type, de présence, de format et de chiffre de contrôle, de sorte qu’un âge de 250 est rejeté ; la vérification contrôle si les données ont été copiées correctement, par contrôle visuel ou double saisie, de sorte que la saisie de 34 à la place de 43 est détectée
La validation bloque les données non autorisées ; la vérification détecte les données autorisées qui ont été mal saisies

Écrire une routine de validation

Un examen demande souvent d’écrire le code d’un contrôle. Utilisez une boucle qui redemande la saisie jusqu’à ce que la valeur soit acceptable et affichez un message à l’utilisateur lorsqu’elle ne l’est pas.

Exemple corrigé. Écrivez un pseudocode permettant de saisir une note de test, qui doit être un nombre entier compris entre 0 et 100 (contrôle de plage), et de redemander la saisie jusqu’à ce qu’une note valide soit entrée.

DECLARE Mark : INTEGER
REPEAT
    OUTPUT "Enter a mark from 0 to 100"
    INPUT Mark
    IF Mark < 0 OR Mark > 100
      THEN
        OUTPUT "Invalid: the mark must be from 0 to 100"
    ENDIF
UNTIL Mark >= 0 AND Mark <= 100

La condition UNTIL correspond à la plage acceptée, et la condition IF est son contraire. Remarquez OR dans IF : une note ne peut pas être inférieure à 0 et supérieure à 100 en même temps, donc AND à cet endroit ne serait jamais vrai.

Les autres contrôles suivent le même modèle, avec une condition différente :

Contrôle Condition pour une valeur valide
contrôle de longueur (mot de passe d’au moins 8 caractères) LENGTH(Password) >= 8
contrôle de présence (un nom doit être saisi) Name <> ""
contrôle de plage (âge de 16 à 65) Age >= 16 AND Age <= 65

Un contrôle de type est généralement effectué par le langage lui-même, par exemple lorsqu’une saisie est stockée dans une variable de type INTEGER.

Vocabulaire Entrainer
English Français
output/ˈaʊtpʊt/ sortie
validation/ˌvælɪˈdeɪʃn/ validation
range check/reɪndʒ tʃek/ contrôle de plage
length check/leŋθ tʃek/ contrôle de longueur
type check/taɪp tʃek/ vérification de type
presence check/ˈprezəns tʃek/ contrôle d'existence
format check/ˈfɔːmæt tʃek/ vérification de format
check digit/tʃek ˈdɪdʒɪt/ chiffre de contrôle
7.5

Tables de traçage

Un tableau de traçage enregistre la valeur de chaque variable au fur et à mesure qu'un algorithme s'exécute, étape par étape. Il vous aide à :

A trace table with columns count, total, output
Une table de traçage enregistre la valeur de chaque variable alors que le programme s'exécute
  • vérifier qu'un algorithme fonctionne correctement ;
  • déterminer ce que fait un algorithme en le suivant avec des données données.

Exemple : tracez cet algorithme avec l'entrée 5.

INPUT N
Total ← 0
FOR I ← 1 TO N
    Total ← Total + I
NEXT I
OUTPUT Total
i total OUTPUT
1 1
2 3
3 6
4 10
5 15 15

Le tableau de traçage montre que l'algorithme additionne 1 à n. Avec l'entrée 5, la sortie est 15.

Worked example. Tracez cet algorithme et donnez la sortie.

X ← 20
Count ← 0
WHILE X > 1
    X ← DIV(X, 2)
    Count ← Count + 1
ENDWHILE
OUTPUT Count

DIV ne donne que la partie entière d'une division. Prenez une ligne par passage : x devient 10 (count 1), puis 5 (count 2), puis 2 (count 3), puis 1 (count 4). Maintenant x > 1 est faux, donc la boucle s'arrête et la sortie est 4. Deux habitudes protègent ces points : testez la condition avant chaque passage plutôt qu'après, et écrivez une nouvelle ligne pour chaque passage — essayer de garder les valeurs en tête est ce qui fait échouer les traces.

Trouver et corriger les erreurs

Une question courante présente un algorithme contenant des erreurs et vous demande de les trouver et de les corriger. Lisez-le ligne par ligne et demandez-vous : chaque variable reçoit-elle une valeur initiale ? Chaque boucle a-t-elle la bonne longueur ? Chaque comparaison est-elle dans le bon sens ? La sortie est-elle au bon endroit ?

Exemple corrigé. Cet algorithme doit saisir 10 nombres et afficher le plus grand. Trouvez les trois erreurs et corrigez-les.

Largest ← 1000
FOR Count ← 1 TO 9
    INPUT Number
    IF Number < Largest
      THEN
        Largest ← Number
    ENDIF
    OUTPUT Largest
NEXT Count
  • Ligne 1 : la valeur initiale de Largest ← 1000 est trop élevée, donc aucun nombre ne la remplacerait. Correction : Largest ← -1000 (ou saisir le premier nombre et l’utiliser comme valeur initiale).
  • Ligne 2 : la boucle ne s’exécute que 9 fois. Correction : FOR Count ← 1 TO 10.
  • Ligne 4 : < trouve le plus petit nombre. Correction : IF Number > Largest.

Il y a aussi un problème avec OUTPUT : à l’intérieur de la boucle, cette instruction affiche le plus grand nombre trouvé jusque-là après chaque saisie. La déplacer après NEXT Count permet d’afficher uniquement la réponse finale. Pour chaque erreur, indiquez la ligne, expliquez ce qui ne va pas et écrivez la ligne corrigée en entier.

Explorer

Une table de traçage

Parcourez la boucle et remplissez la table de traçage, une ligne par passage.

Vocabulaire Entrainer
English Français
trace table/treɪs ˈteɪbl/ table de traçage
7.6

Données de test

Test data est les données que vous utilisez pour tester un programme. Il existe quatre types que vous devez connaître.

Type Meaning Example (age 0–120 allowed)
normal données cohérentes qui devraient être acceptées 25
anormales données incorrectes qui doivent être rejetées -4 ou « chat »
extrême les valeurs maximales et minimales encore autorisées 0 et 120
limite les valeurs de chaque côté d'une borne (une acceptée, une non acceptée) 120 et 121

Exemple corrigé. Un programme accepte le nombre de personnes réservant une table, de 1 à 12. Donnez des données de test de chaque type, avec le résultat attendu.

Type Données de test Résultat attendu
normales 5 acceptées
anormales 20 (ou « six ») rejetées, avec un message d’erreur
extrêmes 1 et 12 acceptées
limites 12 et 13 (ou 0 et 1) 12 acceptées, 13 rejetées

Donnez toujours le résultat attendu avec les données : un test n’est utile que si vous savez ce qui doit se produire. Une donnée extrême est la valeur limite elle-même ; les données limites forment une paire, avec une valeur de chaque côté de la limite.

Droite numérique pour les réservations de 1 à 12 personnes : valeur normale 5, valeurs extrêmes 1 et 12, paires de valeurs limites 0 et 1 et 12 et 13, valeur anormale 20
Données de test sur une droite : les valeurs extrêmes sont sur les limites, les paires de valeurs limites se trouvent de part et d’autre
Vocabulaire Entrainer
English Français
test data/test ˈdeɪtə/ données de test
normal/ˈnɔːml/ données normales
abnormal/əbˈnɔːml/ données anormales
extreme/ekˈstriːm/ données extrêmes
boundary/ˈbaʊndəri/ données limites
7.7

Méthodes standard de résolution

Vous devez connaître ces algorithmes courants.

Recherche linéaire

Une recherche linéaire compare chaque élément avec la valeur cible, en commençant au début. Arrêter lorsque la valeur est trouvée ou que la liste se termine. La liste n'a pas besoin d'être triée. L'exemple suivant utilise les positions 1 à 4.

DECLARE List : ARRAY[1:4] OF INTEGER
DECLARE I, SearchValue : INTEGER
DECLARE Found : BOOLEAN
List[1] ← 8
List[2] ← 3
List[3] ← 5
List[4] ← 1
INPUT SearchValue
Found ← FALSE
I ← 1
WHILE I <= 4 AND NOT Found
    IF List[I] = SearchValue
      THEN
        Found ← TRUE
    ENDIF
    I ← I + 1
ENDWHILE
OUTPUT Found

Comparaison illustrée. La recherche de 5 compare 8, 3 puis 5 : trois comparaisons, avec Found devenant TRUE. Le quatrième élément n'est pas vérifié. La recherche de 9 compare les quatre valeurs ; Found reste FALSE. S'arrêter avant d'essayer de lire la position 5, qui est hors de cet tableau.

Une liste de huit nombres balayés de gauche à droite, cherchant 5 ; les quatre premiers ne correspondent pas et le cinquième est trouvé
Autre exemple : la recherche linéaire vérifie chaque élément successivement depuis le début jusqu'à ce qu'elle trouve la valeur

Tri à bulles

Un tri à bulles ordonne une liste. Comparer des valeurs adjacentes et les échanger si la valeur de gauche est supérieure. Une seule passe ne suffit généralement pas. Cette version complète répète les passes jusqu'à ce qu'une passe entière ne provoque aucun échange.

DECLARE List : ARRAY[1:4] OF INTEGER
DECLARE I, Temp : INTEGER
DECLARE Swapped : BOOLEAN
List[1] ← 8
List[2] ← 3
List[3] ← 5
List[4] ← 1
REPEAT
    Swapped ← FALSE
    FOR I ← 1 TO 3
        IF List[I] > List[I + 1]
          THEN
            Temp ← List[I]
            List[I] ← List[I + 1]
            List[I + 1] ← Temp
            Swapped ← TRUE
        ENDIF
    NEXT I
UNTIL NOT Swapped
OUTPUT List[1], ", ", List[2], ", ", List[3], ", ", List[4]

Passes illustrées. Commencer avec 8, 3, 5, 1. Lors de la première passe, la liste devient 3, 8, 5, 1, puis 3, 5, 8, 1, puis 3, 5, 1, 8. Cela place la plus grande valeur à la fin mais laisse le reste non trié. La deuxième passe s'arrête à 3, 1, 5, 8 ; la troisième à 1, 3, 5, 8. La quatrième ne fait aucun échange et confirme que cette version peut s'arrêter. Réinitialiser Swapped à FALSE au début de chaque passe ; l'augmenter de TRUE à chaque échange.

Une liste où la première paire 5 et 2 est mal ordonnée, montrant un échange vers 2 et 5, avec une note pour répéter pour chaque paire
Une comparaison dans un autre exemple : le tri à bulles échange les voisins mal ordonnés, puis continue la passe

Totalling and counting

Somme cumulée ajoute chaque valeur requise à un total courant : Total ← Total + Value. Comptage ajoute 1 pour chaque élément requis : Count ← Count + 1. Initialiser les deux à zéro avant de traiter les valeurs.

Exemple illustré. Quatre tentatives d'entrée sont −20, 4, 50 et 6. Accepter une valeur uniquement si elle est supérieure à −20 et inférieure à 50. Cet exemple traite quatre tentatives, pas quatre valeurs acceptées.

DECLARE I, Count : INTEGER
DECLARE Value, Total : REAL
Total ← 0
Count ← 0
FOR I ← 1 TO 4
    INPUT Value
    IF Value > -20 AND Value < 50
      THEN
        Total ← Total + Value
        Count ← Count + 1
    ENDIF
NEXT I
IF Count > 0
  THEN
    OUTPUT Total, ", ", Count, ", ", Total / Count
  ELSE
    OUTPUT "No accepted values"
ENDIF
Valeur tentée Total après tentative Compteur après tentative
−20 0 0
4 4 1
50 4 1
6 10 2

Les limites strictes rejettent −20 et 50. Les deux mises à jour appartiennent à l'intérieur du test d'acceptation, donc les tentatives rejetées ne changent ni le total ni le compteur. La moyenne des valeurs acceptées est :

$$\text{Average}=\frac{\text{Total}}{\text{Count}}=\frac{10}{2}=5$$

Ne pas diviser par quatre : seulement deux valeurs ont été ajoutées. Si aucune valeur n'est acceptée, le compteur est zéro et une moyenne ne peut être calculée ; afficher un message au lieu de diviser par zéro.

Transfert vers un nombre fixe de valeurs acceptées. Si une tâche demande 50 valeurs acceptées, plutôt que quatre tentatives, remplacer la boucle fixée FOR par WHILE Count < 50 et la fermer avec ENDWHILE. Conserver la même entrée et le même test d'acceptation à l'intérieur. Les entrées rejetées laissent Count inchangé, donc une nouvelle entrée est demandée. À la fin, Count est 50, bien que le nombre de tentatives puisse être supérieur. Afficher le total et calculer la moyenne comme Total / Count.

Maximum, minimum and average

Le maximum est la plus grande valeur et le minimum est la plus petite. La moyenne est la somme divisée par le nombre de valeurs. Pour une liste non vide, initialiser les deux à partir de son premier élément. Pour chaque élément restant, remplacer le maximum si la nouvelle valeur est plus grande, et remplacer le minimum si elle est plus petite.

Exemple illustré. La liste est −8, −3, −12, −5. Commencer le maximum à zéro échouerait : aucun élément de la liste n'est supérieur à zéro, donc l'algorithme afficherait un nombre qui n'est pas dans la liste. Commencer à −8 fonctionne sans supposer que les données sont positives.

Valeur juste considérée Maximum actuel Minimum actuel
−8 (initialisation) −8 −8
−3 −3 −8
−12 −3 −12
−5 −3 −12
DECLARE List : ARRAY[1:4] OF INTEGER
DECLARE I, Maximum, Minimum, Total : INTEGER
List[1] ← -8
List[2] ← -3
List[3] ← -12
List[4] ← -5
Maximum ← List[1]
Minimum ← List[1]
Total ← List[1]
FOR I ← 2 TO 4
    IF List[I] > Maximum
      THEN
        Maximum ← List[I]
    ENDIF
    IF List[I] < Minimum
      THEN
        Minimum ← List[I]
    ENDIF
    Total ← Total + List[I]
NEXT I
OUTPUT Maximum, ", ", Minimum, ", ", Total / 4

Le maximum est −3 et le minimum est −12. La moyenne utilise les quatre valeurs :

$$\text{Total}=\sum \text{Value}=(-8)+(-3)+(-12)+(-5)=-28$$
$$\text{Average}=\frac{\text{Total}}{\text{Count}}=\frac{-28}{4}=-7$$

La moyenne se situe entre le minimum et le maximum ; c'est une vérification utile, mais pas une preuve que le calcul est correct. L'initialisation à partir du premier élément nécessite une liste non vide. Gérer une liste vide séparément avant de tenter de lire cet élément.

Vocabulaire Entrainer
English Français
linear search/ˈlɪnɪə sɜːtʃ/ recherche linéaire
totalling/ˈtəʊtəlɪŋ/ accumulation
counting/ˈkaʊntɪŋ/ comptage
maximum/ˈmæksɪməm/ maximum
minimum/ˈmɪnɪməm/ minimum
average/ˈævrɪdʒ/ moyenne
7.8

Conseils d'examen

  • Les quatre étapes du cycle de vie : analyse → conception → codage → test. L'abstraction conserve uniquement l'essentiel ; la décomposition divise un problème en parties.
  • Validation vérifie que les données sont cohérentes (vérifications de plage, longueur, type, présence, format) ; verification vérifie qu'elles ont été correctement copiées (visual check ou double entry).
  • Apprenez les quatre types de données de test : normales (acceptées), anormales (rejetées), extrêmes (les plus grandes/plus petites encore autorisées), frontières (de part et d'autre d'une limite).
  • Un tableau de trace (valeur de chaque variable à chaque étape) montre ce que fait un algorithme.
  • Pour écrire une routine de validation, placez la saisie dans une boucle REPEAT … UNTIL dont la condition UNTIL correspond aux données valides.
  • Lorsque vous corrigez une erreur, citez la ligne et écrivez toute la ligne corrigée.
  • Connaissez les algorithmes standards : linear search (vérifier chaque élément tour à tour) et bubble sort (échanger les paires côte à côte jusqu'à ce qu'aucun échange ne soit nécessaire).
Vocabulaire Entrainer
English Français
verification/ˌverɪfɪˈkeɪʃn/ vérification
visual check/ˈvɪʒuːəl tʃek/ vérification visuelle
double entry/ˈdʌbl ˈentri/ double saisie

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