Aller au contenu

Index des sujets 2022

Corrigé sujet 19 - Année : 2022

Sujet 19 - 2022

Exercice 1

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

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