Algorithmique et programmation
Ce que l'épreuve attend
L'épreuve vérifie la construction d'algorithmes corrects et l'écriture de programmes simples: variables, types, conditions, boucles, tableaux, fonctions et trace. La clarté du pseudo-code et la justification des choix comptent.
Notions clés
- Un algorithme est fini, défini, général et produit un résultat; il se traduit ensuite dans un langage.
- Types: entier, réel, booléen, caractère, chaîne; déclaration et affectation; entrée/sortie.
- Structures: si/sinon, selon; tant que, répéter, pour; imbrication.
- Tableaux: indices souvent de 0 ou 1 selon convention; parcours par boucle; recherche linéaire en O(n), dichotomique en O(log n) sur tableau trié.
- Fonctions: paramètres, valeur de retour, portée des variables; découpage en sous-problèmes.
Exemple raisonné
Rechercher le maximum d'un tableau T de n entiers. Algorithme: max <- T[1]; pour i de 2 à n faire si T[i] > max alors max <- T[i]. Trace avec T = [4, 9, 2, 9]: max=4; i=2, 9>4 donc max=9; i=3, 2>9 faux; i=4, 9>9 faux; résultat 9. Le raisonnement montre l'initialisation au premier élément, la comparaison stricte et l'arrêt après n-1 comparaisons. Une initialisation à 0 serait fausse avec des nombres négatifs.
Pièges
Décalage d'indice (off-by-one); variable non initialisée; confondre = et ==; boucle sans évolution; oublier le cas n=0; comparer des chaînes comme des nombres; rendre un résultat sans test.