[PDF] Lalgorithme de dichotomie Quelle technique de jeu peut





Previous PDF Next PDF



Cours de mathématiques - Exo7

Plus précisément nous allons voir trois méthodes afin de trouver des approximations des solutions d'une équation du type (f (x) = 0). 1. La dichotomie.



Analyse Numérique

2.2.4.1 Méthode de dichotomie. Avantages : la convergence est assurée on a un encadrement de la solution un seul calcul de fonction à chaque itération.



Résolution déquations non linéaires 1. Méthode de dichotomie

Méthode de dichotomie. On consid`ere un intervalle [a b] et une fonction f continue de [a



Lalgorithme de dichotomie

Quelle technique de jeu peut employer Bertrand pour gagner le plus rapidement possible ? • Première méthode : déterminer dans quel intervalle [A ; B] se trouve 



Algorithmique Trier et Trouver

dichotomie (méthode «diviser pour régner») : Retenir (Idée). Si le tableau tab est trié pour tout indice i



Module : Méthodes numériques et programmation

3.2 Racine de la fonction obtenue par la méthode de dichotomie . . . . 56. 3.3 Principe de la méthode de Newton . . . . . . . . . . . . . . . . . . . 59.



Analyse Numérique

La méthode de dichotomie est basée sur le théor`eme suivant : Théor`eme 2.1. Soit [a b] un intervalle fermé de R et f : [a



Travaux Pratiques Méthodes Numériques

Nous introduisons dans cette section les méthodes de dichotomie (ou de bissection) point fixe et de Newton. Nous les présentons dans l'ordre de complexité 



Méthode de dichotomie et méthode de Newton

Méthode de dichotomie et méthode de Newton. 1) Connectez-vous. Dans votre dossier amnu créez un sous-dossier TP2 et mettez-vous dedans.



Chapitre 3 Résolution numérique des équations non linéaires

On cherche donc à calculer x de façon approchée. 3.1 Méthode de dichotomie. Elle repose sur le théorème des valeurs intermédiaires : une fonction continue f 

L"algorithme de dichotomie

Henri ROLANDMai 2010

1) Le jeu du nombre caché

Albert a choisi un nombre compris entre 1 et 100, Bertrand doit le deviner. Bertrand fait des propositions et Albert répond "trop grand", "trop petit" ou "gagné". Le jeu s"arrête lorsque Bertrand a trouvé le nombre. Faire fonctionner le jeu avec un camarade, archiver le déroulement du jeu dans un tableau sur papier.

Que faut-il mémoriser ?

Que faut-il archiver dans le tableau ?

On décide d"appeler N le nombre caché

et R la réponse de Bertrand. Albert a choisi 63. On obtient le tableau suivant :

NRTestRéponsed"Albert

6340RNTrop petit

80RNTrop grand

60RNTrop petit

65RNTrop grand

62RNTrop petit

63R=NGagné

On veut maintenant remplacer Albert par un ordinateur et écrire l"algorithme à faire exécuter à l"ordinateur dans ce cas. Pour répondre au nombre R proposé par Bertrand on pourra envisager l"instruction conditionnelle :

Si RN alors

Afficher("Trop grand")

Sinon?

?si RN alors

Afficher("Trop petit")

Sinon

Afficher("Gagné")

On obtient ainsi l"algorithme suivant

NNombre aléatoire compris entre 1 et 100.

Lire(R)

Tant que R=N Faire?

?Si RN Alors

Afficher("Trop grand")

Sinon?

?si RN Alors

Afficher("Trop petit")

Sinon

Afficher("Gagné")

Si R=N Alors

Lire(R)

LeLire(R)en fin de boucle permet à Bertrand de taper le nombre suivant sauf dans le

cas où il a gagné. On aurait préféré avoir leLire (R)en début de boucle, par contre

dans ce cas on aurait deux valeurs de R saisies avant le premierSiAlors. Une solution satisfaisante sera d"initialiser R avec une valeur telle queR=Ndans tous les cas. 1

On obtient l"algorithme suivant :

NNombre aléatoire compris entre 1 et 100.

R0

Tant que R=N Faire?

?Lire(R)Si RN Alors

Afficher("Trop grand")

Si RN Alors

Afficher("Trop petit")

Afficher("Gagné")

Programmation sur TI 82 Programmation en Python 2.6 :EntAléat(1,100)N :0R :While R=N :Prompt R :If RN :Then :Disp("TROP GRAND") :End :If RN :Then :Disp("TROP PETIT") :End :End :Disp("GAGNE")N=randint(1,100)R=0while R!=N :

R=input("R=")

if RN: print "Trop grand" if RN: print "Trop petit" print "Gagné"

2) Initiation à la dichotomie

Bertrand joue contre la machine. Archiver le jeu de Bertranddans un tableau sur papier. Quelle technique de jeu peut employer Bertrand pour gagner le plus rapidement possible ? Première méthode : déterminer dans quel intervalle [A ; B] setrouve le nombre caché et proposer un entier aléatoire dans cet intervalle. Deuxième méthode : déterminer dans quel intervalle [A ; B] setrouve le nombre caché et proposer un entier C proche du milieu de [A;B]. En employant la première méthode, si le nombre caché est 72 :

ABCR=Réponsed"Albert

110053Trop petit

5410080Trop grand

547957Trop petit

587965Trop petit

667978Trop grand

667771Trop petit

727777Trop grand

727672Gagné

On veut maintenant replacer Bertrand par un ordinateur et écrire l"algorithme à faire exécuter à l"ordinateur dans ce cas. 2 RemarqueLes calculatrices programmables "non formelles" ne gèrentque les variables de type

numérique et pas les chaînes de caractères. Il faut donc trouver un codage pour la réponse

d"Albert. Pour simplifier, Albert tapera -1 pour "Trop petit" ou 1 pour "Trop grand" ou 0 pour "Gagné".

On obtient l"algorithme suivant :

Première méthode

avec un entier aléatoire A1 B100 R2

Tant que R=0 Faire?

?CEntier Aléatoire entre A et B

Afficher(C)

Lire(R)

Si R=1 Alors

BC-1

Si R=-1 Alors

AC+1Deuxième méthode

par dichotomie A1 B100 R2

Tant que R=0 Faire?

?CPartieEntière(A+B 2)

Afficher(C)

Lire(R)

Si R=1 Alors

BC-1

Si R=-1 Alors

AC+1

Programmation de la deuxième méthode

Programmation sur TI 82 Programmation en Python 2.6 :1A :100B :2R :While R=0 :PartEnt((A+B)/2)C :Disp("PROPOSITION=",C) :Input("REPONSE ?",R) :If R=1 :Then :C-1B :End :If R=-1 :Then :C+1A :End :Endfrom math import *A=1B=100R=2while R !=0 :

C=floor((A+B)/2.)

print "Proposition = ",C

R=input("Réponse ? ")

if R==1: B=C-1 if R==-1: A=C+1

3) Utilisation de la dichotomie pour résoudre une

équation

est une fonction définie sur l"intervalle[;]et strictement monotone sur[;]. On cherche à résoudre numériquement l"équation() = 0. On peut éliminer tout d"abord les cas où() = 0ou() = 0 L"existence d"une racinesur];[est subordonnée au fait que()et()sont de signes contraires, ce qui équivaut à()()0et queest continue sur[;] Siest un réel de l"intervalle][la position depar rapport àpeut être testée par l"intruction suivante : 3

Si f(a)f(c)?0alors

Recherchersur ]a;c]

Sinon

Recherchersur ]c;b[

Dans la pratique on prendra pourle milieu de l"intervalle[;] On itérera le processus jusqu"à obtenir par exemple pourdonné.

Algorithme

A, B, E et f sont donnés.

Si f(A)f(B)0 alors

Afficher("Pas de racine sur ]A;B[")

Sinon?

?Tant que B-AE Faire? ?CA+B

2Si f(A)f(C)?0 alors

BC Sinon AC

Afficher(A,B)

Ecriture du programme

Pour le programme sur TI 82 on suppose que la fonction(

3++ 1)a été

prélablement entrée dans la variable Y1. Programmation sur TI 82 Programmation en Python 2.6 :Prompt A :Prompt B :Prompt E :If Y1(A)*Y1(B)0 :Then :Disp("PAS DE RACINE") :Else :While B-AE :(A+B)/2C :If Y1(A)*Y1(C)?0 :Then :CB :Else :CA :End :End :Disp("A=",A) :Disp("B=",B)def f(x): return x**3+x+1

A=input("A=")

B=input("B=")

E=input("Précision =")

if f(A)*f(B)=0 : print("pas de racine entre ",A," et ",B) else: while B-A=E :

C=(A+B)/2.

if f(A)*f(C)?0 : B=Cquotesdbs_dbs47.pdfusesText_47
[PDF] méthode de dichotomie python

[PDF] Methode de dissertation

[PDF] Méthode de dissertation HELP

[PDF] Méthode de factorisation

[PDF] methode de factorisation d'un polynome

[PDF] methode de gauss (systeme lineaire)

[PDF] méthode de gauss jordan exercices corrigés

[PDF] méthode de gauss matrice

[PDF] méthode de gauss matrice pdf

[PDF] methode de gauss resolution systeme

[PDF] méthode de gestion du temps pdf

[PDF] methode de horner

[PDF] methode de l'anthropologie

[PDF] méthode de la sécante exercice corrigé

[PDF] méthode de la sécante python