MPSI – Lycée Dessaignes Année scolaire 2016/2017 TP I NFORMATIQUE N O 5 TABLEAUX ET L ISTES : FONCTIONS EN PAGAILLES Extraction Q.1 Vivent les : Pour la liste : L=[3,5,1,5,6,1,4] que donnes les commandes L[:4], L[2:4],L[1:] et L[5:5] Maximum Q.2 Invariant Démontrer que la fonction maximum du cours renvoi bien le maximum à l’aide d’un invariant. Q.3 Position Écrire une fonction pos_max qui renvoi la position du maximum dans un tableau et non sa valeur. Recherche dans un tableau Q.4 Retour de position L’algorithme de recherche séquentielle vu en cours renvoie la présence ou non d’un élément dans le tableau. Modifiez le afin d’obtenir la première position éventuelle de cet élément. Vérifier que t.index(elt) renvoie bien la même chose. Q.5 Toutes les positions Modifier l’algorithme précédent afin d’obtenir une liste des positions éventuelles du mot dans la liste. Recherche dans un texte Q.6 Recherche de toutes les occurrences Modifier le programme vu en cours pour créer une fonction recherche_tout_mot qui affiche toutes les occurrences d’un mot dans un texte. Q.7 Palindrome Écrire une fonction palindrome qui vérifie si un chaine de caractère est un palindrome, c’est à dire qu’il puisse se lire dans un sens ou l’autre. Divers Q.8 Trié ? Écrire une fonction est_trie(p) qui vérifie que les éléments d’un tableau sont bien dans l’ordre croissant en renvoyant un booléen. Q.9 Listes de termes On considère la suite (u n ) définie par u 0 = 3 et u n+1 = 0, 5u n + 0, 5n + 1. Écrire une fonction liste_termes(n) qui renvoie la liste des n premiers termes de la suite. Q.10 Listes au hasard 1) Écrire une fonction hasard(n,p) qui construit une liste de n entiers au hasard entre 1 et p. 2) Même chose pour une fonction hasard2(n,p) mais dont les nombres doivent être distincts. 1