Bonjour,
voilà mon exercice :
On considère la fonction f définie sur [0;100].
On admet que la fonction f est croissante sur [0;100].
1) quel est le maximum de f sur l'intervalle de [0;100] ?
j'ai trouvé 1 000 300 je doute fortement
2) compléter l'algorithme ci-dessous pour qu'après exécution, la variable N contienne le plus petit entier naturel n tel que f(n) >=15000
N 0
Y 200
tant que..... j'ai mis y<=15000
N ..... j'ai mis N + 1
y N**3+N+200
Fin tant que
3) programmer une fonction en langage Python retournant le plus petit entier nautrel n tel que f(n) >=15000. Déterminer cette valeur
j'ai fait
def f():
n=0
y=200
while y<=15000:
n=n+1
y=n**3+n+200
return(n)
dans la console j'ai trouvé 25
MERCI
compléter et programmer un algorithme en python
Re: compléter et programmer un algorithme en python
Bonjour,
Il manque très certainement des données dans ton problème, notamment $f$ que tu n'as pas recopié. Avec la suite je souhaite conjecturer que pour tout $x \in [0,100]$, $f(x)=x^3+x+200$.
Il manque très certainement des données dans ton problème, notamment $f$ que tu n'as pas recopié. Avec la suite je souhaite conjecturer que pour tout $x \in [0,100]$, $f(x)=x^3+x+200$.
- Comme $f$ est croissante sur $[0,100]$ son maximum sur $[0,100]$ est donné par $f(100)=1 000 300$.
- Remarque : Cette question montre que la valeur $1 000 300> 15000$ n'est pas absurde pour $f(100)$, $f$ étant définie sur $[0,100]$, donc tout va bien !
Ton algorithme est illisible, où sont les indentations ? J'en propose un autre (j'espère que ça va t'aider).Code : Tout sélectionner
N=0 #On a vérifié pour tout entier (nombre sans virgule) entre 0 et ? while((N**3+N+200)<15000): #Tant que f(N)<15000, ce n'est pas bon. N=N+1 print(N) #Si on est ici c'est qu'on a eu un N tel que f(N)>=15000. Comme f est croissante et que ceux d'avant ne marchaient pas, c'est bien le plus petit N.
- Ton programme n'est pas bon. Il faut remplacer par
Code : Tout sélectionner
while y<=15000:
. En effet, si $y=15000$ alors il faut arrêter l'algorithme car on a $y=f(N) \geq 15000$ et le $N$ est donc bon. Pour le reste ta syntaxe (hors indentation est bonne). Je le recopie en propre :Code : Tout sélectionner
while y<15000:
Je trouve aussi 25. Là encore ça se vérifie :Code : Tout sélectionner
def f(): n=0 y=200 while y<15000: n=n+1 y=n**3+n+200 return(n)
- $f(24)=14 048<15000$
- $f(25)=15 850\geq 15000$