Lesson Algorithmes

18
L’ALGORITHMIQUE Inspirée par l’informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques exemples. J’ai regroupé ici ces exemples mais en fait, ce n’est pas une leçon. Un algorithme répond toujours au schéma général suivant : Nous utiliserons trois types d’actions : Les affectations : initialisations des variables du problème, placement dans une variable d’un résultat de calcul etc…. : Mettre 15 dans la variable X par exemple. Les tests : Ils aurons tous la forme suivante : Si condition C vraie alors faire ACTION 1 sinon faire ACTION 2. Ils seront utilisés dans le traitement essentiellement. Les itérations ou répétitions : nous les mettrons sous la forme : Tant condition C vraie faire ACTION. Ou Faire ACTION jusqu’à ce que C soit réalisée. Ceci permet de faire plusieurs fois la même action. Nous pouvons évidemment imbriqués ces trois actions, c’est-à-dire à l’intérieur d’un « si » mettre une itération que l’on appelle aussi « une boucle » ou bien mettre un autre « si » dans un « si » et aussi faire des affectations à tout moment. Un célèbre théorème d’informatique dit : « Avec ces trois types d’actions, nous pouvons résoudre tous les problèmes scientifiques » Ce théorème n’est pas démontré mais il n’a jamais jusqu’à présent été infirmé par un exemple ! Nous allons voir une dizaine d’exemples d’algorithmes traitables dans diverses leçons : Calculs et fonctions, géométrie, statistiques ou probabilités. Nous utiliserons EXCEL pour montrer comment nous pouvons mettre en oeuvre ces algorithmes et donc après avoir regardé les deux ou trois premiers, à titre d’exercices, vous devez essayer de trouver vous-même l’algorithme répondant au problème posé puis le mettre en oeuvre dans Excel. Pour le premier exemple, nous montrerons que l’on peut programmer sa machine (Texas ou Casio). Certains de mes élèves s’étaient mis à programmer des jeux assez compliqués. Voici les énoncés, puis dans la correction, vous trouverez l’algorithme et sa mise en oeuvre dans une feuille Excel. Bon courage, vous allez voir, on se prend facilement au jeu ! Algorithme Les entrées Le traitement Les sorties

description

lessonalgorithmes

Transcript of Lesson Algorithmes

Page 1: Lesson Algorithmes

L’ALGORITHMIQUE Inspirée par l’informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques exemples. J’ai regroupé ici ces exemples mais en fait, ce n’est pas une leçon. Un algorithme répond toujours au schéma général suivant : Nous utiliserons trois types d’actions : Les affectations : initialisations des variables du problème, placement dans une variable d’un résultat de calcul etc…. : Mettre 15 dans la variable X par exemple. Les tests : Ils aurons tous la forme suivante : Si condition C vraie alors faire ACTION 1 sinon faire ACTION 2. Ils seront utilisés dans le traitement essentiellement. Les itérations ou répétitions : nous les mettrons sous la forme : Tant condition C vraie faire ACTION. Ou Faire ACTION jusqu’à ce que C soit réalisée. Ceci permet de faire plusieurs fois la même action. Nous pouvons évidemment imbriqués ces trois actions, c’est-à-dire à l’intérieur d’un « si » mettre une itération que l’on appelle aussi « une boucle » ou bien mettre un autre « si » dans un « si » et aussi faire des affectations à tout moment. Un célèbre théorème d’informatique dit : « Avec ces trois types d’actions, nous pouvons résoudre tous les problèmes scientifiques » Ce théorème n’est pas démontré mais il n’a jamais jusqu’à présent été infirmé par un exemple ! Nous allons voir une dizaine d’exemples d’algorithmes traitables dans diverses leçons : Calculs et fonctions, géométrie, statistiques ou probabilités. Nous utiliserons EXCEL pour montrer comment nous pouvons mettre en œuvre ces algorithmes et donc après avoir regardé les deux ou trois premiers, à titre d’exercices, vous devez essayer de trouver vous-même l’algorithme répondant au problème posé puis le mettre en œuvre dans Excel. Pour le premier exemple, nous montrerons que l’on peut programmer sa machine (Texas ou Casio). Certains de mes élèves s’étaient mis à programmer des jeux assez compliqués. Voici les énoncés, puis dans la correction, vous trouverez l’algorithme et sa mise en œuvre dans une feuille Excel. Bon courage, vous allez voir, on se prend facilement au jeu !

Algorithme

Les entrées Le traitement

Les sorties

Page 2: Lesson Algorithmes

