Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans...

25
Algorithmique 1

Transcript of Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans...

Page 1: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

Algorithmique

1

Page 2: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

2

L’algorithmique

Présence des algorithmes - dès l’école primaire dans l’enseignement des mathématiques - dans beaucoup « d’objets » usuels

2

Objectifs pour le lycée - Préciser et formaliser la notion d’algorithme - Étudier certaines notions sous un angle nouveau

Page 3: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

3

Algorithmique (objectifs pour le lycée)

familiariser les élèves avec les grands principes d’organisation d’un algorithme :

- gestion des entrées-sorties - affectation d’une valeur - mise en forme d’un calcul.

formaliser des algorithmes simples en langage naturel traduire des algorithmes sur tableur ou dans un langage de programmation (calculatrice ou logiciel)

3

Page 4: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

4

Les idées importantes Il faut distinguer l’algorithmique de la

programmation : il n’est pas judicieux de commencer sur ordinateur.

L’apprentissage doit être étalé sur l’année. Il serait souhaitable d’intégrer l’écriture d’algorithmes dans tous les domaines du programme.

L’algorithmique n’est pas un chapitre à part. L’introduction de chaque nouvel élément (variable, boucle, itération, etc.) devrait apparaître lors de la résolution de problèmes pour lesquels les démarches habituelles sont malcommodes ou peu performantes.

4

Page 5: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

5

Les instructions en algorithmique

Instructions élémentaires entrée, sortie, affectation, calcul

Instructions conditionnelles Si….alors……(sinon….)

Instructions itérativesla boucle « tant que ….faire »la boucle «  pour (variable) de ….à …

faire »

5

Page 6: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

6

Algorithmes et langages

Le langage naturel

Le langage algorithmique

Le langage de programmation

Écrire un algorithme qui donne la somme des entiers de 1 à n

Pour calculer la somme des entiers de 1 à n , on part de 1 puis on calcule 1+2, puis 1+2+3, et on continue ainsi jusqu’à 1+2+3+….+n.

Entrée : Saisir nTraitement : Affecter à S la valeur 0 Pour i variant de 1 à n Affecter à S la valeur

S+iSortie: Afficher S

Page 7: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

7

Algorithmes et langagesÉcrire un algorithme qui donne la somme des entiers de 1 à n

n=int(input("Saisir le nombre n "))S=0for i in range(n+1): S=S+iprint("La somme des entiers de 1 à ",n, " est égale à ",S)

Algobox

Python

Page 8: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

8

Le langage « naturel »

L’instruction d’affectation : - on préférera les formulations

Affecter à x la valeur 12 Affecter à x la valeur x+1

(la variable x reçoit la valeur de l’expression de l’expression x+1- on réservera aux langages de programmation

x := 12 x:=x+1x = 12 x =x+1x 12 x x+112 x x+1 x

8

Page 9: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

9

L’algorithmique

Ressources :

Le site de Jean-Pierre FerrierAccessible à partir du site académique, rubrique « espace de l’inspection/dossiers et animation : Algorithmique en terminale L

Le document d’accompagnement du cycle terminal de la série L (août 2005)En téléchargement sur le site académique, rubrique « BO, programmes/programmes puis paragraphe « les programmes en place au lycée)

Page 10: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

10

L’évaluation (document ressource)

Les modalités fondamentales de l’activité algorithmique :

analyser le fonctionnement ou le but d’un algorithme existant ; modifier un algorithme existant pour obtenir un résultat précis ; créer un algorithme en réponse à un problème donné.

10

Page 11: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

11

Les compétences visées (document ressource)

comprendre et analyser un algorithme préexistant ; modifier un algorithme pour obtenir un résultat

particulier ; analyser la situation : identifier les données

d’entrée, de sortie, le traitement...; mettre au point une solution algorithmique :

comment écrire un algorithme en « langage courant » en respectant un code, identifier les boucles, les tests, des opérations d’écriture, d’affichage... ;

valider la solution algorithmique par des traces d’exécution et des jeux d’essais simples ;

adapter l’algorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ;

valider un programme simple.

11

Page 12: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

12

Les compétences visées (document ressource)

Être capable de … comprendre et analyser un

algorithme préexistant ; modifier un algorithme pour

obtenir un résultat particulier ; analyser la situation : identifier les

données d’entrée, de sortie, le traitement...;

