Bonjour,
je suis nouveau dans le domaine et j'ai une difficulter avec un TD sur le calcul d'une approximation du nombre plastique.
ci joint l'énoncer du problème.
Merci de votre aide.
Bonjour,
je suis nouveau dans le domaine et j'ai une difficulter avec un TD sur le calcul d'une approximation du nombre plastique.
ci joint l'énoncer du problème.
Merci de votre aide.
Bonjour,
Ce n'est pas très compliqué, ça se fait assez facilement avec une seule boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 from math import * p = 1.324717957244746025960908854 print("precision :", end="") delta = float(input()) monp = 0 k = 0 while abs(monp - p) > delta: monp = (1 + monp)**(1/3) k+=1 print("Approximation : {} - {} itérations - Delta : {}".format(monp, k, abs(monp - p)))
Non, la solution proposée n'est pas bonne.
Ici ça commence par p= 1.32471... mais on ne peut pas commencer comme ça, parce que la valeur en question n'est qu'une approximation de p. Si on demande une précision avec 50 chiffres corrects, Le programme va tourner jusqu'à trouver une différence p-monp inférieure à 10^-50. Autrement dit, il va boucler infiniment.
Le test de sortie de boucle doit être : Tant que la différence (valeur actuelle de monp - Valeur précédente de monp) est supérieure au sueil fixé, continuer.
Peut être bien, mais si tu regardes les valeurs affichées par l'énoncé, tu verras que c'est ma technique qui est utilisées...
Puis la mentisse étant sur 52 bits, on n'ira jamais à plus de 15 chiffres significatifs. Pour un exercice de découverte du python, je pense que ça suffit...
Surtout que dans l'énoncé c'est écrit |p - votrep| < delta...
Le programme que j'ai écrit est donc ce qui est attendu.La différence entre votre approximation et p ci-dessus
warf... droit dans ses bottes!
Si on connaît déjà la solution, le problème se réduit à afficher un certain nombre de ses décimales connues. Pas la peine de faire des itérations coûteuses, il suffit de calculer un index en fonction de la précision demandée et afficher les caractères/digits correspondants.
- W
Encore une fois, peut-être... Mais ce n'est pas ce qui est demandé par l'exercice. Il faut calculer soit même une approximation et dire de combien elle diffère de la solution optimale... C'est juste un exercice pour apprendre python, on s'en fiche si la manière n'est pas la meilleure
Bonsoir,
Comme le dit Lulzec effectivement c'est un exercice avec pour but de débuter en python. Donc juste pour mettre en pratique certaines fonctions et les instructions répétitives.
Le programme proposer répond effectivement a la question poser.
Merci beaucoup a tous pour votre aide.
Bonne suite
Je dirais même plus merci NJosephCOMpa....
![]()
Partager