Algorithmes et programmes
Commençons à programmer
Scratch et App Inventor sont des langages de programmation graphiques à base de BLOCS : Blockly.
Pour se familiariser avec la programmation, nous allons commencer par quelques exercices qui viennent de "Hour of Code" et Code.org.
Cette Heure de Code à laquelle vous avez
peut-être déjà participé propose une introduction amusante à l'informatique.
Pour sortir de labyrinthes ou aider un oiseau, vous allez commencer à programmer en écrivant des petits programmes ' Blockly ' (que l'on appelle des scripts).
Cliquez sur l'image de gauche - ci-dessous - (Blockly maze) et faites les différents exercices. Lisez bien les indications.
Travaillez à deux, définissez ensemble une stratégie et déroulez cette stratégie mentalement, comme si c'était vous l'ordinateur. Ne cherchez pas à résoudre les problèmes compliqués d'un seul coup. Progressez par étape et vérifiez au fur et à mesure les étapes intermédiaires.
Le dernier niveau est difficile, lisez bien la recommandation et appliquez la stratégie qu'elle propose.
Si vous avez terminé Blockly maze, ou si vous butez sur le niveau 10, passez à "Blockly Oiseau".
Blockly Maze |
Blockly Oiseau |
|
|
Qu-est-ce qu'un algorithme ?
Auto-contrôle
Pour laquelle des grilles suivantes le programme ne permet PAS au robot d'atteindre la case grise?
Algorithmes et Programmes / discussion
Comme vous venez de le voir dans cet exercice, un algorithme est une séquence précise d'instructions qui résoud un problème ou effectue un calcul. Un programme, c'est un algorithme écrit dans un langage de programmation qui peut être exécuté sur un ordinateur.
Les scripts que vous avez créés pour résoudre les problèmes de labyrinthes contiennent déjà les principales structures de contrôle que les programmeurs utilisent pour concevoir des algorithmes :
- Séquence : un algorithme est une séquence d'instructions précises (ici des blocs),
- Sélection (if/else ou si/sinon) : un algorithme peut choisir deux chemins différents selon qu'une condition est remplie ou non,
- Répétition ou Itération : un algorithme peut répéter une séquence d'instructions.
Remarque : Les scientifiques ont formellement démontré que l'utilisation de ces trois structures de contrôle ('séquence', 'sélection', et 'répétition') suffisait pour réaliser TOUS les algorithmes imaginables. Autrement dit, tout algorithme peut êre exprimé par une combinaison d'instructions qui sont des séquences, des sélections ou des répétitions.
Les algorithmes sont partout
Maintenant que vous connaissez la défintion d'un algorithme et que vous avez une idée de ce que ça veut dire, vous allez vous apercevoir que les algorithmes sont partout ! En grandissant, nous apprenons plein de choses qui sont des algorithmes qui permettent d'accomplir des tâches quotidiennes. Par exemple, nous savons lacer nos souliers ... Mais les algorithmes sont plus ou moins rapides ... Savez vous lacer une chaussure en moins de 2 secondes ?Eh bien, c'est possible avec cet algorithme :
Pour continuer ou pour animer vous-mêmes un atelier
Les ressources suivantes pourront vous être utiles si vous envisagez vous-même d'animer des ateliers, ou simplement pour jouer ou expliquer ce que vous faites. Choisissez un thème qui plait à vos interlocuteurs et expliquez ensuite ce qu'est un algorithme ...Passez les vidéos en anglais. Par contre, lisez bien les instructions et les commandes qui sont en français (Vous pouvez choisir la langue avec le bouton en bas à gauche).
Pistes de réflexion
Les informaticiens écrivent des algorithmes pour résoudre des problèmes. Les séquences, sélections et répétitions sont des structures de contrôle suffisantes pour écrire tous les algorithmes imaginables.
Tout ce que l'on peut concevoir peut faire l'objet d'un algorithme ...
C'est ce qu'a démontré
Alan Turing, un scientifique anglais dont l'histoire est très intéressante.
Renseignez-vous sur ses travaux et son histoire!
Terminologie
Ci-dessous une table des termes techniques présentés dans cette leçon et que nous utiliserons pendant tout le cours. Vous verrez des tables de même type dans les autres leçons. Si vous passez sur un terme avec la souris, sa définition ou sa description apparaitra.|
algorithme
structure de contrôle séquence |
sélection
répétition itération |
A ajouter dans votre Portfolio
Dans votre portfolio, ajoutez une page Algos et programmes et répondez aux questions suivantes :
- Décrivez - comme pour l'expliquer à quelqu'un qui n'a jamais fait d'informatique - ce qu'est un algorithme.
- Illustrez avec un exemple de la vie courante, en indiquant les séquences d'instructions avec au moins une instruction conditionnelle (si, ... sinon) et une boucle de répétion : tant que ... je ...
- indiquez pourquoi un algorithme doit être précis, et les problèmes que l'on peut avoir si ce n'est pas le cas.
- Quelles sont les Trois structures de contrôle suffisantes pour écrire n'importe quel algorithme ?


