Initiation à l’algorithmique avec Scratch et Algobox

Exemples de base
jeudi 10 septembre 2009
par  Nathalie CARRIÉ

Algorithmique : les attendus du programme officiel

Les algorithmes seront construits à l’aide du logiciel Algobox version 0.3 et les rendus réalisés à l’aide du logiciel Scratch version 1.4.

Pascal Brachet, qui a réalisé le logiciel Algobox, propose une excellente initiation à l’algorithmique ici.
Les liens sur les images des exemples Algobox conduisent à l’exécution en ligne des algorithmes proposés, Algobox permettant une exportation html de l’exécution de l’algorithme.

Scratch est très intéressant puisqu’il propose un développement très ludique, mais aussi pour son option de « Partage » qui permet d’exporter en ligne sur un site mutualisé tous vos algorithmes. Scratch s’inspire largement du langage Logo mais on attend avec impatience une version qui y incorpore des sous-programmes. Par contre, il permet d’exécuter plusieurs « sprites » (algorithmes) en parallèle. Il permet aussi de faire des algorithmes qui travaillent dans une fenêtre graphique.
On peut espérer un grand enthousiasme de la part de nos élèves « Digital Natives ».

Les liens sur les images des exemples Scratch conduisent donc à une exécution en ligne sur le site du MIT (laboratoire père de Scratch) du programme dont le script est donné.


Les instructions élémentaires

- Déclaration des variables
La plupart des langages de programmation nécessite une phase de déclaration des variables, donc il serait bien de commencer par faire la liste avec les élèves de toutes les variables dont ils auront besoin dans l’algorithme.
Les types de données dont les élèves auront besoin sont au nombre de trois :

    1. la variable est du type Nombre
    2. la variable est du type Chaîne de caractères
    3. la variable est du type liste de nombres (ou de chaînes de caractères)
Declarer Une Variable2

Voici par exemple la liste des variables dont on aura besoin pour résoudre une équation du second degré :

DeclarerVariablesPourEquationDuSecondDegre

- Affectation
Il s’agit de faire comprendre aux élèves qu’une variable, c’est comme un tiroir dans lequel on range des objets (par exemple des nombres).
Afin de donner de bonnes habitudes aux élèves, ce serait bien de leur faire initialiser leurs variables systématiquement.

Variables : que vaut b ?

- Entrée / Sortie
Si les variables n’ont pas été affectées dans le programme, on pourra les Lire au clavier par exemple. Une variable doit être affichée pour en connaître le contenu.

Variables : que vaut b ?
Variables : que vaut b ?

- Calcul

    1. Premier Exemple : transformer des francs en euros
    2. Deuxième exemple : calcul du discriminant d’une équation du second degré :
Calcul du discriminant

Boucle et itérateur, instruction conditionnelle

- Calcul itératif Pour ... De ... A ...

Il s’agit ici d’effecteur un calcul itératif, le nombre d’itérations étant connu.

    • Premier exemple : Afficher les inverses des 100 premiers entiers naturels
Inverses des 100 premiers entiers
    • Deuxième exemple : Afficher la somme des inverses des 100 premiers entiers naturels
Somme des inverses des 100 premiers entiers
    • Troisième exemple : Fonction puissance (avec n entier)
a Puissance n
GIF
    • Quatrième exemple : Afficher les puissances de 2
PuissancesDe2
PuissancesDe2
    • Cinquième exemple : Calcul de la moyenne d’une liste de nombres
PremiereListe {GIF}

- Instruction conditionnelle Si ... Alors ... ( Sinon ... )

En images...

PNG - 4.1 ko
Si ... Alors ...
PNG - 6.3 ko
Si ... Alors ... Sinon ...
PNG - 13.2 ko
Que fait cet algorithme ?
PNG - 13.1 ko
Que fait cet algorithme ?
PNG - 14.6 ko
Que fait cet algorithme ?
PNG - 11.6 ko
Que fait cet algorithme ?
    • Première application du Si ... Alors : la valeur absolue d’un nombre.
ValeurAbsolue
valeur absolue {PNG}
    • Deuxième application : Valeur interdite d’une fonction
Valeur interdite
    • Troisième application : Résolution d’une équation du second degré
EquationDuSecondDegre1

- Calcul itératif avec fin de boucle conditionnelle Tant Que ... Faire ... ou Faire ... Jusqu’à ...

Le calcul itératif va être arrêté à la réalisation d’une condition.

    • Premier exemple : Dessiner une fonction carrée
CourbeRepresentativeDuneFonction
DessineUneFonctionCarree {GIF}
    • Deuxième exemple : La racine carrée d’un nombre par l’algorithme de Héron
RacineMethodeDeHeron {GIF}
    • Troisième exemple : Une suite divergente
SuiteDivergente {GIF}
    • Quatrième exemple : Fibonacci
Fibonacci
fibonacci

On remarquera que sur cet exemple, il n’y a pas de fin de boucle. Cela peut faire l’objet d’un exercice : faire arrêter le script lorsque le nombre affiché devient supérieur à 1000.


Certains scripts Scratch de cette page sont téléchargeables sur le site du MIT dans l’espace de l’utilisateur nathalierun : http://scratch.mit.edu/users/nathalierun. Il faudra s’enregistrer au préalable.

Un forum en français autour de Scratch est disponible à cette adresse.

Vous trouverez des algorithmes de simulation à cette page :
« Algorithmes, simulations et échantillonnage »


Avril 2017 : découvrir Snap !

Comme prolongement à cet article, je vous propose la lecture de l’article Coder des algorithmes avec Snap ! - Programmation visuelle au lycée, actualisation 8 ans plus tard de ce que représente la programmation visuelle. Snap ! est un langage de programmation similaire à Scratch, qui repose sur les mêmes concepts : programmer des algorithmes en mettant des lutins en scène. Mais Snap ! permet de créer ses propres blocs et est donc mieux adapté à l’enseignement des mathématiques. L’article Coder des algorithmes avec Snap ! vous conduira notamment à une galerie d’images dans laquelle vous pourrez lire, copier et exécuter le code de nombreux algorithmes.



Documents joints

Fibonacci
Fibonacci
Inverses des 100 premiers entiers
Inverses des 100 premiers entiers
Puissances de 2
Puissances de 2
Second degré
Second degré
Somme des inverses des 100 premiers entiers
Somme des inverses des 100 premiers entiers
Valeur absolue
Valeur absolue
Variables : que vaut b ? (1)
Variables : que vaut b ? (1)
Variables : que vaut b ? (2)
Variables : que vaut b ? (2)
Variables : que vaut b ? (3)
Variables : que vaut b ? (3)
a puissance n
a puissance n
Suite divergente
Suite divergente
Valeur interdite
Valeur interdite
Les scripts AlgoBox
Les scripts AlgoBox

Commentaires

Logo de mathjp
vendredi 4 juin 2010 à 11h40 - par  mathjp

Avec l’extension BYOB 2.99 de Jens on dispose de la récursivité. Cela permet de faire facilement des courbes fractales par exemple.
Voir BYOB dans le forum Anglais de Scratch.
Mais cela dépasse le prg de Seconde ...
En tout cas très bon article.

Logo de MATTHIEU
vendredi 9 avril 2010 à 00h05 - par  MATTHIEU

moi aussi je suiis élève en seconde mais je ni arrive pa a trouver algobox que l’on a fait en cours
MATTHIEU

Logo de dalila
mardi 5 janvier 2010 à 22h37 - par  dalila

Bonjour s’il vous plait j’ai un algorithme à faire avec scratch et je ne sais pas l’utiliser pouvez vous m’aider
merci d’avance

Logo de Alain Busser
lundi 7 décembre 2009 à 17h42 - par  Alain Busser

Pour télécharger Algobox, il faut cliquer ici puis choisir la version qu’on souhaite télécharger...

Logo de MIMI
samedi 5 décembre 2009 à 14h33 - par  MIMI

JE SUIS ELEVE EN SECONDE ET J’ESSAIE DE TELECHARGER ALGOBOX POUR FAIRE LES MEME EXERCICE QUE EN COUR MAIS JE N’Y ARRIVE PAS POUVAIT VOUS M’EXPLIQUER ???

Logo de Lépine
lundi 2 novembre 2009 à 22h40 - par  Lépine

Je viens d’écrire un petit tutoriel d’algorithmique à partir d’Algobox pour nos élèves de seconde
je le propose ici
http://algo.jeanlepine.com

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.

Annonces

Prochains rendez-vous de l’IREM

Séminaire EDIM-IREM

- Mercredi 22 novembre 2017, 14h-18h, campus du Tampon, amphi 120 D
- Mercredi 7 février 2018, PTU, Saint-Denis, salle S23.6
- Mercredi 7 mars 2018, 14h-18h, campus du Tampon
- Mercredi 4 avril 2018, PTU, Saint-Denis, salle S23.6
- Mercredi 2 mai, 14h-18h, campus du Tampon
- Mardi 5 juin 2018, PTU, Saint-Denis, salle S23.6
- Mercredi 6 juin, 14h-18h, campus du Tampon

Fête de la science

Campus du Moufia, 16 et 17 novembre 2017.
Thème : « La recherche à l’heure du numérique »

Semaine des mathématiques

Du 26 au 31 mars 2018.
Thème : « Mathématiques et mouvement »


Brèves

Décès de Roger Mohr

mardi 27 juin

On sait bien que Nicolas Bourbaki n’était pas le nom d’une personne mais le pseudonyme d’un groupe. L’équivalent en informatique théorique est Claude Livercy, auteur de la théorie des programmes. Roger Mohr était un des membres de Claude Livercy.

