Beispiel #1
0
def open_frac(a_num,a_denom,b_num,b_denom,c_num,c_denom):
    prgm.fraction_val[0]=a_num
    prgm.fraction_val[1]=a_denom
    prgm.fraction_val[2]=b_num
    prgm.fraction_val[3]=b_denom
    prgm.fraction_val[4]=c_num
    prgm.fraction_val[5]=c_denom
    if preferences.afficher_graphs==1:
        prgm.plt.close()
    for label in prgm.root.grid_slaves():
        if int(label.grid_info()['column'])==6:
            label.destroy()
    Col7=prgm.Label(prgm.root,width=100)
    Col7.grid(column=6,row=5)
    if prgm.ValeurA_n.get()!=0 and prgm.ValeurA_d.get()>0 and prgm.ValeurB_d.get()>0 and prgm.ValeurC_d.get()>0:
        prgm.latest='fraction'
        sec_frac(a_num,a_denom,b_num,b_denom,c_num,c_denom)
    else:
        i=0
        if prgm.ValeurA_n.get()==0:
            L1=prgm.Label(prgm.root,text='Erreur\u00A0:\u00A0a\u2208\u2124*')
            L1.grid(column=6,row=i,sticky='w')
            i=i+1
        if prgm.ValeurA_d.get()<=0 or prgm.ValeurB_d.get()<=0 or prgm.ValeurC_d.get()<=0:
            L1=prgm.Label(prgm.root,text='Erreur\u00A0:\u00A0D\u00E9nominateur\u2208\u2115*')
            L1.grid(column=6,row=i,sticky='w')
            i=i+1
Beispiel #2
0
def main_frac():
    if preferences.afficher_graphs==1:
        prgm.plt.close()
    for label in prgm.root.grid_slaves():
        if int(label.grid_info()['column'])==6:
            label.destroy()
    Col7=prgm.Label(prgm.root,width=50)
    Col7.grid(column=6,row=5)
    if prgm.ValeurA_n.get()!=0 and prgm.ValeurA_d.get()>0 and prgm.ValeurB_d.get()>0 and prgm.ValeurC_d.get()>0:
        prgm.latest='fraction'
        prgm.ValeurA_n.set(prgm.ValeurA_n.get())
        prgm.ValeurA_d.set(prgm.ValeurA_d.get())
        prgm.ValeurB_n.set(prgm.ValeurB_n.get())
        prgm.ValeurB_d.set(prgm.ValeurB_d.get())
        prgm.ValeurC_n.set(prgm.ValeurC_n.get())
        prgm.ValeurC_d.set(prgm.ValeurC_d.get())
        sec_frac(prgm.ValeurA_n.get(),prgm.ValeurA_d.get(),prgm.ValeurB_n.get(),prgm.ValeurB_d.get(),prgm.ValeurC_n.get(),prgm.ValeurC_d.get())
    else:
        i=0
        if prgm.ValeurA_n.get()==0:
            L1=prgm.Label(prgm.root,text='Erreur\u00A0:\u00A0a\u2208\u2124*')
            L1.grid(column=6,row=i,sticky='w')
            i=i+1
        if prgm.ValeurA_d.get()<=0 or prgm.ValeurB_d.get()<=0 or prgm.ValeurC_d.get()<=0:
            L1=prgm.Label(prgm.root,text='Erreur\u00A0:\u00A0D\u00E9nominateur\u2208\u2115*')
            L1.grid(column=6,row=i,sticky='w')
            i=i+1
Beispiel #3
0
def abt_maj():
    try:
        download()
        prgm.maj_root = prgm.Tk()
        if 'DejaVu Sans' in list(prgm.font.families()):
            police = prgm.font.Font(prgm.maj_root,
                                    family='DejaVu Sans',
                                    size=10)
            prgm.maj_root.option_add('*Font', police)
        import version
        if version.version > prgm.version:
            url = 'https://raw.githubusercontent.com/rfoxinter/Python/master/EquationsSecondDegre/maj.py'
            urllib.request.urlretrieve(url, 'maj.py')
            prgm.Label(prgm.maj_root,
                       text='Une mise \u00E0 jour est disponible.',
                       width=50).grid(column=0, row=0)
            bouton_maj = prgm.Button(
                prgm.maj_root,
                text='Mettre \u00E0 jour l\u2019application',
                command=__init__.mise_a_jour)
            bouton_maj.grid(column=0, row=2)
            bouton_fermer = prgm.Button(prgm.maj_root,
                                        text='Ne pas mettre à jour',
                                        command=prgm.maj_root.destroy)
            bouton_fermer.grid(column=0, row=3)
        else:
            prgm.Label(prgm.maj_root,
                       text='L\u2019application est \u00E0 jour.',
                       width=50).grid(column=0, row=0)
            bouton_fermer = prgm.Button(prgm.maj_root,
                                        text='Fermer',
                                        command=prgm.maj_root.destroy)
            bouton_fermer.grid(column=0, row=2)
        prgm.maj_root.title('Mise \u00E0 jour')
        prgm.maj_root.resizable(width=False, height=False)
        if prgm.os.name == 'nt':
            prgm.maj_root.iconbitmap('python.ico')
        prgm.maj_root.mainloop()
    except:
        prgm.maj_root = prgm.Tk()
        if 'DejaVu Sans' in list(prgm.font.families()):
            police = prgm.font.Font(prgm.maj_root,
                                    family='DejaVu Sans',
                                    size=10)
            prgm.maj_root.option_add('*Font', police)
        prgm.Label(prgm.maj_root,
                   text='Impossible de v\u00E9rifier les mises \u00E0 jour.',
                   width=50).grid(column=0, row=0)
        bouton_fermer = prgm.Button(prgm.maj_root,
                                    text='Fermer',
                                    command=prgm.maj_root.destroy)
        bouton_fermer.grid(column=0, row=2)
        prgm.maj_root.title('Mise \u00E0 jour')
        prgm.maj_root.resizable(width=False, height=False)
        if prgm.os.name == 'nt':
            prgm.maj_root.iconbitmap('python.ico')
        prgm.maj_root.mainloop()
Beispiel #4
0
def main():
    if preferences.afficher_graphs == 1:
        prgm.plt.close()
    for label in prgm.root.grid_slaves():
        if int(label.grid_info()['column']) == 6:
            label.destroy()
    Col7 = prgm.Label(prgm.root, width=100)
    Col7.grid(column=6, row=5)
    L1 = prgm.Label(
        prgm.root,
        text='Une erreur est survenue lors de l\u2019ouverture du fichier')
    L1.grid(column=6, row=0, sticky='w')
def main(a_num,a_denom,b_num,b_denom,delta_num,delta_denom):
    x1_num_int=int(-b_num*(delta_denom**0.5)*a_denom)
    x1_num_rt_int=int(+b_denom*a_denom)
    x1_num_rt=int(delta_num)
    x1_denom=int(b_denom*2*a_num*(delta_denom**0.5))
    x1_num_int_div=x1_num_int
    if x1_num_int==0:
        x1_num_int_div=x1_denom
    div_x1=2
    while div_x1<=abs(x1_num_int_div) and div_x1<=abs(x1_denom) and (div_x1<=abs(x1_num_rt_int) or div_x1**2<=x1_num_rt):
        if x1_num_int%div_x1==0 and x1_denom%div_x1==0 and (x1_num_rt_int%div_x1==0 or x1_num_rt%div_x1**2==0):
            x1_num_int=x1_num_int//div_x1
            x1_denom=x1_denom//div_x1
            if x1_num_rt%div_x1**2==0:
                x1_num_rt=x1_num_rt//div_x1**2
            else:
                x1_num_rt_int=x1_num_rt_int//div_x1
            x1_num_int_div=x1_num_int_div//div_x1
        else:
            div_x1=div_x1+1
    x1_num_1=str(x1_num_int)
    x1_num_2=''
    x1_denom_str=str(x1_denom)
    if x1_num_rt_int==1:
        x1_num_2='+\u221A('+str(x1_num_rt)+')'
    elif x1_num_rt_int==-1:
        x1_num_2='-\u221A('+str(x1_num_rt)+')'
    elif x1_num_rt_int<0:
        x1_num_2=str(x1_num_rt_int)+'\u221A('+str(x1_num_rt)+')'
    else:
        x1_num_2='+'+str(x1_num_rt_int)+'\u221A('+str(x1_num_rt)+')'
    if x1_num_int==0:
        if x1_denom==1:
            L4=prgm.Label(prgm.root,text='x\u2082='+x1_num_2.replace('+','')+'='+str(((-b_num*a_denom*(delta_denom**0.5))+(a_denom*b_denom*(delta_num**0.5)))/(2*a_num*b_denom*(delta_denom**0.5))).replace('.',','))
            L4.grid(column=6,row=4,sticky='w')
            prgm.rep[6]=L4.cget('text')
        else:
            L4=prgm.Label(prgm.root,text='x\u2082=('+x1_num_2.replace('+','')+')/('+x1_denom_str+')='+str(((-b_num*a_denom*(delta_denom**0.5))+(a_denom*b_denom*(delta_num**0.5)))/(2*a_num*b_denom*(delta_denom**0.5))).replace('.',','))
            L4.grid(column=6,row=4,sticky='w')
            prgm.rep[6]=L4.cget('text')
    else:
        if x1_denom==1:
            L4=prgm.Label(prgm.root,text='x\u2082='+x1_num_1+x1_num_2+'='+str(((-b_num*a_denom*(delta_denom**0.5))+(a_denom*b_denom*(delta_num**0.5)))/(2*a_num*b_denom*(delta_denom**0.5))).replace('.',','))
            L4.grid(column=6,row=4,sticky='w')
            prgm.rep[6]=L4.cget('text')
        else:
            L4=prgm.Label(prgm.root,text='x\u2082=('+x1_num_1+x1_num_2+')/('+x1_denom_str+')='+str(((-b_num*a_denom*(delta_denom**0.5))+(a_denom*b_denom*(delta_num**0.5)))/(2*a_num*b_denom*(delta_denom**0.5))).replace('.',','))
            L4.grid(column=6,row=4,sticky='w')
            prgm.rep[6]=L4.cget('text')
Beispiel #6
0
def main(extension):
    root = Toplevel()
    if 'DejaVu Sans' in list(prgm.font.families()):
        police = prgm.font.Font(root, family='DejaVu Sans', size=10)
        root.option_add('*Font', police)
    qualite = prgm.IntVar(root)
    qualite.set(100)
    bar_qualite = Scale(root,
                        from_=100,
                        to=500,
                        orient='horizontal',
                        var=qualite,
                        tickinterval=50,
                        label='Résolution',
                        length=325,
                        resolution=5)
    bar_qualite.grid(column=0, row=0)
    prgm.Label(root, text='', width=50).grid(column=0, row=1)
    bouton_fermer = prgm.Button(root, text='Valider', command=root.destroy)
    bouton_fermer.grid(column=0, row=2)
    root.title('Exporter en png')
    root.resizable(width=False, height=False)
    if prgm.os.name == 'nt':
        root.iconbitmap('python.ico')
    prgm.root.wait_window(root)
    return qualite.get()
Beispiel #7
0
def main(a_num,a_denom,b_num,b_denom,c_num,c_denom,alpha_num,alpha_denom,beta_num,beta_denom,extension,path):
    if extension!='':
        prgm.plt.figure(300)
    if preferences.afficher_graphs==1 or extension!='':
        prgm.plt.rcParams['pdf.fonttype']=42
        prgm.plt.rcParams['font.family']='DejaVu Sans'
        prgm.plt.rcParams['font.size']='10'
    L4=prgm.Label(prgm.root,text='L\u2019\u00E9quation n\u2019admet pas de racine dans \u211D.')
    prgm.rep[5]=L4.cget('text')
    L4.grid(column=6,row=3,sticky='w')
    if preferences.afficher_graphs==1:
        pltxmin=alpha_num/alpha_denom-10
        pltxmax=alpha_num/alpha_denom+10
        ymax=0
        if (a_num/a_denom)*(pltxmin)**2+(b_num/b_denom)*(pltxmin)+(c_num/c_denom)>(a_num/a_denom)*(pltxmax)**2+(b_num/b_denom)*(pltxmax)+(c_num/c_denom):
            if (a_num/a_denom)*(pltxmin)**2+(b_num/b_denom)*(pltxmin)+(c_num/c_denom)>0:
                ymax=(a_num/a_denom)*(pltxmin)**2+(b_num/b_denom)*(pltxmin)+(c_num/c_denom)
            else:
                ymax=(a_num/a_denom)*(pltxmax)**2+(b_num/b_denom)*(pltxmax)+(c_num/c_denom)
        else:
            if (a_num/a_denom)*(pltxmax)**2+(b_num/b_denom)*(pltxmax)+(c_num/c_denom)>0:
                ymax=(a_num/a_denom)*(pltxmax)**2+(b_num/b_denom)*(pltxmax)+(c_num/c_denom)
            else:
                ymax=(a_num/a_denom)*(pltxmin)**2+(b_num/b_denom)*(pltxmin)+(c_num/c_denom)
        x=prgm.linspace(pltxmin,pltxmax,1000)
        y=(a_num/a_denom)*x**2+(b_num/b_denom)*x+(c_num/c_denom)
        prgm.plt.plot(x,y,c='blue')
        prgm.plt.scatter(alpha_num/alpha_denom,beta_num/beta_denom,c='red',marker='x',label='(\u03B1;\u03B2)')
        prgm.plt.xlabel('x')
        prgm.plt.ylabel('y=f(x)')
        pltymin=0
        pltymax=0
        if beta_num/beta_denom-ymax/100<ymax:
            pltymin=beta_num/beta_denom-ymax/100
            pltymax=ymax
        else:
            pltymin=ymax
            pltymax=beta_num/beta_denom-ymax/100
        prgm.plt.axis([pltxmin,pltxmax,pltymin,pltymax])
        prgm.plt.axhline(y=0,c='black')
        prgm.plt.axvline(x=0,c='black')
        prgm.plt.legend()
        prgm.plt.title(fraction_equation.main())
        if extension=='pdf':
            from matplotlib.backends.backend_pdf import PdfPages
            prgm.plt.savefig(path)
            prgm.plt.show(block=False)
            prgm.plt.close(300)
        elif extension!='':
            if extension=='png':
                from images import png
                prgm.plt.rcParams['savefig.dpi'],prgm.plt.rcParams['savefig.transparent']=png.main(extension)
            elif extension=='jpg':
                from images import jpg
                prgm.plt.rcParams['savefig.dpi']=jpg.main(extension)
            prgm.plt.savefig(path)
            prgm.plt.show(block=False)
            prgm.plt.close(300)
        else:
            prgm.plt.show()
Beispiel #8
0
def main_ent():
    if preferences.afficher_graphs == 1:
        prgm.plt.close()
    for label in prgm.root.grid_slaves():
        if int(label.grid_info()['column']) == 6:
            label.destroy()
    Col7 = prgm.Label(prgm.root, width=50)
    Col7.grid(column=6, row=5)
    if prgm.ValeurA.get() != 0:
        prgm.latest = 'entier'
        prgm.ValeurA.set(prgm.ValeurA.get())
        prgm.ValeurB.set(prgm.ValeurB.get())
        prgm.ValeurC.set(prgm.ValeurC.get())
        sec_ent(prgm.ValeurA.get(), prgm.ValeurB.get(), prgm.ValeurC.get())
    else:
        L1 = prgm.Label(prgm.root, text='Erreur\u00A0:\u00A0a\u2208\u2124*')
        L1.grid(column=6, row=0, sticky='w')
Beispiel #9
0
def open_ent(a, b, c):
    if preferences.afficher_graphs == 1:
        prgm.plt.close()
    for label in prgm.root.grid_slaves():
        if int(label.grid_info()['column']) == 6:
            label.destroy()
    Col7 = prgm.Label(prgm.root, width=100)
    Col7.grid(column=6, row=5)
    if prgm.ValeurA.get() != 0:
        prgm.latest = 'entier'
        prgm.entier_val[0] = a
        prgm.entier_val[1] = b
        prgm.entier_val[2] = c
        sec_ent(a, b, c)
    else:
        L1 = prgm.Label(prgm.root, text='Erreur\u00A0:\u00A0a\u2208\u2124*')
        L1.grid(column=6, row=0, sticky='w')
Beispiel #10
0
def close(event=None):
    try:
        prgm.about_root.destroy()
    except:
        pass
    try:
        prgm.maj_root.destroy()
    except:
        pass
    try:
        prgm.redemarrage.destroy()
    except:
        pass
    if preferences.afficher_graphs == 1:
        try:
            prgm.plt.close()
        except:
            pass
    prgm.root.destroy()
    if preferences.ver_maj == 1:
        download()
        import version
        root = prgm.Tk()
        if 'DejaVu Sans' in list(prgm.font.families()):
            police = prgm.font.Font(root, family='DejaVu Sans', size=10)
            root.option_add('*Font', police)
        if version.version > prgm.version:
            url = 'https://raw.githubusercontent.com/rfoxinter/Python/master/EquationsSecondDegre/maj.py'
            urllib.request.urlretrieve(url, 'maj.py')
            prgm.Label(root,
                       text='Une mise \u00E0 jour est disponible.',
                       width=50).grid(column=0, row=0)
            bouton_maj = prgm.Button(
                root,
                text='Mettre \u00E0 jour l\u2019application',
                command=__init__.mise_a_jour_quitter)
            bouton_maj.grid(column=0, row=1)
            bouton_fermer = prgm.Button(
                root,
                text='Fermer sans mettre \u00E0 jour l\u2019application',
                command=root.destroy)
            bouton_fermer.grid(column=0, row=2)
            root.title('Mise \u00E0 jour')
            root.resizable(width=False, height=False)
            if prgm.os.name == 'nt':
                import ctypes
                ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(
                    'equations')
            img = prgm.PhotoImage(file='python.png')
            root.tk.call('wm', 'iconphoto', root._w, img)
            root.mainloop()
        else:
            root.destroy()
Beispiel #11
0
def main():
    prgm.about_root = prgm.Tk()
    if 'DejaVu Sans' in list(prgm.font.families()):
        police = prgm.font.Font(prgm.about_root, family='DejaVu Sans', size=10)
        prgm.about_root.option_add('*Font', police)
    prgm.Label(prgm.about_root,
               text='Version actuelle\u00A0:\u00A0' + str(prgm.version)).grid(
                   column=0, row=0, sticky='w')
    prgm.Label(
        prgm.about_root,
        text='-\u00A0Am\u00E9lioration de l\u2019affichage des r\u00E9sultats '
    ).grid(column=0, row=1, sticky='w')
    prgm.Label(prgm.about_root, width=50).grid(column=0, row=9)
    bouton_fermer = prgm.Button(prgm.about_root,
                                text="Fermer",
                                command=prgm.about_root.destroy)
    bouton_fermer.grid(column=0, row=10)
    prgm.about_root.title("\u00C0 propos")
    prgm.about_root.resizable(width=False, height=False)
    if prgm.os.name == 'nt':
        prgm.about_root.iconbitmap('a_propos.ico')
    prgm.about_root.mainloop()
Beispiel #12
0
def main(a_num, a_denom, b_num, b_denom, delta_num, delta_denom):
    x1_num_1 = ''
    x1_num_2 = ''
    x1_denom = ''
    x1_num_int_1 = int(-b_num * a_denom)
    x1_num_rt_1 = int(delta_denom)
    x1_num_int_2 = int(-b_denom * a_denom)
    x1_num_rt_2 = int(delta_num)
    x1_denom_int = int(b_denom * 2 * a_num)
    x1_denom_rt = int(delta_denom)
    x1_num_int_1_div = x1_num_int_1
    x1_num_rt_1_div = x1_num_rt_1
    if x1_num_rt_1 == 0:
        x1_num_int_1 = x1_denom_int
        x1_num_rt_1 = x1_denom_int
    div_x1 = 2
    while (div_x1 <= abs(x1_num_int_2) or div_x1**2 <= x1_num_rt_2) and (
            div_x1 <= abs(x1_denom_int)
            or div_x1**2 <= x1_denom_rt) and (div_x1 <= abs(x1_num_int_1_div)
                                              or div_x1**2 <= x1_num_rt_1):
        if (x1_num_int_2 % div_x1 == 0 or x1_num_rt_2 % div_x1**2 == 0) and (
                x1_denom_int % div_x1 == 0 or x1_denom_rt % div_x1**2
                == 0) and (x1_num_int_1 % div_x1 == 0
                           or x1_num_rt_1 % div_x1**2 == 0):
            if x1_num_rt_2 % div_x1**2 == 0:
                x1_num_rt_2 = x1_num_rt_2 // div_x1**2
            else:
                x1_num_int_2 = x1_num_int_2 // div_x1
            if x1_denom_rt % div_x1**2 == 0:
                x1_denom_rt = x1_denom_rt // div_x1**2
            else:
                x1_denom_int = x1_denom_int // div_x1
            if x1_num_rt_1 % div_x1**2 == 0:
                x1_num_rt_1 = x1_num_rt_1 // div_x1**2
            else:
                x1_num_int_1 = x1_num_int_1 // div_x1
            x1_num_int_1_div = x1_num_int_1_div // div_x1
            x1_num_rt_1_div = x1_num_rt_1_div // div_x1
        else:
            div_x1 = div_x1 + 1
    if x1_denom_int == 1:
        x1_denom = '\u221A(' + str(x1_denom_rt) + ')'
    elif x1_denom_int == -1:
        x1_denom = '-\u221A(' + str(x1_denom_rt) + ')'
    else:
        x1_denom = str(x1_denom_int) + '\u221A(' + str(x1_denom_rt) + ')'
    if x1_num_int_1 == 1:
        x1_num_1 = '+\u221A(' + str(x1_num_rt_1) + ')'
    elif x1_num_int_1 == -1:
        x1_num_1 = '-\u221A(' + str(x1_num_rt_1) + ')'
    else:
        x1_num_1 = str(x1_num_int_1) + '\u221A(' + str(x1_num_rt_1) + ')'
    if x1_num_int_2 == 1:
        x1_num_2 = '\u221A(' + str(x1_num_rt_2) + ')'
    elif x1_num_int_2 == -1:
        x1_num_2 = '-\u221A(' + str(x1_num_rt_2) + ')'
    elif x1_num_int_2 < 0:
        x1_num_2 = str(x1_num_int_2) + '\u221A(' + str(x1_num_rt_2) + ')'
    else:
        x1_num_2 = '+' + str(x1_num_int_2) + '\u221A(' + str(x1_num_rt_2) + ')'
    if x1_num_int_1 == 0:
        L4 = prgm.Label(prgm.root,
                        text='x\u2081=(' + x1_num_2.replace('+', '') + ')/(' +
                        x1_denom + ')' + egalite.main(
                            ((-b_num * a_denom * delta_denom**0.5) -
                             (a_denom * b_denom * delta_num**0.5)) /
                            (2 * a_num * b_denom * delta_denom**0.5)) + str(
                                round(((-b_num * a_denom * delta_denom**0.5) -
                                       (a_denom * b_denom * delta_num**0.5)) /
                                      (2 * a_num * b_denom * delta_denom**0.5),
                                      10)).replace('.', ','))
        L4.grid(column=6, row=3, sticky='w')
        prgm.rep[5] = L4.cget('text')
    else:
        L4 = prgm.Label(prgm.root,
                        text='x\u2081=(' + x1_num_1 + x1_num_2 + ')/(' +
                        x1_denom + ')' + egalite.main(
                            ((-b_num * a_denom * delta_denom**0.5) -
                             (a_denom * b_denom * delta_num**0.5)) /
                            (2 * a_num * b_denom * delta_denom**0.5)) + str(
                                round(((-b_num * a_denom * delta_denom**0.5) -
                                       (a_denom * b_denom * delta_num**0.5)) /
                                      (2 * a_num * b_denom * delta_denom**0.5),
                                      10)).replace('.', ','))
        L4.grid(column=6, row=3, sticky='w')
        prgm.rep[5] = L4.cget('text')
Beispiel #13
0
def sec_frac(a_num,a_denom,b_num,b_denom,c_num,c_denom):
    prgm.rep[6]=''
    prgm.fraction_val[0]=a_num
    prgm.fraction_val[1]=a_denom
    prgm.fraction_val[2]=b_num
    prgm.fraction_val[3]=b_denom
    prgm.fraction_val[4]=c_num
    prgm.fraction_val[5]=c_denom
    delta_num=int(b_num**2*a_denom*c_denom-4*a_num*c_num*b_denom**2)
    delta_denom=int(a_denom*b_denom**2*c_denom)
    if delta_num>0 and delta_denom<0:
        delta_num=-delta_num
        delta_denom=-delta_denom
    alpha_num=int(-b_num*a_denom)
    alpha_denom=int(2*a_num*b_denom)
    beta_num=int(-delta_num*a_denom)
    beta_denom=int(4*a_num*delta_denom)
    if delta_num%delta_denom==0:
        delta_num=delta_num//delta_denom
        delta_denom=1
        L1=prgm.Label(prgm.root,text='\u0394='+str(delta_num))
        L1.grid(column=6,row=0,sticky='w')
        prgm.rep[2]=L1.cget('text')
    else:
        div_delta=2
        while div_delta<=abs(delta_num) and div_delta<=abs(delta_denom):
            if delta_num%div_delta==0 and delta_denom%div_delta==0:
                delta_num=delta_num//div_delta
                delta_denom=delta_denom//div_delta
            else:
                div_delta=div_delta+1
        if delta_num<0 and delta_denom<0:
            L1=prgm.Label(prgm.root,text='\u0394='+str(int(-delta_num))+')/('+str(int(-delta_denom))+')'+egalite.main(delta_num/delta_denom)+str(round(delta_num/delta_denom,10)).replace('.',','))
            L1.grid(column=6,row=0,sticky='w')
            prgm.rep[2]=L1.cget('text')
        else:
            L1=prgm.Label(prgm.root,text='\u0394=('+str(int(delta_num))+')/('+str(int(delta_denom))+')'+egalite.main(delta_num/delta_denom)+str(round(delta_num/delta_denom,10)).replace('.',','))
            L1.grid(column=6,row=0,sticky='w')
            prgm.rep[2]=L1.cget('text')
    if alpha_num%alpha_denom==0:
        alpha=alpha_num//alpha_denom
        L2=prgm.Label(prgm.root,text='\u03B1='+str(alpha))
        L2.grid(column=6,row=1,sticky='w')
        prgm.rep[3]=L2.cget('text')
    else:
        div_alpha=2
        while div_alpha<=abs(alpha_num) and div_alpha<=abs(alpha_denom):
            if alpha_num%div_alpha==0 and alpha_denom%div_alpha==0:
                alpha_num=alpha_num//div_alpha
                alpha_denom=alpha_denom//div_alpha
            else:
                div_alpha=div_alpha+1
        if alpha_num<0 and alpha_denom<0:
            L2=prgm.Label(prgm.root,text='\u03B1=('+str(int(-alpha_num))+')/('+str(int(-alpha_denom))+')'+egalite.main(alpha_num/alpha_denom)+str(round(alpha_num/alpha_denom,10)).replace('.',','))
            L2.grid(column=6,row=1,sticky='w')
            prgm.rep[3]=L2.cget('text')
        else:
            L2=prgm.Label(prgm.root,text='\u03B1=('+str(int(alpha_num))+')/('+str(int(alpha_denom))+')'+egalite.main(alpha_num/alpha_denom)+str(round(alpha_num/alpha_denom,10)).replace('.',','))
            L2.grid(column=6,row=1,sticky='w')
            prgm.rep[3]=L2.cget('text')
    if beta_num%beta_denom==0:
        beta=beta_num//beta_denom
        L3=prgm.Label(prgm.root,text='\u03B2='+str(beta))
        L3.grid(column=6,row=2,sticky='w')
        prgm.rep[4]=L3.cget('text')
    else:
        div_beta=2
        while div_beta<=abs(beta_num) and div_beta<=abs(beta_denom):
            if beta_num%div_beta==0 and beta_denom%div_beta==0:
                beta_num=beta_num//div_beta
                beta_denom=beta_denom//div_beta
            else:
                div_beta=div_beta+1
        if beta_num<0 and beta_denom<0:
            L3=prgm.Label(prgm.root,text='\u03B2=('+str(int(-beta_num))+')/('+str(int(-beta_denom))+')'+egalite.main(beta_num/beta_denom)+str(round(beta_num/beta_denom,10)).replace('.',','))
            L3.grid(column=6,row=2,sticky='w')
            prgm.rep[4]=L3.cget('text')
        else:
            L3=prgm.Label(prgm.root,text='\u03B2=('+str(int(beta_num))+')/('+str(int(beta_denom))+')'+egalite.main(beta_num/beta_denom)+str(round(beta_num/beta_denom,10)).replace('.',','))
            L3.grid(column=6,row=2,sticky='w')
            prgm.rep[4]=L3.cget('text')
    if delta_num<0:
        fraction_pas_racine.main(a_num,a_denom,b_num,b_denom,c_num,c_denom,alpha_num,alpha_denom,beta_num,beta_denom,'','')
    elif delta_num==0:
        fraction_x0.main(a_num,a_denom,b_num,b_denom,c_num,c_denom,alpha_num,alpha_denom,beta_num,beta_denom,'','')
    else:
        fraction_x1.x1_frac(a_num,a_denom,b_num,b_denom,delta_num,delta_denom)
        fraction_x2.x2_frac(a_num,a_denom,b_num,b_denom,delta_num,delta_denom)
        if preferences.afficher_graphs==1:
            fraction_deux_racines_plt.main(a_num,a_denom,b_num,b_denom,c_num,c_denom,alpha_num,alpha_denom,beta_num,beta_denom,delta_num,delta_denom,'','')