mettre au point une solution algorithmique : comment écrire un algorithme en « langage courant » en respectant un code, identifier les boucles, les tests, des opérations d’écriture, d’affichage... ;

valider la solution algorithmique par des traces d’exécution et des jeux d’essais simples ;

adapter l’algorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ;

valider un programme simple.

12

Expliquer en une phrase ce que fait cet algorithme

Entrée : Saisir trois nombres a, b et cTraitement :Calculer (a+b+c)/3Affecter à M la valeur trouvéeSortie : Afficher M

Page 13: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

13

Les compétences visées (document ressource)

Être capable de … comprendre et analyser un

algorithme préexistant ; modifier un algorithme pour

obtenir un résultat particulier ; analyser la situation : identifier

les données d’entrée, de sortie, le traitement...;

mettre au point une solution algorithmique : comment écrire un algorithme en « langage courant » en respectant un code, identifier les boucles, les tests, des opérations d’écriture, d’affichage... ;

valider la solution algorithmique par des traces d’exécution et des jeux d’essais simples ;

adapter l’algorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ;

valider un programme simple.

13

Modifier cet algorithme afin qu’il permette de calculer la moyenne de trois notes a, b et c affectées des coefficients 1,2 et 3 et qu’il signale si le résultat est ou non supérieur à 10.

Entrée : Saisir trois nombres a, b et cTraitement :Calculer (a+b+c)/3Affecter à M la valeur trouvéeSortie : Afficher M

Page 14: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

14

Les compétences visées (document ressource)

Être capable de … comprendre et analyser un

algorithme préexistant ; modifier un algorithme pour

obtenir un résultat particulier ; analyser la situation : identifier

les données d’entrée, de sortie, le traitement...;

mettre au point une solution algorithmique : comment écrire un algorithme en « langage courant » en respectant un code, identifier les boucles, les tests, des opérations d’écriture, d’affichage... ;

valider la solution algorithmique par des traces d’exécution et des jeux d’essais simples ;

adapter l’algorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ;

valider un programme simple.

14

On veut écrire un algorithme qui permette de calculer la moyenne de trois notes a, b et c affectées des coefficients 1,2 et 3. et qui signale si le résultat est ou non supérieur à 10.Compléter :Entrée :

Traitement :

Sortie :

Page 15: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

15

Les compétences visées (document ressource)

Être capable de … comprendre et analyser un

algorithme préexistant ; modifier un algorithme pour

obtenir un résultat particulier ; analyser la situation : identifier

les données d’entrée, de sortie, le traitement...;

mettre au point une solution algorithmique : comment écrire un algorithme en « langage courant » en respectant un code, identifier les boucles, les tests, des opérations d’écriture, d’affichage... ;

valider la solution algorithmique par des traces d’exécution et des jeux d’essais simples ;

adapter l’algorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ;

valider un programme simple.

15

Un examen comporte trois épreuves de coefficients respectifs 1, 2 et 3.

Un étudiant est reçu à l’examen si sa moyenne est supérieure ou égale à 10.

Écrire un algorithme qui renvoie l’information « l’étudiant est reçu » ou l’information « l’étudiant n’est pas reçu » à la saisie des trois notes.

Page 16: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

16

Les compétences visées (document ressource)

Être capable de … comprendre et analyser un

algorithme préexistant ; modifier un algorithme pour

obtenir un résultat particulier ; analyser la situation : identifier

les données d’entrée, de sortie, le traitement...;

mettre au point une solution algorithmique : comment écrire un algorithme en « langage courant » en respectant un code, identifier les boucles, les tests, des opérations d’écriture, d’affichage... ;

valider la solution algorithmique par des traces d’exécution et des jeux d’essais simples ;

adapter l’algorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ;

valider un programme simple.

16

Un examen comporte trois épreuves de coefficients respectifs 1, 2 et 3. Un étudiant est reçu s’il obtient une moyenne supérieure ou égale à 10, il est recalé s’il obtient strictement moins de 8 et il doit passer un oral si sa moyenne est comprise entre 8 et 10.

On veut écrire un algorithme qui renvoie le résultat de l’examen à la saisie des trois notes.

L’algorithme suivant convient-il ?

Entrée : saisir a,b,c

Traitement :

M= a+2*b+3*c/6

si (M-8)*(M-10)<=0

afficher « oral »

si M>=10

afficher « reçu »

sinon

afficher « recalé  »

Page 17: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

17

Les compétences visées (document ressource)

Être capable de … comprendre et analyser un

algorithme préexistant ; modifier un algorithme pour

obtenir un résultat particulier ; analyser la situation : identifier

les données d’entrée, de sortie, le traitement...;

mettre au point une solution algorithmique : comment écrire un algorithme en « langage courant » en respectant un code, identifier les boucles, les tests, des opérations d’écriture, d’affichage... ;

valider la solution algorithmique par des traces d’exécution et des jeux d’essais simples ;

adapter l’algorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ;

valider un programme simple.

17

Un examen comporte trois épreuves de coefficients respectifs 1, 2 et 3. Un étudiant est reçu s’il obtient une moyenne supérieure ou égale à 10, il est recalé s’il obtient moins de 8 et il doit passer un oral si sa moyenne est comprise entre 8 et 10. On veut écrire un algorithme qui renvoie le résultat de l’examen à la saisie des trois notes.Exécuter l’algorithme suivant en utilisant Algobox. Entrée : saisir a,b,c

Traitement :

M= (a+2*b+3*c)/6

si M<8

afficher « recalé»

si M>=10

afficher « reçu »

sinon

afficher « oral »

Page 18: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

18

Critère Excellent Bon Moyen Insuffisant

Respect des bons usagesLe but visé par l’algorithmeest explicité, des commentaires précisent le déroulement. Les variables ont des noms bien choisis.

Aucune erreur De petits détails sontnégligés.Le but est difficile à déterminer

Des détails manquent,mais le programme tente quand même d’accomplir ses fonctions essentielles

Ne répond pas auproblème posé.Objectif impossibleà déterminer

Correction du code L’algorithme fonctionne.

Fonctionne correctement dans tous les cas.

Fonctionne pour desdonnées (entrées) standard mais échecs mineurs sur des cas particuliers.

Échoue pour des données (entrées) standard, mais pour une raison mineure

Échoue pour desdonnées (entrées)standard, pour uneraison importante

Interface utilisateur (entrées, sorties)Elle est claire et commode

Aucune faute 1-3 fautes mineures

Plus de trois fautes mineures ou une faute majeure

Plus d’une faute majeure

18

Évaluation d’une production d’élève (document ressource)

Page 19: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

1919

Déterminer tous les nombres entiers naturels égaux à la somme des cubes de leurs chiffres.

Page 20: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

20

Déterminer tous les nombres entiers naturels égaux à la somme des cubes de leurs chiffres.

1 ) Ecrire un algorithme permettant de trouver tous les nombres inférieurs à 9999 solutions du problème.

2) Calculer 5 x 93 .En déduire qu’il n’existe pas de nombre N à 5 chiffres qui soit égal à la somme des cubes de ses chiffres.

Existe-t-il des nombres de plus de 5 chiffres solutions du problème ?

3) A l’aide d’une calculatrice ou d’un logiciel déterminer tous les nombres solutions du problème.

4) Déterminer tous les nombres égaux à la somme des puissances quatrièmes de leurs chiffres.

Page 21: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

21

Compétences visées comprendre et analyser un algorithme

préexistant ; modifier un algorithme pour obtenir un résultat

particulier ; analyser la situation : identifier les données

d’entrée, de sortie, le traitement...; mettre au point une solution algorithmique :

comment écrire un algorithme en « langage courant » en respectant un code, identifier les boucles, les tests, des opérations d’écriture, d’affichage... ;

valider la solution algorithmique par des traces d’exécution et des jeux d’essais simples ;

adapter l’algorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ;

valider un programme simple.

Page 22: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

22

Variables

m, c, d, u, N, S nombres entiers naturels

Traitement

pour m allant de 0 à 9

pour c allant de 0 à 9

pour d allant de 0 à 9

pour u allant de 0 à 9

affecter la valeur 1000m+100n+10d+u à N

affecter la valeur m3+c3+d3+u3 à S

Si N=S

Afficher N

Page 23: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

23

Version Algobox

Page 24: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

24

Version LARP

Page 25: Algorithmique 1. 2 Lalgorithmique Présence des algorithmes - dès lécole primaire dans lenseignement des mathématiques - dans beaucoup « dobjets » usuels.

25

Version python

Version scilab