tite fractale

Prise en main de Blockly

1. Introduction : Qu’est-ce qu’un algorithme ?

Exemples d’algorithmes :

Les ordinateurs, suivant le langage qu’on utilise, ont besoin d’instructions très détaillées pour atteindre l’objectif qu’on leur donne.

Les algorithmes de tri ne sont pas que des supports d’exercices, ils servent tous les jours dans la vraie vie des milliards et des milliards de fois. Autant qu’ils soient bien conçus.

2. Un premier programme

Attention ! Seuls des élèves très expérimentés arriveront au bout de cette activité en une heure. Il est intéressant quand même d’arriver au moins à l’exercice du « point final ».

Écrivons un programme simple qui utilise un maximum de notions : un lanceur de dés.

2.1. Afficher 10 fois un même message

2.1.1. Déclarer la variable qui sert au décompte

Pour qu’Algobox puisse compter les messages qu’il écrit, il faut lui indiquer un endroit dans son « cerveau » où stocker ce nombre. On dit que l’on « déclare » une variable. Si on ne trouve pas de meilleur nom, on peut au pire choisir i.

On utilise le bouton DÉCLARER NOUVELLE VARIABLE, et on utilise une variable de type nombre.

2.1.2. La boucle et son contenu

Utiliser les boutons NOUVELLE LIGNE, Ajouter POUR…DE…A….

Dans la boucle (entre le DEBUT et la FIN du POUR), on créé une ligne pour AFFICHER MESSAGE. Choisissez un mot simple comme « bonjour ».

Le bouton TESTER L’ALGORITHME ouvre une fenêtre dans laquelle on trouve le bouton LANCER L'ALGORITHME. Êtes-vous content du résultat ? Fermez cette fenêtre de test avant de passer à la suite pour améliorer la présentation.

2.2. Présenter plus finement les messages

On utilise les boutons NOUVELLE LIGNE, MODIFIER LIGNE, puis on ajoute une espace ou on coche la case retour à la ligne pour séparer les 10 affichages.

2.3. Ajouter au message le numéro de l’itération

On utilise le bouton AFFICHER VARIABLE pour ajouter une instruction dans la boucle. Essayez de bien placer le numéro sur sa ligne.

Exercice

Obtenir le résultat suivant :

bonjour n°1.
bonjour n°2.
…
bonjour n°10.

Notez le point final sur chaque ligne.

Il faudra ajouter une ligne dans votre programme qui servira à ajouter un message qui ne contiendra qu’un point. Attention aux retours à la ligne, qu’il faut ajuster avec la case retour à la ligne.

2.4. Présenter encore plus finement les messages (virgule conditionnelle)

On veut obtenir :

bonjour n°1,
bonjour n°2,
…
bonjour n°9,
bonjour n°10.

2.4.1. Installation de l’aiguillage

On supprime la ligne du point final avec Supprimer Ligne/Bloc, puis on la remplace par une NOUVELLE LIGNE. On utilise le bouton Ajouter SI…SINON. La condition est i<=9 et on coche la case Ajouter SINON. On valide par OK.

2.4.2. Contenu du SI, du SINON

Dans la branche du SI, on affiche une virgule, et dans celle du SINON un point (toujours avec le bouton AFFICHER MESSAGE).

Exercice

Essayer de mettre une majuscule sur la première ligne uniquement, si possible sans toucher au 1 et au 10 de la boucle.

2.5. Afficher un nombre variable de messages

Déclarer une nouvelle variable nombre_lignes (pas d’espace mais un tiret du 8), de type nombre. Ajouter avant la boucle (avant la ligne commençant par POUR… l’instruction LIRE VARIABLE et remplacer le nombre 10 par nombre_lignes.

(Le terme « lire » semble maladroit, mais vient d’une fonction ancestrale read.)

Tester. Bien observer la dernière ligne et ajuster le programme si besoin.

3. Programmation d’un dé

3.1. Tirer des nombres aléatoires entre 0 et 1 (et même dans [0;1[)

Déclarer nbre_aleat1 (pas d’espace mais un tiret du 8, pas d’accent). AFFECTER à cette variable la valeur random() (à taper soi-même, sans oublier les parenthèses).

Exercice

Toujours à partir du même programme, essayer d’obtenir un affichage du genre :

Nbre aléatoire n°1 : 0.12345,
Nbre aléatoire n°2 : 0.23451,
…
Nbre aléatoire n°10 : 0.34512,

3.2. Tirer des nombres aléatoires dans [1;7[

Déclarer une nouvelle variable nbre_aleat2 et remplacer l’affichage de nbre_aleat1 par celui de nbre_aleat2 grâce au bouton MODIFIER LIGNE. Deviner les opérations à effectuer sur nbre_aleat1 pour obtenir des nombres aléatoires répartis dans $[1;7[$, puis affecter ce calcul à la variable nbre_aleat2. Tester.

3.3. Simuler un dé à 6 faces, puis à n faces

Déclarer nbre_aleat3 et lui affecter floor(nbre_aleat2) avant de l’afficher à la place de nbre_aleat2. Tester.

Exercice

Laisser l’utilisateur choisir le nombre de faces du dé.

Remarque

Depuis la version 0.6 d’Algobox, la fonction ALGOBOX_ALEA_ENT(m,n) permet de court-circuiter les étapes 6) et 7).




Christophe Gragnic, le 26/09/2014, 15h05'58".






Page générée le 27/05/2021, 09h06'59" (source).
historique de la page
historique global