Stage algorithmique et programmation AlgoBox est un logiciel libre et gratuit d’aide à l’élaboration et à l’exécution d’algorithmes. AlgoBox permet de concevoir et de tester des algorithmes, son utilisation est très simple et les commandes sont en français. Il a été conçu par Pascal Brachet, qui est l’auteur de PstPlus et de Texmaker , logiciels forts utiles pour les utilisateurs de LaTeX. L’interface est simple, ce qui évite à l’élève tout problème d’apprentissage de syntaxe et lui permet donc de se concentrer sur la logique algorithmique. Il répond parfaitement à une initiation à l’algorithmique et aucune connaissance d’un langage particulier n’est nécessaire. Téléchargement AlgoBox : http://www.xm1math.net/algobox/download.html#SECTION3 De nombreuses ressources sont disponibles sur le site dédié à AlgoBox : (http://www.xm1math.net/algobox/) Sur ce site, l’utilisateur dispose d’un manuel d’utilisation du logiciel et d’un tutoriel d’initiation (mise à disposition des stagiaires sur clé USB). Stage Algorithmique- LFLNI-18 au 20 octobre 2010 Caractéristiques du logiciel : Le code de l'algorithme est construit à partir d'un mini-langage algorithmique ("pseudocode") qui se veut simple à comprendre et à utiliser (mis à part les fonctions mathématiques, les instructions sont en français). L'utilisateur n'a donc pas à apprendre toute une syntaxe complexe. Le code de l'algorithme se construit pas à pas de façon hiérarchique et structurée grâce à des instructions de base que l'on insère en cliquant sur les boutons de l'interface : l'utilisateur se concentre ainsi sur l'algorithme lui-même et il est fortement incité, par le fonctionnement même du programme, à faire preuve d'un minimum de rigueur. Dans son mode de fonctionnement par défaut, AlgoBox n'utilise pas un éditeur de texte classique et une grande partie du code est inséré automatiquement : l'activité de l'utilisateur consiste donc plus à réfléchir aux instructions qu'il doit utiliser qu'à aligner des lignes de code. Pour les algorithmes longs, un mode "éditeur de texte" permet aux utilisateurs avancés de taper directement le code à l'aide d'un éditeur incorporé muni des fonctions traditionnelles (coloration syntaxique, auto-complétion, chercher-remplacer, etc...) Tous les algorithmes élaborés dans la fenêtre principale du programme peuvent être exécutés et testés en deux clics. AlgoBox permet aussi l'exécution d'algorithmes en mode "pas à pas pédagogique". Des exemples d'algorithme sont fournis avec le programme (menu "Fichier" -> ouvrir un exemple) : - les exemples dont le nom débute par "prof" ont uniquement pour but de montrer les possibilités du logiciel et dépassent pour certains les objectifs du programme de seconde - les exemples dont le nom débute par "eleve" correspondent eux à ce qui pourrait être demandé à un élève de seconde dans le cadre du programme. En plus d'une sauvegarde classique, le code l'algorithme peut être imprimé et exporté sous forme de fichier texte. (pour les professeurs, il est aussi possible d'exporter le code de l'algorithme sous la forme d'un document LaTeX). L'algorithme peut aussi être exporté sous la forme d'une page web autonome dans laquelle il est possible de l'exécuter (cette page web étant en fait une copie conforme de la fenêtre de test du programme). Les algorithmes élaborés peuvent donc être très facilement inclus dans des sites internet. Après exécution d'un algorithme, l'ensemble des résultats (sorties, graphique et code de l'algorithme) peut être exporté dans un document au format pdf. AlgoBox fonctionne de façon totalement autonome et ne nécessite aucune installation complexe d'environnement de programmation.Le programme existe pour les systèmes Linux, MacOsX et Windows et peut-être installé facilement sur les postes personnels des élèves et des professeurs : il ne nécessite l'installation d'aucun programme supplémentaire. (il peut aussi être installé sur les postes d'un réseau pédagogique sans droits d'administrateurs et il peut fonctionner sur une clef USB) Stage Algorithmique- LFLNI-18 au 20 octobre 2010 Remarques pour les professeurs : Pour récupérer le code d'un algorithme dans un énoncé, il suffit d'utiliser les commandes "Exporter..." du menu "Fichier" : "Exporter code au format ODF" pour les utilisateurs d'OpenOffice, "Exporter code vers fichier texte" pour les utilisateurs de Word (après enregistrement au format .txt, il suffit de copier/coller le code) ou "Exporter vers document LaTeX" pour les utilisateurs de LaTeX Il est possible d'augmenter la taille de la police pour une utilisation d'AlgoBox avec un TBI (menu "Affichage" -> "changer police interface"). Pour gagner de la place, il est possible de "cacher" la barre d'outils et le cadre "Présentation de l'algorithme" (menu "Affichage"). Stage Algorithmique- LFLNI-18 au 20 octobre 2010 Quelques algorithmes pour aller plus loin : A1 : Distance de deux points, milieu d’un segment, équation d’une droite passant par deux points, médiatrice d’un segment. Connaissant les coordonnées de deux points du plan, on veut déterminer les coordonnées du milieu du segment ayant pour extrémités ces deux points, l’équation de la droite passant par ces deux points ainsi que l’équation de la médiatrice du segment. On pourra faire une représentation graphique. A2 : Trinôme du second degré Etant donné un polynôme du second degré, en déterminer les racines réelles ou complexes. A3 : Algorithme de Héron On cherche une valeur approchée de u0 a pour a réel strictement positif. On crée la suite suivante : a 1 a et pour tout entier naturel n, u n 1 u n 2 2 un . Cet algorithme converge très rapidement et il est facile à expliquer aux élèves. A4 : Ecriture décimale illimitée périodique d’un rationnel. Le but de cet algorithme est de déterminer la partie périodique de l’écriture décimale illimitée d’un nombre rationnel. C’est en fait la division à virgule poursuivie suffisamment loin pour déterminer cette période. Outil : Variable de type chaîne. A5 : Tirage du loto. Proposer le tirage de six numéros, plus un numéro complémentaire, parmi 49, sans remise. Outil : Variable de type liste. Stage Algorithmique- LFLNI-18 au 20 octobre 2010 A6 : Conjecture de Syracuse On considère la suite u n telle que u 0 est un entier naturel non nul et, pour tout entier naturel k, si 1 uk . 2 Il semblerait que quel que soit l’entier naturel u 0 cette suite aboutisse à 1. On obtient ensuite le u k est impair alors u k 1 3u k 1 , sinon u k 1 cycle 4 – 2 – 1 indéfiniment. Cette conjecture est connue sous le nom de conjecture de Syracuse. En dépit de la simplicité de son énoncé, elle n’a pas encore été démontrée. Il ne s’agit bien sûr pas de la démontrer, mais on peut la découvrir, l’essayer, compter le nombre d’étapes, faire des statistiques, etc. Ici, on pourra afficher le nombre d’itération pour obtenir 1. Stage Algorithmique- LFLNI-18 au 20 octobre 2010