Sujet n°19
Sujet original
Pour télécharger l'énoncé original, cliquer ici.
Exercice n°1☘
Écrire une fonction recherche
qui prend en paramètres un tableau tab
de nombres entiers triés par ordre croissant et un nombre entier n
,
et qui effectue une recherche dichotomique du nombre entier n
dans le
tableau non vide tab
.
Cette fonction doit renvoyer un indice correspondant au nombre cherché
s’il est dans le tableau, -1
sinon.
Exemple
>>> recherche([2, 3, 4, 5, 6], 5)
3
>>> recherche([2, 3, 4, 6, 7], 5)
-1
Une solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
Exercice n°2☘
Le codage de César transforme un message en changeant chaque lettre en la décalant dans l’alphabet.
Par exemple, avec un décalage de 3, le A
se transforme en D
,
le B
en E
, ..., le X
en A
, le Y
en B
et le Z
en C
.
Les autres caractères (espaces ou caractères de ponctuation '!'
, '?'
, ...) ne sont pas codés.
La fonction position_alphabet
ci-dessous prend en paramètre un caractère
lettre
et renvoie la position de lettre dans la chaîne de caractères
ALPHABET
s’il s’y trouve.
La fonction cesar
prend en paramètre une chaîne de caractères message
et un nombre entier decalage
et renvoie le nouveau message codé avec le
codage de César utilisant le décalage decalage
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Commentaire sur le code original
Pour télécharger l'original du fichier à compléter, cliquer ici.
Compléter la fonction cesar()
.
Exemple
>>> cesar('BONJOUR A TOUS. VIVE LA MATIERE NSI !', 4)
'FSRNSYV E XSYW. ZMZI PE QEXMIVI RWM !'
>>> cesar('GTSOTZW F YTZX. ANAJ QF RFYNJWJ SXN !', -5)
'BONJOUR A TOUS. VIVE LA MATIERE NSI !'
Une solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|