CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Equation du second degré (python)

luffy50660
luffy50660
Niveau 6
19 septembre 2015 à 16:27:01

Bonjour à tous,
Je suis en Terminale S, et j'ai pris l'option ISN.
Comme à chaque fois, celle-ci demande un mini projet concernant un programme qui permettrait de calculer les racines d'une équation du second degré.
Sans trop de problème, j'y suis arrivé, mais en voulant être plus original, je voudrai essayer, après avoir obtenu les solutions de x en fonction de la valeur du discriminant, de factoriser la fonction.
Or je n'ai pas vraiment d'idées pour faire cela ..
Quelqu'un pourrai t'il m'aider ?

Candystand
Candystand
Niveau 10
19 septembre 2015 à 16:54:52

Utilise la forme canonique de ax² + bx + c

luffy50660
luffy50660
Niveau 6
19 septembre 2015 à 17:04:36

Ce n'est pas vraiment ce que je veux :/

Grimmys
Grimmys
Niveau 19
19 septembre 2015 à 17:11:49

Heu... Bah si Candy t'as dis ce que tu voulais...

Factoriser ta " fonction " ( oui tu dis fonction mais je vois pas ou il est question de fonction... Tu nous parles d'équation du second degrés... le terme plus exact serrait factoriser ton membre de gauche je pense ) revient à l'écrire sous la forme ax² + bx + c, étant donné qu'une équation du second degrés correspond à une équation où le membre de gauche peut se représenter par une fonction polynôme quand celui de droite vaut 0.

Ainsi c'est ce que tu veux... Non ?

luffy50660
luffy50660
Niveau 6
19 septembre 2015 à 17:24:17

Facorisation d'une équation du second degré :
Quand delta > 0 : a(x-x1)(x-2)
Quand delta = 0 : (x-x')²
C'est ça que je veux :/

Grimmys
Grimmys
Niveau 19
19 septembre 2015 à 17:40:39

Ah oui et quand delta < 0 tu prends la forme canonique du coup ?

Hé bien tu peux très bien créer une fonction prenant en paramètre le polynôme ( et pourquoi pas les racines, pas besoin de delta car si 2 racines, tu lui fait comprendre que delta > 0 ), et faisant du cas par cas :

SI 2 racines ALORS retourner (x-x')²
SINONSI 1 racine ALORS retourner a(x-x1)(x-x2)
SINON retourner ax² + bx + c
FINSI
Grimmys
Grimmys
Niveau 19
19 septembre 2015 à 17:56:26

Enfin pardon la forme canonique c'est a(x-alpha)²+beta.
Je m'y perd.

Message édité le 19 septembre 2015 à 17:57:12 par Grimmys
luffy50660
luffy50660
Niveau 6
19 septembre 2015 à 20:33:07

Je n'ai pas vraiment compris ce que tu as fais, ce que je te propose c'est déjà de te montrer mon programme abouti :)

Grimmys
Grimmys
Niveau 19
19 septembre 2015 à 20:36:11

Peut-être que tu n'ais simplement pas habitué au pseudo-code. x)

Mais oui montre moi ton programme s'il te plait, car je ne comprend pas comment ne peux tu pas arriver à la suite alors qu'elle me semble plus simple que ce que tu as déjà fait...

luffy50660
luffy50660
Niveau 6
19 septembre 2015 à 20:40:30
# -*- coding: cp1252 -*- #
from math import *
recommencer=1 
while recommencer!=0:
    print "Ce programme permet le calcul des racines d'une fonction du second degre."
    print "Tel que ax²+bx+c=0"
    A=input("a=") 
    B=input("b=") 
    C=input("c=") 
    discriminant=B*B-4*A*C 
    print "Delta=",discriminant 
    if discriminant <0:
        print "On ne trouve aucune solution car delta est négatif."
    if discriminant ==0:
        print "On trouve une solution double car delta est égal à 0." 
        x3=-B/2*A 
        print "X=",x3
    if discriminant >0:
        print "On trouve deux solutions car delta est positif." 
        racine_carre_discriminant=sqrt(discriminant) 
        B=-B-racine_carre_discriminant 
        b=-B+racine_carre_discriminant 
        c=2*A 
        x1=B/c 
        x2=b/c 
        print "X1=",x1 
        print "X2=",x2

    print "Cette fonction est désormais résolue." 
    print "Désirez-vous recommencer ?"
    recommencer=input("Si oui, appuyez sur 1. \nSi non, appuyez sur 0.\n")
luffy50660
luffy50660
Niveau 6
19 septembre 2015 à 20:41:50

Ainsi ce que je veux, c'est de pouvoir proposer à l'utilisateur si il veut factoriser cette fonction, et si oui c'est de la faire :) ?

Candystand
Candystand
Niveau 10
19 septembre 2015 à 23:47:01

Le 19 septembre 2015 à 23:01:40 Anau a écrit :
1) ton encodage est pourri
2) pas pep8 du tout
3) print à la place de commentaires
4) pas de vérifications de types

C'est de la merde ton programme, prends une fonction de scipy plutôt, laisse le code aux grands :)

Au lieu de le prendre de haut, donne lui des conseils, il est qu'en terminale et il cherche quand même à apprendre, abruti :(

luffy50660
luffy50660
Niveau 6
20 septembre 2015 à 00:16:45

Merci Candy :)

luffy50660
luffy50660
Niveau 6
20 septembre 2015 à 13:53:09

Personne ne veut m'aider :-(

Grimmys
Grimmys
Niveau 19
20 septembre 2015 à 14:18:16

Le 19 septembre 2015 à 23:01:40 Anau a écrit :
1) ton encodage est pourri
2) pas pep8 du tout
3) print à la place de commentaires
4) pas de vérifications de types

C'est de la merde ton programme, prends une fonction de scipy plutôt, laisse le code aux grands :)

mdr sa fé 4 an ke je program chui tro 1 tug

Sérieusement, les mecs comme toi m'énerve vraiment. :pf:

L'encodage et PEP8, je crois qu'en ISN, on en a un peu rien à foutre.

Pour le print à la place des commentaires, ok, ça peut paraitre judicieux de remplacer ( je rappelle pour les commentaire : triple guillemets pour borner un commentaire multi-lignes, un " # " pour du mono-ligne ).

Et la vérification de type, bah je ne sais pas, tu as abordé ça en cours luffy ? Un programme qui se doit de contrôler toutes les entrées possibles, tu as vu ?

Sinon je suis désolé mais je n'arrive pas à mieux expliquer les choses que je l'ai fait quelques posts plus haut... Attend la réponse de quelqu'un d'autre. :/

luffy50660
luffy50660
Niveau 6
20 septembre 2015 à 14:47:59

Vérifications de types ? Jamais vu x)
Juste je ne comprends ton Pseudo code en fait :/

luffy50660
luffy50660
Niveau 6
21 septembre 2015 à 17:17:34

Toujours pas d'aides :-(

AlphaCygni
AlphaCygni
Niveau 10
21 septembre 2015 à 17:33:47

Je comprends pas ton soucis, tu as écrit toi-même ce qu'il fallait faire :

Quand delta > 0 : a(x-x1)(x-2)
Quand delta = 0 : a(x-x')²
(et quand delta < 0, impossible de factoriser)

Tu as déjà calculé a, x1, x2, donc tu as juste à afficher la réponse.
Tu voulais que ça fasse quelque chose de plus que juste dire "la forme factorisée est : bla" ?

ps: petit détail, "la fonction est désormais résolue" ça ne veut rien dire. Écris "les racines du polynôme ont été calculées" ou un truc du genre, si tu veux.

luffy50660
luffy50660
Niveau 6
21 septembre 2015 à 17:59:44

Bah non car à chaque fois il me met que le x de a(x-x1)(x-x2) n'est pas défini et mon problème est là..

luffy50660
luffy50660
Niveau 6
21 septembre 2015 à 18:06:05
Traceback (most recent call last):
  File "C:\Users\Arthur\Desktop\Programmes\Projet equation second degre.py", line 30, in <module>
    factor1=A(x-x1)(x-x2)
NameError: name 'x' is not defined

Voilà ce qu'il met :/

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment