Algo TP4

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

Spécialité NSI Première

Algorithmique – TP4

Dans ce TP nous utiliserons :


- la fonction randint du module random : from random import randint
- la fonction alea(n,a,b) du TP3 d’algorithmique qui renvoie un tableau (de type list) de n
nombres entiers aléatoires compris entre a et b.

Exercice 1 : Tri par sélection et tri par insertion


1) Ouvrir le fichier TP4_algo.py .
2) a. Modifier la fonction tri_selection afin d’afficher le tableau après chaque sélection.
b. Tester cette fonction avec un tableau d’entiers aléatoires entre 1 et 20 de taille n = 10.
3) a. Modifier la fonction tri_insertion afin d’afficher le tableau après chaque insertion.
b. Tester cette fonction avec un tableau d’entiers aléatoires entre 1 et 20 de taille n = 10.

Exercice 2 : Rappels sur les dictionnaires


1) Afin de rappeler la syntaxe d’un dictionnaire Python, tester dans la partie console les instructions
ci-dessous :
>>> taille = {'Alice':170,'Bob':184,'Clement':179,'Denise':167}
>>> taille['Alice']
>>> taille['Eric'] = 173
>>> taille

Le premier élément est la clés et la deuxième la valeur associée. Ainsi, la valeur 170 est associée à
la clés 'Alice'.

2) Ajouter Fiona qui mesure 177 cm, et George qui mesure 180 cm.

3) Tester dans la partie console les instructions ci-dessous :


>>> taille.keys()
>>> taille.values()
>>> cles = list(taille.keys())
>>> cles
>>> valeurs = list(taille.values())
>>> valeurs

4) Quel est le type des variables cles et valeurs ?

Exercice 3 : Trier un dictionnaire !


Écrire une fonction pour trier du plus petit au plus grand les personnes d’un dictionnaire comme
celui de l’exercice précédent !

Exercice 4 : Jeu de 52 cartes


Un jeu de 52 cartes est composé de quatre familles : Pic, Cœur, Carreau et Trèfle. Chaque famille
possède 13 hauteurs de cartes : 1 (As), 2, 3, 4, 5, 6, 7, 8, 9, 10, Valet, Dame, Roi.
On veut numéroter (indicer) ces cartes de 0 jusqu’à 51.
Plutôt que de taper au clavier le dictionnaire avec ses 52 entrées dans la partie script, on désire le
créer à l’aide d’une fonction et de deux listes F et H :
F = ['PIC','COE','CAR','TRE']
H = ['Val','Dam','Roi']
Écrire une fonction jeu52() qui renvoie un dictionnaire dont les clés sont des tuples, par exemple
('COE','4') pour un 4 de Cœur ou ('TRE,'Val') pour un Valet de Trèfle.

Exercice 5 : Shuffle
Écrire une fonction shuffle(L) qui prend une liste L en argument et renvoie une autre liste
contenant les éléments de L mais mélangés aléatoirement.
Par exemple, si L = ['A','B','C','D'] alors shuffle(L) va mélanger L et l’on pourra
avoir L = ['B','D','C','A'].

Indications : - afin de mélanger aléatoirement la liste, on utilisera la fonction randint et on


travaillera sur les indices de cette liste.

Exercice 6 : Trier un jeu de 52 cartes !


1) Créer une variable dico_jeu à l’aide de la fonction jeu52()de l’exercice 4.
2) Créer une liste jeu des clés de dico_jeu. Cette liste représente notre jeu de cartes. Pour
l’instant elle est triée.
3) Mélanger le jeu de cartes (la variable jeu) à l’aide de la fonction shuffle de l’exercice 5.
4) Écrire une fonction trier_jeu(jeu,dico) qui va trier une liste de cartes (une liste de
tuples du type ('COE','4')) selon un dictionnaire dico qui ordonne et numérote les cartes.
Cette fonction renvoie une liste.

Exercice 7 : Pour aller plus loin !


Écrire une fonction inplace_shuffle(L) qui mélange une liste L sur place (sans utiliser de
liste intermédiaire, comme pour les tris par insertion ou sélection).

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy