Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Programme à partir d'un algorithme pour vérifier la monotonie

Posté par
Aageborgen
15-09-11 à 17:49

Bonjour / Bonsoir :

Loin d'être un expert en programmation et en algorithme, je dispose seulement de quelques bases et j'ai tenté de répondre à la question suivante, mais sans succès malheureusement. Voici la question : traduire cet algorithme par un programme et tester ce programme. Je vous expose cet algorithme pour vous éclairer.


f est une fonction définie sur [V;W] avec f(V)f(W). On découpe l'intervalle [a;b] en N intervalles de même longueur (W-V)/N et on considère l'algorithme suivant :
Entrées :
V,W: bornes de l'intervalle
f: la fonction étudiée
N: le nombre d'intervalles
Initialisations :
pas (noté P): prend la valeur (V-W)/N
D: prend la valeur f(W)-f(V)
x: prend la valeur de V
Traitement :
Pour k de 1 jusqu'à N
|  Si f(x+P)-f(x) et D pas de même signe alors
|  Sortie
|  Afficher ''Fonction pas monotone''
|  Fin du programme
| FinSi
| x prend la valeur de x+P
FinPour
Sortie
Afficher ''Fonction semble monotone''

J'ai donc essayé un programme mais sans succès malheureusement avec ma TI82stats (en anglais). Le voici.

: ClrHome
: Lbl
: Menu("CHOIX","Ax+B",A,"x²+Bx",B,"Ax²-Bx+C",C,"QUITTER",XX)                  Ici c'est un menu qui servirait à étudier plusieurs fonctions f
: Lbl A
: ClrHome
: Input "A:", A
: Input "B:", B
: Input "V", V
: Input "W", W
: Input "N", N
: (W-V)/NP                 Pour comprendre ces calculs, se reporter à l'algorithme
: (A*W+B)-(A*V+B)D              Pour la fonction A, soit f=Ax+B
: Vx
: (A*(x+P)+B)O                  f(x+P) est représenté par O
: (A*x+B)Q                              f(x) est représenté par Q
: If O-Q0 ans D0: Then
: Disp ''Pas Monotone"
: Pause
: End
: If O-Q0 and D0
: Then
: Disp ''Pas monotone"
: Pause
: End
: If x+px
: Then
: Disp "Monotone"
: Pause
: End
: Goto

En vous remerciant d'avoir déjà lu mon message, et si vous le pouvez m'apporter des éléments de réponses (en pensant que je ne suis pas un expert dans le domaine SVP!). Peut-être faut'il faire une boucle en suivant la phrase

Citation :
Pour k de 1 jusqu'à N
. Cordialement.

Posté par
azalee
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 18:24

bonsoir Aageborgen
je pense que ton erreur vient de la ligne
If x+px -> x
relis l'algorithme ; à cette ligne, ce n'est pas une condition

Posté par
Aageborgen
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 18:41

Oui effectivement. Mais ma difficulté dans ce cas-là est de traduire ''x prend la valeur de x+pas".
Je ne connais pas l'utilité de Prompt et des autres touches alors...

Posté par
Aageborgen
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 18:50

Et aussi, parfois ça ne me marque pas ''Error'' mais ça me renvoie à mon menu de fonctions...

Posté par
azalee
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 18:58

tu dois juste écrire
x+px -> x,
mais pas à cet endroit ; il faut la mettre à la fin de la boucle donc juste avant goto qui devrait être goto A

une autre erreur : après "la fonction n'est pas monotone", il faut sortir du traitement; il ne faut pas recommencer une boucle.

une remarque : tu aurais pu regrouper les deux cas
If O-Q>0 and D<0
et If O-Q>0 and D<0
en un seul cas : si  le produit est négatif
if (O-Q)*D<0

Citation :
Et aussi, parfois ça ne me marque pas ''Error'' mais ça me renvoie à mon menu de fonctions...
parceque tu as mis goto au lieu de goto A

Posté par
Aageborgen
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 19:14

En comprenant un peu j'ai fait :

...
: Disp "Pas Monotone"
: Pause
: End
: x+px
: Disp "Monotone"
: Pause
: Goto A

Je ne suis pas du tout sûr que ce soit cela mais le programme a l'air de marcher mais il met toujours Monotone alors je reste bien dubitatif...

Posté par
azalee
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 19:51

ce n'est pas encore tout à fait juste :
- après goto A, mais une étiquette : lbl B

...
Disp "Pas Monotone"
: Pause
: goto B          <--------------- tu rajoutes cette ligne qui te fait sortir du prgr.
: End


ensuite, le "disp monotone" doit être écrit qd il a fini toutes les boucles.
Par contre, il faut rajouter une condition à "goto A" sinon, il tournera sans fin. Il faut vérifier que tu restes dans l'intervalle :hme
if x<w then goto A.


mais tu aurais pu plutôt utiliser une boucle "for", comme dans l'algorithme

Posté par
Aageborgen
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 20:03

Ca commence à devenir compliqué là

J'ai fait en fonction de ce que j'ai compris :

...
: Disp "Pas monotone"
: Pause
: Goto B
: End
: x+Px
: Disp "Monotone"
: If x<W               Là je comprend pas cette condition...
: Then
: Goto A

Posté par
azalee
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 21:08

je reprends depuis le début :
tu découpes l'intervalle  en N intervalles, et tu traites chaque intervalle
la ligne x+p->x fait "passer à l'intervalle suivant, mais il ne faut pas "sortir "de l'intervalle initial ; donc si x<W, tu refais la boucle; sinon, c'est fini.

En utilisant une boucle "For", ce serait plus simple.
(si tu n'es pas pressé, je te l'écrirai demain)

Posté par
azalee
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 21:41

je n'ai pas modifié le début du programme

: ClrHome
: Lbl
: Menu("CHOIX","Ax+B",A,"x²+Bx",B,"Ax²-Bx+C",C,"QUITTER",XX)                  Ici c'est un menu qui servirait à étudier plusieurs fonctions f
: Lbl A
: ClrHome
: Input "A:", A
: Input "B:", B
: Input "V", V
: Input "W", W
: Input "N", N
: (W-V)/NP                 Pour comprendre ces calculs, se reporter à l'algorithme
: (A*W+B)-(A*V+B)D              Pour la fonction A, soit f=Ax+B
: V->x

"je modofie à partir d'ici"
for (i,1,N)
: (A*(x+P)+B)->O                  f(x+P) est représenté par O
                                         (La variable O n'est pas très bien choisie,
                                         tu risques de confondre avec 0 (zéro))
: (A*x+B)->Q                       f(x) est représenté par Q
: If (O-Q)*D<0  Then
: Disp ''Pas Monotone"
: Pause
: goto B
: End (c'est le endif)
: x+P->x
: End (c'est le endfor)
: disp "la fonction semble monotone"
: pause
: lbl B
: end (fin du programme)
: goto si tu veux revenir au menu

est-ce que cela te paraît plus simple ?

Posté par
Aageborgen
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 21:57

Merci beucoup pour ces explications !!!

Posté par
azalee
re : Programme à partir d'un algorithme pour vérifier la monoton 15-09-11 à 22:10

j'espère que tu as compris la démarche.
Bonne soirée



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !