1ière S ALGORITHME Hobraiche Coco A. I. INTRODUCTION Algorihme vient du nom Al-Kwarizmi. 789- 850 . Mathématicien perse, originaire de ce qui est l’Ouzbékistan de nos jours. Qu’est-ce qu’un algorithme ? C’est une succession d’instructions amenant à la résolution d’un problème. Il peut être écrit en langage naturel ou en langage de programmation (en C, C+, Java, Python, langage Ti ou Casio, ou encore langage Algobox) Et il se présente en trois parties : I. Les variables Dans cet étape on présente et nomme toutes les données qui seront nécessaires et traitées au cours de l’algorithme : on dit qu’on déclare les variables. Elles peuvent être saisies au clavier (in put) ou bien créer en cours d’algorithme ou le résultat d’un calcul (variables intermédiaires ou out put). Déclarer une variable permet à l’ordinateur de créer un espace mémoire dans lequel il enregistrera la valeur de la variable successivement. Trois types de variables : NOMBRE REELS ou LISTE ou CHAINE. II. Le traitement : Le PROGRAMME Il est constitué d’une suite d’instructions, de fonctions prédéfinies, d’opérations sur les données qui permettent de résoudre le problème. III. Les sorties : Il s’agit du résultat obtenu (variable out put. ! Elle doit être nommée dans les variables memê si on ne connaît pas le résultat)(résultat d’un calcul, figure…) qui peut être affiché à l’écran ou enregistré dans un fichier. Exemples d’algorithmes célèbres: La recette des crêpes Lait, Œufs, Farine, Beurre, Verser la farine dans le lait Puis les œufs, une cuillère de matière grasse et battez au fouet jusqu’à obtenir une pâte homogène et onctueuse. Laisser reposer la pâte un bon moment. Faites chauffer votre crêpière avec un peu de matière grasse. Versez une louche, étalez finement. Lorsque le côté est cuit, faites sauter pour la retourner. Refaites sauter dans votre assiette, saupoudrez la crêpe de sucre, dégustez. Transformer une durée en seconde On donne la durée en hms Heure/minute/seconde On effectue les conversions pour donner la durée en seconde : hx3600 + mx60 + s Suite de Syracuse Choisir un nombre entier naturel n - Si n est pair alors calculez n/2. - Si n est impair alors calculez 3n+1. Et recommencer jusqu’à trouver 1. Exercice : Programme de calcul et Algorithme 1) Appliquer cet algorithme à 0 ; -1 ; 1/3. 2) Appliquer cet algorithme à un réel x. 3) Ecrire l’algorithme à l’aide de Algobox. Vérifier vos résultats. 4) Quel nombre x choisir pour que le résultat soit 4 ? Et 9 ? Ecrire votre démarche pour trouver ce nombre x. 5) Ecrire un programme avec Algobox permettant en partant du nombre affiché de retrouver le nombre de départ. II. LES INSTRUCTIONS 1. L’AFFECTATION : CONSISTE A ATTRIBUER UNE VALEUR A UNE VARIABLE. C’est une instruction fondamentale. Vous avez déclaré une variable nommée x et de type nombre. Vous voulez lui attribuer la valeur 5 Ou le résultat d’un calcul ( y/2) utilisant une autre variable. En langage naturel on peut noter : x :=5 ou x := y/2 ou x prend la valeur 5 ALGOBOX une fonction est prédéfinie : affecter une valeur à une variable. PYTHON : y← 5x (PYTHON). On dit y reçoit 5x ou y := 5x. L’affectation d’une variable efface toute valeur antérieurement affectée. (dans la mémoire) INSTRUCTIONS CONDITIONNELLES : LA BOUCLE SI…. ALORS…. SINON… Souvent on est amené à effectuer des instructions sous certaines conditions (pensez au trois cas du Δ) En langage naturel une l’instruction conditionnelle se formule : SI ……….. ALORS ……… Ou aussi SI ………...ALORS ……….SINON ………. 2. 3. REPETITION EN BOUCLE : On peut être amené à répéter un bloc d’instruction tant qu’une condition reste vérifiée. En langage naturel on formulerait : « Tant que……… Alors…. » Si la condition qui suit tant que est vérifiée alors le programme exécute toutes les instructions du bloc qui suit ALORS, sinon le bloc est entièrement ignoré. 4. BOUCLE POUR … allant de …. à …. TRAVAIL EN AUTONOMIE : ALGO 1 : On considère le polynôme du second degré P(x) = ax² + bx + c. On se propose de résoudre l'équation P(x) = 0 1) Ecriture de l'algorithme a) Quels sont les paramètres en entrée de l'algorithme ? b) A l'aide de quelle structure algorithmique, peut-on traiter la discussion sur le nombre de solutions de l'équation ? c) Proposer un algorithme répondant au problème posé. En langage naturel. 2) Implémentation sous AlgoBox a) Implémenter l'algorithme proposé à l'aide d'AlgoBox b) Le tester pour résoudre les équations suivantes : • 3x² + 9x - 30 = 0 • x² + 3x - 2 = 0 • 3x² + x + 2 = 0 • 49x² - 14x + 1 =0 ALGO 2 : PROGRAMMER VOTRE CALCULATRICE - créer le programme qui permet de calculer les coordonnées du milieu d’un segment. - créer le programme qui permet de calculer la longueur d’un segment. ALGO3 : Fiche DM Droite, vecteur directeur et algorithme. ALGO 4 :