# -*- coding: utf-8 -*- # # Pyromaths # Un programme en Python qui permet de créer des fiches d'exercices types de # mathématiques niveau collège ainsi que leur corrigé en LaTeX. # Copyright (C) 2006 -- Jérôme Ortais (jerome.ortais@pyromaths.org) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # import random from math import * from ..outils.Fractions import Fractions def proba(exo, cor, quiz): couleur=[_(u'bleue'),_(u'rouge'),_(u'jaune'),_(u'verte'),_(u'marron'),_(u'orange')] initiale=[_(u'B'),_(u'R'),_(u'J'),_(u'V'),_(u'M'),_(u'O')] #Choix des 3 couleurs et du nombre de boule rg=random.randrange(0,4) c1,i1,n1=couleur[rg],initiale[rg],random.randrange(1,6) #1ere couleur, son initiale et le nombre #2e couleur diférente de la première rg2=(rg+random.randrange(1,5))%6 c2,i2,n2=couleur[rg2],initiale[rg2],random.randrange(1,6) #3e couleur différente des précédentes c3,i3,n3=couleur[(rg2+1)%6],initiale[(rg2+1)%6],random.randrange(1,6) if n1>1: plur1="s" else : plur1="" if n2>1: plur2="s" else : plur2="" if n3>1: plur3="s" else : plur3="" exos=[_(u"Dans une urne, il y a %s boule%s %s%s (%s), %s boule%s %s%s (%s) et %s boule%s %s%s (%s), indiscernables au toucher. On tire successivement et sans remise deux boules.")%(n1,plur1,c1,plur1,i1,n2,plur2,c2,plur2,i2,n3,plur3,c3,plur3,i3), "\\begin{enumerate}", _(u"\\item Quelle est la probabilité de tirer une boule %s au premier tirage?") %c2, _(u"\\item Construire un arbre des probabilités décrivant l'expérience aléatoire."), _(u"\\item Quelle est la probabilité que la première boule soit %s et la deuxième soit %s?")%(c3,c2), _(u"\\item Quelle est la probabilité que la deuxième boule soit %s ?")%c1, "\\end{enumerate}"] tot=n1+n2+n3 #calculs intermédiaires pour la question 4 p41=_("\\dfrac{%s}{%s}\\times \\dfrac{%s}{%s}+")%(n1,tot,n1-1,tot-1) p42=_("\\dfrac{%s}{%s}\\times \\dfrac{%s}{%s}+")%(n2,tot,n1,tot-1) p43=_("\\dfrac{%s}{%s}\\times \\dfrac{%s}{%s}=")%(n3,tot,n1,tot-1) result4="\\dfrac{%s}{%s}"%(n1*(n1-1+n2+n3),tot*(tot-1)) #resultat non simplifié de la question 4 cors=[_(u"Dans une urne, il y a %s boule%s %s%s (%s), %s boule%s %s%s (%s) et %s boule%s %s%s (%s), indiscernables au toucher. On tire successivement et sans remise deux boules.")%(n1,plur1,c1,plur1,i1,n2,plur2,c2,plur2,i2,n3,plur3,c3,plur3,i3), "\\begin{enumerate}", _(u"\\item Quelle est la probabilité de tirer une boule %s au premier tirage?\\par ") %c2, _(u"Il y a %s boules dans l'urne dont %s boule%s %s%s. \\par")%(tot,n2,plur2,c2,plur2), _(u" La probabilité de tirer une boule %s au premier tirage est donc $\\dfrac{%s}{%s}$.")%(c2,n2,tot), _(u"\\item Construire un arbre des probabilités décrivant l'expérience aléatoire.\\\ [0,3cm] "), "\\psset{unit=1 mm}", "\\psset{linewidth=0.3,dotsep=1,hatchwidth=0.3,hatchsep=1.5,shadowsize=1,dimen=middle}", "\\psset{dotsize=0.7 2.5,dotscale=1 1,fillcolor=black}", "\\psset{arrowsize=1 2,arrowlength=1,arrowinset=0.25,tbarsize=0.7 5,bracketlength=0.15,rbracketlength=0.15}", "\\begin{pspicture}(0,0)(80,53)", "\\psline(0,3)(10,23)", "\\psline(10,3)(10,23)", "\\psline(20,3)(10,23)", "\\psline(30,3)(40,23)", "\\psline(40,3)(40,23)", "\\psline(50,3)(40,23)", "\\psline(60,3)(70,23)", "\\psline(80,3)(70,23)", "\\psline(70,3)(70,23)", "\\psline(15,28)(40,53)", "\\psline(40,53)(65,28)", "\\psline(40,53)(40,28)", "\\rput(20,40){$\\dfrac{%s}{%s}$} \\rput(37,40){$\\dfrac{%s}{%s}$} \\rput(60,40){$\\dfrac{%s}{%s}$}"%(n1,tot,n2,tot,n3,tot), "\\rput(10,26){%s} \\rput(40,26){%s} \\rput(70,26){%s}"%(i1,i2,i3), "\\rput(0,10){$\\dfrac{%s}{%s}$} \\rput(7,10){$\\dfrac{%s}{%s}$} \\rput(20,10){$\\dfrac{%s}{%s}$}"%(n1-1,tot-1,n2,tot-1,n3,tot-1), "\\rput(0,0){%s} \\rput(10,0){%s} \\rput(20,0){%s}"%(i1,i2,i3), "\\rput(30,10){$\\dfrac{%s}{%s}$} \\rput(37,10){$\\dfrac{%s}{%s}$} \\rput(50,10){$\\dfrac{%s}{%s}$}"%(n1,tot-1,n2-1,tot-1,n3,tot-1), "\\rput(30,0){%s} \\rput(40,0){%s} \\rput(50,0){%s}"%(i1,i2,i3), "\\rput(60,10){$\\dfrac{%s}{%s}$} \\rput(67,10){$\\dfrac{%s}{%s}$} \\rput(80,10){$\\dfrac{%s}{%s}$}"%(n1,tot-1,n2,tot-1,n3-1,tot-1), "\\rput(60,0){%s} \\rput(70,0){%s} \\rput(80,0){%s}"%(i1,i2,i3), "\\end{pspicture}", "\\vspace{0.3cm}", _(u"\\item Quelle est la probabilité que la première boule soit %s et la deuxième soit %s?\\par")%(c3,c2), _(u"On utilise l'arbre construit précédemment.\\par"), _("$p(%s,%s)=%s \\times %s = %s$\\par") % \ (i3,i2,Fractions.TeX(Fractions(n3,tot)), Fractions.TeX(Fractions(n2,tot-1)), Fractions.TeX(Fractions(n3*n2,tot*(tot-1)))), _(u"La probabilité que la première boule soit %s et la deuxième soit %s est égale à $\\dfrac{%s}{%s}$.")%(c3,c2,n3*n2,tot*(tot-1)), _(u"\\item Quelle est la probabilité que la deuxième boule soit %s ?\\par")%c1, _(u"On note (?, %s) l'évènement: la deuxième boule tirée est %s. \\par")%(i1,c1), "$p(?,%s)=p(%s,%s)+p(%s,%s)+p(%s,%s)="%(i1,i1,i1,i2,i1,i3,i1)+p41+p42+p43+result4+"$", "\\end{enumerate}"] for st in exos: exo.append(st) for st in cors: cor.append(st) quiz_nom = _(u"Probabilité: Urnes") quiz_exo_cor = (_(u"Dans une urne, il y a %s boule%s %s%s (%s), %s boule%s %s%s (%s) et %s boule%s %s%s (%s), indiscernables au toucher.
\nOn tire successivement et sans remise deux boules.
\n")% (n1,plur1,c1,plur1,i1,n2,plur2,c2,plur2,i2,n3,plur3,c3,plur3,i3)) quiz_exo_cor += _(u"Répond: (Utilise la barre \"/\" pour écrire la fraction sans simplifier)
\n") quiz_exo_cor += (_(u"• Quelle est la probabilité de tirer une boule %s au premier tirage? ") %c2)+(u"{1:SHORTANSWER:%100%")+("%s/%s}
\n" %(n2,tot)) quiz_exo_cor += (_(u"• Quelle est la probabilité que la première boule soit %s et la deuxième soit %s? ") %(c3,c2))+(u"{1:SHORTANSWER:%100%")+("%s}
\n" %Fractions.TeX_quiz(Fractions(n3*n2,tot*(tot-1)),1)) quiz_exo_cor += (_(u"• Quelle est la probabilité que la deuxième boule soit %s ? ") %c1)+(u"{1:SHORTANSWER:%100%")+("%s/%s}" %(n1*(n1-1+n2+n3),tot*(tot-1))) quiz.append([quiz_nom, quiz_exo_cor, ""]) def tex_proba(): exo=['\\exercice'] cor=['\\exercice*'] quiz=["cloze"] proba(exo,cor,quiz) return (exo, cor, quiz)