====== Exercices pythonistiques ====== Les corrigés sont disponibles là : [[https://forge.centrale-marseille.fr/projects/algorithmie_corrigf/files]] ===== J'aimerai tant voir Syracuse ===== On vous demande de vérifier expérimentalement la [[https://fr.wikipedia.org/wiki/Conjecture_de_Syracuse|conjecture de Syracuse]] pour les 1337 premiers nombres. ===== Boucles et Conditions ===== Nous allons faire un algorithme qui permet de rechercher une chaîne de caractères dans une chaîne plus grande. Il existe de nombreuses façon de procéder, dont certaines très belles. Implémentez [[https://fr.wikipedia.org/wiki/Algorithme_de_recherche_de_sous-chaîne|l'algorithme naïf]]. Votre algorithme doit répondre vrai si le premier paramètre est une sous-chaine de son second paramètre, et faux sinon. ===== Petites récréations mathématiques ===== Le [[https://projecteuler.net|projet euler]] propose toute une série de petits problèmes mathématiques que 'on peut résoudre algorithmiquement. Cela peut être un bon moyen de s'entrainer si l'on est pas allergique à ce genre de problèmes. ===== Récursion et objets ===== Réaliser une fonction récursif qui résout le problème des [[https://fr.wikipedia.org/wiki/Tours_de_Hanoï|tours de Hanoï]]. Cette fonction prendra en paramètre 3 listes correspondants aux tours de départ, d'arrivée et intermédiaire et un nombre correspondant au nombre de segment de tour à déplacer. ===== Utilisation de modules ===== Ici, on considère que vous savez vous débrouiller. On va donc vous laisser googler. On vous demande de tester les performances d'un algorithme de tri particulier, le tri par sélection. * implémentez le tri par insertion (une fonction prenant comme paramètre une liste qui sera triée). * affichez (avec ''matplotlib'') le temps mis pour trier des tableaux aléatoire de tailles différentes (un tableau de taille n contenant tous les nombres de 0 à n-1 dans un ordre aléatoire par exemple). En abscisse la taille de la liste et en ordonnée le temps mis à les trier (on pourra utiliser le module ''datetime''). ===== Rédacteurs ===== * Augustin Agbo-Kpati