How to use the pyromaths.outils.Affichage.decimaux function in pyromaths

To help you get started, we’ve selected a few pyromaths examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github Pyromaths / pyromaths / src / pyromaths / ex / sixiemes / decimaux.py View on Github external
exposant = 2 ou 3 pour les aires ou les volumes
    """

    a = random.randint(101, 999)
    p = random.randint(-2, -1)
    while True:
        (div0, div1) = (random.randrange(6), random.randrange(7),)
        # Pas de mm³ par ce que ça sort du tableau
        if (div0 - div1) in [-2, -1, 1, 2]:
            # pas trop loin car ça fait de très longs nombres
            break
    nb0 = a * 10 ** p
    nb1 = nb0 * 10 ** (exposant * (div1 - div0))

    exo.append("\\item $\\unit[%s]{%s}=\\unit[\\dotfill]{%s}$" % 
            (Affichage.decimaux(nb0), u[div0], u[div1]))
    cor.append("\\item $\\unit[%s]{%s}=\\unit[%s]{%s}$\\vspace{1ex}\\par" % 
            (Affichage.decimaux(nb0), u[div0],
                Affichage.decimaux(nb1), u[div1]))

    return tex_tableau_conversion(div0, div1, nb0, u, exposant)
github Pyromaths / pyromaths / src / pyromaths / ex / cinquiemes / construction.py View on Github external
exo.append(_(u"\\item Trace un triangle $%s$ équilatéral de côté $\\unit[%s]{cm}$.\\par") % (nom, decimaux(c)))
    cor.append(_(u"\\item Trace un triangle $%s$ équilatéral de côté $\\unit[%s]{cm}$.\\par") % (nom, decimaux(c)))
    x_C = (c * tan(angABC)) / (tan(angABC) + tan(angBAC))
    y_C = x_C * tan(angBAC)
    cor.append(u"\\begin{pspicture}(-1,-1)(%.3f,%.3f)" % (c + 1, y_C + 1))
    cor.append(u"\\pstTriangle(0,0){%s}(%.3f,0){%s}(%.3f,%.3f){%s}" % (A, c, B, x_C, y_C, C))
    cor.append(u"\\pstLineAB{%s}{%s}\\lput{:U}{\\psset{linecolor=enonce}\\MarkHashh}" % (C, A))
    cor.append(u"\\pstLineAB{%s}{%s}\\lput{:U}{\\psset{linecolor=enonce}\\MarkHashh}" % (B, C))
    cor.append(u"\\pstLineAB{%s}{%s}\\lput{:U}{\\psset{linecolor=enonce}\\MarkHashh}" % (A, B))
    cor.append(u"\\pstRotation[RotAngle=7,PointSymbol=none,PointName=none]{%s}{%s}[C_1]" % (A, C))
    cor.append(u"\\pstRotation[RotAngle=-7,PointSymbol=none,PointName=none]{%s}{%s}[C_2]" % (A, C))
    cor.append(u"\\pstArcOAB[linecolor=calcul]{%s}{C_2}{C_1}" % (A))
    cor.append(u"\\pstRotation[RotAngle=7,PointSymbol=none,PointName=none]{%s}{%s}[C_3]" % (B, C))
    cor.append(u"\\pstRotation[RotAngle=-7,PointSymbol=none,PointName=none]{%s}{%s}[C_4]" % (B, C))
    cor.append(u"\\pstArcOAB[linecolor=calcul]{%s}{C_4}{C_3}" % (B))
    cor.append(cotation((0, 0), (c, 0), decimaux(c), couleur="enonce"))
    cor.append(u"\\end{pspicture}")
github Pyromaths / pyromaths / src / pyromaths / troisiemes / affine.py View on Github external
def tracefonc(f,i,A,B,xmin,xmax,ymin,ymax):
#A est sur l'axe des ordonnées, f est le nom de la fonction
#Génère la 2e queston et sa réponse
    u=coefdir(A,B)
    if A[1]>=0:
        b='+'+decimaux(str(A[1]))
    else:
        b=decimaux(str(A[1]))
    if u[1]==1:
        coef=decimaux(str(u[0]))
        if u[0]==-1:
            coef='-'
        if u[0]==1:
            coef=''
        x1=decimaux(str(B[0]))
        y1=decimaux(str(B[1]))
        u[0]=u[0]*B[0]
    else:
        B=(u[1],u[0]+float(A[1]))
        if not dansrep(B,xmin,xmax,ymin,ymax):
            B=(-u[1],-u[0]+float(A[1]))

        x1=decimaux(str(B[0]))
        y1=decimaux(str(B[1]))
        if u[0]>0:
            coef='\\dfrac{'+decimaux(str(u[0]))+'}{'+decimaux(str(u[1]))+'}'
        else:
            coef='-\\dfrac{'+decimaux(str(abs(u[0])))+'}{'+decimaux(str(u[1]))+'}'

    x0='0'
    y0=b
github Pyromaths / pyromaths / src / pyromaths / ex / cinquiemes / construction.py View on Github external
AC = 0.1 * random.randint(40, 60)  # AB mesure entre 4cm et 7cm, tracé horizontalement
    angBAC = random.randint(25, 75)
    # Calcul pour tracer
    x_D = AC / 2
    y_D = AC / 2 * tan(angBAC)

    exo.append(_(u"\\item Trace un losange $%s$ tel que $%s%s=\\unit[%s]{cm}$ et $\\widehat{%s%s%s}=%s\\degres$.\\par")
               % (nom, A, C, decimaux(AC), B, A, C, angBAC))
    cor.append(_(u"\\item Trace un losange $%s$ tel que $%s%s=\\unit[%s]{cm}$ et $\\widehat{%s%s%s}=%s\\degres$.\\par")
               % (nom, A, C, decimaux(AC), B, A, C, angBAC))
    # Rédaction
    cor.append(_(u" Comme $%s$ est un losange, je sais que $\\widehat{%s%s%s}=\\widehat{%s%s%s}=\\widehat{%s%s%s}=\\widehat{%s%s%s}=%s\\degres$.")
               % (nom, B, A, C, A, C, B, A, C, D, C, A, D, angBAC))
    # Programme de construction
    cor.append(u"\\begin{enumerate}")
    cor.append(_(u"\\item Je trace le segment $[%s%s]$ mesurant $\\unit[%s]{cm}$ ;") % (A, C, decimaux(AC)))
    cor.append(_(u"\\item je trace $\\widehat{%s%s%s}$ et $\\widehat{%s%s%s}$ pour construire le point $%s$ ;") % (B, A, C, A, C, B, B))
    cor.append(_(u"\\item je trace $\\widehat{%s%s%s}$ et $\\widehat{%s%s%s}$ pour construire le point $%s$ ;") % (A, C, D, C, A, D, D))
    cor.append("\\end{enumerate}\n")
    cor.append(u"\\begin{pspicture}(-0.4,%.3f)(%.3f,%.3f)" % (-y_D - 1, AC + 0.4, y_D + 1))
    # figure
    cor.append(u"\\pstGeonode[PosAngle={-180,0,90,-90}](0,0){%s}(%.3f,0){%s}(%.3f,%.3f){%s}(%.3f,%.3f){%s}" % (A, AC, C, x_D, y_D, D, x_D, -y_D, B))
    cor.append(u"\\pstLineAB[nodesepB=-1]{%s}{%s}\\lput{:U}{\\psset{linecolor=enonce}\\MarkHashh}" % (A, B))
    cor.append(u"\\pstLineAB[nodesepB=-1]{%s}{%s}\\lput{:U}{\\psset{linecolor=enonce}\\MarkHashh}" % (C, D))
    cor.append(u"\\pstLineAB[nodesepA=-1]{%s}{%s}\\lput{:U}{\\psset{linecolor=enonce}\\MarkHashh}" % (B, C))
    cor.append(u"\\pstLineAB[nodesepA=-1]{%s}{%s}\\lput{:U}{\\psset{linecolor=enonce}\\MarkHashh}" % (D, A))
    cor.append(u"\\pstLineAB{%s}{%s}" % (A, C))
    cor.append(cotation_h((0, 0), (AC, 0), decimaux(AC), couleur="enonce"))
    cor.append(u"\\color{enonce}\\pstMarkAngle[linecolor=enonce,Mark=MarkHash]{%s}{%s}{%s}{%s\\degres}" % (B, A, C, angBAC))
    cor.append(u"\\color{enonce}\\pstMarkAngle[linecolor=calcul,Mark=MarkHash]{%s}{%s}{%s}{}" % (C, A, D))
    cor.append(u"\\color{enonce}\\pstMarkAngle[linecolor=calcul,Mark=MarkHash]{%s}{%s}{%s}{}" % (D, C, A))
    cor.append(u"\\color{enonce}\\pstMarkAngle[linecolor=calcul,Mark=MarkHash]{%s}{%s}{%s}{}" % (A, C, B))
github Pyromaths / pyromaths / src / pyromaths / ex / sixiemes / operations.py View on Github external
l[1], 1)))
            cor.append('\\item $\\mathbf{%s} \\times %s = %s$' % 
                     (Affichage.decimaux(l[0], 1), Affichage.decimaux(l[1],
                     1), Affichage.decimaux(l[0] * l[1], 1)))
    else:
        alea = random.randrange(0, 5)
        if alea > 1:
            exo.append('\\item $%s \\quad\\div\\quad %s \\quad = \\quad \\dotfill$' % 
                     (Affichage.decimaux(l[0], 1), Affichage.decimaux(l[1],
                     1)))
            cor.append('\\item $%s \\div %s = \\mathbf{%s}$' % (Affichage.decimaux(l[0],
                     1), Affichage.decimaux(l[1], 1), Affichage.decimaux(l[0] / 
                     l[1], 1)))
        elif alea > 0:
            exo.append('\\item $%s \\quad\\div\\quad \\dotfill \\quad = \\quad %s$' % 
                     (Affichage.decimaux(l[0], 1), Affichage.decimaux(l[0] / 
                     l[1], 1)))
            cor.append('\\item $%s \\div \\mathbf{%s} = %s$' % (Affichage.decimaux(l[0],
                     1), Affichage.decimaux(l[1], 1), Affichage.decimaux(l[0] / 
                     l[1], 1)))
        else:
            exo.append('\\item $\\dotfill \\quad\\div\\quad %s \\quad = \\quad %s$' % 
                     (Affichage.decimaux(l[1], 1), Affichage.decimaux(l[0] / 
                     l[1], 1)))
            cor.append('\\item $\\mathbf{%s} \\div %s = %s$' % (Affichage.decimaux(l[0],
                     1), Affichage.decimaux(l[1], 1), Affichage.decimaux(l[0] / 
                     l[1], 1)))
github Pyromaths / pyromaths / src / pyromaths / ex / sixiemes / decimaux.py View on Github external
def choix_trou_frac(exo, cor, n1, p1):
    i = random.randrange(3)
    p2 = random.randrange(2)  # sert à compliquer un peu l'exercice
    if i > 1:
        exo.append('\\item $\\cfrac{%s}{%s}=\\ldots$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
                    Affichage.decimaux(10 ** (p1 + p2))))
        cor.append('\\item $\\cfrac{%s}{%s}=\\mathbf{%s}$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
                    Affichage.decimaux(10 ** (p1 + p2)),
                    Affichage.decimaux(n1 * 10 ** (-p1), 1)))
    elif i > 0:
        exo.append('\\item $\\cfrac{%s}{\ldots}=%s$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
        Affichage.decimaux(n1 * 10 ** (-p1), 1)))
        cor.append('\\item $\\cfrac{%s}{\\mathbf{%s}}=%s$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
        Affichage.decimaux(10 ** (p1 + p2)), \
                Affichage.decimaux(n1 * 10 ** (-p1), 1)))
    else:
        exo.append('\\item $\\cfrac{\ldots}{%s}=%s$' % 
                (Affichage.decimaux(10 ** (p1 + p2)),
        Affichage.decimaux(n1 * 10 ** (-p1), 1)))
        cor.append('\\item $\\cfrac{\\mathbf{%s}}{%s}=%s$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
                    Affichage.decimaux(10 ** (p1 + p2)),
github Pyromaths / pyromaths / src / pyromaths / troisiemes / arithmetique.py View on Github external
factsup = factoriseTex(carre)[0]

    if len(factsup)==1:
        cor.append(" le facteur ")
    else:
        cor.append(" les facteurs ")

    for j in range(len(factsup)):
        if (j != len(factsup)-1) and (j != len(factsup)-2):
            cor.append(decimaux(factsup[j]) + " , ")
        elif (j == len(factsup)-2):
            cor.append(decimaux(factsup[j]) + " et ")
        else:
            cor.append(decimaux(factsup[j]) + ".\\par")

    cor.append(u"Le nombre cherché est par conséquent " + decimaux(carre) +
            u" et le carré parfait obtenu est " + decimaux(carre *
                autresnombres[0]) + ".")

    ### Question 4
    exo.append(u"\\item Rendre la fraction $\\dfrac{" + decimaux(listenombres[1])
            + "}{" + decimaux(listenombres[2]) + u"}$ irréductible.")

    cor.append(u"\\item Le moyen le plus rapide de simplifier cette fraction est"
            + u"de diviser le numérateur et le dénominateur par leur PGCD." +
            u" D'après la question 2),  PGCD(" + decimaux(listenombres[1]) + ";~"
            + decimaux(listenombres[2]) + ") = "
            + decimaux(fauxpgcd * pgcdcompl) + ", donc on obtient :\\par")
    cor.append(u"$\dfrac{" + decimaux(listenombres[1]) + "{\\scriptstyle \\div " +
            decimaux(fauxpgcd * pgcdcompl) + "}}{" + decimaux(listenombres[2]) +
            "{\\scriptstyle \\div " + decimaux(fauxpgcd * pgcdcompl) +
            "}} = \dfrac{" + decimaux(listenombres[1] / (fauxpgcd * pgcdcompl)) +
github Pyromaths / pyromaths / src / pyromaths / ex / sixiemes / decimaux.py View on Github external
a = random.randint(101, 999)
    p = random.randint(-2, -1)
    while True:
        (div0, div1) = (random.randrange(6), random.randrange(7),)
        # Pas de mm³ par ce que ça sort du tableau
        if (div0 - div1) in [-2, -1, 1, 2]:
            # pas trop loin car ça fait de très longs nombres
            break
    nb0 = a * 10 ** p
    nb1 = nb0 * 10 ** (exposant * (div1 - div0))

    exo.append("\\item $\\unit[%s]{%s}=\\unit[\\dotfill]{%s}$" % 
            (Affichage.decimaux(nb0), u[div0], u[div1]))
    cor.append("\\item $\\unit[%s]{%s}=\\unit[%s]{%s}$\\vspace{1ex}\\par" % 
            (Affichage.decimaux(nb0), u[div0],
                Affichage.decimaux(nb1), u[div1]))

    return tex_tableau_conversion(div0, div1, nb0, u, exposant)
github Pyromaths / pyromaths / src / pyromaths / ex / cinquiemes / construction.py View on Github external
exo.append(_(u"\\item Trace un triangle $%s$ tel que $%s%s=\\unit[%s]{cm}$, $%s%s=\\unit[%s]{cm}$ et $\\widehat{%s%s%s}=%s\\degres$")
               % (nom, A, B, decimaux(c), A, C, decimaux(b), B, A, C, angBAC))
    cor.append(_(u"\\item Trace un triangle $%s$ tel que $%s%s=\\unit[%s]{cm}$, $%s%s=\\unit[%s]{cm}$ et $\\widehat{%s%s%s}=%s\\degres$.\\par")
               % (nom, A, B, decimaux(c), A, C, decimaux(b), B, A, C, angBAC))
    cor.append(u"\\begin{pspicture}(%.3f,%.3f)(%.3f,%.3f)" % (min(0, b * cos(angBAC)) - 0.4, -1, max(b, b * cos(angBAC)) + 0.4, b * sin(angBAC) + 1))
    cor.append(u"\\pstTriangle(0,0){%s}(%.3f;%.3f){%s}(%.3f,0){%s}" % (A, b, angBAC, C, c, B))
    cor.append(u"\\color{enonce}\\pstMarkAngle[linecolor=enonce]{%s}{%s}{%s}{%s\\degres}" % (B, A, C, angBAC))
    cor.append(u"\\pstLineAB[nodesepB=-1]{%s}{%s}" % (A, C))
    cor.append(u"\\pstRotation[RotAngle=7,PointSymbol=none,PointName=none]{%s}{%s}[C_1]" % (A, C))
    cor.append(u"\\pstRotation[RotAngle=-7,PointSymbol=none,PointName=none]{%s}{%s}[C_2]" % (A, C))
    cor.append(u"\\pstArcOAB[linecolor=calcul]{%s}{C_2}{C_1}" % (A))
    cor.append(cotation((0, 0), (c, 0), decimaux(c), couleur="enonce"))
    if angBAC < 111:
        x_C, y_C = b * cos(angBAC), b * sin(angBAC)
        cor.append(cotation_h((0, 0), (x_C, y_C), decimaux(b), couleur="enonce"))
    else:
        x_C, y_C = b * cos(angBAC), b * sin(angBAC)
        cor.append(cotation((x_C, y_C), (0, 0), decimaux(b), couleur="enonce"))
    cor.append(u"\\end{pspicture}")
github Pyromaths / pyromaths / src / pyromaths / ex / sixiemes / decimaux.py View on Github external
def choix_trou_frac(exo, cor, n1, p1):
    i = random.randrange(3)
    p2 = random.randrange(2)  # sert à compliquer un peu l'exercice
    if i > 1:
        exo.append('\\item $\\cfrac{%s}{%s}=\\ldots$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
                    Affichage.decimaux(10 ** (p1 + p2))))
        cor.append('\\item $\\cfrac{%s}{%s}=\\mathbf{%s}$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
                    Affichage.decimaux(10 ** (p1 + p2)),
                    Affichage.decimaux(n1 * 10 ** (-p1), 1)))
    elif i > 0:
        exo.append('\\item $\\cfrac{%s}{\ldots}=%s$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
        Affichage.decimaux(n1 * 10 ** (-p1), 1)))
        cor.append('\\item $\\cfrac{%s}{\\mathbf{%s}}=%s$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
        Affichage.decimaux(10 ** (p1 + p2)), \
                Affichage.decimaux(n1 * 10 ** (-p1), 1)))
    else:
        exo.append('\\item $\\cfrac{\ldots}{%s}=%s$' % 
                (Affichage.decimaux(10 ** (p1 + p2)),
        Affichage.decimaux(n1 * 10 ** (-p1), 1)))
        cor.append('\\item $\\cfrac{\\mathbf{%s}}{%s}=%s$' % 
                (Affichage.decimaux(n1 * 10 ** p2),
                    Affichage.decimaux(10 ** (p1 + p2)),
                    Affichage.decimaux(n1 * 10 ** (-p1), 1)))