Sommaire
ILes définitionsIILes variablesIIILes testsIVLes boucles et répétitionsVLes blocs personnalisésLes définitions
Algorithme
Un algorithme est une liste ordonnée d'instructions permettant d'effectuer une tâche, de résoudre un problème.
Les itinéraires déterminés par un GPS sont des algorithmes permettant de passer d'un lieu à un autre.
Programme
Un programme est un algorithme écrit dans un langage compréhensible par une machine (ordinateur, calculatrice, etc.).
Un algorithme peut être écrit en langage naturel ou traduit, dans un langage de programmation, sous la forme d'un programme exécutable par un ordinateur ou une calculatrice.
L'exécution d'un programme peut être déclenchée par un événement extérieur.
Le schéma suivant représente un programme.
Lorsqu'on clique sur le drapeau, le programme est lancé.
L'événement « clic sur le drapeau » est un événement extérieur qui lance le programme.
Les variables
Variable
Une variable est une « boîte » contenant une information que l'algorithme va repérer par son nom et utiliser.
Dans le programme représenté sur le schéma ci-dessous, le mot « Nombre » représente une variable numérique.
Affecter une valeur à une variable
Affecter une valeur à une variable, c'est donner une valeur à cette "boite" variable.
On souhaite affecter à la variable A la valeur 5.
Dans le logiciel Scratch, on utilisera le bloc suivant :
Après ce bloc, la variable A, contenue dans la "boite", est égale à 5.
Il existe plusieurs types de variables.
Les plus couramment utilisées au collège sont les variables numériques (contenant des nombres) ou les variables textuelles (contenant du texte).
Les variables texte1, texte2 et texte_final sont des variables textuelles.
texte1 contient la réponse de l'utilisateur à la question « Quel est ton prénom ? ».
texte2 contient la réponse de l'utilisateur à la question « Quel est ton nom de famille ? ».
texte_final contient la phrase « Bonjour texte1 texte2 » où texte1 et texte2 sont remplacés par leurs valeurs.
On obtient par exemple :
Les tests
Il est fréquent, lors de l'écriture d'un programme, d'avoir besoin d'effectuer un test.
On teste fréquemment si la valeur d'une variable est égale (supérieure, inférieure, différente, etc.) à une valeur donnée.
On peut effectuer des tests sur des variables non numériques.
Dans cet exemple, on teste si la réponse de l'utilisateur est « Français » ou non.
Les tests effectués peuvent être des tests d'inégalité.
Au lieu de tests, on peut également parler d'instructions conditionnelles.
Les instructions conditionnelles peuvent également être utilisées dans des programmes de tracés de figure.
L'illustration suivante représente un programme dans lequel, si l'utilisateur répond « droite » à la question, un segment horizontal de longueur 500 pixels est tracé vers la droite.
Sinon, un segment horizontal de longueur 300 pixels est tracé vers la gauche.
On peut avoir plusieurs instructions conditionnelles imbriquées les unes dans les autres.
On peut déterminer si une année est bissextile avec le logiciel Scratch, tel que représenté sur le schéma ci-dessous :
Les boucles et répétitions
Boucle conditionnelle
L'illustration suivante représente un exemple de jeu pour deviner un nombre entier choisi aléatoirement entre 1 et 10.
La boucle ne s'arrête que si le nombre choisi aléatoirement a été trouvé.
L'illustration suivante représente un exemple de jeu pour deviner un nombre entier choisi aléatoirement entre 1 et 10.
La boucle ne s'arrête que si le nombre choisi aléatoirement a été trouvé.
On ne sait pas à l'avance le nombre de fois que l'instruction (ou le groupe d'instructions) sera répétée.
Boucle itérative
On appelle « boucle itérative » la répétition d'une instruction (ou d'un groupe d'instructions) un nombre de fois donné.
Une itération est une répétition de cette instruction (ou de ce groupe d'instructions).
Une telle boucle est du type « répéter ... fois » où « ... » est remplacé par un nombre entier naturel.
On peut tracer un carré avec le logiciel Scratch en répétant une action (tracé et rotation) quatre fois de suite, tel que représenté sur le schéma ci-dessous :
Dans une boucle itérative, il est possible de faire apparaître un compteur qui permet de vérifier à quelle itération de la boucle en est l'algorithme (ou le programme).
Pour cela, il faut simplement créer une variable qui sert de compteur, et incrémenter la valeur de la variable à chaque tour.
Le compteur est incrémenté automatiquement au début de chaque itération de la boucle : il augmente de 1 au début de chaque itération de la boucle itérative.
Les blocs personnalisés
On peut créer ses propres blocs permettant d'effectuer une tâche particulière, puis les utiliser ensuite au sein d'un autre programme.
On souhaite créer un programme réalisant le tracé de la figure suivante :
On utilise un bloc « carré » créé auparavant dans un programme qui convenait, tel que représenté sur le schéma suivant.
La création de ce bloc simplifie la lecture du programme principal.
On obtient alors la figure suivante :
On peut également créer des blocs de programme et les exécuter simultanément.
Dans l'exemple représenté sur le schéma suivant, on utilise deux lutins : un lutin chat et un lutin nommé « Tera ».
Le lutin chat part d'une position donnée puis change de position aléatoirement toutes les secondes.
Le lutin Tera part d'une autre position donnée puis s'oriente vers le chat et glisse vers lui pendant une seconde.
Les deux actions sont réalisées simultanément et répétées 100 fois de suite.
Les actions sont déclenchées en cliquant sur le drapeau.
Le mouvement du chat utilise un bloc « Position aléatoire » faisant glisser le chat vers une position aléatoire de l'écran.