Exercice 1 « A la recherche d’un entier inconnu » Dans une variable N, nous entrons un entier compris entre 1 et 1000. Tu dois trouver cet entier en proposant des entiers M à l’invite : « Entrez un nombre entier » et nous devons répondre : « Tu as choisi trop grand » ou « Tu as choisi trop petit » et indiquer à quel moment tu auras trouvé le nombre mystérieux si cela est le cas. Montrer le programme sous Casio puis sous Texas. Mettre en œuvre l’algorithme trouvé dans Excel en fixant par exemple 10 coups. Exercice 2 « Seulement des affectations » (Facile) Ecrire un algorithme permettant de fabriquer la quantité (2x + 3)2. Réaliser dans Excel et tracer la courbe représentant la fonction f(x) = (2x + 3)2. Exercice 3 « Recherche des racines d’une fonction donnée ». On appelle racine d’une fonction f de x toute valeur de la variable x qui annule la fonction f. Autrement dit, x est racine de f si et seulement si f(x) = 0. Soit f la fonction polynôme de degré 3 définie par f(x) = x3 – x2 + x + 5. Nous voulons chercher si cette fonction f a des racines dans l’intervalle [– 5 ; 5]. Ecrire l’algorithme qui va chercher les racines avec un pas de calcul de 0,5 et qui indiquera le nombre des racines. Cet algorithme devra afficher une valeur approchée à 0,5 prés par défaut de chaque racine. Réaliser cet algorithme dans Excel. (Montrer aussi le tracé de la courbe) Exercice 4 « Tous les diviseurs d’un entier donné ». Ecrire l’algorithme donnant tous les diviseurs d’un entier donné. Réaliser cet algorithme dans Excel (Voir Bonus). Exercice 5 « PGCD et PPCM ». Ecrire l’algorithme donnant le PGCD de deux entiers a et b (méthode des différences). Cet algorithme devra à la fin donner aussi le PPCM des deux entiers choisis. Réaliser dans Excel avec les entiers 240 et 150. Exercice 6 « Degrés ���� Radians ». Ecrire l’algorithme qui transforme la mesure en degré d’un angle en sa mesure en radian. Puis perfectionner l’algorithme trouvé pour obtenir la mesure principale. Réaliser les deux algorithmes dans Excel. Exercice 7 «Partage d’un triangle en deux parties de même aire ».

Soit un triangle (ABC), AC = 6, AB = 4 et mes BAC = 60°. Travaux préparatoires : Calculer la longueur de la hauteur [BI]. Calculer l’aire de (ABC).

Page 3: Lesson Algorithmes

Nous voulons partager (ABC) en deux parties en utilisant une perpendiculaire à [AC]. Soit un point J de [AC], nous posons AJ = x. La perpendiculaire à [AC] passant par J coupe selon le cas [AB] en M1 ou bien [BC] en M2.

Dans quel intervalle x va-t-il varier ? Montrer qu’il y a deux cas à envisager pour le calcul des aires et montrer les deux cas de figure. Si 0≤ x ≤ 2, calculer la longueur JM1 puis l’aire de (AJM1). Si 2< x ≤ 6, calculer, avec le théorème de Thalès, la longueur J2M2 puis l’aire de (J2M2C). Démontrer que la valeur de x cherchée appartient à [2 ; 6]. Ecrire alors l’algorithme permettant de déterminer à 0,1 prés, la valeur de x qui va permettre en traçant la perpendiculaire à [AC] de partager le triangle en deux parties de même aire. Réaliser cet algorithme dans Excel. Utiliser CABRI GEOMETRE pour illustrer ce problème. Exercice 8 « Un lieu géométrique ». Dans un repère orthonormal de (P), nous prenons deux points M et N tels que M se déplace sur l’axe des abscisses dans l’intervalle [0 ; 6] et N se déplace sur l’axe des ordonnées dans l’intervalle [0 ; 6] avec xM + yN = 6. Nous posons OM = x, exprimer les coordonnées de M et N en fonction de x. Nous voulons étudier comment se déplace le milieu de [MN] lorsque M et N varie dans les conditions exposées ci-dessus. Ecrire un algorithme donnant les coordonnées de I en fonction de x quand x varie dans l’intervalle [0 ; 6]. Réaliser dans Excel en calculant xI et yI et montrer la courbe sur laquelle se déplace I quand x varie entre 0 et 6. Exercice 9 « Vecteurs colinéaires ou pas ? ». Soit u

r(a ; b) et v

r(a’ ; b’) dans un repère orthonormal de (P).

Ecrire un algorithme permettant de savoir si ur

et vr

sont ou ne sont pas colinéaires. Tester cet algorithme dans Excel. Exercice 10 « Une étude statistique ». (Nous faisons une enquête dans la classe.) J’ai demandé à un échantillon d’élèves de la classe (18 sur 35, enquête au 1 sur 2) « le nombre de Km pour venir au Lycée en arrondissant au Km le plus proche). Enquête : 0 0 2 1 1 4 0 2 1 0 0 0 0 6 2 8 0 1 Ecrire un algorithme permettant de saisir ces données et de calculer la moyenne. Illustrer dans Excel en présentant, un tableau où les données sont classées par ordre croissant puis calculer Mo, Mé et x . Donner ensuite un diagramme à bâtons.

Page 4: Lesson Algorithmes

