La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmique 1 et évaluation des compétences (Daprès un travail présenté par lacadémie de Nancy-Metz. Mars 2010 )

Présentations similaires


Présentation au sujet: "Algorithmique 1 et évaluation des compétences (Daprès un travail présenté par lacadémie de Nancy-Metz. Mars 2010 )"— Transcription de la présentation:

1 Algorithmique 1 et évaluation des compétences (Daprès un travail présenté par lacadémie de Nancy-Metz. Mars 2010 )

2 Quelles compétences en algorithmique ? La question du référentiel. 2 danalyser le fonctionnement ou le but dun algorithme existant ; de modifier un algorithme existant pour obtenir un résultat précis ; de créer un algorithme en réponse à un problème donné. Envisager une évaluation par compétences qui ne conduira pas nécessairement à une note spécifique chiffrée. ( document ressource : ) Lélève sera capable …

3 Les compétences visées (document ressource) 3 comprendre et analyser un algorithme préexistant ; modifier un algorithme pour obtenir un résultat particulier ; analyser la situation : identifier les données dentré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, daffichage... ; valider la solution algorithmique par des traces dexécution et des jeux dessais simples ; adapter lalgorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ; valider un programme simple. 3

4 Les compétences visées (document ressource) 4 Ê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 dentré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, daffichage... ; valider la solution algorithmique par des traces dexécution et des jeux dessais simples ; adapter lalgorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ; valider un programme simple. 4 Pouvons-nous proposer des exercices pour chacune de ces compétences ?

5 Les compétences visées (document ressource) 5 Ê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 dentré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, daffichage... ; valider la solution algorithmique par des traces dexécution et des jeux dessais simples ; adapter lalgorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ; valider un programme simple. 5 Expliquer en une phrase ce que fait cet algorithme Entrée : Saisir trois nombres a, b et c Traitement : Affecter a+b+c à M Affecter M/3 à M Sortie : Afficher M

6 Les compétences visées (document ressource) 6 Ê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 dentré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, daffichage... ; valider la solution algorithmique par des traces dexécution et des jeux dessais simples ; adapter lalgorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... valider un programme simple. 6 Modifier cet algorithme afin quil permette de calculer la moyenne de trois notes a, b et c affectées des coefficients 1,2 et 3 et quil signale si le résultat est ou non supérieur à 10 Entrée : Saisir trois nombres a, b et c Traitement : Affecter a+b+c à M Affecter M/3 à M Sortie : Afficher M

7 Les compétences visées (document ressource) 7 Ê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 dentré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, daffichage... ; valider la solution algorithmique par des traces dexécution et des jeux dessais simples ; adapter lalgorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ; valider un programme simple. 7 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 :

8 Les compétences visées (document ressource) 8 Ê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 dentré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, daffichage... ; valider la solution algorithmique par des traces dexécution et des jeux dessais simples ; adapter lalgorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ; valider un programme simple. 8 Un examen comporte trois épreuves de coefficients respectifs 1, 2 et 3. Un étudiant est reçu à lexamen si sa moyenne est supérieure ou égale à 10. Écrire un algorithme qui renvoie linformation « létudiant est reçu » ou linformation « létudiant nest pas reçu » à la saisie des trois notes.

9 Les compétences visées (document ressource) 9 Ê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 dentré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, daffichage... ; valider la solution algorithmique par des traces dexécution et des jeux dessais simples ; adapter lalgorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ; valider un programme simple. 9 Un examen comporte trois épreuves de coefficients respectifs 1, 2 et 3. Un étudiant est reçu sil obtient une moyenne supérieure ou égale à 10, il est recalé sil 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 lexamen à la saisie des trois notes. Un programmeur distrait a écrit lalgorithme ci- dessous. Quelles sont les erreurs quil a commises ? Entrée : saisir a,b,c Traitement : affecter a+2*b+3*c/6 à M si M>=8 et M<=10 afficher « oral » sinon si M>=10 afficher « reçu » sinon afficher « recalé »

10 Les compétences visées (document ressource) 10 Ê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 dentré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, daffichage... ; valider la solution algorithmique par des traces dexécution et des jeux dessais simples ; adapter lalgorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ; valider un programme simple. 10 Un examen comporte trois épreuves de coefficients respectifs 1, 2 et 3. Un étudiant est reçu sil obtient une moyenne supérieure ou égale à 10, il est recalé sil 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 lexamen à la saisie des trois notes. Exécuter lalgorithme suivant en utilisant Algobox. Entrée : saisir a,b,c Traitement : affecter (a+2*b+3*c)/6 à M si M<8 afficher « recalé » sinon si M>=10 afficher « reçu » sinon afficher « oral »

