Spé maths DM

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Spé maths DM

par mathematixe » 31 Oct 2016, 16:19

Bonjour tout le monde, alors voilà mon DM :
a et b sont deux entiers naturels tels que a^2-2b^2=1
1. Démontrer:
a) Les entiers a et b sont premiers entre eux
b) a est impair
c) b est pair
2. Ecrire un algorithme puis un programme permettant de déterminer les couples d'entiers inférieurs à 100 vérifiant (1.)
J'ai réussi les 3 premières questions seulement je bloque pour la 2ème parce que mon programme ne fonctionne pas, j'aurai besoin d'aide merci d'avance.



siger
Membre Complexe
Messages: 2705
Enregistré le: 16 Fév 2013, 20:56

Re: Spé maths DM

par siger » 31 Oct 2016, 16:37

bonjour

donne nous ton programme .......

mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Re: Spé maths DM

par mathematixe » 31 Oct 2016, 17:03

A prend la valeur -1
B prend la valeur -2
Pour I allant de 0 à 49,
A prend la valeur A+2
Pour F allant de 0 à 49,
B prend la valeur B+2
Si A^2-2B^2=1
Afficher A,B
Fin Si
Fin Pour
Fin Pour
Fin programme

Donc ça c'est l'algorithme auquel j'ai pensé mais quand je le rentre dans la calculatrice ça ne fonctionne pas, j'aimerai bien comprendre pourquoi...

Avatar de l’utilisateur
zygomatique
Habitué(e)
Messages: 6928
Enregistré le: 20 Mar 2014, 13:31

Re: Spé maths DM

par zygomatique » 31 Oct 2016, 19:35

salut

cet algo est correct ... enfin il semble ... mais on peut faire bien plus efficace ...

donc si ça ne marche pas avec ta calculatrice c'est qu'il y a un pb de traduction ...

mais pour voir ce qui ne va pas il nous faut ton programme ...
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE

mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Re: Spé maths DM

par mathematixe » 31 Oct 2016, 19:50

Mon programme est comme ça:
-1-->A
-2-->B
For(I,0,49)
A+2-->A
For(F,0,49)
B+2-->B
If A^2-2B^2=1
Then
Disp A,B
End
End
End

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 13:44

Re: Spé maths DM

par Pseuda » 31 Oct 2016, 20:06

Bonsoir,

En quoi il ne marche pas ? Il n'affiche rien, il boucle, ou il affiche des résultats faux ?

mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Re: Spé maths DM

par mathematixe » 31 Oct 2016, 20:14

Il m'affiche le premier résultat qui est 1;0 est me dit (après un long chargement) "Done" Alors que je sais qu'il y a 4 couples solutions

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 13:44

Re: Spé maths DM

par Pseuda » 31 Oct 2016, 20:19

Ok. A quoi est égal B à la fin de sa 1ère boucle (quand A passe de 1 à 3) ?

mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Re: Spé maths DM

par mathematixe » 31 Oct 2016, 20:20

Et bien 0 pourquoi ? Enfin je l'ai fait de tête, je dois le demander à la calculatrice ?

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 13:44

Re: Spé maths DM

par Pseuda » 31 Oct 2016, 20:22

Non, il est parti de -1 et a fait 50 pas de 2, il est égal à 99.... et il y reste.

mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Re: Spé maths DM

par mathematixe » 31 Oct 2016, 20:24

Comment pourrais-je modifier cela ...? Parce que j'ai bien mis -2-->B au départ et pourquoi il y reste ? Merci pour ton aide

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 13:44

Re: Spé maths DM

par Pseuda » 31 Oct 2016, 20:28

Parce que dans ton programme, le -2 -> B n'est pas dans la boucle de A. C'est-à-dire que B n'est pas réinitialisé à chaque fois que A augmente de 2.

Conclusion : il faut mettre cette instruction dans la boucle de A.

mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Re: Spé maths DM

par mathematixe » 31 Oct 2016, 20:30

C'est bon je venais de trouver, merci pour ton aide Pseuda! Zygomatique parlait d'une méthode plus simple, s'il y en a une, j'aimerai bien la savoir ou tout du moins avoir un petit indice pour la trouver...?

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 13:44

Re: Spé maths DM

par Pseuda » 31 Oct 2016, 20:33

Avec a² - 2 b² = 1, est-ce que c'est la peine de dérouler b de 0 à 100, avec a = 1 par exemple ? Comment sont a et b l'un par rapport à l'autre ?

Il voulait certainement dire que tu peux optimiser le programme.

Par ailleurs, es-tu sûr que ton programme déroule a et b jusqu'à 100 ?

mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Re: Spé maths DM

par mathematixe » 31 Oct 2016, 20:39

Je devrai alors rajouter une condition pour dire au programme de passer directement à la suite ?
Mon programme ne déroule A que jusque 99 et B jusque 98, l'énoncé précise inférieurs à 100, je devrais le changer?

mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Re: Spé maths DM

par mathematixe » 31 Oct 2016, 20:47

C'est bon j'ai rajouté un tant que A>B juste après le début de la deuxième boucle, ça va un peu plus vite.

Pseuda
Habitué(e)
Messages: 3222
Enregistré le: 08 Avr 2015, 13:44

Re: Spé maths DM

par Pseuda » 31 Oct 2016, 20:47

On a : a > b. Il faudrait modifier complétement le programme.

Par exemple, ne faire qu'une boucle pour B, et calculer A tel que A² = 2 B² + 1, et voir si A est comment ?? Et s'arrêter quand B atteint ??

Avatar de l’utilisateur
zygomatique
Habitué(e)
Messages: 6928
Enregistré le: 20 Mar 2014, 13:31

Re: Spé maths DM

par zygomatique » 31 Oct 2016, 20:55

puisque tu fais deux boucles autant les faire sur A et B ce qui évitera cette erreur

Code: Tout sélectionner
For a = 1 To 99 step 2
    For b = 0 To 100 step 2
        If a^2 - 2b^2 = 1 Then Write a, b


et c'est fini

on fait évidemment en gros 50 * 50 opérations

un programme très optimisé serait :

Code: Tout sélectionner
For b = 0 To 100 step 2
   a = sqrt(1 + 2b^2)
   If a = E(a) Then Write a, b


qui ne fait que 50 opérations

E(a) = partie entière de a
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE

mathematixe
Membre Naturel
Messages: 59
Enregistré le: 03 Sep 2016, 22:03

Re: Spé maths DM

par mathematixe » 31 Oct 2016, 21:14

Ouaaah!! Votre programme est génial, jamais je n'y aurai pensé tout seul... Merci beaucoup à vous.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21535
Enregistré le: 11 Nov 2009, 22:53

Re: Spé maths DM

par Ben314 » 01 Nov 2016, 00:42

Une autre solution :
Code: Tout sélectionner
a=1 ; b=0;
while (a<=100)
  Print a, b
  Temp=3*a+4*b; b=2*a+3*b; a=Temp;
Sauf que, sans moultes question intermédiaires, je suis pas sûr que ce soit bien immédiat au niveau Lycée.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 89 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