Beispiel #14
0
def main(a_num, a_denom, b_num, b_denom, delta_num, delta_denom):
    x2_num_1 = ''
    x2_num_2 = ''
    x2_denom = ''
    x2_num_int_1 = int(-b_num * a_denom)
    x2_num_rt_1 = int(delta_denom)
    x2_num_int_2 = int(b_denom * a_denom)
    x2_num_rt_2 = int(delta_num)
    x2_denom_int = int(b_denom * 2 * a_num)
    x2_denom_rt = int(delta_denom)
    x2_num_int_1_div = x2_num_int_1
    x2_num_rt_1_div = x2_num_rt_1
    if x2_num_rt_1 == 0:
        x2_num_int_1 = x2_denom_int
        x2_num_rt_1 = x2_denom_int
    div_x2 = 2
    while (div_x2 <= abs(x2_num_int_2) or div_x2**2 <= x2_num_rt_2) and (
            div_x2 <= abs(x2_denom_int)
            or div_x2**2 <= x2_denom_rt) and (div_x2 <= abs(x2_num_int_1_div)
                                              or div_x2**2 <= x2_num_rt_1):
        if (x2_num_int_2 % div_x2 == 0 or x2_num_rt_2 % div_x2**2 == 0) and (
                x2_denom_int % div_x2 == 0 or x2_denom_rt % div_x2**2
                == 0) and (x2_num_int_1 % div_x2 == 0
                           or x2_num_rt_1 % div_x2**2 == 0):
            if x2_num_rt_2 % div_x2**2 == 0:
                x2_num_rt_2 = x2_num_rt_2 // div_x2**2
            else:
                x2_num_int_2 = x2_num_int_2 // div_x2
            if x2_denom_rt % div_x2**2 == 0:
                x2_denom_rt = x2_denom_rt // div_x2**2
            else:
                x2_denom_int = x2_denom_int // div_x2
            if x2_num_rt_1 % div_x2**2 == 0:
                x2_num_rt_1 = x2_num_rt_1 // div_x2**2
            else:
                x2_num_int_1 = x2_num_int_1 // div_x2
            x2_num_int_1_div = x2_num_int_1_div // div_x2
            x2_num_rt_1_div = x2_num_rt_1_div // div_x2
        else:
            div_x2 = div_x2 + 1
    if x2_denom_int == 1:
        x2_denom = '\u221A(' + str(x2_denom_rt) + ')'
    elif x2_denom_int == -1:
        x2_denom = '-\u221A(' + str(x2_denom_rt) + ')'
    else:
        x2_denom = str(x2_denom_int) + '\u221A(' + str(x2_denom_rt) + ')'
    if x2_num_int_1 == 1:
        x2_num_1 = '+\u221A(' + str(x2_num_rt_1) + ')'
    elif x2_num_int_1 == -1:
        x2_num_1 = '-\u221A(' + str(x2_num_rt_1) + ')'
    else:
        x2_num_1 = str(x2_num_int_1) + '\u221A(' + str(x2_num_rt_1) + ')'
    if x2_num_int_2 == 1:
        x2_num_2 = '+\u221A(' + str(x2_num_rt_2) + ')'
    elif x2_num_int_2 == -1:
        x2_num_2 = '-\u221A(' + str(x2_num_rt_2) + ')'
    elif x2_num_int_2 < 0:
        x2_num_2 = str(x2_num_int_2) + '\u221A(' + str(x2_num_rt_2) + ')'
    else:
        x2_num_2 = '+' + str(x2_num_int_2) + '\u221A(' + str(x2_num_rt_2) + ')'
    if x2_num_int_1 == 0:
        L4 = prgm.Label(prgm.root,
                        text='x\u2082=(' + x2_num_2.replace('+', '') + ')/(' +
                        x2_denom + ')=' + str(
                            ((-b_num * a_denom * (delta_denom**0.5)) +
                             (a_denom * b_denom * (delta_num**0.5))) /
                            (2 * a_num * b_denom *
                             (delta_denom**0.5))).replace('.', ','))
        L4.grid(column=6, row=4, sticky='w')
        prgm.rep[6] = L4.cget('text')
    else:
        L4 = prgm.Label(
            prgm.root,
            text='x\u2082=(' + x2_num_1 + x2_num_2 + ')/(' + x2_denom + ')=' +
            str(((-b_num * a_denom * (delta_denom**0.5)) +
                 (a_denom * b_denom * (delta_num**0.5))) /
                (2 * a_num * b_denom * (delta_denom**0.5))).replace('.', ','))
        L4.grid(column=6, row=4, sticky='w')
        prgm.rep[6] = L4.cget('text')
Beispiel #15
0
def main(a,b,delta):
    x1_num=-b-delta**0.5
    x1_denom=2*a
    if delta**0.5==int(delta**0.5):
        if x1_num%x1_denom==0:
            x1=x1_num//x1_denom
            L4=prgm.Label(prgm.root,text='x\u2081='+str(int(x1)))
            L4.grid(column=6,row=3,sticky='w')
            prgm.rep[5]=L4.cget('text')
        else:
            div_x1=2
            while div_x1<=abs(x1_num) and div_x1<=abs(x1_denom):
                if x1_num%div_x1==0 and x1_denom%div_x1==0:
                    x1_num=x1_num//div_x1
                    x1_denom=x1_denom//div_x1
                else:
                    div_x1=div_x1+1
            if x1_num<0 and x1_denom<0:
                L4=prgm.Label(prgm.root,text='x\u2081=('+str(int(-x1_num))+')/('+str(int(-x1_denom))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',','))
                L4.grid(column=6,row=3,sticky='w')
                prgm.rep[5]=L4.cget('text')
            else:
                L4=prgm.Label(prgm.root,text='x\u2081=('+str(int(x1_num))+')/('+str(int(x1_denom))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',','))
                L4.grid(column=6,row=3,sticky='w')
                prgm.rep[5]=L4.cget('text')
    else:
        x1_num_int=-b
        x1_num_rt=delta
        x1_denom_c=2*a
        x1_num_int_div=x1_num_int
        if x1_num_int_div==0:
            x1_num_int_div=x1_denom_c
        div_x1=2
        while div_x1<=abs(x1_num_int_div) and div_x1<=abs(x1_denom_c):
            if x1_num_int%div_x1==0 and x1_denom_c%div_x1==0 and x1_num_rt%div_x1**2==0:
                x1_num_int=x1_num_int//div_x1
                x1_denom_c=x1_denom_c//div_x1
                x1_num_rt=x1_num_rt//div_x1**2
                x1_num_int_div=x1_num_int_div//div_x1
            else:
                div_x1=div_x1+1
        if x1_num_int==0:
            if abs(x1_denom_c)==1:
                L4=prgm.Label(prgm.root,text='x\u2081=\u221A('+str(x1_num_rt)+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',','))
                L4.grid(column=6,row=3,sticky='w')
                prgm.rep[5]=L4.cget('text')
            else:
                if x1_denom_c<0:
                    L4=prgm.Label(prgm.root,text='x\u2081=\u221A('+str(x1_num_rt)+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',','))
                    L4.grid(column=6,row=3,sticky='w')
                    prgm.rep[5]=L4.cget('text')
                else:
                    L4=prgm.Label(prgm.root,text='x\u2081=-\u221A('+str(x1_num_rt)+')/('+str(int(x1_denom_c))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',','))
                    L4.grid(column=6,row=3,sticky='w')
                    prgm.rep[5]=L4.cget('text')
        elif x1_num_int<0 and x1_denom_c<0:
            if abs(x1_denom_c)==1:
                L4=prgm.Label(prgm.root,text='x\u2081='+str(int(-x1_num_int))+'+\u221A('+str(x1_num_rt)+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',','))
                L4.grid(column=6,row=3,sticky='w')
                prgm.rep[5]=L4.cget('text')
            else:
                L4=prgm.Label(prgm.root,text='x\u2081=('+str(int(-x1_num_int))+'+\u221A('+str(x1_num_rt)+'))/('+str(int(-x1_denom_c))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',','))
                L4.grid(column=6,row=3,sticky='w')
                prgm.rep[5]=L4.cget('text')
        else:
            if abs(x1_denom_c)==1:
                L4=prgm.Label(prgm.root,text='x\u2081='+str(int(x1_num_int))+'-\u221A('+str(x1_num_rt)+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',','))
                L4.grid(column=6,row=3,sticky='w')
                prgm.rep[5]=L4.cget('text')
            else:
                L4=prgm.Label(prgm.root,text='x\u2081=('+str(int(x1_num_int))+'-\u221A('+str(x1_num_rt)+'))/('+str(int(x1_denom_c))+')'+egalite.main(x1_num/x1_denom)+str(round(x1_num/x1_denom,10)).replace('.',','))
                L4.grid(column=6,row=3,sticky='w')
                prgm.rep[5]=L4.cget('text')
Beispiel #16
0
def main(a_num, a_denom, b_num, b_denom, c_num, c_denom, alpha_num,
         alpha_denom, beta_num, beta_denom, extension, path):
    if extension != '':
        prgm.plt.figure(300)
    if preferences.afficher_graphs == 1 or extension != '':
        prgm.plt.rcParams['pdf.fonttype'] = 42
        prgm.plt.rcParams['font.family'] = 'DejaVu Sans'
        prgm.plt.rcParams['font.size'] = '10'
    x0_num = -b_num * a_denom
    x0_denom = 2 * a_num * b_denom
    if x0_num % x0_denom == 0:
        x0 = x0_num // x0_denom
        L4 = prgm.Label(prgm.root, text='x\u2080=' + str(int(x0)))
        L4.grid(column=6, row=3, sticky='w')
        prgm.rep[5] = L4.cget('text')
    else:
        div_x0 = 2
        while div_x0 <= abs(x0_num) and div_x0 <= abs(x0_denom):
            if x0_num % div_x0 == 0 and x0_denom % div_x0 == 0:
                x0_num = x0_num // div_x0
                x0_denom = x0_denom // div_x0
            else:
                div_x0 = div_x0 + 1
        if x0_num < 0 and x0_denom < 0:
            L4 = prgm.Label(
                prgm.root,
                text='x\u2080=(' + str(int(-x0_num)) + ')/(' +
                str(int(-x0_denom)) + ')' + egalite.main(x0_num / x0_denom) +
                str(round(x0_num / x0_denom, 10)).replace('.', ','))
            L4.grid(column=6, row=3, sticky='w')
            prgm.rep[5] = L4.cget('text')
        else:
            L4 = prgm.Label(
                prgm.root,
                text='x\u2080=(' + str(int(x0_num)) + ')/(' +
                str(int(x0_denom)) + ')' + egalite.main(x0_num / x0_denom) +
                str(round(x0_num / x0_denom, 10)).replace('.', ','))
            L4.grid(column=6, row=3, sticky='w')
            prgm.rep[5] = L4.cget('text')
    if preferences.afficher_graphs == 1:
        pltxmin = alpha_num / alpha_denom - 10
        pltxmax = alpha_num / alpha_denom + 10
        ymax = 0
        if (a_num / a_denom) * (pltxmin)**2 + (b_num / b_denom) * (pltxmin) + (
                c_num / c_denom) > (a_num / a_denom) * (pltxmax)**2 + (
                    b_num / b_denom) * (pltxmax) + (c_num / c_denom):
            if (a_num / a_denom) * (pltxmin)**2 + (b_num / b_denom) * (
                    pltxmin) + (c_num / c_denom) > 0:
                ymax = (a_num / a_denom) * (pltxmin)**2 + (b_num / b_denom) * (
                    pltxmin) + (c_num / c_denom)
            else:
                ymax = (a_num / a_denom) * (pltxmax)**2 + (b_num / b_denom) * (
                    pltxmax) + (c_num / c_denom)
        else:
            if (a_num / a_denom) * (pltxmax)**2 + (b_num / b_denom) * (
                    pltxmax) + (c_num / c_denom) > 0:
                ymax = (a_num / a_denom) * (pltxmax)**2 + (b_num / b_denom) * (
                    pltxmax) + (c_num / c_denom)
            else:
                ymax = (a_num / a_denom) * (pltxmin)**2 + (b_num / b_denom) * (
                    pltxmin) + (c_num / c_denom)
        x = prgm.linspace(pltxmin, pltxmax, 1000)
        y = (a_num / a_denom) * x**2 + (b_num / b_denom) * x + (c_num /
                                                                c_denom)
        prgm.plt.plot(x, y, c='blue')
        prgm.plt.scatter(alpha_num / alpha_denom,
                         beta_num / beta_denom,
                         c='red',
                         marker='x',
                         label='x\u2080=(\u03B1;\u03B2)')
        prgm.plt.xlabel('x')
        prgm.plt.ylabel('y=f(x)')
        pltymin = 0
        pltymax = 0
        if beta_num / beta_denom - ymax / 100 < ymax:
            pltymin = beta_num / beta_denom - ymax / 100
            pltymax = ymax
        else:
            pltymin = ymax
            pltymax = beta_num / beta_denom - ymax / 100
        prgm.plt.axis([pltxmin, pltxmax, pltymin, pltymax])
        prgm.plt.axhline(y=0, c='black')
        prgm.plt.axvline(x=0, c='black')
        prgm.plt.legend()
        prgm.plt.title(fraction_equation.main())
        if extension == 'pdf':
            from matplotlib.backends.backend_pdf import PdfPages
            prgm.plt.savefig(path)
            prgm.plt.show(block=False)
            prgm.plt.close(300)
        elif extension != '':
            if extension == 'png':
                from images import png
                prgm.plt.rcParams['savefig.dpi'], prgm.plt.rcParams[
                    'savefig.transparent'] = png.main(extension)
            elif extension == 'jpg':
                from images import jpg
                prgm.plt.rcParams['savefig.dpi'] = jpg.main(extension)
            prgm.plt.savefig(path)
            prgm.plt.show(block=False)
            prgm.plt.close(300)
        else:
            prgm.plt.show()
Beispiel #17
0
def sec_ent(a, b, c):
    prgm.rep[6] = ''
    prgm.entier_val[0] = a
    prgm.entier_val[1] = b
    prgm.entier_val[2] = c
    delta = int(b**2 - 4 * a * c)
    alpha_num = int(-b)
    alpha_denom = int(2 * a)
    beta_num = int(-delta)
    beta_denom = int(4 * a)
    L1 = prgm.Label(prgm.root, text='\u0394=' + str(delta))
    L1.grid(column=6, row=0, sticky='w')
    prgm.rep[2] = L1.cget('text')
    if alpha_num % alpha_denom == 0:
        alpha = alpha_num // alpha_denom
        L2 = prgm.Label(prgm.root, text='\u03B1=' + str(alpha))
        L2.grid(column=6, row=1, sticky='w')
        prgm.rep[3] = L2.cget('text')
    else:
        div_alpha = 2
        while div_alpha <= abs(alpha_num) and div_alpha <= abs(alpha_denom):
            if alpha_num % div_alpha == 0 and alpha_denom % div_alpha == 0:
                alpha_num = alpha_num // div_alpha
                alpha_denom = alpha_denom // div_alpha
            else:
                div_alpha = div_alpha + 1
        if alpha_denom < 0:
            L2 = prgm.Label(
                prgm.root,
                text='\u03B1=(' + str(int(-alpha_num)) + ')/(' +
                str(int(-alpha_denom)) + ')' +
                egalite.main(alpha_num / alpha_denom) +
                str(round(alpha_num / alpha_denom, 10)).replace('.', ','))
            L2.grid(column=6, row=1, sticky='w')
            prgm.rep[3] = L2.cget('text')
            prgm.rep[3] = L2.cget('text')
        else:
            L2 = prgm.Label(
                prgm.root,
                text='\u03B1=(' + str(int(alpha_num)) + ')/(' +
                str(int(alpha_denom)) + ')' +
                egalite.main(alpha_num / alpha_denom) +
                str(round(alpha_num / alpha_denom, 10)).replace('.', ','))
            L2.grid(column=6, row=1, sticky='w')
            prgm.rep[3] = L2.cget('text')
    if beta_num % beta_denom == 0:
        beta = beta_num // beta_denom
        L3 = prgm.Label(prgm.root, text='\u03B2=' + str(beta))
        L3.grid(column=6, row=2, sticky='w')
        prgm.rep[4] = L3.cget('text')
    else:
        div_beta = 2
        while div_beta <= abs(beta_num) and div_beta <= abs(beta_denom):
            if beta_num % div_beta == 0 and beta_denom % div_beta == 0:
                beta_num = beta_num // div_beta
                beta_denom = beta_denom // div_beta
            else:
                div_beta = div_beta + 1
        if beta_denom < 0:
            L3 = prgm.Label(
                prgm.root,
                text='\u03B2=(' + str(int(-beta_num)) + ')/(' +
                str(int(-beta_denom)) + ')' +
                egalite.main(beta_num / beta_denom) +
                str(round(beta_num / beta_denom, 10)).replace('.', ','))
            L3.grid(column=6, row=2, sticky='w')
            prgm.rep[4] = L3.cget('text')
        else:
            L3 = prgm.Label(
                prgm.root,
                text='\u03B2=(' + str(int(beta_num)) + ')/(' +
                str(int(beta_denom)) + ')' +
                egalite.main(beta_num / beta_denom) +
                str(round(beta_num / beta_denom, 10)).replace('.', ','))
            L3.grid(column=6, row=2, sticky='w')
            prgm.rep[4] = L3.cget('text')
    if delta < 0:
        entier_pas_racine.main(a, b, c, alpha_num, alpha_denom, beta_num,
                               beta_denom, '', '')
    elif delta == 0:
        entier_x0.main(a, b, c, alpha_num, alpha_denom, beta_num, beta_denom,
                       '', '')
    else:
        entier_x1.main(a, b, delta)
        entier_x2.main(a, b, delta)
        if preferences.afficher_graphs == 1:
            entier_deux_racines_plt.main(a, b, c, alpha_num, alpha_denom,
                                         beta_num, beta_denom, delta, '', '')
Beispiel #18
0
def main(a, b, delta):
    x2_num = -b + delta**0.5
    x2_denom = 2 * a
    if delta**0.5 == int(delta**0.5):
        if x2_num % x2_denom == 0:
            x2 = x2_num // x2_denom
            L5 = prgm.Label(prgm.root, text='x\u2082=' + str(int(x2)))
            L5.grid(column=6, row=4, sticky='w')
            prgm.rep[6] = L5.cget('text')
        else:
            div_x2 = 2
            while div_x2 <= abs(x2_num) and div_x2 <= abs(x2_denom):
                if x2_num % div_x2 == 0 and x2_denom % div_x2 == 0:
                    x2_num = x2_num // div_x2
                    x2_denom = x2_denom // div_x2
                else:
                    div_x2 = div_x2 + 1
            if x2_num < 0 and x2_denom < 0:
                L5 = prgm.Label(
                    prgm.root,
                    text='x\u2082=(' + str(int(-x2_num)) + ')/(' +
                    str(int(-x2_denom)) + ')' +
                    egalite.main(x2_num / x2_denom) +
                    str(round(x2_num / x2_denom, 10)).replace('.', ','))
                L5.grid(column=6, row=4, sticky='w')
                prgm.rep[6] = L5.cget('text')
            else:
                L5 = prgm.Label(
                    prgm.root,
                    text='x\u2082=(' + str(int(x2_num)) + ')/(' +
                    str(int(x2_denom)) + ')' +
                    egalite.main(x2_num / x2_denom) +
                    str(round(x2_num / x2_denom, 10)).replace('.', ','))
                L5.grid(column=6, row=4, sticky='w')
                prgm.rep[6] = L5.cget('text')
    else:
        x2_num_int = -b
        x2_num_rt = delta
        x2_denom_c = 2 * a
        x2_num_int_div = x2_num_int
        if x2_num_int_div == 0:
            x2_num_int_div = x2_denom_c
        div_x2 = 2
        while div_x2 <= abs(x2_num_int_div) and div_x2 <= abs(x2_denom_c):
            if x2_num_int % div_x2 == 0 and x2_denom_c % div_x2 == 0 and x2_num_rt % div_x2**2 == 0:
                x2_num_int = x2_num_int // div_x2
                x2_denom_c = x2_denom_c // div_x2
                x2_num_rt = x2_num_rt // div_x2**2
                x2_num_int_div = x2_num_int_div // div_x2
            else:
                div_x2 = div_x2 + 1
        if x2_num_int == 0:
            if abs(x2_denom_c) == 1:
                L5 = prgm.Label(
                    prgm.root,
                    text='x\u2082=-\u221A(' + str(x2_num_rt) + ')' +
                    egalite.main(x2_num / x2_denom) +
                    str(round(x2_num / x2_denom, 10)).replace('.', ','))
                L5.grid(column=6, row=4, sticky='w')
                prgm.rep[6] = L5.cget('text')
            else:
                if x2_denom_c < 0:
                    L5 = prgm.Label(
                        prgm.root,
                        text='x\u2082=-\u221A(' + str(x2_num_rt) + ')/(' +
                        str(int(-x2_denom_c)) + ')' +
                        egalite.main(x2_num / x2_denom) +
                        str(round(x2_num / x2_denom, 10)).replace('.', ','))
                    L5.grid(column=6, row=4, sticky='w')
                    prgm.rep[6] = L5.cget('text')
                else:
                    L5 = prgm.Label(
                        prgm.root,
                        text='x\u2082=\u221A(' + str(x2_num_rt) + ')/(' +
                        str(int(x2_denom_c)) + ')' +
                        egalite.main(x2_num / x2_denom) +
                        str(round(x2_num / x2_denom, 10)).replace('.', ','))
                    L5.grid(column=6, row=4, sticky='w')
                    prgm.rep[6] = L5.cget('text')
        elif x2_num_int < 0 and x2_denom_c < 0:
            if abs(x2_denom_c) == 1:
                L5 = prgm.Label(
                    prgm.root,
                    text='x\u2082=' + str(int(-x2_num_int)) + '-\u221A(' +
                    str(x2_num_rt) + ')' + egalite.main(x2_num / x2_denom) +
                    str(round(x2_num / x2_denom, 10)).replace('.', ','))
                L5.grid(column=6, row=4, sticky='w')
                prgm.rep[6] = L5.cget('text')
            else:
                L5 = prgm.Label(
                    prgm.root,
                    text='x\u2082=(' + str(int(-x2_num_int)) + '-\u221A(' +
                    str(x2_num_rt) + '))/(' + str(int(-x2_denom_c)) + ')' +
                    egalite.main(x2_num / x2_denom) +
                    str(round(x2_num / x2_denom, 10)).replace('.', ','))
                L5.grid(column=6, row=4, sticky='w')
                prgm.rep[6] = L5.cget('text')
        else:
            if abs(x2_denom_c) == 1:
                L5 = prgm.Label(
                    prgm.root,
                    text='x\u2082=' + str(int(x2_num_int)) + '+\u221A(' +
                    str(x2_num_rt) + ')' + egalite.main(x2_num / x2_denom) +
                    str(round(x2_num / x2_denom, 10)).replace('.', ','))
                L5.grid(column=6, row=4, sticky='w')
                prgm.rep[6] = L5.cget('text')
            else:
                L5 = prgm.Label(
                    prgm.root,
                    text='x\u2082=(' + str(int(x2_num_int)) + '+\u221A(' +
                    str(x2_num_rt) + '))/(' + str(int(x2_denom_c)) + ')' +
                    egalite.main(x2_num / x2_denom) +
                    str(round(x2_num / x2_denom, 10)).replace('.', ','))
                L5.grid(column=6, row=4, sticky='w')
                prgm.rep[6] = L5.cget('text')
Beispiel #19
0
def main(a_num, a_denom, b_num, b_denom, delta_num, delta_denom):
    if delta_denom**0.5 == int(delta_denom**0.5):
        x2_num = int((-b_num * (delta_denom**0.5) * a_denom) +
                     ((delta_num**0.5) * b_denom * a_denom))
        x2_denom = int(2 * a_num * b_denom * (delta_denom**0.5))
        if x2_num % x2_denom == 0:
            x2 = x2_num // x2_denom
            L4 = prgm.Label(prgm.root, text='x\u2082=' + str(x2))
            L4.grid(column=6, row=4, sticky='w')
            prgm.rep[6] = L4.cget('text')
        else:
            div_x2 = 2
            while div_x2 <= abs(x2_num) and div_x2 <= abs(x2_denom):
                if x2_num % div_x2 == 0 and x2_denom % div_x2 == 0:
                    x2_num = x2_num // div_x2
                    x2_denom = x2_denom // div_x2
                else:
                    div_x2 = div_x2 + 1

            if x2_num < 0 and x2_denom < 0:
                L4 = prgm.Label(prgm.root,
                                text='x\u2082=(' + str(-x2_num) + ')/(' +
                                str(-x2_denom) + ')=' +
                                str(x2_num / x2_denom).replace('.', ','))
                L4.grid(column=6, row=4, sticky='w')
                prgm.rep[6] = L4.cget('text')
            else:
                L4 = prgm.Label(prgm.root,
                                text='x\u2082=(' + str(x2_num) + ')/(' +
                                str(x2_denom) + ')=' +
                                str(x2_num / x2_denom).replace('.', ','))
                L4.grid(column=6, row=4, sticky='w')
                prgm.rep[6] = L4.cget('text')
    else:
        x2_num_int = int(b_denom * (delta_num**0.5) * a_denom)
        x2_num_rt_int = int(-b_num * a_denom)
        x2_num_rt = int(delta_denom)
        x2_denom_int = int(b_denom * 2 * a_num)
        x2_denom_rt = int(delta_denom)
        x2_num_rt_int_div = x2_num_rt_int
        x2_num_rt_div = x2_num_rt
        if x2_num_rt_int == 0:
            x2_num_rt_int_div = x2_denom_int
            x2_num_rt_div = x2_denom_int
        div_x2 = 2
        while div_x2 <= abs(x2_num_int) and (
                div_x2 <= abs(x2_denom_int) or
                div_x2**2 <= x2_denom_rt) and (div_x2 <= abs(x2_num_rt_int_div)
                                               or div_x2**2 <= x2_num_rt_div):
            if x2_num_int % div_x2 == 0 and (
                    x2_denom_int % div_x2 == 0 or x2_denom_rt % div_x2**2
                    == 0) and (x2_num_rt_int % div_x2 == 0
                               or x2_num_rt % div_x2**2 == 0):
                x2_num_int = x2_num_int // div_x2
                if x2_denom_rt % div_x2**2 == 0:
                    x2_denom_rt = x2_denom_rt // div_x2**2
                else:
                    x2_denom_int = x2_denom_int // div_x2
                if x2_num_rt % div_x2**2 == 0:
                    x2_num_rt = x2_num_rt // div_x2**2
                else:
                    x2_num_rt_int = x2_num_rt_int // div_x2
                x2_num_rt_int_div = x2_num_rt_int_div // div_x2
                x2_num_rt_div = x2_num_rt_div // div_x2
            else:
                div_x2 = div_x2 + 1
        x2_num_1 = ''
        x2_num_2 = ''
        x2_denom = ''
        if x2_num_rt_int == 0:
            x2_num_1 = ''
        elif x2_num_rt_int == 1:
            x2_num_1 = '\u221A(' + str(x2_num_rt) + ')'
        elif x2_num_rt_int == -1:
            x2_num_1 = '-\u221A(' + str(x2_num_rt) + ')'
        else:
            x2_num_1 = str(x2_num_rt_int) + '\u221A(' + str(x2_num_rt) + ')'
        if x2_num_int > 0:
            x2_num_2 = '+' + str(x2_num_int)
        else:
            x2_num_2 = str(x2_num_int)
        if x2_denom_int == 0:
            x2_denom = ''
        elif x2_denom_int == 1:
            x2_denom = '\u221A(' + str(x2_denom_rt) + ')'
        elif x2_denom_int == -1:
            x2_denom = '-\u221A(' + str(x2_denom_rt) + ')'
        else:
            x2_denom = str(x2_denom_int) + '\u221A(' + str(x2_denom_rt) + ')'
        L4 = prgm.Label(
            prgm.root,
            text='x\u2082=((' + x2_num_1 + x2_num_2 + ')/(' + x2_denom +
            '))=' + str(
                ((-b_num * a_denom * delta_denom**0.5) +
                 (a_denom * b_denom * delta_num**0.5)) /
                (2 * a_num * b_denom * delta_denom**0.5)).replace('.', ','))
        L4.grid(column=6, row=4, sticky='w')
        prgm.rep[6] = L4.cget('text')
def main(a_num, a_denom, b_num, b_denom, delta_num, delta_denom):
    if delta_denom**0.5 == int(delta_denom**0.5):
        x1_num = int((-b_num * (delta_denom**0.5) * a_denom) -
                     ((delta_num**0.5) * b_denom * a_denom))
        x1_denom = int(2 * a_num * b_denom * (delta_denom**0.5))
        if x1_num % x1_denom == 0:
            x1 = x1_num // x1_denom
            L4 = prgm.Label(prgm.root, text='x\u2081=' + str(x1))
            L4.grid(column=6, row=3, sticky='w')
            prgm.rep[5] = L4.cget('text')
        else:
            div_x1 = 2
            while div_x1 <= abs(x1_num) and div_x1 <= abs(x1_denom):
                if x1_num % div_x1 == 0 and x1_denom % div_x1 == 0:
                    x1_num = x1_num // div_x1
                    x1_denom = x1_denom // div_x1
                else:
                    div_x1 = div_x1 + 1

            if x1_num < 0 and x1_denom < 0:
                L4 = prgm.Label(prgm.root,
                                text='x\u2081=(' + str(-x1_num) + ')/(' +
                                str(-x1_denom) + ')=' +
                                str(x1_num / x1_denom).replace('.', ','))
                L4.grid(column=6, row=3, sticky='w')
                prgm.rep[5] = L4.cget('text')
            else:
                L4 = prgm.Label(prgm.root,
                                text='x\u2081=(' + str(x1_num) + ')/(' +
                                str(x1_denom) + ')=' +
                                str(x1_num / x1_denom).replace('.', ','))
                L4.grid(column=6, row=3, sticky='w')
                prgm.rep[5] = L4.cget('text')
    else:
        x1_num_int = int(-b_denom * (delta_num**0.5) * a_denom)
        x1_num_rt_int = int(-b_num * a_denom)
        x1_num_rt = int(delta_denom)
        x1_denom_int = int(b_denom * 2 * a_num)
        x1_denom_rt = int(delta_denom)
        x1_num_rt_int_div = x1_num_rt_int
        x1_num_rt_div = x1_num_rt
        if x1_num_rt_int == 0:
            x1_num_rt_int_div = x1_denom_int
            x1_num_rt_div = x1_denom_int
        div_x1 = 2
        while div_x1 <= abs(x1_num_int) and (
                div_x1 <= abs(x1_denom_int) or
                div_x1**2 <= x1_denom_rt) and (div_x1 <= abs(x1_num_rt_int_div)
                                               or div_x1**2 <= x1_num_rt_div):
            if x1_num_int % div_x1 == 0 and (
                    x1_denom_int % div_x1 == 0 or x1_denom_rt % div_x1**2
                    == 0) and (x1_num_rt_int % div_x1 == 0
                               or x1_num_rt % div_x1**2 == 0):
                x1_num_int = x1_num_int // div_x1
                if x1_denom_rt % div_x1**2 == 0:
                    x1_denom_rt = x1_denom_rt // div_x1**2
                else:
                    x1_denom_int = x1_denom_int // div_x1
                if x1_num_rt % div_x1**2 == 0:
                    x1_num_rt = x1_num_rt // div_x1**2
                else:
                    x1_num_rt_int = x1_num_rt_int // div_x1
                x1_num_rt_int_div = x1_num_rt_int_div // div_x1
                x1_num_rt_div = x1_num_rt_div // div_x1
            else:
                div_x1 = div_x1 + 1
        x1_num_1 = ''
        x1_num_2 = ''
        x1_denom = ''
        if x1_num_rt_int == 0:
            x1_num_1 = ''
        elif x1_num_rt_int == 1:
            x1_num_1 = '\u221A(' + str(x1_num_rt) + ')'
        elif x1_num_rt_int == -1:
            x1_num_1 = '-\u221A(' + str(x1_num_rt) + ')'
        else:
            x1_num_1 = str(x1_num_rt_int) + '\u221A(' + str(x1_num_rt) + ')'
        if x1_num_int > 0:
            x1_num_2 = '+' + str(x1_num_int)
        else:
            x1_num_2 = str(x1_num_int)
        if x1_denom_int == 0:
            x1_denom = ''
        elif x1_denom_int == 1:
            x1_denom = '\u221A(' + str(x1_denom_rt) + ')'
        elif x1_denom_int == -1:
            x1_denom = '-\u221A(' + str(x1_denom_rt) + ')'
        else:
            x1_denom = str(x1_denom_int) + '\u221A(' + str(x1_denom_rt) + ')'
        L4 = prgm.Label(prgm.root,
                        text='x\u2081=((' + x1_num_1 + x1_num_2 + ')/(' +
                        x1_denom + '))' + egalite.main(
                            ((-b_num * a_denom * delta_denom**0.5) -
                             (a_denom * b_denom * delta_num**0.5)) /
                            (2 * a_num * b_denom * delta_denom**0.5)) + str(
                                round(((-b_num * a_denom * delta_denom**0.5) -
                                       (a_denom * b_denom * delta_num**0.5)) /
                                      (2 * a_num * b_denom * delta_denom**0.5),
                                      10)).replace('.', ','))
        L4.grid(column=6, row=3, sticky='w')
        prgm.rep[5] = L4.cget('text')