Introduction
.
Exercice N°1 :
.
Programmer
la fonction multiplication prenant en paramètres deux nombres entiers
n1 et n2, et
qui renvoie le produit de ces deux nombres.
Les seules opérations autorisées sont
l’addition et la soustraction.
Réponse Multiplication : |
---|
#multiplication #deux autorisations :addition et soustraction def multiplication(n1,n2): resultat=0 if n1!=0 or n2!=0: n1temp,n2temp=1,1 if n1<0: n1temp=-1 n1=-n1 if n2<0: n2temp=-1 n2=-n2 for i in range(n1): resultat=resultat+n2 if n1temp+n2temp==0:resultat=-resultat return resultat #-----------Programme principal---------------# n1=int(input('Premier nombre pour la multiplication : ')) n2=int(input('Deuxième nombre pour la multiplication : ')) resultat=multiplication(n1,n2) print('Le résultat de ' ,n1,' '+chr(10005)+' ',n2,' = ',resultat) |
------------------------------------------------------------------------------------
.
Exercice
N°2 :
.
Chercher : |
---|
Soit
T un
tableau non vide d'entiers triés dans l'ordre croissant et n un
entier. |
Question : |
Recopier et
compléter le code de la fonction chercher proposée ci-dessous : if i < 0 or ??? : print("Erreur") return None if i > j : return None m = (i+j) // ??? if T[m] < ??? : return chercher(T, n, ??? , ???) elif ??? : return chercher(T, n, ??? , ??? ) else : return
??? |
chercher |
L’exécution du
code doit donner : Erreur >>> chercher([1,5,6,6,9,12],7,0,5) >>> chercher([1,5,6,6,9,12],9,0,5) 4 >>> chercher([1,5,6,6,9,12],6,0,5) |
.
REPONSE
.
Programme |
---|
def chercher(T,n,i,j): if i < 0 or not ( 0 <= i and j<len(T)): print("Erreur") return None if i > j : return None m = (j+i) //2 if T[m] < n: return chercher(T, n,m+1,j) elif T[m] > n : return chercher(T, n, i , m-1 ) else : return m |
Il faut utiliser idle et copier la commande ci-dessous et appuyer sur entrée |
>>> tri_iteratif([41, 55, 21, 18, 12, 6, 25]) resultat=chercher([1,5,6,6,9,12],7,0,10) print('chercher([1,5,6,6,9,12],7,0,10)',resultat) resultat=chercher([1,5,6,6,9,12],7,0,5) print('chercher([1,5,6,6,9,12],7,0,5)',resultat) resultat=chercher([1,5,6,6,9,12],9,0,5) print('chercher([1,5,6,6,9,12],9,0,5',resultat) resultat=chercher([1,5,6,6,9,12],6,0,5) print('chercher([1,5,6,6,9,12],6,0,5)',resultat)
|
avec Python idle | Sur le Shell python |
---|---|
Erreur chercher([1,5,6,6,9,12],7,0,10) None chercher([1,5,6,6,9,12],7,0,5) None chercher([1,5,6,6,9,12],9,0,5 4 chercher([1,5,6,6,9,12],6,0,5) 2
|
>>> chercher([1,5,6,6,9,12],7,0,10) Erreur >>> chercher([1,5,6,6,9,12],7,0,5) >>> chercher([1,5,6,6,9,12],9,0,5) 4 >>> chercher([1,5,6,6,9,12],6,0,5) 2 |