Bonjour, voici l'énoncé du problème :
On considère la fonction h définie pour tout réel x par :
h(x) = |x2+5x-3| + |2x+1|
Écrire un programme en langage python qui permette de calculer l'image d'un réel :
le programme demande un nombre, et il l'affiche son image par h.
(indication: x=float(input("Entrez la valeur du réel x"))
Pour ce programme, on n'utilisera pas la commande "abs" de python.
Voilà, donc je ne sais pas du tout par où commencer, je ne pense même pas comprendre le sujet. Merci.
Bonjour,
la définition de valeur absolue est
si x ≥ 0 alors |x|=x
sinon |x| =-x
il suffit donc de traduire en langage Python mot à mot cette définition pour le calcul de f(x) avec des "si" (if ... else ...)
il en faudra plusieurs imbriqués
au plus simple et pour éviter des imbrications de "if" (des if dans des if) et de calculer / écrire plusieurs fois la même chose :
h(x) = |x2+5x-3| + |2x+1| = |f(x)| + |g(x)|
en posant f(x) = x2+5x-3 et g(x) = 2x+1
le programme de calcul sera donc
calculer f(x)
en calculer la valeur absolue (c'est là qu'il va y a avoir le if ... )
calculer g(x)
en calculer la valeur absolue (idem, un deuxième if...)
faire la somme pour avoir h(x)
tout ceci se faisant dans des variables appelées tout simplement f, g et h
x=float(input("Entrez la valeur du réel x")) # (c'est dit dans l'énoncé)
# calculer f(x)
f = x*x+5*x-3
# en calculer la valeur absolue
if f ... :
f = ...
# calculer g(x)
...
...
Petit précision, je suis très nul en Python et je m'attaque à du nouveau et j'utilise IDLE (Python 3.6.4), désolé je ne pas l'avoir précisé...
Donc j'essaye :
x=float(input("Entrez la valeur du réel x"))
f = x*x+5*x-3
if f ≥ 0:
x = x
else:
x = -x
g = x + x + 1
if g ≥ 0:
x = x
else:
x = -x
Voilà, donc je ne suis pas du tout sûr
dans la définition générale de la valeur absolue "x" est une variable "muette" comme r dans la formule du périmètre d'un cercle etc etc
|x| est +x ou -x
|f| est +f ou -f
|u| est +u ou -u
etc
de plus le signe ≥ n'existe pas, ça s'écrit >=
une des bases fondamentales de Python est l'indentation
if f >= 0:
f = f
erreur de syntaxe
if f>=0:
f = f
else :
f=-f
suite du programme
oui
ceci serait correct (en corrigeant toutes les erreurs précédentes)
mais c'est particulièrement maladroit d'écrire explicitement que on remplace f par f (c'est à dire qu'on ne fait rien)
if f<0 :
f=-f
suite du programme sans aucun else
(sinon on ne fait rien = on laisse f inchangé)
g = x + x + 1 2*x+1 suffisait !!
pour x² je l'ai transformé en multiplication x*x pour éviter de se poser des questions sur la façon d'écrire "puissance"
mais la multiplication, tout de même ...
Oui désolé, je suis un peu maladroit pour le coup, j'ai écris ça sous la rapidité, donc je corrige en espérant faire peu de faute.
Donc il est inutile d'écrire le "else" si je comprends bien ?
x=float(input("Entrez la valeur du réel x"))
f = x*x+5*x-3
if f<0:
f=-f
g = 2*x + 1
if g<0:
g=-g
Après pour calculer l'image réelle que dois-je faire sous langage python ?
c'est bon.
ensuite bein c'est quoi h ? ne serait-ce pas juste la somme de f+g ???
c'est aussi simple que que ça !
et pour l'afficher ce sera avec print()
(donc deux lignes de plus et c'est terminé, voire une seule même, juste le print)
print(f+g)
? C'est tout ?
Merci en tout cas ! C'est vrai que c'était relativement simple avec du recul, mais sans vous je n'y serais pas arrivé !
oui
print(f+g) c'est bon
pour faire plus propre on peut écrire
h=f+g
print(h)
(du coup on a la variable h qui contient la valeur si jamais on en a besoin pour autre chose)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :