def valeurs(pyromax): # crée les valeurs aléatoires pour l'équation while True: coefs = [Arithmetique.valeur_alea(-pyromax, pyromax) for i in range(6)] sgn = Arithmetique.valeur_alea(-1, 1) if sgn > 0: signe = "+" else: signe = "-" while True: while True: dens = [Arithmetique.valeur_alea(2, 9) for i in range(3)] if dens[0] != dens[1] and dens[0] != dens[2] and dens[1] != \ dens[2]: break ppcm = Arithmetique.ppcm(dens[0], Arithmetique.ppcm(dens[1], dens[2])) densprim = [ppcm // dens[i] for i in range(3)] if densprim[0] < 10 and densprim[1] < 10 and densprim[2] < \ 10: break nvxcoefs = [coefs[i] * densprim[i // 2] for i in range(6)] if (nvxcoefs[0] + nvxcoefs[2] * sgn) - nvxcoefs[4] != 0: break return (tuple(coefs), tuple(dens), tuple(densprim), (signe, sgn), tuple(nvxcoefs))
def systemes(exo, cor, v): a = Arithmetique.ppcm(v[0][0], v[1][0]) b = Arithmetique.ppcm(v[0][1], v[1][1]) (a0, a1, b0, b1) = (a // v[0][0], -a // v[1][0], b // v[0][1], -b // v[1][1]) if a0 < 0: (a0, a1) = (-a0, -a1) if b0 < 0: (b0, b1) = (-b0, -b1) if min(abs(a0), abs(a1)) > min(abs(b0), abs(b1)): (a0, a1) = (b0, b1) exo.append('$%s$' % tex_systeme(v)) cor.append('$%s$' % tex_systeme(v, (a0, a1))) c1 = combinaison1(v, a0, a1) cor.append('''\\vspace{2ex} \\begin{multicols}{2}\\noindent ''') cor.append(u'\\[ ' + tex_systeme(c1) + '\\quad\\text{\\footnotesize On ajoute les deux lignes}' + '\\] ') c2 = combinaison2(c1) cor.append(u'\\[ ' + tex_comb2(c1, c2) + '\\] ') cor.append(u'\\[ ' + tex_comb3(c2) + '\\] ') cor.append(u'\\[ \\boxed{' + tex_comb4(c2) + '} \\] ') cor.append('\\columnbreak\\par') cor.append(tex_equation(v, c2)) cor.append(u'\\[ ' + tex_eq2(v, c2) + '\\] ') cor.append(u'\\[ \\boxed{' + tex_eq3(v, c2) + '} \\] ') cor.append('\\end{multicols}') cor.append(u"\\underline{La solution de ce système d'équations est $(x;~y)=(%s;~%s)$.}\\par" % v[2]) cor.append(u'{Vérification : $' + tex_verification(v) + '$}')
def systemes(exo, cor, v): a = Arithmetique.ppcm(v[0][0], v[1][0]) b = Arithmetique.ppcm(v[0][1], v[1][1]) (a0, a1, b0, b1) = (a // v[0][0], -a // v[1][0], b // v[0][1], -b // v[1][1]) if a0 < 0: (a0, a1) = (-a0, -a1) if b0 < 0: (b0, b1) = (-b0, -b1) if min(abs(a0), abs(a1)) > min(abs(b0), abs(b1)): (a0, a1) = (b0, b1) exo.append('$%s$' % tex_systeme(v)) cor.append('$%s$' % tex_systeme(v, (a0, a1))) c1 = combinaison1(v, a0, a1) cor.append('''\\vspace{2ex} \\begin{multicols}{2}\\noindent ''') cor.append(u'\\[ ' + tex_systeme(c1) + '\\quad\\text{\\footnotesize On ajoute les deux lignes}' + '\\] ') c2 = combinaison2(c1) cor.append(u'\\[ ' + tex_comb2(c1, c2) + '\\] ') cor.append(u'\\[ ' + tex_comb3(c2) + '\\] ') cor.append(u'\\[ \\boxed{' + tex_comb4(c2) + '} \\] ') cor.append('\\columnbreak\\par') cor.append(tex_equation(v, c2)) cor.append(u'\\[ ' + tex_eq2(v, c2) + '\\] ') cor.append(u'\\[ \\boxed{' + tex_eq3(v, c2) + '} \\] ') cor.append('\\end{multicols}') cor.append( u"\\underline{La solution de ce système d'équations est $(x;~y)=(%s;~%s)$.}\\par" % v[2]) cor.append(u'{Vérification : $' + tex_verification(v) + '$}')