ALGORITHMIQUE Ne pas distribuer la feuille tout de suite. Donner oralement l’énoncé du chemin. Les élèves font tous un plan puis un des élèves va au tableau faire le sien et on discute Puis, lire l’exo sur le distributeur et écrire au tableau toutes les propositions des élèves et voir l’ordre dans lequel la machine travaille. Puis distribuer la feuille. Le mot « algorithme » vient du nom d’un mathématicien persan al-Khuwarizmi (IX ième siècle) dont le traité d’algèbre décrit des procédés de calcul à suivre étape par étape pour résoudre des problèmes qui se ramènent souvent à la résolution d’équations. Parler des mathématiciens au Moyen-âge Un algorithme est une suite d’instructions élémentaires qui s’appliquent dans un ordre déterminé à des données et qui fournissent en un nombre fini d’étapes des résultats. Données instructionsrésultats Entrée Traitement Sortie on utilisera ces trois parties dans les algorithmes Activité 1 : vie quotidienne On indique son chemin à un conducteur égaré. « Allez tout droit jusqu’au prochain carrefour. Si la rue à droite est autorisée à la circulation, alors prenez-la ; ensuite, prenez la deuxième à gauche et enfin, la première à droite. Mais, si en revanche la rue à droite est en sens interdit, alors continuez jusqu’à la deuxième à droite, prenez-la et ensuite, la première à droite, puis à nouveau, la première à droite. Faire un plan de son trajet. On souhaite reproduire le fonctionnement d’un distributeur de billets. a) Dégager les traitement successifs : vérification de la date de fin de validité de la carte, du solde du compte, du retrait maximal autorisé, du code secret… b) Organiser l’enchaînement de ces traitements et prévoir les différentes situations qui peuvent se produire. Activité 2 : maths du collège On considère l’équation 4x + 3 = 2 x – 7 Suivre les instructions ci-contre : retrancher 3 dans les deux membres retrancher 2x dans les deux membres diviser par 2 les deux membres écrire la solution de l’équation genre de procédé inventé par al-Khuwarizmi Répéter cinq fois le programme de calcul ci-contre : choisir un nombre lui ajouter 13 si la somme obtenue est supérieure ou égale à 20, alors lui retrancher 15, sinon lui ajouter 15 écrire le résultat Répéter cinq fois le programme de calcul ci-contre : choisir un nombre lui ajouter 8 tant que le résultat est inférieur à 35, lui ajouter 5 écrire le résultat Quels nombres obtient-on ? Si le nombre choisi est strict inférieur à 27, on obtient : 35, 36, 37, 38 ou 39 Si le nombre est supérieur ou égal à 27, on obtient le nombre choisi + 8 Activité 3 :algorithme N°1 Donner à x une valeur calculer u = x +4 calculer y = u x x écrire le résultat y Voici l’algorithme avec les trois parties et le vocabulaire à utiliser « saisir », « prend la valeur » et « afficher » Le réécrire à droite avec seulement x et y Entrée Saisir x Traitement u prend la valeur x+4 y prend la valeur u x x Sortie Afficher y Prendre un exemple. A quoi est égal y en fonction de x ? y =( x+4) x entrée Saisir x Traitement y prend la valeur (x+4)x sortie afficher y Dans cet exemple, x, u et y sont des variables et on leur affecte une valeur. Pour x, c’est l’utilisateur qui donne la valeur par contre pour u et y, on fait des opérations ou des calculs à partir d’autres variables. N°2 choisir un nombre lui ajouter 4 multiplier la somme obtenue par le nombre choisi ajouter 4 à ce produit écrire le résultat donner à x une valeur u=x+4 v=u xx y=v+4 écrire y Transformer ce programme en utilisant des variables puis écrire un algorithme. Que fait cet algorithme ? peut-on le simplifier en remplaçant la 4ième, 5ième et 6ième lignes par une seule ligne ? Entrée Saisir x Traitement u prend la valeur x + 4 v prend la valeur u x x y prend la valeur v + x Sortie Afficher y En fait l’algorithme calcule le carré de x + 2 on peut remplacer les lignes 4, 5 et 6 par y prend la valeur ( x + 2)2 Que valent A, B et C ? A prend la valeur 5 B prend la valeur A*A – 2 C prend la valeur B – A A prend la valeur 2 B prend la valeur 10 C prend la valeur A + B C prend la valeur B – C A prend la valeur 5 B prend la valeur 3*A C prend la valeur 2*A - B C prend la valeur 5*C +B A 5 A 2 A 5 B 21 C 16 B 10 C 12 -2 B 15 C -5 - 10 Remplacer les deux dernières lignes du deuxième et du troisième algorithmes par une seule ligne C prend la valeur – A Que fait cet algorithme ? X prend la valeur Y Y prend la valeur X C prend la valeur 10A – 4B Trouver un algorithme qui transforme X en Y et Y en X. U prend la valeur de X X Y U X prend la valeur de Y ex X = 4 et Y = 3 Y prend la valeur de U X prend la valeur Y qui est 3 Y prend la valeur X qui est 3 . On affecte à X et à Y la valeur initiale de Y X Y U Activité 4 :programme En utilisant la feuille « programmation » qui permet de trouver les signes et les mots dans sa calculatrice, taper le programme suivant qui correspond à l’algorithme du N°1 : TI Casio PROGRAM :FONCTION : Input " X= ",X : X+4 U : U x X Y : Disp " Y= ",Y ====FONCTION=== "X= " ? X X+4 U U x X Y " Y= " : Y En appuyant EXE deux fois après la réponse, le programme recommence. pour la TI 89 Aller dans APPS, choisir Program puis choisir new dans variable, écrire le nom du programme puis utiliser CATALOG Pour l’exécuter, aller dans HOME, taper le nom du Programme suivi de ( ) Compléter le tableau ci-dessous : Algorithme Entrée TI Saisir X Ou Input X Prompt X « X= » ? X X+4 U U prend la valeur X+4 X+4 U Entre deux instructions passage à la ligne : Afficher Y ? X Input « X= »,X Affectation Sortie Casio Disp Y Disp « Y= »,Y ou : Y « Y= » : Y Ecrire le programme de l’algorithme N°2. TI PROGRAM :FONCTION2 : Input " X= ",X : (X+2)^2 Y : Disp " Y= ",Y Casio ====FONCTION2=== " X= " ? X (X+2)^2 Y " Y= " : Y Chercher un algorithme qui donne les coordonnées du milieu de deux points Il faut que les élèves repèrent les variables en séparant celles pour lesquelles on va demander une valeur de celles pour lesquelles on fera un calcul que l’on affectera et que l’on demandera d’afficher. C’est au passage au programme qu’il y a une difficulté puisque il faut être suffisamment précis pour savoir les nombres que l’on doit rentrer et qu’il faut utiliser des variables autres que xA, … Les laisser chercher seul, les laisser taper leur programme puis leur montrer que l’on a besoin de faire apparaître suffisamment de lignes pour savoir ce que l’on demande. Leur proposer le programme suivant : TI Variables xA, yA , xB, yB, xI et yI. Entrée Saisir xA, yA , xB, yB Traitement xI prend la valeur ( xA+xB)/2 yI prend la valeur ( yA+ yB)/2 Sorties : Disp "A(X,Y) " : Input " X= ",X : Input "Y= ",Y : Disp " B(X,Y) " : Input " X= ",Z : Input " Y= ",T : (Z+X)/2C : Disp « X= »,C : (T+Y)/2 D : Disp « Y= »,D Afficher xI et yI. Casio " A(X,Y) " " X= " ? X "Y= " ? Y " B(X,Y) " " X= " ? Z à voir avec les élèves " Y= " ? T (Z+X)/2C à voir " X= " : C (T+Y)/2 D " Y= " : D Dans algo-eleve, il y a une page à photocopier avec plusieurs fois ce programme. Chercher un algorithme qui donne la distance de deux points. Chercher un algorithme qui donne l’expression d’une fonction affine à partir de deux nombres et leurs images. TI Casio :Prompt ‘‘X1=’’,X :Prompt ‘‘Y1=’’,Y :Prompt ‘‘X2=’’,Z :Prompt ‘‘Y2=’’,T :(T-Y)/(Z-X) FracA :Disp ‘‘A=" :Disp ‘‘B=",T- Z*A Frac A vérifier encore ‘‘X1="?X "Y1="?Y "X2="?Z "Y2="?T (T-Y)/(Z-X) A T-Z*A B "A=" A "B=" B Lors du chapitre DROITES, refaire un peu d’algo en utilisant si alors. Reprendre le programme sur les fonctions affines et rajouter la condition si xA = xB. Utilisation d’algobox qui s’utilise en 5 minutes. Proposer des algorithmes : trouver ce qu’ils font. corriger les erreurs