Algorithmique et évaluation

Slides:



Advertisements
Présentations similaires
1 Présentation du stage de formation à lévaluation FFAAA.
Advertisements

Introduction a L’algorithme
Tris.
Chapitre annexe. Récursivité
Traitement du signal.
FUSIONS.
Présenté à Par. 2 3Termes et définitions 3.7 compétence aptitude à mettre en pratique des connaissances et un savoir-faire pour obtenir les résultats.
Algorithmique (suite)
Algorithmique et Programmation DEUG 2 Sciences Economiques 2004/2005
Algorithmique et Programmation
Fonctions & procédures
Algorithmique.
Programme de seconde 2009 Géométrie
1 - Finalités et Objectifs
LYCEE CORMONTAIGNE LE 22 Mars 2007
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Exercice 1 Pour être admis en crèche, un enfant doit avoir moins de 3 ans. Les variables retenues sont les suivantes: AnnéeNaissance, Annéeactuelle.
Algorithmique Résume.
Les Structures. Introduction : Imaginons que lon veuille afficher les notes dune classe délèves par ordre croissant avec les noms et prénoms de chaque.
Rénovation des BTS Bâtiment et Travaux Publics
Cas d’utilisation Connaître la consommation
Exercices Algorithmiques
Rénovation du Bac Pro Commerce
Synthèse Stage Algorithmique Académie de la Réunion.
STMG Sciences et Technologies du Management et de la Gestion
et évaluation des compétences
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
Cours n°3 Les formulaires
JLMVPC Saisir une commande.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Les bases de l’Algorithmique
Calcul et programmation au lycée avec Scilab
Algorithmes et résolution de problèmes FGE
Introduction à l’algorithmique
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Démarche de résolution de problèmes
16/10/10 Préparé par: Ing. Rodrigue OSIRUS (+509) , *** Conception dun site web Cours: Conception.
Algorithmique et Programmation
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Les éléments de base de l’algorithmique
Python La structure itérative
ALGORITHMIQUE en classe de seconde
fonctionnement de la classe
Algorithmes au lycée. Extrait Bac S Métropole Juin 2012.
Introduction à l’algorithmique
I&G- chapitre 11-La logique Logarithmique -Mme Roulaud
8PRO107 Éléments de programmation
Des épreuves pratiques aux TP Des exemples en probabilités
Ordonnancement de tâches
Résoudre une équation du 1er degré à une inconnue
Programmation linéaire en nombres entiers : les méthodes de troncature
STAND ARENES TANGRAM Le jeu de Tangram se compose de sept pièces qui peuvent se juxtaposer pour former un carré * 5 triangles, de trois tailles différentes.
Presentaion Projet IA.
LA LOGIQUE ALGORITHMIQUE
DEMARCHE ERGONOMIQUE.
Algorithmique et programmation (1)‏
Programmation linéaire en nombres entiers
Fonctions avancées et graphiques
Spécialités Gestion et Finance Ressources humaines et communication
Un exemple concret La nature des mots.
Initiation à l’Algorithmique
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
ARBITRE DEPARTEMENTAL. Les épreuves Epreuve Contrôle en Cours de Formation Epreuve Contrôle lors d’une épreuve terminale Epreuve Contrôle lors d’une épreuve.
Algorithmique Conditions et Itérations Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 17/09/2003 Dernière modification: 17/09/2003.
Introduction à L’Algorithmique
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
 Lycée Déodat de Séverac. ➲ Toutes les matières utilisent l'informatique mais jusqu'à présent la programmation restait en post bac. ➲ Avec l'ISN vous.
Transcription de la présentation:

Algorithmique et évaluation

Un algorithme à l’école maternelle

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

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é. L’évaluation des pratiques en algorithmique peut s’organiser autour d’une évaluation par compétences qui ne conduira pas nécessairement à une note spécifique chiffrée. Les activités donnant lieu à l’évaluation des compétences en algorithmiques peuvent évidemment également servir de support à l’évaluation d’autres compétences, notamment celles qui sont liées à la résolution de problèmes : savoir modéliser, s’engager dans une recherche, communiquer, vérifier… 4

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

Analyser le fonctionnement ou le but d’un algorithme existant Le nombre d de diagonales d’un polygone régulier à n côtés (n étant un entier naturel supérieur ou égal à 3) est donné par la formule : . 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. Terminale L Bac 2009

Terminale STG GSI

L’évaluation Modifier un algorithme existant pour obtenir un résultat précis Aucun exemple n’existe dans les sujets de L pour ce type de tâche.

L’évaluation Créer un algorithme en réponse à un problème donné Ces exercices n’existent pas en l car ils ne sont pas adaptés à une évaluation en temps limité. On les trouve en STG avec des « balises » pour que l’élève n’ait pas toute la démarche à trouver seul.

