Ep 16
Issue de : 23-NSI-43âïž
EXERCICE 1âïž
Ăcrire une fonction ecriture_binaire_entier_positif
qui prend en paramĂštre un entier positif n et renvoie une chaine de caractĂšre correspondant Ă lâĂ©criture binaire de n.
On rappelle que :
- lâĂ©criture binaire de 25est 11001 car \(\(25=1Ă24+1Ă23+0Ă22+0Ă21+1Ă20\)\) ;
- n % 2
vaut 0 ou 1 selon que n est pair ou impair ;
- n // 2
donne le quotient de la division euclidienne de n par 2.
Il est interdit dans cet exercice dâutiliser la fonction bin
de Python
Exemples :
>>> 5 % 2
1
>>> 5 // 2
2
>>> ecriture_binaire_entier_positif(0)
'0'
>>> ecriture_binaire_entier_positif(2)
'10'
>>> ecriture_binaire_entier_positif(105)
'1101001'
RĂ©ponse
Complétez le code ci-dessous
Solution
EXERCICE 2âïž
La fonction tri_bulles
prend en paramĂštre une liste T
dâentiers non triĂ©s et renvoie la liste triĂ©e par ordre croissant.
Le tri à bulles est un tri en place qui commence par placer le plus grand élément en derniÚre position en parcourant la liste de gauche à droite et en échangeant au passage
les Ă©lĂ©ments voisins mal ordonnĂ©s (si la valeur de lâĂ©lĂ©ment dâindice i
a une valeur strictement supĂ©rieure Ă celle de lâindice i + 1
, ils sont échangés). Le tri place ensuite
en avant-derniĂšre position le plus grand Ă©lĂ©ment de la liste privĂ©e de son dernier Ă©lĂ©ment en procĂ©dant encore Ă des Ă©changes dâĂ©lĂ©ments voisins. Ce principe est rĂ©pĂ©tĂ© jusquâĂ
placer le minimum en premiĂšre position.
Exemple : pour trier la liste [7, 9, 4, 3]
:
- premiÚre étape : 7 et 9 ne sont pas échangés, puis 9 et 4 sont échangés, puis 9 et 3 sont échangés, la liste est alors
[7, 4, 3, 9]
- deuxiÚme étape : 7 et 4 sont échangés, puis 7 et 3 sont échangés, la liste est alors
[4, 3, 7, 9]
- troisiÚme étape : 4 et 3 sont échangés, la liste est alors
[3, 4, 7, 9]
Compléter le code Python ci-dessous qui implémente la fonction tri_bulles.
đ Script Python | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
>>> tab = []
>>> tri_bulles(tab)
>>> tab
[]
>>> tab2 = [9, 3, 7, 2, 3, 1, 6]
>>> tri_bulles(tab2)
>>> tab2
[1, 2, 3, 3, 6, 7, 9]
>>> tab3 = [9, 7, 4, 3]
>>> tri_bulles(tab3)
>>> tab3
[3, 4, 7, 9]
RĂ©ponse
Complétez le code ci-dessous
Solution
Exemple :