Linear search and bubble sort · Recherche linéaire et tri bulle
Find one mark, then order the list
- Syllabus topic 10.2 asks for two algorithms on an array: a linear search and a bubble sort.
- A linear search looks at every cell. Remember the index when the value matches. If it never matches, the index stays 0.
- Searching does not move the values. Sorting does.
Trouver une note, puis ordonner la liste
- Programme 10.2 demande deux algorithmes sur un tableau : une recherche linéaire et un tri à bulles.
- Une recherche linéaire examine chaque case. Retenez l'index lorsque la valeur correspond. Si cela ne correspond jamais, l'index reste 0.
- La recherche ne déplace pas les valeurs. Le tri le fait.
DECLARE A : ARRAY[1:4] OF INTEGER
DECLARE I, Pos : INTEGER
A[1] ← 4
A[2] ← 9
A[3] ← 1
A[4] ← 7
Pos ← 0
FOR I ← 1 TO 4
IF A[I] = 9 THEN
Pos ← I
ENDIF
NEXT I
OUTPUT Pos
Bubble the largest to the end
- Compare each pair of neighbours. When the left one is larger, swap them through a temporary variable.
- One comparison is not the whole sort. Repeat the pass until every pair has been handled.
- For four values, an outer loop of three passes and an inner loop across the pairs is enough.
Faire monter la plus grande à la fin
- Comparez chaque paire de voisins. Quand celui de gauche est plus grand, échangez-les via une variable temporaire.
- Une comparaison ne suffit pas. Répétez le passage jusqu'à ce que toutes les paires aient été traitées.
- Pour quatre valeurs, une boucle externe de trois passages et une boucle interne sur les paires suffisent.
DECLARE Score : ARRAY[1:4] OF INTEGER
DECLARE I, J, Temp : INTEGER
Score[1] ← 4
Score[2] ← 1
Score[3] ← 3
Score[4] ← 2
FOR I ← 1 TO 3
FOR J ← 1 TO 3
IF Score[J] > Score[J + 1] THEN
Temp ← Score[J]
Score[J] ← Score[J + 1]
Score[J + 1] ← Temp
ENDIF
NEXT J
NEXT I
OUTPUT Score[1]
OUTPUT Score[2]
OUTPUT Score[3]
OUTPUT Score[4]
Common mistakes
- A swap needs three assignments. Copying the right cell over the left one loses the left value.
THENstays on theIFline in this guide. The innerNEXTnamesJ, the outer namesI.
Erreurs courantes
- Un échange nécessite trois affectations. Copier la cellule de droite sur celle de gauche perd la valeur de gauche.
THENreste sur la ligneIFdans ce guide. L'itération interneNEXTnommeJ, l'externelle nommeI.
Now you try
- First report where
9sits. Then sort four values into ascending order, one per line.
À vous maintenant
- D'abord indiquer où se trouve
9. Ensuite, trier quatre valeurs par ordre croissant, une par ligne.
The array A holds · contient 4, 9, 1, 7. Set Pos to the index of 9 (it is 2) and output Pos. If you never find it, Pos stays 0. · Le tableau A contient 4, 9, 1, 7. Initialisez Pos à l'indice de 9 (c'est 2) et affichez Pos. Si vous ne le trouvez jamais, Pos reste 0.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
The array Score holds · contient 4, 1, 3, 2. Bubble-sort it into ascending order and output the four values, one per line. · Le tableau Score contient 4, 1, 3, 2. Triez-le par ordre croissant avec le tri bulle et affichez les quatre valeurs, une par ligne.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.