Concepts de programmation Scratch

Opération arithmétique de grattage entre un nombre et une chaîne


Beaucoup connaissent Scratch - un environnement de programmation pour enfants, dont la formation se résume généralement à la création de projets créatifs selon un principe «du plus simple au plus complexe». Dans le même temps, «l'approche classique» de l'étude de la programmation (variables → branches → boucles → fonctions → structures → objets → ...) dans Scratch est difficile.

Cependant, changer la séquence d'étude des concepts (appelons-les concepts) de la programmation structurelle, orientée objet et événementielle, les cacher derrière des sprites lumineux et une animation interactive ne signifie pas qu'il ne faut pas mettre l'accent sur les concepts. Surtout si l'objectif n'est pas tant le développement des capacités créatives que la formation en programmation. J'ai essayé de refléter cette idée dans mon cours .

La première chose à laquelle un scratcher novice est confronté est les sprites. Bien que Scratch lui-même n'ait pas de programmation orientée objet, les sprites peuvent être considérés comme des objets. À ce stade, l'étudiant voit qu'il peut y avoir de nombreux objets dans le programme dont le comportement est contrôlé par des scripts externes à eux. Les sprites reçoivent des commandes ou transmettent des informations sur leur état à la demande, c'est-à-dire que la programmation se résume à la gestion des objets.

La deuxième chose qui tombe immédiatement dans Scratch sur la tête d'un jeune programmeur est le concept du multithreading. Chaque sprite peut avoir plusieurs scripts exécutés simultanément. Plusieurs sprites peuvent également exécuter leurs programmes simultanément. Et il s'avère plus difficile d'organiser l'exécution séquentielle.

Exécuter des scripts en même temps


Exécution séquentielle


Déjà dans la première leçon, nous ne pouvons pas éviter de connaître les cycles. Sinon, le chat ne fuira pas spécialement. À ce stade, la connaissance doit être laissée intuitive et superficielle. Nous le limitons aux cycles «toujours répéter» et «répéter ... fois», qui sont plus faciles à comprendre. Une boucle conditionnelle est étudiée dans une leçon spécifiquement dédiée aux boucles. Cette leçon nécessite la connaissance des expressions logiques et des variables.

Étant donné que Scratch est un environnement événementiel, il est plus pratique d'étudier les blocs d'instructions conditionnelles avant les variables. Une condition peut être certains événements.

Un opérateur conditionnel dans lequel l'expression logique est un événement


À mon avis, une telle séquence est meilleure, car pour chaque leçon, nous introduisons un minimum de concepts. Et pas abstrait, mais voyez immédiatement leurs avantages pratiques.

Si vous étudiez d'abord les variables, leur objectif et leurs avantages sont difficiles à démontrer, car l'opérateur conditionnel, la saisie des données et la génération de nombres aléatoires n'ont pas été étudiés auparavant.

Dans Scratch, en dehors des listes, un programmeur est confronté à trois types de données: les nombres, les chaînes et les types booléens. Dans ce cas, le type est lié à une valeur et non à une variable. La conversion de chaînes en nombres et vice versa n'est pas requise. Les chaînes ne sont pas placées entre guillemets.

Un bloc qui renvoie une valeur logique et a une forme angulaire caractéristique peut être inséré dans des champs arrondis. L'inverse n'est pas vrai: lorsqu'une expression logique est supposée, vous ne pouvez pas insérer de variable régulière.

Variable de chaîne en opération arithmétique


Scratch est implémenté afin qu'aucune erreur critique ne se produise pendant l'exécution. Apparemment donc, si vous essayez d'utiliser une chaîne dans une opération arithmétique, elle est remplacée par zéro (voir le premier écran).

Le programmeur doit savoir que les capacités des langages de programmation sont étendues par les bibliothèques. Tout en travaillant chez Scratch, un étudiant peut ajouter des modules qui ajoutent de nouvelles équipes à l'environnement.

Extensions dans Scratch


Les fonctions de Scratch sont implémentées dans la section «Autres blocs», où d'une part vous créez votre propre bloc qui peut être inséré dans d'autres scripts. D'autre part, ils doivent assembler les fonctionnalités de cet appareil, c'est-à-dire ce qu'il fera.

Définition de fonction et appel


Il n'y a pas de valeur de retour de la fonction scratch.

Ainsi, l'étude des concepts de programmation dans un environnement événementiel laisse sa marque. En fait, nous étudions d'abord des concepts plus complexes et abstraits et, ne plongeant que dans le processus, nous passons aux éléments de la programmation structurelle. Plus ou moins pour une première connaissance est un point discutable.

Source: https://habr.com/ru/post/fr443910/


All Articles