4.6 Passage de fonction comme argument et fonction lambda ........... 32
4.7 Valeur par défaut pour les paramètres et argument mots-clés .......... 32
5 Chaînes de caractères (strings), tuples, listes et instruction for 33
5.1 Chaînes de caractères (strings) .......................... 33
5.2 Tuples ...................................... 36
5.3 Listes ....................................... 38
5.4 Instruction for .................................. 46
5.5 Autres opérations et méthodes sur les séquences, strings, listes ......... 47
5.6 Compréhension de liste (list comprehension) .................. 48
5.7 Copie de listes complexes et réference cyclique ................. 49
6 Conception d’algorithmes simples 55
6.1 Récurrences simples ............................... 55
6.2 Manipulation de séquences ............................ 58
6.3 argv et eval .................................... 62
6.4 Polygones réguliers avec le module turtle .................... 63
6.5 Tableaux à plusieurs dimensions ......................... 64
7 Création d’un module de gestion de polynômes 67
7.1 Encodage d’un polynôme ............................ 67
7.2 Opérations sur les polynômes .......................... 67
7.3 Plot de polynômes avec turtle .......................... 69
8 Ensembles et Dictionnaire 73
8.1 Set ........................................ 73
8.2 Dictionnaire ................................... 74
8.3 Changement de type ............................... 80
9 Recherches et tris 85
9.1 Les classiques : recherches ............................ 86
9.2 Les classiques : tris ................................ 88
10 Notion de complexité et grand O97
10.1 Motivation .................................... 97
10.2 Le grand O....................................103
10.3 Application des règles de calcul .........................110
10.4 Complexité des méthodes de manipulation de séquences ............115
11 Logique, invariant et vérification d’algorithme 119
11.1 Introduction ...................................119
11.2 Rappel de logique ................................120
11.3 Exprimer l’état du programme formellement ..................123
11.4 Preuve partielle et totale .............................128
11.5 Exemples de preuves d’algorithmes .......................131
12 Récursivité 135
12.1 Motivation et introduction du concept ......................135
12.2 Mécanismes ...................................138
ii