A supprimer!

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
Jaretica
Messages: 8
Enregistré le: 08 Mai 2012, 10:36

A supprimer!

par Jaretica » 08 Mai 2012, 10:38

J'ai trouvé la solution à mon problème.



Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 08 Mai 2012, 13:18

Bonjour,
Moi, je peux vous aider si vous écrivez l'algorithme.

Jaretica
Messages: 8
Enregistré le: 08 Mai 2012, 10:36

par Jaretica » 08 Mai 2012, 13:33

Oui, l'algorithme du premier programme est:

a[0]=3 ; b[0]=4;
n=0;
Saisir (p);
Tantque (b[n]-a[n] ) > p faire
m= (a[n] + b[n])/2;
Si (m*m < p ) alors
a[n+1] =...;
b[n+1] =...;
Sinon
a[n+1] =...;
b[n+1] =...;
FinSi
n=n+1;
FinTantque
Afficher (a[n] et b[n]) ;

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 08 Mai 2012, 14:28

Jaretica a écrit:Oui, l'algorithme du premier programme est:

a[0]=3 ; b[0]=4;
n=0;
Saisir (p);
Tantque (b[n]-a[n] ) > p faire
....
Ah non, ça c'est pas un algorithme. Un algorithme, c'est soit écrit en français, si 'étais Italien, je dirais en italien, soit écrit avec des symboles, mais un langage qui sera CERTAINEMENT compris par le lecteur.
Pour, les ligne que j'ai recopiées, on pourrait écrire
Initialisation de la première valeur tableau A avec la valeur 3 et de B avec 4
Initialisation du compteur n avec 0
Demander à l'utilisateur une valeur p
Début de boucle, condition : contenu de la valeur dans b - la valeur dans A supérieur à p


D'autre part, si votre algorithme contient des "...", alors on appelle ça une devinette.

Jaretica
Messages: 8
Enregistré le: 08 Mai 2012, 10:36

par Jaretica » 08 Mai 2012, 14:36

D'accord, donc:
Etape 0: On sait que 3Etape 1: On partage l'intervalle [3;4] en deux intervalles [3;3,5] et [3,5;4]
Comme 3,5²<13, on choisit l'intervalle [3,5;4] qui contient racine de 13
Ainsi, on prend a1=3,5 et b1=4
On réitère un certains nombre n de fois l'opération jusqu'à obtenir une précision p telleque bn-an < ou égal à p.

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 08 Mai 2012, 15:05

Jaretica a écrit:D'accord, donc:
Etape 0: On sait que 3<racine de 13<4, donc on prend a0=3 et b0 =4
Etape 1: On partage l'intervalle [3;4] en deux intervalles [3;3,5] et [3,5;4]
Comme 3,5²<13, on choisit l'intervalle [3,5;4] qui contient racine de 13
Ainsi, on prend a1=3,5 et b1=4
On réitère un certains nombre n de fois l'opération jusqu'à obtenir une précision p telleque bn-an < ou égal à p.

Je vais reposer les hypothèses :
Vous voulez faire un programme qui calcule racine(13) par dichotomie.
Vous savez que racine de 13 est compris entre 3 et 4.
Les 3 données de base sont p=13 ; a=3 ; b=4;
Soit vous les mettez dans votre programmes, il ne pourra pas servir à calculer une autre racine, soit ces valeurs sont fournies par l'utilisateur. Par contre, si vous les demandez à l'utilisateur, le même programme pourra resservir pour calculer n'importe quelle racine carrée.

Quand vous modifiez une borne (a ou b) vous lui attribuez la valeur de la moyenne.
Pour bien comprendre le principe, tracez sur une feuille de papier un trait où vous porterez une valeur 3 et une valeur 4, racine 13 se trouve entre deux.
Vous essayer la moyenne entre a et b, c'est à dire (a+b)/2, cette valeur au carrée est à droite ou à gauche de 13. Suivant le cas, vous modifiez l'une des deux bornes et vous recommencer.
Mais à quel moment vous vous arrêtez ?

Jaretica
Messages: 8
Enregistré le: 08 Mai 2012, 10:36

