Poster un commentaire à la suite de l’article...

jeudi 10 septembre 2009
par  Nathalie CARRIÉ

Initiation à l’algorithmique avec Scratch et Algobox

Le but de cette page est de s’initier à l’algorithmique par l’exemple avec deux logiciels : Algobox de Pascal Brachet et Scratch du laboratoire du MIT (Massachussets Institute Of Technology).

En réponse à...

Logo de Alain Busser
vendredi 11 septembre 2009 à 16h44 - par  Alain Busser

Ce n’est certes qu’un détail comparé à cet excellent article (et son utilisabilité immédiate par un prof de Seconde) mais je ne suis pas d’accord avec Nathalie quand elle dit que des sous-programmes manquent à Scratch. En effet concrètement il n’y a pas de différence notable entre un sous-programme et une fonction (au sens algorithmique du terme), et un « lutin » sous Scratch n’est jamais qu’une fonction : On peut programmer le lutin comme dans les exemples ci-dessus, la « scène », et le lutin a accès à toutes les variables de la scène. Ce qui fait la différence par rapport à un sous-programme classique c’est la façon dont on l’appelle : On peut lui envoyer un message pour lui dire quand il doit exécuter telle ou telle suite d’instructions, par le biais de « Quand je reçois », analogue au drapeau vert typiquement scratchien. On peut envoyer un message à un lutin pour lui intimer l’ordre de faire ce pour quoi il a été conçu, le message étant une chaîne de caractères (par exemple « Zyva » !) et quand il reçoit ce message il démarre son travail. Pour « lancer » un sous-programme, on utilise donc l’option « envoyer à tous » qui permet à un autre lutin, ou à la scène, de solliciter le travail du lutin en question. La principale différence entre cette façon de faire et les sous-programmes classiques, c’est que classiquement le résultat qu’on obtient dépend du moment où le sous-programme a été appelé, alors que sous Scratch il dépend de l’identité du lutin qui fait le travail. Ce qui manque à Scratch, c’est

  • de la récursivité (encore qu’il soit possible à un lutin de s’envoyer un message à lui-même)
  • des variables locales, qui sont d’ailleurs à la base de la récursivité.

Mais ces notions, outre le fait qu’elles ne figurent pas dans les objectifs du lycée, ne sont peut-être pas compatibles avec l’esprit « calcul parallèle » promu par les créateurs de Scratch. À cet égard on testera avec bonheur l’extension chirp pour Scratch.

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.