You are on page 1of 2

Fonctions et boucles

Exercice 1. Variables locales et globales


Que se passe-t-il lors de l'exécution des programmes suivants ?

---------------------------------------
def fct_1 ( n ) :
n += 1

if __name__ == ' __main__ ':


x = 3
fct_1 ( x )
print ( x )
print ( n )
---------------------------------------
def fct_2 ( y ) :
y += 1
return n

if __name__ == ' __main__ ':


x = 5
fct_2 ( x )
print ( x )
print ( y )
---------------------------------------
def fct_3 ( y ) :
x = 4
return y + x

if __name__ == ' __main__ ':


z = fct_3 (3)
print ( z )
print ( x )
---------------------------------------
def fct_4 ( y ) :
x = 6
return y + x

if __name__ == ' __main__ ':


x = 5
y = fct_4 (4)
print ( x )
print ( y )

Exercice 2
Que calcule la fonction fct ? Essaie à la main sur fct('baadradadsa hesaadabra')

def fct ( chaine ) :


i = 0
for c in chaine :
if c == 'a ':
i = i +1
if c == ' ':
break
return i

Pour chacun des exercices suivants, Écrivez la fonction demandée et testez la avec plusieurs
valeurs pertinentes.


Exercice 3
Étant donnés deux nombres (entiers), Écrivez une fonction qui détermine si le premier est
divisible par le second.

Exercice 4
Écrivez une fonction qui, étant donnés deux points (x1 ; y1 ) et (x2 ; y2 ), calcule et retourne la
distance euclidienne entre ces deux points.

Exercice 5
Étant donnés 3 points entrés par l'utilisateur, écrivez une fonction qui calcule le périmètre
du triangle correspondant. On suppose que les trois points ne sont pas alignés.
N.B. : utilisez la fonction de l'exercice 4 !

Exercice 6
On souhaite réaliser une série de fonctions pour gérer les nombres rationnels, c'est-à-dire les
p
avec p∈Z et q ∈ N. Un tel rationnel est représenté par une liste à deux éléments [p, q].
q
Vous pouvez utiliser la fonction gcd(a, b) du module math, qui renvoie le plus grand commun
diviseur de a et b.
 Écrivez une fonction qui prend un rationnel en entrée et qui renvoie la fraction simpliée.
−3 −1
Exemple : se simplie en .
6 2
 Écrivez des fonctions pour calculer la somme, le produit, la diérence et le quotient de
deux rationnels.
 Écrivez une fonction qui teste l'égalité de deux rationnels, et une autre fonction pour
tester si le premier est plus petit que le second.

Exercice 7
Ecrire une fonction qui vérie qu'un point est dans un rectangle horizontal. Un point
est représenté par un tuple (x,y) et un rectangle est représenté par deux points : le coin
supérieur gauche et le coin inférieur droit. Nous supposons que les x croissent vers la droite
et que les y croissent vers le haut.

Exercice 8
Écrivez une fonction sans_doublons qui prend une liste d'entiers et renvoie une liste
contenant les mêmes nombres mais sans doublons et dans le même ordre.
Par exemple, sans_doublons([6, 1, 6, 1, 3, 6, 1, 4]) renverra la liste [6, 1, 3, 4].

Exercice 9
 Écrivez une fonction qui vérie qu'une liste passée en paramètre est triée dans l'ordre
croissant (on renvoie True si elle est triée, False sinon).
 Écrivez une fonction qui vérie qu'une liste passée en paramètre est triée dans l'ordre
croissant ou décroissant (on renvoie False si elle est désordonnée, True sinon).

You might also like