par Jaretica » 08 Mai 2012, 15:09

Nous nous arrêtons avec une précision p de 10^-5 puis de 10^-9.

Pouvez vous reprendre mon programme dans mon premier post et me dire là où j'ai fait erreur ?

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 08 Mai 2012, 15:18

Jaretica a écrit:Nous nous arrêtons avec une précision p de 10^-5 puis de 10^-9.

Pouvez vous reprendre mon programme dans mon premier post et me dire là où j'ai fait erreur ?
A la première phrase, ça crève pas les yeux.
A la seconde, la réponse est NON : je ne connais pas ce langage, et si je fais cela, je me fais virer, mais comme ce serait contraire à mes habitudes, je risque pas de le faire.

Ecrivez l'algorithme comme je vous l'ai conseillé.

Jaretica
Messages: 8
Enregistré le: 08 Mai 2012, 10:36

par Jaretica » 08 Mai 2012, 15:25

Dlzlogic a écrit:A la première phrase, ça crève pas les yeux.
A la seconde, la réponse est NON : je ne connais pas ce langage, et si je fais cela, je me fais virer, mais comme ce serait contraire à mes habitudes, je risque pas de le faire.

Ecrivez l'algorithme comme je vous l'ai conseillé.


Vous ne connaissez pas le langage Casio ?

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 08 Mai 2012, 15:45

Jaretica a écrit:Vous ne connaissez pas le langage Casio ?

Ben non, mais ça ne m'empêche pas d'être sûr de pouvoir vous aider. J'ai très bien compris ce que vous avez écrit. En tout cas, c'est l'un des principes fondamentaux en informatique, qu'importe le langage, c'est la logique qui est importante.
Mais peut-être quelqu'un d'autre voudra vous aider.

Jaretica
Messages: 8
Enregistré le: 08 Mai 2012, 10:36

par Jaretica » 08 Mai 2012, 15:49

J'ai comme vous compris la logique ainsi que le principe de la dichotomie mais en réalité je bloque sur la rédaction du programme en langage casio, ou avec un logiciel informatique...

Iroh
Membre Relatif
Messages: 374
Enregistré le: 14 Oct 2008, 19:24

par Iroh » 08 Mai 2012, 16:03

Salut,


a[0]=3 ; b[0]=4;
n=0;
Saisir (p); # p ;) précision
Tantque (b[n]-a[n] ) > p faire # ok car b[n] > a[n]
m= (a[n] + b[n])/2;
Si (m*m < 13 ) alors
a[n+1] = m
Sinon
b[n+1] = m
FinSi
n=n+1;
FinTantque
Afficher (a[n] et b[n]) ;


Note que dans le programme, tu stockes tous les éléments de la suite dans un vecteur a et b.

Jaretica
Messages: 8
Enregistré le: 08 Mai 2012, 10:36

par Jaretica » 08 Mai 2012, 16:18

Merci beaucoup, mon programme 1 fonctionne à merveille!

J'ai modifier le programme 2, mais il ne fonctionne toujours pas..

Iroh
Membre Relatif
Messages: 374
Enregistré le: 14 Oct 2008, 19:24

par Iroh » 08 Mai 2012, 16:26

Jaretica a écrit:J'ai fait ceci :
?;)N
?;)P
N;)U
O;)I
While U -racine de N>P
(U+N/U)/2;)U
I+1;)I
WhileEnd
U
I


Code: Tout sélectionner
lire(p) # précision
u = 3
while abs(u*u - 13) > p
  u = (u + 13/u)/2
endwhile
afficher(u)


Ou en stockant toutes les valeurs de u dans un vecteur:
Code: Tout sélectionner
lire(p) # précision
u[0] = 3
n = 0
while abs(u[n]*u[n] - 13) > p
  u[n+1] = (u[n] + 13/u[n])/2
  n = n+1
endwhile
afficher(u[n])

Jaretica
Messages: 8
Enregistré le: 08 Mai 2012, 10:36

par Jaretica » 08 Mai 2012, 16:31

Merci je vais essayer! :)

Parfait les deux programmes fonctionne, merci beaucoup!

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 46 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite