0% ont trouvé ce document utile (0 vote)
63 vues4 pages

TP Révision Programmation

Transféré par

menouchematteo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats ODT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
63 vues4 pages

TP Révision Programmation

Transféré par

menouchematteo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats ODT, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 4

Page 1/4 TP1 révision

Terminale NSI

TP révision NSI

Exercice 1

Programmer une fonction renverse, prenant en paramètre une chaîne de caractères non vide mot et
renvoie cette chaîne de caractères en ordre inverse.

Exemple :
>>> renverse("")
""
>>> renverse("abc")
"cba"
>>> renverse("informatique")
"euqitamrofni"

Exercice 2

Écrire une fonction moyenne qui prend en paramètre un tableau d’entiers non vide et qui renvoie un
nombre flottant donnant la moyenne de ces entiers.
Attention : il est interdit d’utiliser la fonction sum ou la fonction mean (module statis#tics) de
Python.

Exemples
>>> moyenne([1])
1.0
>>> moyenne([1, 2, 3, 4, 5, 6, 7])
4.0
>>. moyenne([1, 2])
1.5

Exercice 3

Écrire une fonction compte_occurrences prenant en paramètres une valeur x et un tableau tab (de
type list) et renvoyant le nombre d’occurrences de x dans tab.
L’objectif de cet exercice étant de parcourir un tableau, il est interdit d’utiliser la méthode count des
listes Python.

Exemples :
>>> compte_occurrences(5, [])
0
>>> compte_occurrences(5, [-2, 3, 1, 5, 3, 7, 4])
1
>>> compte_occurrences('a', ['a','b','c','a','d','e','a'])
3

Exercice 4
Page 2/4 TP1 révision
Terminale NSI

Écrire une fonction recherche_min qui prend en paramètre un tableau de nombres tab, et qui
renvoie l’indice de la première occurrence du minimum de ce tableau. Les tableaux
seront représentés sous forme de liste Python.

Exemples :
>>> recherche_min([5])
0
>>> recherche_min([2, 4, 1])
2
>>> recherche_min([5, 3, 2, 2, 4])
2
>>> recherche_min([-1, -2, -3, -3])
2

Exercice 5

Écrire une fonction recherche qui prend en paramètres elt un nombre entier et tab un tableau de
nombres entiers (type list), et qui renvoie l’indice de la dernière occurrence de elt dans tab si elt est
dans tab et None sinon.

Exemples :
>>> recherche(1, [2, 3, 4]) # renvoie None
>>> recherche(1, [10, 12, 1, 56])
2
>>> recherche(1, [1, 0, 42, 7])
0
>>> recherche(1, [1, 50, 1])
2
>>> recherche(1, [8, 1, 10, 1, 7, 1, 8])
5

Exercice 6

Écrire une fonction recherche_indices_classement qui prend en paramètres un entier elt et un


tableau d’entiers tab représenté par une liste Python, et qui renvoie trois listes Python d’entiers:
• la première liste contient les indices des valeurs du tableautabstrictement inférieures à elt ;
• la deuxième liste contient les indices des valeurs du tableau tab égales à elt ;
• la troisième liste contient les indices des valeurs du tableau tab strictement supérieures à elt.

Exemples :
>>> recherche_indices_classement(3, [1, 3, 4, 2, 4, 6, 3, 0])
([0, 3, 7], [1, 6], [2, 4, 5])
>>> recherche_indices_classement(3, [1, 4, 2, 4, 6, 0])
([0, 2, 5], [], [1, 3, 4])
>>>recherche_indices_classement(3, [1, 1, 1, 1])
([0, 1, 2, 3], [], [])
>>> recherche_indices_classement(3, [])
([], [], [])
Page 3/4 TP1 révision
Terminale NSI
Exercice 7

Dans cet exercice, on considère des phrases composées de mots.


• On appelle mot une chaîne de caractères composée avec des caractères choisis parmi les 26 lettres
minuscules ou majuscules de l’alphabet.
• On appelle phrase une chaîne de caractères :
– composée avec un ou plusieurs mots séparés entre eux par un seul caractère espace ' ',
– se finissant :
* soit par un point '.' qui est alors collé au dernier mot,
* soit par un point d’exclamation '!' ou d’interrogation '?' qui est alors séparé du dernier mot
par un seul caractère espace ' '.

Voici deux exemples de phrases :


'Cet exercice est simple.'
'Le point d exclamation est separe !'
Après avoir remarqué le lien entre le nombre de mots et le nombre de caractères espace
dans une phrase, programmer une fonction nombre_de_mots qui prend en paramètre
une phrase et renvoie le nombre de mots présents dans cette phrase.

>>> nombre_de_mots('Cet exercice est simple.')


4
>>> nombre_de_mots('Le point d exclamation est séparé !')
6
>>> nombre_de_mots('Combien de mots y a t il dans cette phrase ?')
10
>>> nombre_de_mots('Fin.')
1

Exercice 8

Écrire une fonction ecriture_binaire_entier_positif qui prend en paramètre un entier positif n et


renvoie une chaîne de caractère correspondant à l’écriture binaire de n.
On rappelle que :
• l’écriture binaire de 25 est 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'

Exercice 9
Page 4/4 TP1 révision
Terminale NSI

On considère des chaînes de caractères contenant uniquement des majuscules et des caractères *
appelées mots à trous.
Par exemple INFO*MA*IQUE, ***I***E** et *S* sont des mots à trous.
Programmer une fonction correspond :
• qui prend en paramètres deux chaînes de caractères mot et mot_a_trous où mot_a_trous est un mot
à trous comme indiqué ci-dessus ;
• et qui renvoie :
– True si on peut obtenir mot en remplaçant convenablement les caractères '*' de mot_a_trous ;
– False sinon.

Exemple :
>>> correspond('INFORMATIQUE', 'INFO*MA*IQUE')
True
>>> correspond('AUTOMATIQUE', 'INFO*MA*IQUE')
False
>>> correspond('STOP', 'S*')
False
>>> correspond('AUTO', '*UT*')
True

Exercice 10

Écrire une fonction couples_consecutifs qui prend en paramètre un tableau de nom#bres entiers tab
non vide (type list), et qui renvoie la liste Python (éventuellement vide) des couples d’entiers
consécutifs successifs qu’il peut y avoir dans tab.

Exemples :
>>> couples_consecutifs([1, 4, 3, 5])
[]
>>> couples_consecutifs([1, 4, 5, 3])
[(4, 5)]
>>> couples_consecutifs([1, 1, 2, 4])
[(1, 2)]
>>> couples_consecutifs([7, 1, 2, 5, 3, 4])
[(1, 2), (3, 4)]
>>> couples_consecutifs([5, 1, 2, 3, 8, -5, -4, 7])
[(1, 2), (2, 3), (-5, -4)]

Vous aimerez peut-être aussi