Fiche de révision : Briques séquentielles en algorithmique

Plan du Cours

  1. Parcours séquentiel et accumulation
  2. Séquences d’entiers avec range
  3. Parcours par indices et listes
  4. Recherche séquentielle et maximum
  5. Boucle conditionnelle et terminaison

1. Parcours séquentiel et accumulation

★ À maîtriser

  • Un parcours direct, écrit for e in Seq, examine successivement chaque élément d’une structure séquentielle sans le modifier.

  • Pour calculer une somme, on initialise un accumulateur à 0, on parcourt les éléments en ajoutant chacun à l’accumulateur, puis on renvoie celui-ci.

Compléments

📌 La valeur d’initialisation d’un calcul doit être adaptée au type et au résultat attendu pour une structure vide, par exemple une chaîne vide pour construire une chaîne par concaténation.

📌 Une fonction qui renvoie une valeur s’appelle en affectant son résultat à une variable, par exemple resultat = somme(test).

  • Une trace d’exécution consigne les valeurs des variables à différentes étapes, notamment avant la boucle et à la fin de chaque tour.

2. Séquences d’entiers avec range

Notions clés & Définitions

  • Fonction range : Produit une séquence d’entiers dont la borne de début est incluse et la borne de fin exclue.

★ À maîtriser

  • range(fin) produit les entiers de 0 à fin - 1, et range(deb, fin) produit les entiers de deb à fin - 1.

  • range(deb, fin, pas) produit les entiers deb + k × pas qui restent strictement inférieurs à fin, avec un pas par défaut de 1.

Compléments

  • range(1, 6, 2) produit la séquence 1, 3, 5, tandis que range(3, 0, -1) permet de compter de 3 à 1 inclus.

  • Si n = len(S), alors range(n) fournit les indices de la structure séquentielle S, de 0 à n - 1.

3. Parcours par indices et listes

★ À maîtriser

  • Une liste peut être construite progressivement en initialisant une liste vide, en parcourant les valeurs à produire avec append, puis en renvoyant la liste.

📌 Le parcours par indices, écrit for i in range(len(S)), est nécessaire pour accéder aux indices ou modifier les éléments d’une liste.

Compléments

  • Une liste de taille connue peut être initialisée avec une valeur provisoire, puis chaque élément peut être remplacé par parcours d’indices.

📌 append modifie la liste en place et renvoie None, donc il faut écrire L.append(x) et non L = L.append(x).

  • Parmi les structures séquentielles présentées, la liste est la seule structure mutable.

  • Une compréhension telle que [i for i in range(n)] construit une liste et constitue une méthode équivalente à l’ajout successif lorsque la valeur à produire est une formule simple.

4. Recherche séquentielle et maximum

★ À maîtriser

  • Pour tester si x est présent dans S, on renvoie Vrai dès qu’un élément vaut x, puis Faux seulement après avoir terminé le parcours sans trouver de correspondance.

  • Pour trouver le maximum d’une séquence non vide, on initialise le maximum à son premier élément, on parcourt les éléments, on le remplace lorsqu’un élément plus grand est rencontré, puis on renvoie le maximum.

Compléments

📌 Dans une recherche de présence, la valeur du résultat ne doit pas être remise à Faux après chaque élément différent de x, car un élément ultérieur peut encore correspondre.

📌 La recherche du maximum exige une séquence non vide, condition que le programme peut vérifier avec assert len(S) > 0.

Astuce mémo

Présence : un seul succès suffit ; maximum : il faut parcourir toute la séquence.

5. Boucle conditionnelle et terminaison

Notions clés & Définitions

  • Boucle conditionnelle : Répète son bloc tant que sa condition est vérifiée.

★ À maîtriser

  • 🔄 La gestion d’une boucle conditionnelle comprend ces étapes :
    1. Initialiser la variable de condition
    2. Exécuter le bloc tant que la condition est vraie
    3. Faire évoluer la variable impliquée dans la condition

Compléments

  • Une boucle while est à privilégier lorsque le nombre de tours n’est pas connu à l’avance.

  • Si nbm_init vaut 0 ou est négatif et que nbm_seuil est strictement positif, le doublement conserve une valeur inférieure au seuil et la boucle ne s’arrête pas.

  • L’étude de la terminaison d’une boucle while consiste notamment à vérifier que sa condition finit par devenir fausse; une précondition comme assert nbm_init > 0 peut écarter le cas non terminant décrit.

  • Dans le comptage des jours jusqu’à un seuil, le nombre de mots double à chaque tour et le compteur de jours augmente de 1.

Astuce mémo

Condition toujours vraie → boucle infinie.

Teste tes connaissances

Teste tes connaissances sur Briques séquentielles en algorithmique avec 9 questions à choix multiples et corrections détaillées.

1. Une liste `notes` contient plusieurs valeurs. Quel comportement décrit une boucle `for e in notes` utilisée pour les examiner sans modifier la liste ?

2. Une fonction doit calculer la somme des valeurs d’une séquence `valeurs`. Quelle méthode convient ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Briques séquentielles en algorithmique avec 10 flashcards interactives.

Que fait un parcours direct écrit `for e in Seq` ?

Il examine successivement chaque élément sans modifier la structure.

Quelle valeur initialise l’accumulateur utilisé pour calculer une somme ?

Zéro.

Quelles bornes la fonction `range` inclut-elle et exclut-elle ?

La borne de début est incluse et la borne de fin est exclue.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches