Baccalauréat — Épreuve pratique — 2024 — NSI
Épreuve pratique NSI 2024 — Sujet 13 : première occurrence, insertion dans un tableau trié
Sujet
Épreuve pratique de NSI, session 2024 — sujet n°13 de la banque nationale. Durée : 1 heure, sur ordinateur. Le candidat traite les deux exercices, notés chacun sur 10 points.
Exercice 1 — indice de la première occurrence
Écrire une fonction recherche qui prend en paramètres elt, un nombre entier, et tab, un tableau de nombres entiers (type list), et qui renvoie l'indice de la première occurrence de elt dans tab si elt est dans tab, et None sinon.
L'objectif de cet exercice est de parcourir un tableau : il est interdit d'utiliser la méthode index des listes Python.
Exemples :
>>> recherche(1, [2, 3, 4]) # renvoie None
>>> recherche(1, [10, 12, 1, 56])
2
>>> recherche(50, [1, 50, 1])
1
>>> recherche(15, [8, 9, 10, 15])
3Exercice 2 — insérer une valeur dans un tableau trié
On considère la fonction insere ci-dessous, qui prend en argument un tableau tab d'entiers triés par ordre croissant et un entier a. Cette fonction crée et renvoie un nouveau tableau à partir de celui fourni en paramètre, en y insérant la valeur a de sorte que le tableau renvoyé soit encore trié par ordre croissant. Les tableaux sont représentés sous la forme de listes Python.
def insere(tab, a):
"""
Insère l'élément a (int) dans le tableau tab (list)
trié par ordre croissant à sa place et renvoie le
nouveau tableau.
"""
tab_a = [ a ] + tab # nouveau tableau contenant a
# suivi des éléments de tab
i = 0
while i < ... and a > ...:
tab_a[i] = ...
tab_a[i+1] = a
i = ...
return tab_aCompléter la fonction insere ci-dessus.
Exemples :
>>> insere([1, 2, 4, 5], 3)
[1, 2, 3, 4, 5]
>>> insere([1, 2, 7, 12, 14, 25], 30)
[1, 2, 7, 12, 14, 25, 30]
>>> insere([2, 3, 4], 1)
[1, 2, 3, 4]
>>> insere([], 1)
[1]Corrigé
Créez un compte gratuit : votre première correction est offerte.