Commit 1321bc71 authored by Olivier Cornu's avatar Olivier Cornu
Browse files

Relocalise les attributs d'exercices (description, niveau).

Transition vers une API-Exercice.
En attendant la spécification définitive de l'API et la conversion de tous
les exercices existants à cette API, mise en place d'un mécanisme de
localisation des attributs d'exercices compatible avec le format actuel.

Un exercice est une fonction ayant un attribut description (type: Unicode).
Cet attribut est affiché dans l'interface utilisateur.
parent ae865b2d
......@@ -28,19 +28,5 @@ EXERCICES = (priorites.main, symetrie.main, fractions.fractions_egales,
reperage.main, relatifs.main, construction.exo_triangle,
construction.exo_quadrilatere,
proportionnalite.exo_echelles, aires.exo_aire_diques, statistiques.statistiques)
TITRES = [u'Priorités opératoires',
u'Symétrie centrale',
u'Fractions égales',
u'Sommes de fractions',
u'Produits de fractions',
u'Repérage',
u'Addition de relatifs',
u'Construction de triangles',
u'Construction de parallélogrammes',
u'Échelles',
u'Aire de disques',
u'Statistiques',
]
TITRES = [exercice.description for exercice in EXERCICES]
FICHE = [u'Cinquième', '', TITRES]
......@@ -79,3 +79,5 @@ Calculer l'aire de la couronne circulaire (partie colorée) comprise entre les d
exo.append("\\end{minipage}\n")
cor.append("\\end{minipage}\n")
return (exo, cor)
exo_aire_diques.description = u'Aire de disques'
......@@ -69,6 +69,9 @@ def exo_triangle(test=False):
cor.append("\\end{enumerate}")
return exo,cor
exo_triangle.description = u'Construction de triangles'
def quest_equilateral(exo,cor):
A,B,C=geo.choix_points(3)
nom=shuffle_nom([A,B,C])
......@@ -366,6 +369,8 @@ def exo_quadrilatere(test=False):
cor.append("\\end{enumerate}")
return exo,cor
exo_quadrilatere.description = u'Construction de parallélogrammes'
################################################################
####### RECTANGLES #############
......
......@@ -66,6 +66,8 @@ def fractions_egales():
cor.extend([" \\end{enumerate}", "\end{multicols}\n"])
return (exo, cor)
fractions_egales.description = u'Fractions égales'
def sommes_fractions():
exo = ["\\exercice",
......@@ -120,6 +122,8 @@ def sommes_fractions():
cor.append("\end{multicols}\n")
return (exo, cor)
sommes_fractions.description = u'Sommes de fractions'
def produits_fractions():
exo = ["\\exercice",
......@@ -162,3 +166,5 @@ def produits_fractions():
exo.append("\end{multicols}\n")
cor.append("\end{multicols}\n")
return (exo, cor)
produits_fractions.description = u'Produits de fractions'
......@@ -266,3 +266,5 @@ def main():
exo.append("\\end{multicols}")
cor.append("\\end{multicols}")
return (exo, cor)
main.description = u'Priorités opératoires'
......@@ -133,6 +133,9 @@ def exo_echelles():
return exo, cor
exo_echelles.description = u'Échelles'
def exo_fruits():
fruit = ["Cerises", "Tomates", "Pommes", "Poires", "Raisin", "Oranges"][randrange(6)]
while 1:
......
......@@ -104,3 +104,5 @@ def main():
exo.extend([" \\end{enumerate}", "\\end{multicols}"])
cor.extend([" \\end{enumerate}", "\\end{multicols}"])
return (exo, cor)
main.description = u'Addition de relatifs'
......@@ -215,3 +215,4 @@ def main():
cor.append("}")
return(exo,cor)
main.description = u'Repérage'
......@@ -675,4 +675,6 @@ def statistiques():
else:
exo_ages()
return (exo, cor)
\ No newline at end of file
return (exo, cor)
statistiques.description = u'Statistiques'
......@@ -130,3 +130,5 @@ def main():
exo.append("\\hfill")
cor.append("\\hfill")
return (exo, cor)
main.description = u'Symétrie centrale'
......@@ -258,3 +258,5 @@ def cercle_trigonometrique():
return exo, cor
cercle_trigonometrique.description = u"Cercle trigonométrique"
cercle_trigonometrique.level = u"Niveau Seconde"
......@@ -66,6 +66,10 @@ def exo_racines_degre2():
cor.append("\\end{enumerate}")
return exo,cor
exo_racines_degre2.description = u'Équations 2° degré'
exo_racines_degre2.level = u'Niveau 1èreS'
def exo_factorisation_degre2():
'''exercice recherche de racines second degré'''
......@@ -141,6 +145,10 @@ def exo_factorisation_degre2():
cor.append("\\end{enumerate}")
return exo,cor
exo_factorisation_degre2.description = u'Factorisations 2° degré'
exo_factorisation_degre2.level = u'Niveau 1èreS'
def exo_factorisation_degre3():
'''exercice de factorisation degre3'''
......@@ -172,6 +180,10 @@ def exo_factorisation_degre3():
cor.append("\\end{enumerate}")
return exo,cor
exo_factorisation_degre3.description = u'Factorisations degré 3'
exo_factorisation_degre3.level = u'Niveau 1èreS'
def exo_tableau_de_signe():
#intervalle pour les racines entières ou fractionnaire
rac_min=-10
......@@ -223,6 +235,10 @@ def exo_tableau_de_signe():
cor.append("\\end{enumerate}")
return exo,cor
exo_tableau_de_signe.description = u'Étude de signe'
exo_tableau_de_signe.level = u'Niveau 1èreS'
def exo_variation():
exo=["\\exercice",
......@@ -239,6 +255,10 @@ def exo_variation():
cor.append("\\end{enumerate}")
return exo,cor
exo_variation.description = u"Sens de variations"
exo_variation.level = u"Niveau 1èreS, Term STG"
def exo_variation_lim():
"""Étude de fonctions avec calculs de limites"""
exo=["\\exercice",
......@@ -254,6 +274,9 @@ def exo_variation_lim():
cor.append("\\end{enumerate}")
return exo,cor
exo_variation_lim.description = u"Étude de fonctions"
exo_variation_lim.level = u"Niveau Term S"
def quest_fonctions_rationnelles():
nomf=['f','g','h','k'][randrange(4)]
......
......@@ -113,5 +113,5 @@ def FormeCanonique():
cor = exo = ["1","2","3"]
return exo, cor
\ No newline at end of file
FormeCanonique.description = u"Forme canonique"
FormeCanonique.level = u""
......@@ -299,3 +299,6 @@ def vecteurs_add():
cor.append("\\end{enumerate}")
return exo,cor
vecteurs_add.description = u"Vecteurs"
vecteurs_add.level = u"Niveau Seconde"
......@@ -34,26 +34,6 @@ EXERCICES = (
CercleTrigo.cercle_trigonometrique,
SecondDegre.FormeCanonique,
)
TITRES = [u'Équations 2° degré',
u'Factorisations 2° degré',
u'Factorisations degré 3',
u'Étude de signe',
u"Sens de variations",
u"Étude de fonctions",
u"Vecteurs",
u"Cercle trigonométrique",
u"Forme canonique",
]
NIVEAUX = [u'Niveau 1èreS',
u'Niveau 1èreS',
u'Niveau 1èreS',
u'Niveau 1èreS',
u"Niveau 1èreS, Term STG",
u"Niveau Term S",
u"Niveau Seconde",
u"Niveau Seconde",
]
TITRES = [exercice.description for exercice in EXERCICES]
NIVEAUX = [exercice.level for exercice in EXERCICES]
FICHE = [u'Lycée', '', TITRES, NIVEAUX]
......@@ -43,24 +43,5 @@ EXERCICES = (
geometrie.exo_thales,
geometrie.exo_trigo,
)
TITRES = [u'Calcul mental',
u'Sommes de fractions',
u'Produits et quotients de fractions',
u'Fractions et priorités',
u'Bases du calcul littéral',
u'Réduire des expressions littérales',
u'Propriétés sur les puissances',
u'Propriétés sur les puissances de 10',
u'Écritures scientifiques',
u'Puissances de 10',
u'Distributivité',
u'Double distributivité',
u'Théorème de Pythagore',
u'Réciproque du théorème de Pythagore',
u'Cercle et théorème de Pythagore',
u'Théorème de Thalès',
u'Trigonométrie',
]
TITRES = [exercice.description for exercice in EXERCICES]
FICHE = [u'Quatrième', '', TITRES]
......@@ -92,3 +92,5 @@ def main():
exo.extend([" \\end{enumerate}", "\\end{multicols}"])
cor.extend([" \\end{enumerate}", "\\end{multicols}"])
return (exo, cor)
main.description = u'Calcul mental'
......@@ -45,6 +45,8 @@ def exo_distributivite():
cor.append("\\end{multicols}\n")
return (exo, cor)
exo_distributivite.description = u'Distributivité'
def exo_double_distributivite():
exo = ["\\exercice",
......@@ -63,6 +65,8 @@ def exo_double_distributivite():
cor.append("\\end{multicols}\n")
return (exo, cor)
exo_double_distributivite.description = u'Double distributivité'
def coef_opposes(a): # renvoie un tuple dont les valeurs sont les opposees de celles de a
l = []
......
......@@ -279,6 +279,8 @@ def exo_sommes_fractions():
cor.append("\\end{multicols}\n")
return (exo, cor)
exo_sommes_fractions.description = u'Sommes de fractions'
def exo_produits_fractions():
exo = ["\\exercice",
......@@ -306,6 +308,8 @@ def exo_produits_fractions():
cor.append("\\end{multicols}\n")
return (exo, cor)
exo_produits_fractions.description = u'Produits et quotients de fractions'
def exo_priorites_fractions():
exo = ["\\exercice",
......@@ -333,4 +337,7 @@ def exo_priorites_fractions():
cor.append("\\end{multicols}\n")
return (exo, cor)
exo_priorites_fractions.description = u'Fractions et priorités'
exo_sommes_fractions()
......@@ -149,6 +149,8 @@ Calculer la longueur $%s$.""" % \
cor.append("\\end{enumerate}\n\\end{multicols}\n")
return (exo, cor)
exo_pythagore.description = u'Théorème de Pythagore'
def nom_triangle(noms): # renvoie le nom du triangle dans un ordre aleatoire
a = random.randrange(3)
......@@ -245,6 +247,8 @@ Calculer la longueur $%s$.""" % \
cor.append("\\end{minipage}\n")
return (exo, cor)
exo_triangle_cercle.description = u'Cercle et théorème de Pythagore'
#
# ------------------- RECIPROQUE DU THEOREME DE PYTHAGORE -------------------
......@@ -293,6 +297,8 @@ D'après la \\textbf{réciproque du théorème de Pythagore},
(c[2], c[0], c[1], nom_tr, noms[2]))
return (exo, cor)
exo_reciproque_pythagore.description = u'Réciproque du théorème de Pythagore'
#
# ------------------- THEOREME DE THALES -------------------
......@@ -405,6 +411,8 @@ def exo_thales():
cor.append(tex_resolution_thales3(noms, valeurs))
return (exo, cor)
exo_thales.description = u'Théorème de Thalès'
def long_val(noms, valeurs): # renvoie un tuple contenant les noms des segments et leur longueur puis les noms des longueurs a calculer
liste = []
......@@ -694,6 +702,8 @@ def exo_trigo():
cor.extend(l2)
return (exo, cor)
exo_trigo.description = u'Trigonométrie'
def enonce_trigo(v):
(exo, cor) = ([], [])
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment