• Aucun résultat trouvé

Exercice 1. Variables locales et globales

N/A
N/A
Protected

Academic year: 2022

Partager "Exercice 1. Variables locales et globales"

Copied!
2
0
0

Texte intégral

(1)

DUT Info Introduction à l’algorithmique et à la programmation 2020–2021

TD 4 - Fonctions

Exercice 1. Variables locales et globales

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

1

def f1(n):

2

n += 1

3

4

if __name__ == "__main__":

5

x = 3

6

f1(x)

7

print(x)

8

print(n)

1

def f2(n):

2

n += 1

3

return n

4

5

if __name__ == "__main__":

6

n = 3

7

x = f2(n)

8

print(x)

9

print(n)

1

def f3(n):

2

x = 4

3

return n + x

4

5

if __name__ == "__main__":

6

y = f3(3)

7

print(y)

8

print(x)

1

def f4(n):

2

x = 2

3

return n + x

4

5

if __name__ == "__main__":

6

x = 3

7

n = f4(4)

8

print(x)

9

print(n)

Exercice 2. Fonction mystère

Que calcule la fonction f ? Essayez à la main sur f('abracdabra abracadabra') .

1

def f(chaine):

2

i = 0

3

for c in chaine:

4

if c == 'a':

5

i = i+1

6

if c == ' ':

7

break

8

return i

Exercice 3. Étoiles

Écrivez une fonction etoiles qui prend un entier n et affiche le message correspondant :

si n vaut 1 : si n vaut 2 : si n vaut 3 : si n vaut 4 :

* *

** *

** ***

* **

***

****

... et ainsi de suite.

Page 1 / 2

(2)

DUT Info Introduction à l’algorithmique et à la programmation 2020–2021

Exercice 4. Nombres rationnels

On souhaite réaliser une série de fonctions pour gérer les nombres rationnels, c’est-à-dire les

pq

avec p ∈ Z et q ∈ N

. Un tel rationnel est représenté par une liste à deux éléments [p, q] . Vous pouvez utiliser la fonction gcd(a, b) du module math , qui renvoie le plus grand commun diviseur de a et b.

1. Écrivez une fonction qui prend un rationnel en entrée et qui renvoie la fraction simplifiée :

−2

4

se simplifie en

−12

.

2. Écrivez des fonctions pour calculer la somme, le produit, la différence et le quotient de deux rationnels.

3. É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 5. Sans doublons

Écrivez une fonction singletons 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, singletons([2, 1, 2, 1, 3, 2, 1, 4] ) renverra la liste [2, 1, 3, 4] .

Exercice 6. Liste triée

1. Écrivez une fonction qui vérifie 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).

2. Écrivez une fonction qui vérifie 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).

Page 2 / 2

Références

Documents relatifs

Dans cet article, nous proposons de détecter automati- quement des symétries de variables en calculant une parti- tion de la portée de chaque contrainte pour exhiber les va-

Écrivez une fonction sociabilite(texte) renvoyant un dictionnaire dont les clés sont les lettres du texte et dont les valeurs sont leur degré de sociabilité, c’est-à-dire le nombre

Écrivez une fonction qui vérifie 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

Dans les exercices qui suivent, vous pouvez supposer que tous les éléments d’une liste sont comparables, et que les types des données de deux listes différentes sont compatibles..

Écrivez une fonction renvoyant l’union de A et B sous la forme d’une troisième liste sans doublon.. Écrivez une fonction renvoyant l’intersection de A et B sous la forme

[r]

[r]

[r]