Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 24-04-2019 17:18:52

Nelcar
Membre
Inscription : 05-03-2019
Messages : 159

compléter et programmer un algorithme sous Python

Salut,
autre exercice sur Python :
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

Hors ligne

#2 24-04-2019 18:36:14

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 948

Re : compléter et programmer un algorithme sous Python

Bonsoir,


Fonction croissante, donc le maxi est atteint pour $f(100)=100^3+100+200=1000300$ c'st bien juste.

pour qu'après exécution, la variable N contienne le plus petit entier naturel n tel que f(n) >=15000

Disons ça autrement
dès que f(n)>=15000 le programme s'arrête
Ou encore : tant que f(n) <15000 le programme calcule...
C'est le seul reproche que je peux faire à ce que tu as écrit, mais ça ne change rien au résultat...
Il existe une partie des mathématiques qui s'appelle la Logique
Il y a deux éléments de base : Vrai et Faux.
La négation de Vrai y est Faux et la négation de Faux y est Vrai...
Ce qui est : "pas Vrai" c'est à dire "non Vrai", est Faux.
De même ce qui est "non Faux" est Vrai...
Là on te demande :
le plus petit entier naturel n tel que f(n) >=15000
que tu traduis par "Tant que f(n)<=15000", là je chipote c'est vrai, mais pour moi, tu dois écrire :
"Tant que f(n)<15000" et le programme s'arrête dès que f(n) n'est plus strictement inférieur à 15000 mais donc supérieur ou égal à 15000...

Je cherche un exemple où tu aurais un e erreur de 1 dans la réponse pour le moment je n'en trouve pas et ça me dérange...^_^
Bon, là que tu écrives f(n)<=15000 ou f(n)<15000, tu trouves la bonne réponse... Donc, n'en parlons plus pour l'instant tant que je n'ai pas trouvé mon exemple....

Donc, tout est bon (tant que je n'ai pas trouvé que c'est Faux, alors c'est accepté comme Vrai)

@+, sauf que pour l'algo j'aurais écrit

N prend la valeur 0
Y prend la valeur 200
tant que y<=15000 (là, ok !)
    N   prend la valeur  N + 1
    y   prend la valeur N**3+N+200

T'as bien travaillé !

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

Pied de page des forums