Algorithmique et évaluation 1. 2 Activité algorithmique et évaluation Quelques exemples...
-
Upload
amadour-weiss -
Category
Documents
-
view
116 -
download
0
Embed Size (px)
Transcript of Algorithmique et évaluation 1. 2 Activité algorithmique et évaluation Quelques exemples...

Algorithmique et évaluation
1

2

Activité algorithmique et évaluation
Quelques exemples d’évaluation de l’activité
algorithmique
Compétences visées dans une activité
algorithmique
Vers une évaluation par compétences
Analyse d’exemples3

4
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é.
4

L’évaluation
5
Analyser le fonctionnement ou le but d’un algorithme existant

Analyser le fonctionnement ou le but d’un algorithme existant
6
Le nombre d de diagonales d’un polygone régulier à n côtés (n étant unentier naturel supérieur ou égal à 3) est donné par la formule :
.2
)3( nn
Terminale L Bac 2009
Dans cette question, on cherche à déterminer dans quels polygones réguliers le nombre d de diagonales est un multiple entier du nombre n de côtés.

7
Les algorithmes suivants permettent de vérifier la saisie d’un mot de passe. Combien d’essais de mots de passe l’utilisateur peut-il faire ?
Saisir MOT Si MOT « math »
Afficher « erreur » Fin Si Afficher « Mot de passe correct »
Saisir MOT Tant que MOT « math»
Afficher « erreur » Saisir MOT
Fin Tant Que Afficher « Mot de passe correct »
Compteur := 0 Saisir MOT Tant que MOT « math »
Affecter à compteur la valeur compteur + 1 Si compteur=2 alors
Afficher « trop d’erreurs » Fin
Fin Si Saisir MOT Fin Tant Que Afficher « Mot de passe correct »
Compteur := 0 Saisir MOT Tant que MOT « math »
Si compteur=2 alors Afficher « trop d’erreurs » Fin
Fin Si Affecter à compteur la valeur compteur + 1
Saisir MOT Fin Tant Que Afficher « Mot de passe correct »

L’évaluation
8
Modifier un algorithme existant pour obtenir un résultat précis

L’évaluation
9
Créer un algorithme en réponse à un problème donné

Créer un algorithme en réponse à un problème donné
10
L'entreprise "Vers l'aéroport", assure sur rendez-vous, le transport des personnes de leur lieu de travail ou de leur domicile vers l'aéroport.Les clients appellent une opératrice de l'entreprise. Celle-ci saisit leurs noms, le type de client (entreprise ou particulier), le type d'horaire en fonction de l'affluence (bleu (faible affluence), blanc (moyenne) et rouge) et le nombre de kilomètres à parcourir.L'opératrice établit une facture que le chauffeur remettra au client. Les règles sont les suivantes : le montant de base, quelle que soit la catégorie du client est fonction du nombre de kilomètres à parcourir et du prix du kilomètre (1,7€) ;si le client appartient à une entreprise et s'il se déplace dans les horaires bleus, il a droit à une remise de 15 % sinon, la remise est de 5 % ; si le client est un particulier et s'il se déplace dans les horaires rouges, il n'y a pas de remise, sinon elle est de 10 %. Complétez l'algorithme en annexe B

11
Algo FactureVariablesNC : Chaîne (Nom du client)TC : Chaîne (Type de client)TH : Chaîne (Type d'horaire)KM : Entier (Nombre de kilomètres)RM : Réel (Remise)NAP : Réel (Net à payer)DébutSaisie des variables Calcul du net à payer Affichage du résultat FIN

12
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.
12

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
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

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
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

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
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 :

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 à 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.

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 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 » sinon si M>=10 afficher « reçu » sinon afficher « recalé »

18
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.
18
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>=10 afficher « reçu »
sinonsi M<8 afficher « recalé »
sinon afficher « oral »

19
Algorithmes et langages : trois niveaux
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 0, puis on calcule 0+1, puis 0+1+2, puis 0+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

Algorithme et évaluation
20
Une proposition de grille

21
Compétences évaluées Critères et indicateurs Niveaux de maîtrise et degré d’autonomie
Analyser la situation étudiée (langage naturel)
Examen et traduction du problème
Proposition d’une démarche de résolution
Ebauche d’une démarche algorithmique en langage naturel
L’élève propose seul une démarche cohérente de résolution L’élève fait preuve d’initiative et propose une démarche de résolution L’élève traduit le problème à l’aide d’un indice donné par le professeur
Mettre au point une solution algorithmique Connaître ce qu’est un algorithme, la démarche algorithmique et les énoncés nécessaires à sa représentation (langage algorithmique)
Détermination de la structure de l’algorithme
Identification des données d’entrée
Identification des données de sortie
Identification des variables. Détermination d’une séquence
logique des opérations. Détermination des types de
traitement appropriés à chacune des opérations. (séquentiel, conditionnel, itératif)
Mise en forme en langage algorithmique
Application rigoureuse des
L’élève trouve seul les entrées, sorties et variables pertinentes L’élève détermine seul la structure du traitement La syntaxe est correcte.

22
Adapter un algorithme aux contraintes du langage de programmation choisi. (langage de programmation)
Mise en forme en langage de programmation - Choix d’un outil adapté à la résolution du
problème - Utilisation de fonctionnalités pertinentes de
l’outil - Application des règles de syntaxe et de
sémantique propres au langage utilisé.
L’élève choisit un outil lui permettant de résoudre le problème. L’élève identifie la nature des variables (si nécessaire). L’élève adapte correctement la représentation des données, les conditions d’exécution, la séquence des opérations.
Déterminer la validité d’un algorithme. Comprendre et analyser un algorithme éventuellement préexistant Valider une solution algorithmique
Vérification de la pertinence de la solution compte tenu de la situation initiale. - Traces d’exécution. - Détermination des erreurs et des lacunes de
la solution algorithmique mise au point. - Vérification de la terminaison d’un
traitement. Modification appropriée de la solution algorithmique. - Proposition d’une amélioration :
généralisation, meilleure approximation… - Correction des erreurs
L’élève fait preuve d’initiative dans le choix des éléments de contrôle L’élève corrige les erreurs en suivant les indications du professeur L’élève sait repérer seul ses erreurs et les corriger. L’élève fait preuve d’initiative dans les extensions souhaitées
Présenter sa démarche, les résultats obtenus
Mise en forme de la production - Commodité et clarté de l’interface utilisateur
(entrées, sorties) - Compte rendu soigné et lisible du travail
demandé - Présence de toute l’information nécessaire à
l’interprétation de l’algorithme.
La production contient des demandes d’entrées pertinentes, des lignes de commentaires judicieuses pour la compréhension du fonctionnement du programme. La production contient des défauts de lisibilité dans l’interface ou dans les commentaires .

Evaluation d’une activité n°1
23
Problème :Le plan est rapporté à un repère (O, I, J).Quatre points du plan, A, B, C et D, dont on connaît les coordonnées, étant donnés, le quadrilatère ABCD est-il un parallélogramme ?

24

25

26
L’objectif de cette activité est de déterminer une valeur approchée de la longueur L de la courbe de la fonction carré tracée dans un repère orthonormé sur l’intervalle [-1,1]. L’unité de longueur est l’unité des axes du repère.

27Algobox

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

29
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.

30
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.

31
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 à N la valeur 1000m+100n+10d+u
affecter à S la valeur m3+c3+d3+u3
Si N=S
Afficher N

32
Version Algobox

33
Version python
Version scilab

Evaluation d’une activité
34
Après s’être longuement attardé à la brasserie « Les deux rives », M. Heine Ken décide de rentrer chez lui. Pour cela il doit emprunter un pont sans garde-corps de 15 pas de long et 4 pas de large. La démarche de Ken est très particulière :
Soit il avance d’un pas en avant ;soit il se déplace en diagonale vers la gauche (déplacement équivalent à un pas vers la gauche et un pas en avant) ;soit il se déplace en diagonale vers la droite (déplacement équivalent à un pas vers la droite et un pas en avant). On suppose de plus que ces 3 déplacements possibles sont aléatoires et équiprobables.On suppose également que Ken se trouve au milieu du pont au début de la traversée. Monsieur Ken a-t-il des chances d’atteindre l’autre rive en empruntant ce pont ?

35