THEME 2 : CALCUL DE QUANTITES ET PROGRAMME DE CALCUL

 

Pour chaque exemple, la partie B ne doit être fournie aux élèves qu’après avoir traité complètement la partie A correspondante. Les deux premiers exemples sont à proposer en débranché. Par contre, les exemples 3 et 4 nécessitent l’utilisation de l’outil informatique.

 

Ce premier exemple permet d’introduire le langage algorithmique à partir d’un programme Scratch.

Les premières instructions en Python sont introduites à partir du langage algorithmique : gestion des entrées/sorties, affectation de variables. Le typage des variables est abordé : flottant, chaîne de caractères.
Les élèves peuvent ainsi commencer à se constituer un lexique qu’ils complèteront au fur et à mesure des autres activités.
 
Le programme Scratch proposé utilise une structure conditionnelle et des variables de types entier et chaîne de caractères.

La traduction de l’algorithme en langage Python permet d’introduire l’indentation de certaines lignes de codes dans l’utilisation d’une structure conditionnelle. L’écriture sous Python d’une variable chaîne de caractères est présentée.  
Les deux premières questions portent sur la traduction d’une boucle bornée présentée sous Scratch en langage algorithmique. La nécessité d’utiliser une variable auxiliaire dans l’écriture algorithmique est une réelle difficulté. Dans la question 2, cette variable n’est pas reprise dans la boucle contrairement à la question 3. On pourrait interroger les élèves sur la traduction en langage Scratch de ce nouvel algorithme.

La traduction de l’algorithme en langage Python ne pose pas de réelles difficultés à l’exception de l’indentation. Pour la question 1, le compteur n’étant pas repris dans la boucle, l’utilisation  de la  fonction « range(…) » avec un seul paramètre suffit. Par contre, un travail doit être effectué pour la question 2 sur la fonction « range(…) » qui doit utiliser deux paramètres.La traduction de l’instruction « répéter jusqu’à… » de Scratch en l’instruction « Tant queFaire » peut nécessiter un travail préalable sur la logique mathématique : proposition, valeur de vérité, négation.  
La traduction de l’instruction « répéter jusqu’à… » de Scratch en l’instruction « Tant queFaire » peut nécessiter un travail préalable sur la logique mathématique : proposition, valeur de vérité, négation.

Le passage de l’algorithme à l’écriture sous Python se fait avec seule difficulté l’indentation de deux lignes de code.
La question 2 nécessite surtout une réflexion mathématique sur le calcul de la somme d’entiers consécutifs mais qui peut s'arrêter à 1+2+...+(k-1) où k est l'entier affiché par le programme. L'expression k(k-1)/2 n'est pas attendue mais ce peut être l'occasion de l'aborder si la classe s'y prête.
 

Il est possible de récupérer l'intégralité de ces quatre exemples ici :