Salut,
et toujours en python
l'exercice est :
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
Re,
ta fonction f n'est pas définie
il faut la deviner à partir du programme ???
1) une fonction croissante sur un intervalle [a; b] a forcément (par définitions) son maximum = f(b) donc c'est bon.
le reste semble cohérent
attention !!
le copier coller ne copie pas des caractères spéciaux qui seraient non standard ou qui seraient en fait des images
pour "simuler" on peut écrire (à la main) <--
dans le 3 il y a un programme qui doit répondre à une certaine question et on peut l'appeler comme on veut
il est certes très maladroit de l'appeler f alors qu'il na pas pour but du tout de calculer la valeur de la fonction f de l'énoncé !!
mais ça ne veut pas dire qu'on ne peut pas le faire !!
Merci de vos réponses.
MATHAFOU : donc je peux mettre n'importe quel nom de la fonction, je vais donc éviter de mettre f et je vais mettre def entier():
je pense que ça peut aller
pour la question une , je n'ai pas tout compris dans ta réponse, moi j'ai trouvé un maximum de 1 000 300 est ce bon ?
car tu me mets :
1) une fonction croissante sur un intervalle [a; b] a forcément (par définitions) son maximum = f(b) donc c'est bon.
ici l'intervalle est de 0 à 100 donc le maximum est 100 alors ?
qu'est ce que je met comme réponse 100 ou 1 000 300 ?
si j'ai bien compris dans la question 3 (le programme) a while je doit mettre while y<15000:
c'est bien ça.
Merci encore.
1) le f(b) c'est pas b
f(100) ce n'est pas100 !!
le maximum est pour x = 100 et vaut (ce maximum) f(100)
ce qui fait bien f(100) = 1000300
je te disais en fait que pour répondre à une question on doit en donner la justification et pas juste cracher un résultat.
y<15000 : dans le programme, et dans l'algorithme question 2 (vu que l'un est juste la traduction mot à mot de l'autre)
OK pour vos réponses
Mathafou : oui j'avais bien trouvé mais je me suis très mal expliquée.
Alb12: je mets def entier():
comme cela pas d'histoire
Merci à vous deux
bonne soirée
Ton module se presente ainsi:
def f(x):
return x**3+x+200
def plus_petit_entier():
n=0
y=200
while y<15000:
n=n+1
y=f(n)
return n
certes,
mais l'algorithme de la question 2 de l'énoncé n'est pas
tant que.....
N ...
y f(N)
Fin tant que
mais
tant que.....
N ...
y N**3+N+200
Fin tant que
(cela était écrit comme ça dans l'énoncé et seuls les "..." étaient à compléter
il n'était donc pas exigé de définir f(x) dans une fonction à part de Python !!
même si "déontologiquement" ("les règles de bonne pratique en programmation", "ce qu'il est recommandé de faire") ce sera préférable ...
surtout que l'énoncé ne demande pas d'écrire un module mais juste une fonction.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :