Algorithmique
Qu’est-ce qu’un algorithme ?
Procédure de résolution de n’importe quelle instance d’un problème suffisamment élémentaire pour être exécutée de façon automatique.
Un algorithme traite donc des données pour produire un résultat et décrit une méthode générale de résolution d’un problème :
- que l’on pourra traduire dans n’importe quel langage de programmation,
- que l’on pourra analyser pour en dégager les caractéristiques.
Sur ce dernier point, on pourra se poser les questions suivantes indépendamment de la machine ou du système d’exploitation utilisé:
- Est-ce que mon programme consomme une quantité acceptable de ressources pour fournir un résultat ?
- Étant donnés deux programmes résolvant le même problème, lequel est le “meilleur” ?
Ces questions seront développées dans le cours sur l’efficacité (ou complexité) d’un algorithme (NSI uniquement) .
Un algorithme, nom venant du grand mathématicien persan Al Khwarizmi (vers l’an 820), […]c’est très simplement une méthode, une façon systématique de procéder pour faire quelque chose . Trier des objets, situer des villes sur une carte, multiplier deux nombres, extraire une racine carrée, chercher un mot dans le dictionnaire…
Activité
–Bases en algorithmique: Séquences, boucles et fonctions.
–TP-Algorithme: La spirale- suites numériques abordable en seconde. Utilisez le module turtle afin de tracer les spirales du TP.
Vidéos d’introduction:
- Briques de base: algorithmique en langage naturel (pseudo-code).
- Briques de base: algorithmique en Python.
- Notion indispensable: les fonctions. Le point de vue développé dans la vidéo se rapproche volontairement des maths mais il n’est pas nécessaire d’utiliser un paramètre. En ce sens, aborder le TP d’introduction à Python (pages 3-4-5) permet d’appréhender cela pas à pas. Vous y trouverez une utilisation du debugger pour parcourir un algorithme étape par étape.