Correction Exercice 1 Voici l’algorithme Afficher : « Nous cherchons un nombre entier compris entre 1 et 1000 » Entrées Mettre dans N, E(1000*alea() +1) (alea() nombre aléatoire dans l’intervalle ]0 ;1[) Faire Afficher le message : « Entrez un nombre entier » ; Mettre dans M le nombre choisi par l’utilisateur ; Traitement Si M > N alors Afficher : « Tu as choisi trop grand » sinon Si M = N alors afficher : « Tu as gagné ! » sinon afficher : « Tu as choisi trop petit » ; Jusqu'à ce que M = N ; Sorties Afficher : « Le nombre mystérieux était », M Nous utilisons la fonction partie entière E pour fabriquer un entier à partir d’un nombre aléatoire compris entre 0 et 1. Dans le traitement, nous avons 2 si imbriqués en effet, il y a trois cas possibles M > N ou M = N ou enfin M < N. Dans le traitement, nous avons une boucle en effet, les tests se déroulent tant que le nombre n’est pas trouvé. En programmation CASIO cela donne : INT(1000*ran#+1) →→→→ N ↵↵↵↵ (0 < ran# < 1 ; 0 < 1000*ran# +1 < 1001 )( ↵ validation) DO ↵↵↵↵ (Début de la boucle) “Entrez un entier compris entre 1 et 1000”↵↵↵↵ (message affiché) ? →→→→ M ↵↵↵↵ (Nous plaçons le nombre tapé dans M) IF M >>>> N ↵↵↵↵ (Début du premier test) THEN « Tu as choisi trop grand »↵↵↵↵ ELSE IF M=N ↵↵↵↵ (Deuxième test) THEN « Tu as gagné ! »↵↵↵↵ ELSE « Tu as choisi trop petit » ↵↵↵↵ IF END ↵↵↵↵ IF END ↵↵↵↵ (Fin des tests) LP WHILE M = N ↵↵↵↵ (Fin de la boucle) « FIN » Avec une TEXAS, le programme est sensiblement le même : PROGRAM « NB MYST » : Int(1000*rand+1) →→→→ N ↵↵↵↵ : REPEAT M = N↵↵↵↵ : OUTPUT(“Entrez un entier compris entre 1 et 1000”)↵↵↵↵ PROMPT M↵↵↵↵ : IF M >>>> N ↵↵↵↵ : THEN OUTPUT(« Tu as choisi trop grand »)↵↵↵↵ : ELSE IF M=N ↵↵↵↵ : THEN OUTPUT(« Tu as gagné ! »)↵↵↵↵

Page 5: Lesson Algorithmes

