Aller au contenu

Corrigé sujet 09 - Année : 2023⚓︎

Sujet 09 - 2022

Exercice 1⚓︎

🐍 Script Python
1
2
3
4
5
6
7
8
def multiplication(a,b):
    produit=0
    for i in range(abs(a)):
        produit += abs(b)
    if (a>0 and b<0) or (a<0 and b>0): 
        return -produit
    else:
        return produit

Commentaires

  1. On peut rappeler la règle des signes pour un produit :
    • un produit est négatif si les deux facteurs ne sont pas de même signe (ligne 5)
    • et positif sinon.
  2. Si a et b sont deux entiers positifs : \(a \times b = \underbrace{b + b + \dots + b}_{a \quad \mathrm{termes}}\)
  3. L'énoncé pourrait aiguiller vers l'utilisation de abs (valeur absolue) pour traiter les problèmes de signe.

Exercice 2⚓︎

🐍 Script Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
def chercher(tab, n, i, j):
    if i < 0 or j > len(tab): #(1)
        return None
    elif i > j:
        return None
    m = (i + j) // 2 #(2)
    if tab[m] < n:
        return chercher(tab, n, m+1, j) #(3)
    elif tab[m] > n:
        return chercher(tab, n, i, m-1)
    else:
        return m
  1. L'indice du dernier élément d'un tableau tab est len(tab)-1.
  2. Calcul de l'indice m au milieu
  3. On peut chercher après l'indice m à cause du strictement inférieur dans le test de comparaison tab[m]<n.