• Aucun résultat trouvé

Annexe : transformation d’instructions textuelles en blocs http://revue.sesamath.net/spip.php?article1057 patrick.raffinat@univ-pau.fr

N/A
N/A
Protected

Academic year: 2022

Partager "Annexe : transformation d’instructions textuelles en blocs http://revue.sesamath.net/spip.php?article1057 patrick.raffinat@univ-pau.fr"

Copied!
2
0
0

Texte intégral

(1)

Annexe : transformation d’instructions textuelles en blocs

http://revue.sesamath.net/spip.php?article1057 patrick.raffinat@univ-pau.fr

A) Introduction

Dans l’article, j’ai présenté quelques commandes textuelles pouvant faire gagner du temps dans l’écriture d’un programme Blockly au collège :

Je montre dans cette annexe qu’il est possible d’aller plus loin dans la transformation d’instructions textuelles (algorithmiques ou Python) en blocs. Ces compléments ne sont donnés qu’à titre indicatif : non seulement le développement n’est pas terminé, mais je dois encore chercher à mieux cerner les apports pédagogiques que peuvent avoir ces nouvelles fonctionnalités au collège ou au lycée.

La programmation visuelle ayant été inventée pour s’affranchir des contraintes syntaxiques de la programmation textuelle, il peut paraître paradoxal de définir un mini-langage algorithmique pour créer des blocs. Mais il me semble par exemple que l’utilisation de boucles « répéter » dans un algorithme pour faire des figures avec une tortue pourrait intéresser des enseignants de collège.

Au lycée, cette nouvelle possibilité pourrait être utilisée pour transformer un algorithme en un programme Python : le programme Blockly engendré ne serait alors qu’un intermédiaire, à partir duquel les élèves pourraient obtenir un programme Python puisque SofusPy a un outil de traduction automatique de Blockly vers Python.

(2)

B) Exemple

Dans cet exemple qui dessine un triangle équilatéral, puis le fait pivoter de 120 et de 240 degrés, j’ai artificiellement introduit une instruction conditionnelle dont le seul but est d’illustrer les capacités actuelles de l’outil :

# Version 1 : purement algorithmique n = 2+1

si n = 3 :

taille = 50 + 5 + 15 taille + 2 * 5 pour k entre 1 et 3 :

droite 120 repeter n :

avancer taille gauche 360/n afficher taille

afficher n

# Version 2 : mélange algo + Python n=2+1

if (n==3) :

taille = 50 + 5 + 15 taille + 2 * 5 pour k entre 1 et 3 :

right(120) repeter n :

forward(taille) left(360/n) print(taille)

print(n)

Le « : » terminant le « si », le « pour » et le « répéter » n’est pas nécessaire pour que ce pseudo- code soit correctement transformé en blocs, mais il permet à l’éditeur Python de SofusPy d’ajouter automatiquement une tabulation sur la ligne suivante, tabulation qui elle est indispensable : par exemple, si l’instruction « taille = 50+5+15 » n’avait pas de tabulation, elle serait rattachée après l’instruction conditionnelle et non à l’intérieur.

Voici la traduction en Python du programme Blockly, puis son exécution :

Références

Documents relatifs

Pour chacune de ces suites des nombres trouver la rela- tion qui permet d’obtenir une valeur en fonction de sa position dans la suite..

Ouverture en incrémentiel ou Création du fichier log_ua Ecriture dans le fichier log_ua la date début – date fin Pour chaque user agents. Mettre dans l’ordre suivant le nombre

La phase I (initialisation de l'algorithme ou recherche d'un sommet d'un polyèdre convexe qui se sert de la phase II comme dans l'algorithme du simplexe) est construite sous deux

Comme je l'ai dit dans l'article, j'illustre quelques fonctionnalités de R en calcul matriciel avec un premier exemple portant sur la diagonalisation d'une matrice :. La matrice,

— Conférence sur l'assiette actuelle en France du droit d'usage des chutes d'eau :M. — Conférence sur les modifications proposées en France à la législation actuelle des

Avec les coordonnées de tous les vecteurs vitesse, on pourra les tracer avec "quiver" et il faudra mettre le point d'application de chaque vecteur au milieu du bipoint formé

En tant que Directeur fondateur de cette école privée, professeur de mathématique au collège d’une expérience de 17 ans de classe ayant exploité

L’équipe SNA (Service du Nouvel Arrivant) vous attend pour passer un agréable moment, faire plus ample connaissance et partager la galette.. Limité à 20 personnes maxi