Une approche de l'algorithmique Jean Lépine UNE APPROCHE DE L'ALGORITHMIQUE L’o
Une approche de l'algorithmique Jean Lépine UNE APPROCHE DE L'ALGORITHMIQUE L’objectif est de rendre les élèves capables : · de décrire certains algorithmes en langage naturel, · d’en réaliser quelques uns (tableur ou petit programme sur calculatrice), · d’interpréter quelques algorithmes plus complexes. Le logiciel utilisé pour ces exemples est le logiciel ALGOBOX c'est un logiciel très simple et très rapide de prise en main qui me semble parfaitement adapté à la découverte de l'algorithmique. Vous trouverez l'aide complète de ce logiciel est sur le site http://algo.jeanlepine.com/ Vous trouverez tous les renseignements sur le site du logiciel ALGOBOX Je propose ici quelques acitivités progressives qui permettent à un élève de seconde de découvrir les premières bribes de l'algorithmique comme prévu dans le programme de maths. L'activité autour du jeu du "c'est plus c'est moins" me paraît une très bonne activité pour découvrir les principes de l'algorithmique car elle est très ouverte et permet aux élèves de faire de nombreux tests et de découvrir de nombreuses solutions. Il ne faut pas hésiter à utiliser le mode "pas à pas" du logiciel Algobox car il permet de voir évoluer les variables et permet de faire un parfait débogage. Chacune des activités proposées commence par la mise en place d'un algorithme suivi de quelques exercices. Pour prolonger ces activités et faire de la programmation à un autre niveau avec des constructions de procédures de fonctions etc, il faudra utiliser des langages standards comme le visual basic ou le pascal avec la plateforme Delphi ou bien encore le C avec C++. Sommaire I- Première approche : La division II- PGCD de deux nombres entiers III- Travailler sur quatre semaines IV- Les chaînes de caractères : les palindromes V- Le jeu du c'est plus - cest moins VI- Dans la foulée : la dichotomie VII- Moyenne, écart-type, tri et médiane VIII- Un peu de probabilité : la somme de deux dés Page 1/24 Une approche de l'algorithmique Jean Lépine I* découverte de l'algorithmique : la division Commençons cette première approche par un problème de calcul tout simple. Il s'agit d'entrer deux nombres entiers A et B et de récupérer le quotient Q de ces deux nombres. Méthode : Demander la saisie du nombre A Demander la saisie du nombre B Calculer dans Q le quotient A/B Afficher la valeur de Q Variables utilisées trois variables numériques A, B, Q Réalisation de l'algorithme 1* Lancer le logiciel Algobox 2* Cliquer sur déclarer une nouvelle variable 3* Taper la variable A en laissant bien nombre comme type de variable. 4* Cliquez alors sur le bouton Ajouter une ligne ou appuyez sur la combinaison de touches [Ctrl] [Entrée] puis cliquez sur le bouton lire variable pour demander la saisie du nombre A 5* Faire la même opération pour la saisie du nombre B. A cette étape votre algorithme doit être comme ci-contre. Il nous faut, maintenant que les deux nombres A et B sont en mémoire, calculer le quotient en priant un peu pour que le nombre B ne soit pas nul ! 6* Cliquez sur Nouvelle ligne puis sur le bouton Affecter valeur à variable. Choisir la variable Q et à la suite de prend la valeur taper A/B. Il nous reste à afficher le quotient obtenu Page 2/24 Une approche de l'algorithmique Jean Lépine 7* Générer une ligne puis cliquez sur ajouter afficher message et taper le message La valeur du quotient A/B est. Ajouter une ligne puis cliquez alors sur ajouter afficher variable et choisir Q en ajoutant un retour à la ligne. L'algorithme doit alors être celui-ci. Vous pouvez alors faire une sauvegarde de votre travail en faisant Fichier Sauver sous. 8* Il s'agit maintenant de tester notre algorithme. Cliquer sur le bouton tester puis sur le bouton lancer l'algorithme. Le résultat s'affiche comme dans la fenêtre ci-contre après avoir tapé les nombres 10 et 3. Quelques améliorations dans l'algorithme. Il serait agréable d'avoir une petite explication avant de saisir les deux nombres afin d'éviter de taper un diviseur égal à zéro !!! Vous pouvez utiliser le bouton Nouvelle ligne pour insérer deux lignes comme ci-contre et le bouton Afficher message pour obtenir l'algorithme ci- contre. La structure algorithmique Tant que Il est assez risqué de laisser l'utilisateur saisir un diviseur égal à zéro ! Pour cela nous allons demander de lire B tant que la valeur de B est de zéro. Méthode : insérer une ligne après la ligne AFFICHER « Votre second nombre B, SVP » puis cliquer sur le bouton Ajouter Tant que. Comme condition taper B==0, en faisant bien attention de mettre deux signes = ! Ce double = pour indiquer que nous ne sommes pas sur une affectation de variable mais sur un test d'égalité : la variable B est-elle égale à zéro ? Page 3/24 Une approche de l'algorithmique Jean Lépine Entre les deux balises DEBUT et FIN ajouter la ligne LIRE B et supprimer l'ancienne ligne. Vous obtenez alors l'algorithme ci-contre. Il ne reste qu'à faire le test en essayant de taper la valeur zéro pour le diviseur du quotient. Nouvelle amélioration : fixer le nombre de décimales à afficher. Ce problème est mathématique. De la réponse 3,257257257 il faut arriver à 3,25 par exemple ! En fait, une solution simple consiste à utiliser la fonction partie entière en procédant de la façon suivante 3,257257257*100 devient 325,7257257 dont on prend la partie entière 325. Il suffit alors de diviser le résultat par 100 pour obtenir 3,25 ! La fonction partie entière, comme dans de nombreux langages informatiques, est la fonction floor(). Notre ligne de calcul devient donc celle-ci Q = floor(A/B*100)/100 Au niveau de l'algorithme il suffit de se positionner sur la ligne Q prend la valeur A/B puis de cliquer sur le bouton Modifier ligne ! Remplacer alors A/B par la formule floor(A/B*100)/100 Tester l'algorithme pour vérifier. Vos premiers essais : à vous de chercher, modifier et tester. Quand l'algorithme ne fonctionne pas comme vous le désirez n'hésitez pas à utiliser le mode pas à pas d'algobox pour voir comment évolue le contenu de toutes vos variables. Exercice 1 : Modifier l'algorithme pour obtenir un affichage à 3 décimales. Exercice 2 : Il s'agit de rajouter une variable pour demander à l'utilisateur le nombre de décimales souhaité. Note pour cet exercice : il faut utiliser la fonction puissance pow(x,n) qui correspond à la puissance nieme de x, Page 4/24 Une approche de l'algorithmique Jean Lépine Exercice 1 : Modifier l'algorithme pour obtenir un affichage à 3 décimales. Exercice 2 : Il s'agit de rajouter une variable pour demander à l'utilisateur le nombre de décimales souhaité. Note pour cet exercice : il faut utiliser la fonction puissance pow(x,n) qui correspond à la puissance nieme de x, Solutions Page 5/24 Une approche de l'algorithmique Jean Lépine Rigolo : la division à l'ancienne. Les premiers processeurs ne faisaient que des additions et soustractions ! Comment alors réaliser une division ? Voici la méthode directe employée pour faire la division entière de deux nombres A et B. On soustrait B de A tant que c'est possible et on compte le nombre de soustractions faites. C'est aussi simple que cela ! Exemple : soit à chercher le quotient entier de 11 par 3 on calcule 11 – 3 = 8 et on compte 1 puis 8-3 = 5 et on compte 2 puis 5- 3 = 2 et on compte 3 puis 2-3 impossible dans IN donc on s'arrête de compter ! Le quotient de 11 par 3 est donc 3 ! Ci-contre l'algorithme. Exercice 3 : que se passe-t-il si les lignes Q PREND LA VALEUR Q+1 et diff PREND LA VALEUR diff-B sont inversées ? L'algorithme fonctionne-t-il encore correctement ? Exercice 4 : Utiliser la variable R pour afficher le reste dans la division de A par B à la place du quotient Q Page 6/24 Une approche de l'algorithmique Jean Lépine II – Le pgcd de deux nombres entiers Rappelons que le plus grand diviseur commun aux deux nombres 12 et 18 est 6 car les diviseurs de 12 sont {1; 2; 3; 4; 6; 12} les diviseurs de 18 sont {1; 2; 3; 6; 9; 18}, Les diviseurs communs aux deux sont {1; 2; 3; 6 } et le plus grand est donc 6 ! Voici ci-dessous un algorithme pour déterminer le PGCD de deux nombres entiers A et B Page 7/24 Une approche de l'algorithmique Jean Lépine Algorithme correspondant avec algobox Exercice : utiliser cet algorithme pour déterminer si deux nombres sont premiers entre eux. On rappelle que pour que deux nombres soient premiers entre eux il suffit que leur PGCD soit 1. III- Travailler sur quatre semaines Dans certains emplois du temps il faut découper sur quatre semaines plutôt que sur deux. C'est le cas pour certains élèves de seconde en informatique dans notre lycée, En semaine 41 nous sommes en semaine 1 En semaine 42 nous sommes en semaine 2 En semaine 43 nous sommes en semaine 3 En semaine 44 nous sommes en uploads/Management/ algobox-08.pdf
Documents similaires










-
47
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 03, 2021
- Catégorie Management
- Langue French
- Taille du fichier 1.2463MB