Marc Silanus

Algorithmique

Parcours séquentiel d’une liste

Rechercher dans une liste numérique le plus grand et le plus petit élément qu'elle contient.

Activité qui fait suite au cours/TP sur les listes

Cliquez ici pour démarrer ce cours/TP


Tris par insertion, par sélection

Le principe du tri par sélection/échange (ou tri par extraction) est d’aller chercher le plus petit élément du vecteur (partie de la liste) pour le mettre en premier, puis de repartir du second élément et d’aller chercher le plus petit élément du vecteur pour le mettre en second, etc…​
Activité qui fait suite au cours/TP sur les listes

Le principe du tri par insertion est celui du tri du joueur de cartes. On fait comme si les éléments à trier étaient donnés un par un, le premier élément constituant, à lui tout seul, une liste triée de longueur 1. On range ensuite le second élément pour constituer une liste triée de longueur 2, puis on range le troisième élément pour avoir une liste triée de longueur 3 et ainsi de suite…​

Le principe du tri par insertion est donc d’insérer à la nième itération le nième élément à la bonne place.

Activité qui fait suite au cours/TP sur les listes


Python Snake

Notre objectif est développer une version Python de ce jeu en s’appuyant sur les concepts de programmation que nous avons appris jusqu’à maintenant :

  • Utilisation de modules
  • les fonctions
  • les listes
  • les tests conditionnels
  • les boucles

Cliquez ici pour démarrer ce cours/TP


Correction d’un programme - preuve et complexité

L’objectif de cette activité est faire découvrir la notion de correction d’un programme, l’identification des variants et invariants de boucle et de la notion de complexité au travers d’un algorithme simple.

Cliquez ici pour démarrer ce cours/TP


Python Single Player Pong

Notre objectif est de développer une version Python de ce jeu en s’appuyant sur les concepts de programmation que nous avons appris jusqu’à maintenant :

  • Utilisation de modules
  • les fonctions
  • les dictionnaires
  • les tests conditionnels
  • les boucles

Notre jeu se limitera à un joueur unique. Cette version du jeu est connue sous le nom Pong Survivor ou Single Player Pong

Le développement du jeu est basé sur l’utilisation de la bibliothèque Pygame

Cliquez ici pour démarrer ce cours/TP


La récursivité

Il existe plusieurs façons d’aborder la notion d’itération en algorithmique et dans la plupart des langages de programmation :

  • avec des boucles (while, for, loop, etc.)
  • avec la récursivité

Nous apprendrons dans ce cours comment concevoir une solution récursive pour un problème.

Cliquez ici pour démarrer ce cours/TP


La complexité

Lorsqu’on doit étudier une grande quantité de données (moyenne, tri, …​), il devient important de savoir le temps qui va être nécessaire à l’algorithme pour effectuer ce tri.

On parle alors de la complexité de l’algorithme.

Cliquez ici pour démarrer ce cours/TP