Créer un algorithme en réponse à un problème donné 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 BTS compta gestion première année Commentaires du professeur : Je donne les variables pour leur éviter la recherche. Ils doivent évidemment au préalable identifier celles qui seront saisies et calculées. Cela permet aussi d’harmoniser la correction. Ils ne sont pas obligés de toutes les utiliser et ils peuvent en ajouter du moment que le calcul demandé est correct. L’erreur fréquente dans la saisie des données est de demander aussi la saisie du résultat !! Cohérence : 3 points (structures des conditions, objectifs du calcul atteint…) Tout dépend en fait de la difficulté. Je considère que l’objectif est d’arriver au bon calcul donc même si l’algo n’est pas optimisé, je valide. Cependant, si la structure de l’algo est trop « lourd », je pénalise. Syntaxe : 1 point (ex. : oubli de Fin Si fréquent) On peut aussi noter la lisibilité qd l’algo est long Le nombre de points dépend aussi de la difficulté de l’algo

Algo Facture Variables NC : 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ébut Saisie des variables   Calcul du net à payer Affichage du résultat FIN

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

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. Entrée : Saisir trois nombres a, b et c Traitement : Calculer (a+b+c)/3 Affecter à M la valeur trouvée Sortie : Afficher M Expliquer en une phrase ce que fait cet algorithme 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. Entrée : Saisir trois nombres a, b et c Traitement : Calculer (a+b+c)/3 Affecter à M la valeur trouvée Sortie : Afficher M 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. 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. 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 : 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. 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. 16

Les compétences visées (document ressource) 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 » afficher « recalé  » Ê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

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. 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 » sinon si M<8 afficher « recalé » afficher « oral » 18

Algorithmes et langages : trois niveaux Écrire un algorithme qui donne la somme des entiers de 1 à n Le langage naturel 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. Le langage algorithmique Entrée : Saisir n Traitement : Affecter à S la valeur 0 Pour i variant de 1 à n Affecter à S la valeur S+i Sortie: Afficher S Le langage naturel se fait avec des phrases, qui expliquent la procédure suivie, avec éventuellement des expressions plus élaborées comme "tant que...faire". L'idée étant de décrire ce qui va être construit, avec des exigences très larges sur la syntaxe, un mélange de phrases et d'expressions plus "techniques". Le langage algorithmique, davantage codifié, reste cependant aisé à comprendre. Il fait apparaître la structure du programme et permet la traduction facile dans un langage de programmation. Il convient de ne pas être exigeant dans la syntaxe et de ne pas pénaliser les élèves pour des maladresses. Cependant le professeur se doit de rester précis et rigoureux. Le langage de programmation est un langage codifié qui dispose d’un compilateur permettant son exécution sur machine. Quand on commence à définir les variables, on est déjà dans un début de langage de programmation, la preuve, c'est que pour certains langages, ce n'est pas nécessaire. Le langage de programmation

Algorithme et évaluation Une proposition de grille

Evaluation d’une activité n°1 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 ?

Algobox

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

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. L’algorithmique permet de développer un mode de raisonnement rarement utilisé jusque là : on montre que le nombre de solutions au problème est fini, on détermine un majorant des solutions et on explore tout ce qui est en dessous à l’aide d’un algorithme de balayage systématique. 2) 5 x 93 = 2916, le nombre ne peut pas être à la fois plus grand que 9999 et plus petit que 2916. Pour 6 chiffres, 7 chiffres, etc la situation est la même car le nombre N est minoré par un nombre qui est multiplié par 10 à chaque étape et majoré par un nombre auquel on ajoute 729 à chaque étape. La démonstration rigoureuse, (comparaison d’une suite géométrique et d’une suite arithmétique) par une récurrence n’est pas au programme mais on peut comprendre ce qui se passe. 4) Cette question peut être un prolongement.

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. Analyser la situation : il faut comprendre qu’il faudra recourir à la numération en base 10, introduire les chiffres m, c, d, u, exprimer le nombre en fonction d’eux. Mettre au point une solution algorithmique : Comprendre l’imbrication des boucles correspondant aux quatre chiffres (il serait plus naturel de tenter une boucle « pour n de 0 à 9999 ») Placer le test au bon endroit : Adapter l’algorithme au langage : on demande explicitement d’utiliser un langage.

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 On pourrait limiter le balayage à « m allant de 0 à 3 » car on sait que N est majoré par 2916. Cette question pourrait venir en fin d’exercice : comment améliorer l’algorithme pour qu’il soit plus rapide. Un autre aménagement de l’exercice consisterait à ne pas limiter a priori les solutions à des nombres à quatre chiffres. On pourrait chercher pour 1, 2, 3… chiffres. Le logiciel Algobox montre vite ses limites : d’une part il faut à chaque fois tout réécrire car on ne peut pas insérer une boucle autour d’une autre, d’autre part à partir de 6 chiffres il bloque, cela dépasse le niveau de briques impliquées qu’il semble supporter. Cette limite du logiciel pourrait justifier aux yeux des élèves la nécessité de limiter l’exploration.

Version Algobox

Version python Version scilab

Evaluation d’une activité 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 ?