11 Les compétences visées (document ressource) 11 Ê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 dentré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, daffichage... ; valider la solution algorithmique par des traces dexécution et des jeux dessais simples ; adapter lalgorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables... ; valider un programme simple. 11 Certaines compétences sappliquent : - à un algorithme, - à une situation

12 Exemples dénoncés – exemple 1 12 Dans un repère orthonormal on considère les points A(-1;0) et B(3;0). Ecrire un algorithme qui effectuera la tâche suivante : Si lutilisateur lui fournit les coordonnées (x;y) dun point C, le programme retournera lune des deux informations « ABC est un triangle rectangle en C » ou « ABC nest pas un triangle rectangle en C ».

13 Solution 1 13 Critère choisi : la relation de Pythagore Le triangle est rectangle si AC²+BC²=16 Traitement algorithmique : saisir x, y Affecter (x+1)²+y² à P Affecter (x-3)²+y² à Q Affecter P+Q à R si R=16 alors… sinon …

14 Solution 2 14 Critère choisi : Utilisation du cercle circonscrit Le triangle est rectangle si CI=2. Traitement algorithmique : saisir x, y Affecter rac((x-1)²+y²) à R si R=2 alors… sinon …

15 Solution 2bis 15 Critère choisi : Utilisation du cercle circonscrit Le triangle est rectangle si CI²=4 Traitement algorithmique : saisir x, y Affecter (x-1)²+y² à R si R=4 alors… sinon …

16 Solution 3 16 Critère choisi : utilisation du projeté orthogonal H de C, puis du critère CH²=BHxAH ou de la trigonométrie Traitement algorithmique : saisir x, y si y²=(x+1)(3-x) alors… sinon …

17 Remarques 17 Suivant le critère choisi, le traitement est plus ou moins complexe, et requiert ou non des variables supplémentaires. Le critère mathématique le plus naturel (Pythagore) ne fournit pas le test le plus simple. La solution utilisant la distance du point au milieu de lhypoténuse présente une difficulté supplémentaire liée à la précision de la machine : le recours au carré de la distance.

18 Compétences en jeu 18 Géométrie : choix dun critère pertinent, mobilisation de connaissances… Calcul algébrique : Calcul dune expression mobilisant deux variables Raisonnement : utilisation dune caractérisation « si … alors le triangle est rectangle en C »

19 Compétences en jeu - algorithmique 19 A partir dune situation donnée analyser la situation identifier les données dentrée, élémentaire Identifier les données de sortie, élémentaire Identifier le traitement requis, la difficulté principale nest pas algorithmique mettre au point une solution algorithmique Les principales difficultés de lalgorithme sont masquées car elles touchent à la programmation.

20 La liste de compétences senrichit … 20 A partir dun algorithme donné exécuter un algorithme ; comprendre et analyser un algorithme préexistant ; modifier un algorithme pour obtenir un résultat particulier ; traduire un algorithme donné dans un langage de programmation. A partir dune situation donnée analyser la situation (identifier les données dentrée, de sortie, le traitement...) mettre au point une solution algorithmique (identifier les boucles, les tests, des opérations décriture, daffichage prendre en compte les limites du langage de programmation, les questions de précision.. ) 20

21 Exemple 2 21 Déterminer tous les nombres entiers naturels égaux à la somme des cubes de leurs chiffres. Version 1 – problème ouvert

22 Exemple ) Ecrire un algorithme permettant de trouver tous les nombres inférieurs à 9999 qui sont égaux à la somme des cubes de leurs chiffres. 2) Calculer 5 x 9 3.En déduire quil nexiste 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 laide dune calculatrice ou dun logiciel déterminer tous les nombres solutions du problème. Version 2 – problème guidé

23 Exemple ) Ecrire un algorithme permettant de trouver tous les nombres inférieurs à 99 qui sont égaux à la somme des cubes de leurs chiffres. 2) Ecrire un algorithme permettant de trouver tous les nombres inférieurs à 999 qui sont égaux à la somme des cubes de leurs chiffres. 3) Calculer 5 x 9 3.En déduire quil nexiste 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 laide dune calculatrice ou dun logiciel déterminer tous les nombres solutions du problème. Version 3 – problème guidé mathématiques et algorithmique

24 Algorithme en langage conventionnel 24 Variables m, c, d, u, N, S nombres entiers naturels Début 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 m 3 +c 3 +d 3 +u 3 à S Si N=S alors Afficher N Fin

25 25 Version scilab

26 26 ****************************************** 1 VARIABLES 2 u EST_DU_TYPE NOMBRE 3 d EST_DU_TYPE NOMBRE 4 c EST_DU_TYPE NOMBRE 5 m EST_DU_TYPE NOMBRE 6 S EST_DU_TYPE NOMBRE 7 N EST_DU_TYPE NOMBRE 8 DEBUT_ALGORITHME 9 POUR m ALLANT_DE 0 A 9 10 DEBUT_POUR 11 POUR c ALLANT_DE 0 A 9 12 DEBUT_POUR 13 POUR d ALLANT_DE 0 A 9 14 DEBUT_POUR 15 POUR u ALLANT_DE 0 A 9 16 DEBUT_POUR 17 N PREND_LA_VALEUR u+10*d+100*c+1000*m 18 S PREND_LA_VALEUR pow(u,3)+pow(d,3)+pow(c,3) +pow(m,3) 19SI (S==N) ALORS 20 DEBUT_SI 21 AFFICHER N 22 FIN_SI 23 FIN_POUR 24 FIN_POUR 25 FIN_POUR 26 FIN_POUR 27 FIN_ALGORITHME Version algobox ***Algorithme lancé*** ***Algorithme terminé***

27 Compétences en jeu - version ) Ecrire un algorithme permettant de trouver tous les nombres inférieurs à 99 qui sont égaux à la somme des cubes de leurs chiffres. 2) Ecrire un algorithme permettant de trouver tous les nombres inférieurs à 999 qui sont égaux à la somme des cubes de leurs chiffres. 3) Calculer 5 x 9 3.En déduire quil nexiste 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 laide dune calculatrice ou dun logiciel déterminer tous les nombres solutions du problème. Arithmétique : Numération décimale Calcul algébrique : Manipulation dexpressions à plusieurs variables Raisonnement : Raisonnement par disjonction des cas. (Analyse : Comparaison de suites)

28 Compétences en jeu - version ) Ecrire un algorithme permettant de trouver tous les nombres inférieurs à 99 qui sont égaux à la somme des cubes de leurs chiffres. 2) Ecrire un algorithme permettant de trouver tous les nombres inférieurs à 999 qui sont égaux à la somme des cubes de leurs chiffres. 3) Calculer 5 x 9 3.En déduire quil nexiste 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 laide dune calculatrice ou dun logiciel déterminer tous les nombres solutions du problème. Algorithmique A partir dune situation donnée analyser la situation identifier les données dentrée, de sortie, le traitement mettre au point une solution algorithmique identifier les boucles, les tests, des opérations décriture, daffichage écrire un programme en réponse à une question posée. A partir dun algorithme donné modifier un algorithme pour obtenir un résultat particulier ;

29 Compétences en jeu - version 1 29 Déterminer tous les nombres entiers naturels égaux à la somme des cubes de leurs chiffres. A partir dun algorithme donné exécuter un algorithme ; comprendre et analyser un algorithme préexistant ; modifier un algorithme pour obtenir un résultat particulier ; écrire un programme en réponse à une question posée. A partir dune situation donnée analyser la situation (identifier les données dentrée, de sortie, le traitement...) mettre au point une solution algorithmique (identifier les boucles, les tests, des opérations décriture, daffichage...) Prendre linitiative pertinente de construire une solution algorithmique.

30 Les difficultés des élèves 30 Les erreurs repérées : Confusion affectation et égalité ; Notion de variable non comprise ; Confusion de lecture du programme ; Difficulté de validation de lalgorithme ; Difficulté pour comprendre le rôle de lalgorithme. 30

31 Les facteurs de complexité 31 la nécessité dun test darrêt ; le nombre de boucles à imbriquer ; le nombre dissues des tests ; les variables qui subissent de nouvelles affectations dans le traitement ; Les variables « masquées » ; La complexité des concepts mathématiques mobilisés ; La complexité du traitement mathématique requis pour le traitement algorithmique ; La présence dastuces ou de contraintes liées au traitement algorithmique ou au langage à utiliser.

32 LES ENJEUX 32 Concevoir des situations qui soient intéressantes, dun point de vue mathématique et accessibles dun point de vue algorithmique Repérer les compétences Peut-on / doit-on évaluer isolément les compétences relatives à lalgorithmique ?


Télécharger ppt "Algorithmique 1 et évaluation des compétences (Daprès un travail présenté par lacadémie de Nancy-Metz. Mars 2010 )"

Présentations similaires


Annonces Google