public:python:exercices

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
public:python:exercices [2015/09/03 15:17] fbruckerpublic:python:exercices [2016/01/22 11:21] (Version actuelle) fbrucker
Ligne 1: Ligne 1:
 +====== 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