Le même programme : blocs & texte
Le même programme peut s’écrire avec des blocs colorés (Scratch)… ou en texte, ligne par ligne (Python). Est-ce vraiment la même chose ?
L'essentiel
Quand tu programmes, tu peux assembler des blocs colorés que tu glisses les uns sous les autres, comme dans Scratch. Mais tu peux aussi écrire le même programme en texte, ligne par ligne, comme avec le langage Python. Les deux façons donnent exactement les mêmes instructions à la machine : un bloc « répéter 4 fois » fait la même chose qu'une ligne de texte « for i in range(4): ».
Seule la manière d'écrire change, pas ce que fait le programme.
L'idée à retenir
Un programme s’écrit de deux manières : avec des BLOCS graphiques qu’on emboîte, ou en TEXTE, ligne par ligne. Les deux donnent exactement les mêmes instructions à la machine : à chaque bloc correspond une ligne. On retrouve toujours la séquence, la condition, la boucle et la variable — seule la façon d’écrire change.
Comment ça marche, étape par étape
- EN BLOCS — Voici un mini-programme en briques colorées : quand on lance, répéter 4 fois [avancer, tourner], puis si au bord, dire « fini ». On glisse et on emboîte les blocs — c’est facile pour débuter (façon Scratch).
- EN TEXTE — Le même programme, ligne par ligne : « répéter 4 fois » devient « pour i de 1 à 4 » ; « si… alors » devient « si… : » ; « dire » devient « afficher(…) ». À chaque bloc, une ligne. La logique ne change jamais, seulement l’écriture.
Comprendre
À la fin de la 3e, tu sais qu'un programme peut s'écrire de deux manières : avec des blocs graphiques que tu glisses et emboîtes (type Scratch), ou en texte, ligne par ligne (un langage textuel, proche de Python). L'idée importante : ces deux écritures expriment les mêmes instructions. À chaque bloc correspond une ligne de texte.
Si tu regardes les deux côte à côte, tu retrouves les mêmes briques de programmation. Une boucle écrite avec le bloc « répéter 4 fois » devient en texte « for i in range(4): ». Un bloc « si … alors » devient « if … : ».
Un bloc « dire » devient « print(...) ». La logique ne change jamais : on retrouve toujours la séquence (les instructions s'exécutent l'une après l'autre), la condition (un choix selon une situation), la boucle (une répétition) et la variable (une valeur que l'on garde en mémoire). Ce qui change, c'est seulement la façon d'écrire.
Les blocs sont plus faciles pour débuter, car on ne peut pas se tromper en assemblant les pièces, et les couleurs aident à s'y retrouver. Le texte est plus compact : une ligne remplace un bloc, on écrit plus vite et on peut faire des programmes plus puissants. Apprendre à relier les deux, c'est comprendre qu'un même algorithme reste le même algorithme, qu'on l'écrive avec des blocs ou en lettres.
Pour t'entraîner, prends un petit programme à blocs et réécris-le en texte, ligne à ligne : tu verras que chaque morceau a son équivalent.
Le cours
Un programme peut s'écrire de deux façons qui expriment les mêmes instructions. La programmation par blocs (type Scratch) consiste à glisser et emboîter des blocs graphiques colorés ; c'est idéal pour débuter car l'assemblage guide l'élève. La programmation textuelle consiste à écrire le programme en texte, ligne par ligne, dans un langage comme Python ; elle est plus compacte et plus puissante.
La règle essentielle : à chaque bloc correspond une ligne de texte. On peut donc passer de l'un à l'autre. Les lignes données ici sont du vrai Python : on peut les taper telles quelles dans un éditeur, sans rien changer.
Exemples à mettre côte à côte. Le bloc « répéter 4 fois » correspond à la ligne « for i in range(4): » : c'est une boucle. Remarque au passage que Python compte à partir de 0 : dans range(4), i prend les valeurs 0, 1, 2 et 3 — cela fait bien quatre tours.
Le bloc « si … alors » correspond à « if … : » : c'est une condition. Le bloc « dire Bonjour » correspond à « print("Bonjour") » : c'est un affichage. Dans les deux écritures, on retrouve les mêmes briques : séquence, condition, boucle et variable.
La logique d'un programme ne dépend donc pas de la façon de l'écrire. Attention : le texte n'est pas « un autre programme », c'est le même algorithme écrit autrement. Passer aux blocs vers le texte ne change ni l'ordre des instructions, ni le résultat.
Pour relier les deux, on réécrit un programme à blocs ligne par ligne et on vérifie que chaque bloc a bien son équivalent textuel.
Vois cette notion fonctionner : la scène animée, plan par plan →
Les erreurs fréquentes
- Le programme en texte fait autre chose que le programme à blocs, c'est un programme différent.
- C'est le même programme écrit autrement : à chaque bloc correspond une ligne de texte. Les instructions, leur ordre et le résultat sont identiques ; seule la façon d'écrire change.
- Les blocs et le texte n'ont rien à voir : ce sont deux logiques différentes.
- La logique est la même dans les deux cas : on retrouve la séquence, la condition, la boucle et la variable. Un bloc « répéter 4 fois » et une ligne « for i in range(4): » expriment la même boucle.
Tu maîtrises la notion si…
- Expliquer qu'un programme peut s'écrire avec des blocs graphiques ou en texte, et que les deux expriment les mêmes instructions.
- Relier un bloc à sa ligne de texte équivalente : « répéter 4 fois » ↔ « for i in range(4): », « si … alors » ↔ « if … : », « dire » ↔ « print(...) ».
- Reconnaître que la logique (séquence, condition, boucle, variable) reste la même, que le programme soit écrit en blocs ou en texte.
Vérifie que tu as compris
Passer « du bloc au texte », cela veut dire…
Réponse relier un programme en blocs (type Scratch) au même programme écrit en langage textuel
Un même programme peut s'écrire avec des blocs graphiques ou en texte : chaque bloc correspond à une instruction écrite. En fin de 3e, on fait le lien entre les deux.
À un bloc « répéter 10 fois » d'un programme Scratch correspond, en langage textuel…
Réponse une boucle qui répète des instructions 10 fois
Chaque bloc Scratch a son équivalent en texte : le bloc « répéter 10 fois » devient une boucle qui exécute les mêmes instructions 10 fois.
S'entraîner sur cette notion
La scène s'anime pas à pas, la mascotte t'explique, puis tu t'entraînes. Gratuit pour commencer.
Ouvrir cette scène dans Azulma →Les quatre étapes pour maîtriser cette notion
Blocs et texte : deux écritures du même programme.
Les blocs à gauche et le texte à droite font exactement la même chose : ce sont deux façons d’écrire les mêmes instructions.
À chaque bloc correspond une ligne : répéter ↔ pour, si ↔ si :, dire ↔ afficher.
Suis les liens « = » entre un bloc et sa ligne : la boucle, la condition et la sortie se correspondent une à une.
Un bloc « si score > 10 alors » qui contient « dire Gagné ! » : quelles lignes de texte ?
Deux blocs, deux lignes : le bloc de contrôle donne la ligne de condition (elle finit par « : »), le bloc « dire » la ligne d’affichage. Ce qui est DANS le si s’écrit décalé vers la droite.
Un camarade a réécrit son jeu en texte : le programme fera-t-il la même chose ?
Compare les deux écritures instruction par instruction : à chaque bloc correspond une ligne. Si les instructions et leur ordre sont les mêmes, que peut-on dire du résultat ?