: ELSE OUTPUT(« Tu as choisi trop petit ») ↵↵↵↵ : END↵↵↵↵ : END↵↵↵↵ : END↵↵↵↵ : OUTPUT(«FIN ») Dans Excel Le nombre Mysterieux Choisi par la machine en A13 puis recopié avec la poignée vers le bas autant de fois que nécessaire Nous entrons des entiers M dans la colonne B et C sert pour les tests (=ent(1000*alea()+1) puis on appuie sur f9 pour que dans la recopie la valeur ne change pas) (Lors du jeu, on pourra obscurcir cette colonne avec la couleur noire) (Le test en contient 2, si M=N alors nous affichons "Gagné" (sinon nous guidons la recherche en indiquant "Trop haut" ou "Trop bas") (=SI(A15=B15;"Gagné";SI(A15<B15;"Trop haut";"Trop bas")))

A B C D E F 12 N M Test 13 837 200 Trop bas 14 837 900 Trop haut 15 837 450 Trop bas 16 837 etc etc 17 837 etc etc 18 837 etc etc 19 837 etc etc 20 837 etc etc 21 837 etc etc 22 837 etc etc 23 837 etc etc 24 837 etc etc 25 837 etc etc 26 837 etc etc 27 837 837 Gagné

Exercice 2 Cet algorithme est très simple : Il ne contiendra que des affectations de variables. (2x + 3)2 = 4x2 + 12x + 9. (Identité remarquable (a + b)2) Il y a deux façons de fabriquer le résultat de cette fonction et voici les deux algorithmes qui en découlent. Algorithme 1. Entrée Mettre un nombre réel dans a ; Mettre 4*a2 dans b ; Traitement Mettre 12*a dans c ; Mettre 9 dans d ; Sortie Afficher : b + c + d.

(On entre les nombres M en B puis on recopie les tests C vers le bas) Ici, nous avons 15 essais simulés.

Page 6: Lesson Algorithmes

Algorithme 2. Entrée Mettre un nombre réel dans a ; Mettre 2*a dans b ; Traitement Mettre 3 dans c ; Mettre b + c dans d ; Sortie Afficher d 2. Il s’agit en fait de « deux automates ou machines » réalisant un calcul. Dans Excel : Tracer d'une parabole f(x) = (2x + 3)²

x 2x 2x+3 (2x+3)² -10 -20 -17 289 -9 -18 -15 225 -8 -16 -13 169 -7 -14 -11 121 -6 -12 -9 81 -5 -10 -7 49 -4 -8 -5 25 -3 -6 -3 9 -2 -4 -1 1 -1 -2 1 1 0 0 3 9 1 2 5 25 2 4 7 49 3 6 9 81 4 8 11 121 5 10 13 169

6 12 15 225 7 14 17 289 8 16 19 361 9 18 21 441 10 20 23 529

Si on veut mettre en évidence la symétrie alors, il faut un tableau de valeurs symétrique par rapport à x = -1,5. (par exemple, -11,5;8,5) (Voir les valeurs de f pour -2 et -1;-3 et 0 etc….) (Faire la même chose avec f(x) = 4x² + 12x + 9, c'est-à-dire l'autre automate de calcul) (On obtient évidemment la même courbe)

Exercice 3 f(x) = x3 – x2 + x + 5. Nous voulons chercher si cette fonction f a des racines dans l’intervalle [– 5 ; 5]. Nous cherchons donc x∈[– 5 ; 5] tels que f(x) = 0.

Page 7: Lesson Algorithmes

L’algorithme est nettement plus difficile. Mettre – 5 dans a ; Mettre 5 dans b ; (Nous entrons les bornes de l’intervalle d’étude) Entrées Mettre – 5 dans x ; (x la variable pour le traitement) Mettre 0 dans N (N le nombre des racines) Tant que x ≤ b Mettre x^3 – x^2 + x + 5 dans F. Mettre (x + 0,5)^3 – (x + 0,5)^2 + (x + 0,5) + 5 dans G. Traitement Si F*G ≤ 0 Alors « nous avons trouvé une racine » ; Mettre x dans R[N] ; (R est un tableau contenant) N reçoit N+1 ; (les racine trouvées :) Sinon x reçoit x + 0,5 ; (R[1] première racine) Fin de tant que (R[2] la deuxième etc…) Sorties Si N = 0 Alors affichons « Pas de racine dans l’intervalle [– 5 ; 5] Sinon de 1 à N, affichons R[N]. Le test est basé sur le fait le calcul de f(x) avant et après une racine va donner deux nombres de signes contraires (F*G ≤ 0). Dans Excel Les racines de f(x) = x^3-x^2+x+5 dans l'intervalle [- 5;5]

x f(x) f(x+0,5) -5 -150 -110,88 pas de racine dans [ -5 -4,5 ]

-4,5 -110,88 -79 pas de racine dans [ -4,5 -4 ] -4 -79 -53,625 pas de racine dans [ -4 -3,5 ]

-3,5 -53,625 -34 pas de racine dans [ -3,5 -3 ] -3 -34 -19,375 pas de racine dans [ -3 -2,5 ]

-2,5 -19,375 -9 pas de racine dans [ -2,5 -2 ] -2 -9 -2,125 pas de racine dans [ -2 -1,5 ]

-1,5 -2,125 2 On a une racine dans . [ -1,5 -1 ] -1 2 4,125 pas de racine dans [ -1 -0,5 ]

-0,5 4,125 5 pas de racine dans [ -0,5 0 ] 0 5 5,375 pas de racine dans [ 0 0,5 ]

0,5 5,375 6 pas de racine dans [ 0,5 1 ] 1 6 7,625 pas de racine dans [ 1 1,5 ]

1,5 7,625 11 pas de racine dans [ 1,5 2 ] 2 11 16,875 pas de racine dans [ 2 2,5 ]

2,5 16,875 26 pas de racine dans [ 2,5 3 ] 3 26 39,125 pas de racine dans [ 3 3,5 ]

3,5 39,125 57 pas de racine dans [ 3,5 4 ] 4 57 80,375 pas de racine dans [ 4 4,5 ]

4,5 80,375 110 pas de racine dans [ 4,5 5 ] 5 110 146,63 pas de racine dans

On peut ensuite affiner la recherche en changeant l'intervalle d'étude.

Page 8: Lesson Algorithmes

Ici par exemple, nous prendrions [-1,5:-1] avec comme pas 0,1 Le test : =SI(B5*C5 ≤≤≤≤ 0;"On a une racine dans ";"pas de racine dans ") Si nous affinons la recherche : f(-1,3) = -0,187 et f(-1,2)=0,632 f(-1,28)=-0,015 et f(-1,27)=0,0687 etc….

Exercice 4 Dans N, un nombre b est diviseur de a si et seulement si a = bq , q∈N (q quotient). Remarque : si b n’est pas un diviseur de a alors nous avons a = bq + r (égalité caractéristique de la division euclidienne) r est le reste de la division que l’on n’a pas poussée après la virgule, 0<<<< r ≤≤≤≤ b – 1. Exemple : 5 divise 30, nous pouvons écrire 30 = 6 x 5. (q = 6) 5 ne divise pas 34, nous écrivons 34 = 6 x 5 + 4. (q = 6 et r = 4) Voici l’algorithme : Mettre l’entier choisi dans a ; Entrées Mettre 1 dans b ; (1 sera le premier diviseur testé) Mettre 0 dans NB ; (NB le nombre de diviseurs de a) Tant que b ≤ E(a/2) (Nous arrêtons la recherche à) Mettre E(a/b) dans q ; (la moitié de a car tous les diviseurs) Mettre a – bq dans r ; (auront été trouvés) Si r = 0 Traitement Alors afficher le diviseur b ; NB devient NB+1 ; (Incrémentation du compteur NB) Sinon ne rien afficher ; b devient b+1 ; (On passe au nombre b suivant) Fin de tant que Afficher le dernier diviseur a ; (a n’est pas trouvé si on arrête à E(a/2)) Nb devient NB + 1 ; Sorties Afficher le nombre NB de diviseurs. (Les diviseurs ont été affichés au) (cours du traitement)

Page 9: Lesson Algorithmes

Dans Excel : Chercher les diviseurs d'un entier donné Exemple a = 24 A B C D

5 a b E(a/b) test Dans la cellule B6 :1. 6 24 1 24 1 Dans B7 :=B6+1 puis recopie vers le bas 7 24 2 12 2 8 24 3 8 3 Dans C6 : =ENT(A6/B6) puis recopie vers le bas 9 24 4 6 4 10 24 5 4 Dans D6, le test : =SI(A6-(B6*C6)=0;B6;"") 11 24 6 4 6 puis recopie vers le bas. 12 24 7 3 13 24 8 3 8 Nous ajoutons 24 qui ne peut pas être trouvé. 14 24 9 2 15 24 10 2 Dans D20 : =D17-D6+1- NB.VIDE(D6:D17)+1 16 24 11 2 (Comptabilisation des diviseurs) 17 24 12 2 12

et 24 8 diviseurs

Nous savons décomposer un entier en facteur premier. Par exemple 24 = (2^3) (3). Il existe un théorème disant : si la décomposition est de la forme n = (aα) (bβ) alors, le nombre des diviseurs est donné par NB = (α +1)(β + 1) (Théorème démontré en TS) en l'occurrence ici : NB = (4)(2) = 8 diviseurs. L'algorithme ci contre ne donne pas 24 l'entier lui même car nous le stoppons à la moitié de 24 pour gagner du temps. Au fait, il y a un autre théorème (de TS) donnant la liste des diviseurs : Si n = (aα) (bβ) alors la liste des diviseurs de n est donnée par : (1 + a1 + a2 + .... + aα)(1 + b1 + b2 + .... + bβ) = Dans notre exemple ceci donne : (1 + 2 + 22 + 23)(1 + 3) = (1 + 2 + 4 + 8)(1 + 3) = 1 + 3 + 2 + 6 + 4 + 12 + 8 + 24. Nous avons bien les 8 diviseurs écrits dans le désordre.

Page 10: Lesson Algorithmes

Exercice 5 Nous devons écrire un algorithme donnant le PGCD de deux entiers par la méthode des différences. Mettre le premier entier dans a ; Les Entées Mettre le deuxième entier dans b ; Mettre a dans A ; (Nous conservons les valeurs initiales) Mettre b dans B ; (de a et b) Tant que a ≠ b (Une boucle et un test) Si a > b Alors mettre a – b dans a Le Traitement Sinon mettre b – a dans b ; Fin de tant que Les Sorties Afficher : « Le PGCD des deux entiers est », a. Afficher : « Le PPCM des deux entiers est », (A*B)/a. (Il y a un théorème disant : a∈N et b∈N ; (a)(b) = PGCD(a ;b) * PPCM(a ;b)) PGCD de deux nombres (méthode des différences) Exemple : PGCD(240;150)

a b 240 150 Nous entrons les deux nombres entiers a et b 90 150 en dessous de chaque nombre, nous effectuons 90 60 un test : 30 60 en dessous de 240 :=SI(A5>B5;A5-B5;A5) 30 30 en dessous de 150 :=SI(A5>B5;B5;B5-A5) (240 en A5 et 150 en B5)

Nous recopions vers le bas tant que les deux colonnes n'affichent pas le même nombre.

30 PPCM (240 ;150) = 1200 ( =(A5*B5)/A9)

A vous de retrouver ces résultats en utilisant les décompositions en facteurs premiers. Exercice 6

Nous savons que 180° vaut π radians donc x degrés vaudra : 180

x×π.

Par exemple 60° vaut 180

60×π=

3

π radians soit environ 1,047 radians.

D’abord, nous allons donner l’automate de calcul qui transforme les degrés en radians, il est très simple puis nous écrirons un autre algorithme donnant la mesure principale de l’angle. Définition : on appelle mesure principale d’un angle, la mesure αP comprise entre −π et π . Donc : Un angle a une infinité de mesure αK , kα = αP + 2kπ αP ∈ ]−π ; π]

