Sommaire
IVocabulaireIIComptage et boucles itérativesIIIBoucles conditionnellesIVDécomposition en plusieurs sous-problèmesVocabulaire
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.
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.
Un algorithme se découpe en trois parties :
- Les informations nécessaires à l'utilisation de l'algorithme
- La suite d'instructions à effectuer
- La réponse attendue à la fin
On considère l'algorithme suivant :
On retrouve bien les trois étapes :
Variable
Une variable est une information contenue dans une "boîte" que l'algorithme va repérer par son nom.
Il y a plusieurs types de variables :
- Numérique : la "boîte" contient un nombre.
- Texte : la "boîte" contient un caractère ou une chaîne de caractères.
- Booléen : la "boîte" contient la valeur "vrai" ou la valeur "faux".
- Certains langages n'utilisent pas de déclaration de type de variable ; c'est le cas de la plupart des langages des calculatrices programmables, de Scratch, de Python.
- Les nombres sont sans unité.
- Pour les images ou dessins, on utilise souvent le pixel, qui est le plus petit élément d'une image. Un pixel ne peut contenir qu'une couleur.
Affecter une valeur à une variable
Affecter une valeur à une variable, c'est donner une valeur à cette variable.
On souhaite affecter à la variable A la valeur 4. On obtient, selon les logiciels utilisés :
Dans certains langages, le symbole = ne sert pas à affecter une valeur à une variable, mais à effectuer un test.
On peut affecter à une variable une valeur numérique, une chaîne de caractères, la valeur d'une autre variable ou une réponse donnée par l'utilisateur suite à une question.
Dans le programme suivant, on affecte à la variable une réponse saisie par l'utilisateur :
Tableau
On souhaite lire six nombres et les ranger dans un tableau nommé T. On peut obtenir le programme suivant :
Pour i de 1 à 6
Lire un nombre
Affecter la valeur lue à T\left[ i \right]
Fin du Pour
Dans la plupart des langages de programmation, les indices des tableaux (ou listes) commencent à 0 et non à 1.
C'est le cas avec le langage Python : la première valeur d'un tableau nommé T est notée T\left[ 0 \right].
Pour agir sur des variables, on utilise des opérateurs :
- Pour les variables numériques, on peut utiliser les quatre opérations +;-;\times;\div ainsi que l'opération puissance.
- Pour les chaînes de caractères, on peut utiliser & (ou +) pour mettre bout à bout deux chaînes (on dit également concaténer deux chaînes).
- Pour les variables logiques (booléens), on peut utiliser "et", "ou", "non".
Comptage et boucles itératives
Boucle itérative
On appelle boucle itérative la répétition d'une instruction (ou un groupe d'instructions) un nombre de fois donné.
Une itération est une répétition de cette instruction (ou ce groupe d'instructions).
On peut demander à Scratch de tracer un carré en effectuant 4 itérations d'une suite de consignes :
On peut calculer la somme des entiers de 1 à 8 en effectuant huit itérations de la même instruction :
ALGORITHME
INITIALISATION
Affecter à S la valeur 0
TRAITEMENT
Répéter pour i de 1 à 8
Affecter à S la valeur S+i
Fin de répéter
SORTIE
Afficher S
Dans une boucle itérative apparaît un compteur qui sert vérifier à quelle itération de la boucle en est l'algorithme (ou le programme).
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.
Boucles conditionnelles
Boucle conditionnelle
On appelle boucle conditionnelle la répétition d'une instruction (ou un groupe d'instructions) tant qu'une condition est vérifiée.
On ne sait pas à l'avance le nombre de fois que l'instruction (ou le groupe d'instructions) sera répétée.
Il y a deux façons d'utiliser ce type de boucle. On peut écrire la condition sous la forme :
- Tant que <condition vérifiée> faire <action>
- Jusqu'à ce que <condition vérifiée> faire <action>
On peut faire deviner à un programme un nombre donné, en lui faisant choisir un nouveau nombre tant qu'il n'a pas déterminé le bon.
Affecter à A un entier aléatoire entre 1 et 100
Afficher "Quel entier entre 1 et 100 ai-je choisi au hasard ?"
Lire N
Tant que N\neq A
Afficher "Try again"
Fin de Tant que
On peut avoir plusieurs boucles conditionnelles imbriquées les unes dans les autres.
On peut déterminer si une année est bissextile avec Scratch :
Décomposition en plusieurs sous-problèmes
Fonctions et procédures
Les fonctions et procédures sont des "morceaux de programme" que l'on peut utiliser en indiquant leurs paramètres.
Dans l'exemple suivant avec Python, deux fonctions sont définies avant le programme :