Rédiger le cours
Moon Arrows Sun
Arrows

Initiation à la pensée informatique

Un programme exécute des instructions dans l'ordre : on apprend à le lire, à prévoir son résultat et à le modifier.

Pour faire dessiner un carré à un personnage de jeu, inutile d'écrire huit instructions : « avancer, tourner », répété quatre fois, suffit.

$$ \text{répéter } 4 \ \text{fois} : \ (\text{avancer } 100 \ ; \ \text{tourner de } 90°) $$

Une boucle dit ce qui se répète et combien de fois.

Un programme

Un programme est une suite d'instructions exécutées dans l'ordre où elles sont écrites.

Chaque instruction est une action élémentaire que la machine sait accomplir sans interprétation.

L'ordre compte : inverser deux instructions peut changer le résultat.

« Avancer de \(3\) pas puis tourner à droite » ne mène pas au même endroit que « tourner à droite puis avancer de \(3\) pas ».

Les entrées et les sorties

Entrée et sortie

L'entrée d'un programme est la donnée qu'on lui fournit au départ. La sortie est le résultat qu'il produit.

Exemple : un programme qui calcule le périmètre d'un carré.

Demander \(\Bigl[\) le côté \(\Bigr]\) ; calculer \(\Bigl[\) le côté \(\times \ 4 \Bigr]\) ; afficher \(\Bigl[\) le résultat \(\Bigr]\)

L'entrée est le côté, la sortie le périmètre : le programme transforme l'une en l'autre.

La notion de variable

Une variable est un emplacement nommé qui retient une donnée ; ici, on se contente de la lire.

Exemple : si l'on saisit \(7\), la variable « côté » vaut \(7\) et le calcul donne \(28\).

Traduire une formule en instruction

Une formule se traduit en instruction, avec les mêmes priorités opératoires.

Formule
Instruction
\(P = 4c\)
\(\Bigl[\) côté \(\times \ 4 \Bigr]\)
\(\mathcal{A} = L \times l\)
\(\Bigl[\) longueur \(\times\) largeur \(\Bigr]\)
\(y = 2x + 3\)
\(\Bigl[\) \(x \ \times \ 2 \ + \ 3\) \(\Bigr]\)
De la formule à l'instruction

Les parenthèses imposent un ordre : \(\Bigl[\) \((x + 3) \ \times \ 2\) \(\Bigr]\) ne calcule pas la même chose que \(\Bigl[\) \(x + 3 \ \times \ 2\) \(\Bigr]\).

Prévoir la valeur d'une expression

On prévoit le résultat d'un programme en déroulant les instructions à la main, une par une.

Exemple : pour l'entrée \(5\).

Instruction
Valeur obtenue
Demander \(\Bigl[\) \(n\) \(\Bigr]\)
\(5\)
Calculer \(\Bigl[\) \(n \ \times \ 3\) \(\Bigr]\)
\(15\)
Calculer \(\Bigl[\) résultat \(- \ 2\) \(\Bigr]\)
\(13\)
Déroulement pas à pas

On vérifie en exécutant le programme : un écart signale une erreur.

La boucle

Répéter un nombre connu de fois

Une séquence qui se répète s'écrit une seule fois dans une boucle, avec le nombre de répétitions.

Exemple : tracer un triangle équilatéral de côté \(5 \text{ cm}\), sans boucle, demande six instructions.

Avec une boucle, deux suffisent :

Répéter \(3\) fois : \(\Bigl[\) avancer de \(5 \text{ cm}\) ; tourner de \(120°\) vers la droite \(\Bigr]\)

On indique l'angle dont on tourne, pas l'angle du triangle : un tour complet en trois fois.

$$ 360° \div 3 = 120° $$
Le triangle équilatéral tracé par la boucle : à chaque sommet, on tourne de cent vingt degrés, non de soixante
\(120°\)
\(60°\)
Le triangle équilatéral tracé par la boucle : à chaque sommet, on tourne de cent vingt degrés, non de soixante - support à compléter

Cette écriture est plus lisible.

Analyser et modifier un programme

Modifier un paramètre permet d'en comprendre le rôle.

Exemple : dans la boucle précédente, remplacer \(3\) par \(4\) et \(120°\) par \(90°\) trace un carré.

Pour un polygone régulier à \(n\) côtés :

$$ \text{angle} = \frac{360 \ [°]}{n} $$