(k ∈ Z, le nombre de tours dans un sens ou dans l’autre sur le cercle trigonométrique)

Le PGCD(240;150) est :

Page 11: Lesson Algorithmes

Exemple : 6

π (30°) est une mesure principale.

Les autres mesures sont données par : kα = 6

π + 2kπ, k ∈ Z

si k = 0 on trouve αP = 6

π (30°)

si k = 1 on trouve α1 = 6

π + 2π =

6

13π (390°)

si k = −1 on trouve 1−α = 6

π − 2π =

6

11π− (−330°)

si k = 2 on trouve 2α = 6

π + 4π =

6

25 π (750°) etc.

Premier algorithme (Il n’y a que des affectations). Entrée Mettre dans α la mesure de l’angle en degrés Traitement Mettre dans αR, (π*α)/180 Sortie Afficher : L’angle en radians vaut, αR. Avec Excel Transformer des degrés en radians

(=(A6*PI())/180)

α en ° α en rd puis recopie vers le bas 0 0 10 0,1745 tableau valable pour 20 0,3491 0 ≤ α ≤ 180° 30 0,5236 40 0,6981 (On donne avec 4 décimales) 50 0,8727 60 1,0472 70 1,2217 80 1,3963 90 1,5708 100 1,7453 110 1,9199 120 2,0944 130 2,2689 140 2,4435 150 2,6180 160 2,7925 170 2,9671