À travers les labyrinthes : algorithmes et fourmis

dimanche 1er septembre 2013

Quand les chercheurs mettent au point des modèles d’optimisation et de recherche de plus court chemin qui s’inspirent du comportement de masse de colonies de fourmis...
À écouter : Sur les Épaules de Darwin, émission diffusée sur France Inter samedi 31 août 2013.

Rencontres Mondiales du Logiciel Libre à St-Joseph

mardi 20 août 2013

Les RMLLd se dérouleront pour la 2e fois à Saint-Joseph du 22 au 25 août.
C’est une opportunité pour les élèves qui suivent la spécialité ISN et les passionnés d’informatique.

Voici pour le samedi et le dimanche quelques interventions choisies :
- http://2013.d.rmll.info/Raspberry-votre-ordinateur-au-format-carte-de-credit?lang=fr
- http://2013.d.rmll.info/Materiel-libre-et-DIY?lang=fr
- http://2013.d.rmll.info/Arduino-de-l-electronique-libre?lang=fr

Noter aussi les conférences Art et Culture du dimanche, ainsi qu’une conférence plus engagée.

Le programme complet se trouve ici. Une radio sera ouverte pour l’occasion.
Des plaquettes à distribuer se trouvent ici.

Hyper-vidéos pour l’algorithmique au lycée

dimanche 19 août 2012

Olivier Roizès, à la demande de l’ADIREM, a réalisé une collection d’hyper-vidéos de présentation de logiciels et environnements de programmation. Ces hyper-vidéos, c’est-à-dire des vidéos contenant des éléments clicables, devraient être utiles aux enseignants désireux de se familiariser avec Python, CaRMetal, R, Rurple, Scilab ou Xcas.

Ouverture du SILO

mardi 1er novembre 2011

Le SILO (Science Informatique au Lycée : Oui !) est un espace collaboratif documentaire de partage et de formation collégiale, à destination des professeurs appelés à enseigner l’informatique au lycée.

Une initiative du CNDP, de l’INRIA et de Pasc@line, à laquelle se sont associés SPECIF, fuscia, EPI et ePrep.

Sur le Web : Site du SILO

Introduction à la science informatique

lundi 12 septembre 2011

Le CRDP de Paris publie le premier ouvrage destiné aux professeurs chargés d’enseigner la nouvelle spécialité « Informatique et sciences du numérique » en Terminale S à la rentrée 2012. Cet ouvrage a été coordonné par Gilles Dowek, directeur de recherche à l’INRIA.

Sur la création de la spécialité ISN, on pourra également consulter l’interview donnée au Café pédagogique par l’inspecteur général Robert Cabanne.

Sur le Web : CRDP de Paris

Deux publications sur l’algorithmique

samedi 17 octobre 2009

L’IREM d’Aix-Marseille publie une brochure de 73 pages, téléchargeable librement, intitulée Algorithmes et logique au lycée. Ces notions sont illustrées et déclinées sur des exercices du programme de spécialité mathématique en série L, mais sont adaptables aux programmes à venir.

Le hors série thématique n° 37 du magazine Tangente, disponible actuellement en kiosque, s’intitule « Les algorithmes. Au cœur du raisonnement structuré ». Extrait de l’éditorial : « La rédaction de Tangente a conçu la quasi-totalité de ce hors série thématique pour qu’il puisse être lu par des élèves de Seconde ».

Une carte mentale pour l’algorithmique

jeudi 10 septembre 2009

Sur son site, Jean-Jacques Dhénin a publié une carte mentale géante qui renvoie vers plus de 30 documents en ligne sur l’algorithmique. Tout ce qu’il faut — et même davantage — pour faire face au nouveau programme de Seconde !

Un catalogue libre d’algorithmes pour le lycée

dimanche 30 août 2009

Guillaume Connan, de l’IREM de Nantes, publie un catalogue libre de 119 pages d’algorithmes pour le lycée. Sur son site très riche, on trouvera d’autres documents en rapport avec l’algorithmique, notamment sur l’utilisation des langages fonctionnels au lycée et sur la comparaison programmation fonctionnelle/programmation impérative.

L’algorithmique à l’IREM de Lille

vendredi 26 juin 2009

Le groupe AMECMI de l’IREM de Lille vient de mettre en ligne des ressources importantes au service des professeurs de Seconde :

- Algorithmique et programmation (Emmanuel Ostenne)
- Bibliographie amoureuse de l’algorithmique (Alain Juhel)

Statistiques

Dernière mise à jour

lundi 20 novembre 2017

Publication

774 Articles
Aucun album photo
133 Brèves
11 Sites Web
132 Auteurs

Visites

362 aujourd'hui
1449 hier
2167388 depuis le début
39 visiteurs actuellement connectés