180 3,1416

Page 12: Lesson Algorithmes

Pour le 2ième algorithme, plus difficile car il faut se ramener dans l’intervalle ]– 180 ; 180] avant de faire la conversion. Entrées Mettre la mesure en degrés dans α ; Mettre α dans a ; Si a ≤ – 180 Alors Tant que a ≤ – 180 Mettre dans a, a + 360 ; Fin de Tant que Traitement Sinon Si a > 180 Alors Tant que a > 180 Mettre dans a, a – 360 ; Fin de Tant que ; Mettre a dans αP ; (mesure principale en degrés) Mettre (αP * π)/180 dans αPr ; (mesure principale en radians) Sortie Afficher « α degré représente comme mesure principale en radians »,αPr. Dans Excel Afficher la mesure principale d'un angle α donné

α αP en ° α en radians Test :=SI(A4<=-180;A4+360;SI(A4>180;A4-360;A4))

750 390 6,8068 En A5 :=B4. La recopie assure le tant que 390 210 3,6652 210 30 0,5236 La mesure principale en radians 30 30 0,5236 se trouve dans ] -3,1416 3,1416 ]

80 80 1,3963 (Remarque : Pour Pi, on tape =Pi()) -100 -100 -1,7453 -200 160 2,7925

Exercice 7 Il y a un travail préparatoire à effectuer avant d’écrire l’algorithme. Voici les deux cas de figure :

x

Page 13: Lesson Algorithmes

Calculons BI hauteur du triangle (ABC) : sinAB

BI

2

3

3==

πdonc 2BI = 34 , BI = 32 .

Calculons l’aire de (ABC) : Aire(ABC) = =×=×2

326

2

BIAC 36 .

x va varier dans l’intervalle [0 ;6] en effet J se trouve sur [AC]. Les figures ci-dessus nous montrent bien deux cas pour le calcul des aires : Soit J∈∈∈∈[AI] ou bien J∈∈∈∈[IC] et nous l’avons appelé J2 dans ce cas là.

Calculons AI dans le triangle ABI : cos2

1

AB

AI

3==

π donc 2AI = AB soit 2AI = 4, AI = 2.

Les deux cas à envisager sont donc : 1) x∈∈∈∈[0 ;2] ou bien 2) x∈∈∈∈]2 ;6]. Etude du premier cas : x∈[0 ;2]

Calculons M1J : tanAJ

JM3

31==

π et donc M1J = 3x .

Calculons l’aire de (AJM1) : Aire(AJM1) = =×2

JMAJ 1

2

)3x)(x(=

23x2

.

Etude du deuxième cas : x∈[2 ;6]. Pour le deuxième cas, cherchons la longueur J2M2 Dans le triangle (CBI), [J2M2] est parallèle à [BI], appliquons le théorème de Thalès :

BI

MJ

CI

CJ 222 = ⇔ 32

MJ

4

x6 22=− et donc 4J2M2 = )x6(32 − donc J2M2 =

2)x6(3 −−−−

.

L’aire de (J2M2C) sera : Aire(J2M2C) = 2

CJMJ 222 ×=

4

)x6)(x6(3 −− =

4)x6(3 2−−−−

.

Démontrons que, pour réaliser le partage demandé en deux aires égales, x doit être dans

l’intervalle ]2 ;6]. En effet, si x∈[0 ;2], alors Aire(AJM1) =2

3x2 . La fonction f,

2

3x2 est

une fonction croissante sur [0 ; 2] (Si x augmente, 2

3x2 augmente). Or pour x = 2, cette aire

vaut 322

34 = inférieur à la moitié de l’aire de (ABC) qui vaut33 .

Le partage demandé sera réalisé dans le deuxième cas quand x∈∈∈∈[2 ;6]. L’algorithme qui trouve une valeur approchée de x sera :

Mettre 36 dans Aire(ABC) ; Mettre 2 dans x ;

Les Entrées Mettre 2

)x6(3 − dans J2M2 ;

Mettre 0,5(J2M2)(6-x) dans Aire(J2M2C) ; Mettre faux dans trouvé (TROUVE est un booléen) Tant que non trouvé (qui vaut vrai ou faux)

Si Aire(J2M2C) – 33 < 0 Alors « Nous avons trouvé une valeur approchée de x cherché » Traitement Mettre x dans xC ; Mettre trouvé à vrai Sinon x devient x + 0,1 ; Fin de tant que ;

Page 14: Lesson Algorithmes

Sorties Afficher « La valeur approchée de x qui réalise le partage de (ABC) en deux parties ayant ma même aire est », xC. Dans Excel Un triangle partagé en deux parties de même aire. Soit un triangle ABC avec AB = 4; AC = 6 et l'angle A de 60° Nous voulons partager ce triangle en deux en traçant une perpendiculaire (∆) à [AC] Soit J le pied de cette perpendiculaire, J est sur le segment [AC]. Nous posons AJ = x. ({M} = (∆)∩[AB] et I le pied de la hauteur partant de B) M2J2 la longueur de la perpendiculaire entre les côtés AC et AB quand x>2 AC =6 AB = 4 BI = 3 Aire(ABC) = 10,3923048

x AJ ou J2C A(G) A(D) test

0 0 0 10,392305 Dans A12, 0 . 0,1 0,1 0,00866 10,383645 Dans A13, =A12+0,1 0,2 0,2 0,03464 10,357664 puis copie vers le bas 0,3 0,3 0,07794 10,314363 0,4 0,4 0,13856 10,253741 Dans B12,=SI(A12<=2;A12;6-A12) 0,5 0,5 0,21651 10,175798 (AJ ou CJ2) 0,6 0,6 0,31177 10,080536 0,7 0,7 0,42435 9,9679524 Dans C12, 0,8 0,8 0,55426 9,8380486 =SI(A12<=2;0,5*A12*A12*(3)^0,5 0,9 0,9 0,70148 9,6908243 ;$H$9-0,25*B12*B12*3^0,5) 1 1 0,86603 9,5262794 (Calcul aire gauche A(G))

1,1 1,1 1,04789 9,3444141 1,2 1,2 1,24708 9,1452283 Dans D12, 1,3 1,3 1,46358 8,9287219 =SI(A12<=2;$H$9-0,5*A12*A12*3^0,5 1,4 1,4 1,69741 8,6948951 ;0,25*(6-A12)^2*3^0,5) 1,5 1,5 1,94856 8,4437477 (Calcul aire droite A(D)) 1,6 1,6 2,21703 8,1752798 1,7 1,7 2,50281 7,8894914 Dans la colonne E TEST 1,8 1,8 2,80592 7,5863825 =SI(C12-D12>0;"oui";"") 1,9 1,9 3,12635 7,2659531 On arrête la recopie lorsque le premier"oui" 2 2 3,4641 6,9282032 apparaît.

2,1 3,9 3,80618 6,5861232 2,2 3,8 4,1396 6,2527034 puis recopie vers le bas 2,3 3,7 4,46436 5,9279439 2,4 3,6 4,78046 5,6118446 2,5 3,5 5,0879 5,3044056 Valeur approchée réalisant le partage demandé 2,6 3,4 5,38668 5,0056268 oui x ≈≈≈≈ 2,60 2,7 3,3 5,6768 4,7155083 2,8 3,2 5,95825 4,4340501 2,9 3,1 6,23105 4,1612521 3 3 6,49519 3,8971143

etc… Nous pouvons terminer en cherchant la valeur exacte de x.

Page 15: Lesson Algorithmes

Nous devons résoudre l’équation suivante : Cherchons x∈[2 ;6] tel que :

Aire(J2M2C) = 2

1Aire(ABC) soit

4

)x6(3 2−= 33 ⇔ (6 – x)2 = 12 et donc 6 – x = 12 ou 6 – x = – 12

x = 6 −−−− 12= 6 – 2 3 ≈≈≈≈ 2,536 ou x = 6 + 12 = 6 + 32 ∉ [2 ;6]. Illustration dans Cabri géomètre

Exercice 8 « Un lieu géométrique ». Avant de donner l’algorithme, démontrons que I se déplace sur un segment de droite. Nous avons M(x ; 0) et N(0 ; 6 – x) car nous devons avoir xM + yN = 6. x∈∈∈∈[0 ;6]. Calculons les coordonnées du milieu du segment [MN]

xI = 2

xx NM + =

2

x ; yI =

2

yy NM +=

2

x6 − x∈[0 ;6].

yI = Ix32

x3 −=− la relation qui relie xI à yI est de la forme y = ax + b.

x∈∈∈∈[0 ;6] et y = 3 – x ; il s’agit bien d’un segment de droite. I appartient donc à un segment. Réciproquement, tous les points du segment trouvé conviennent en effet, nous avons raisonné par équivalence. Voyons l’algorithme : Les Entrées Mettre 0 dans xM ; Mettre 6 − xM dans yM ; Tant que xM ≤ 6 Mettre dans xI , xM/2 ; Mettre dans yI, (6 – xM)/2 ;

Page 16: Lesson Algorithmes

Le Traitement Afficher les coordonnées de I, xI et yI ; Entrer dans un traceur de courbe, les deux coordonnées ; xM devient xM + 0,2 ; (Si on prend un pas de 0,2) Fin de tant que ; La Sortie Joindre les points obtenus dans le traceur de courbe. Dans Excel Etude du milieu d'un segment MN sachant que xM+yM=Constante

xM yM xN yN xI yI 0 0 0 6 0 3

0,2 0 0 5,8 0,1 2,9 0,4 0 0 5,6 0,2 2,8 0,6 0 0 5,4 0,3 2,7 0,8 0 0 5,2 0,4 2,6 1 0 0 5 0,5 2,5

1,2 0 0 4,8 0,6 2,4 1,4 0 0 4,6 0,7 2,3 1,6 0 0 4,4 0,8 2,2 1,8 0 0 4,2 0,9 2,1 2 0 0 4 1 2

2,2 0 0 3,8 1,1 1,9 2,4 0 0 3,6 1,2 1,8 2,6 0 0 3,4 1,3 1,7 2,8 0 0 3,2 1,4 1,6 3 0 0 3 1,5 1,5

3,2 0 0 2,8 1,6 1,4 3,4 0 0 2,6 1,7 1,3 3,6 0 0 2,4 1,8 1,2 3,8 0 0 2,2 1,9 1,1 4 0 0 2 2 1

4,2 0 0 1,8 2,1 0,9 4,4 0 0 1,6 2,2 0,8 4,6 0 0 1,4 2,3 0,7 4,8 0 0 1,2 2,4 0,6 5 0 0 1 2,5 0,5

5,2 0 0 0,8 2,6 0,4 5,4 0 0 0,6 2,7 0,3 5,6 0 0 0,4 2,8 0,2 5,8 0 0 0,2 2,9 0,1 6 0 0 0 3 0

Pour xM, initialisation à 0 puis incrementation de 0,2 jusqu'à 6. Pour yN, initialisation à 6 puis =6-A6 Pour yM et xN, 0 partout. Nous reconnaissons y = 3 - x Pour xI : =(A5+C5)/2 Pour yI : =(B5+D5)/2 Nous sélectionnons la colonne xI puis CTRL la colonne yI, appel de l'assistant graphique (Nuage de points)

2 3 4 5 6

2

3

4

5

6

-1

0 1

1

x

y

M1

N1

I1

M2

N2

I2

M3

N3

I3

I4 M4

Page 17: Lesson Algorithmes

Exercice 9 Deux vecteurs non nuls u

r(a ; b) et v

r(a’; b’) sont colinéaires si et seulement si :

ab’ – a’b = 0. (Ils ont alors la même direction) Algorithme Mettre xu dans a ; Les Entrées Mettre yu dans b ; Mettre xv dans a’ ; Mettre yv dans b’ ; Si (a=0 et b= 0) Alors Afficher « u

r et v

r ne sont pas colinéaires »

Sinon Si (a’= 0 et b’ = 0) Alors Afficher « u

r et v

r ne sont pas colinéaires »

Le Traitement Sinon Si ab’ – a’b = 0 Alors Afficher « u

ret v

r sont colinéaires »

Sinon Afficher « ur

et vr

ne sont pas colinéaires » Les Sorties Elles ont été faites dans le traitement. Dans Excel, voyons quelques cas : Vecteurs colinéaires dans le plan (P) Si l’un des 2 vecteurs est nul

Alors, ils ne sont pas colinéaires. a b a' b' test 0 0 3 6 non 1 4 2 8 oui 0 6 0 9 oui 0 5 0 0 non -3 2 30 -20 oui

test de colinéarité : "=SI(ET(A5=0;B5=0);"non";SI(ET(C5=0;D5=0);"non";SI( A5*D5-B5*C5=0;"oui";"non")))" . puis recopie vers le bas pour tester les données. le test est un peu compliqué car il y a des cas particuliers, nous avons 3 si imbriqués .

Exercice 10 Le nombre de Km pour venir au Lycée en arrondissant au Km le plus proche). Enquête : 0 0 2 1 1 4 0 2 1 0 0 0 0 6 2 8 0 1 N = 18 (Effectif total) Dans les entrées, nous aurons « un tant que » pour introduire les 18 valeurs de la variable.

Page 18: Lesson Algorithmes

Nous allons utiliser un tableau x de valeurs : x[1] pour 0 ; x[2] pour 0 ; x[3] pour 2 etc… L’algorithme est : Mettre 1 dans N ; Tant que N ≤ 18 Les Entrées Mettre une valeur de l’enquête dans x[N] ; N reçoit N+1 ; Fin de Tant que ; Mettre 0 dans S ; Mettre 1 dans N ; Tant que N ≤ 18 Le Traitement Mettre dans S la valeur S + x[N] ; N reçoit N + 1 ; Fin de Tant que ; Sortie La moyenne de cette série sera, S/18. Dans Excel Traitements statistiques La série : 0 0 2 1 1 4 0 2 1 0 0 0 0 6 2 8 0 1

xi ni % Mo= 0 km (=MODE(A2:I3)) 0 8 44% 1 4 22% Moy= 1,6 km (=MOYENNE(A2:I3) 2 3 17% 4 1 6% Mé = 1 km (=MEDIANE(A2:I3)) 6 1 6% 8 1 6% 18 100% =SOMME(B4:B9)

Calculs% : =B6/$B$10

le $ permet de fixer 18 avant la recopie

0

2

4

6

8

0 1 2 4 6 8