mathmaker  0.4(alpha)
mathmaker_dev/sheet/AlgebraFactorization_01.py
00001 # -*- coding: utf-8 -*-
00002 
00003 # Mathmaker creates automatically maths exercises sheets
00004 # with their answers
00005 # Copyright 2006-2014 Nicolas Hainaux <nico_h@users.sourceforge.net>
00006 
00007 # This file is part of Mathmaker.
00008 
00009 # Mathmaker is free software; you can redistribute it and/or modify
00010 # it under the terms of the GNU General Public License as published by
00011 # the Free Software Foundation; either version 3 of the License, or
00012 # any later version.
00013 
00014 # Mathmaker is distributed in the hope that it will be useful,
00015 # but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 # GNU General Public License for more details.
00018 
00019 # You should have received a copy of the GNU General Public License
00020 # along with Mathmaker; if not, write to the Free Software
00021 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00022 
00023 import machine
00024 import exercise
00025 
00026 from S_Structure import S_Structure
00027 
00028 FONT_SIZE_OFFSET = -2
00029 SHEET_LAYOUT_TYPE = 'std'
00030 SHEET_LAYOUT_UNIT = "cm"
00031 # -----------------------  lines_nb    col_widths   exercises
00032 SHEET_LAYOUT = { 'exc' : [ None,                    'all'
00033                          ],
00034                  'ans' : [ None,                    'all'
00035                          ]
00036                }
00037 
00038 # ------------------------------------------------------------------------------
00039 # --------------------------------------------------------------------------
00040 # ------------------------------------------------------------------------------
00041 ##
00042 # @class AlgebraFactorization_01
00043 # @brief Some easy factorization exercises.
00044 class AlgebraFactorization_01(S_Structure):
00045 
00046 
00047 
00048 
00049 
00050     # --------------------------------------------------------------------------
00051     ##
00052     #   @brief Constructor
00053     #   @param embedded_machine The machine to be used
00054     #   @param **options Any options
00055     #   @return One instance of sheet.Model
00056     def __init__(self, embedded_machine, **options):
00057         self.derived = True
00058         S_Structure.__init__(self, embedded_machine, FONT_SIZE_OFFSET,
00059                              SHEET_LAYOUT_UNIT, SHEET_LAYOUT,
00060                              SHEET_LAYOUT_TYPE)
00061 
00062         # BEGINING OF THE ZONE TO REWRITE (see explanations below) ------------
00063         self.header = ""
00064         self.title = _("Training exercises sheet :")
00065         self.subtitle = _("Factorization")
00066         self.text = _("Only basic factorizations are expected. \
00067                       Don't use fractions.")
00068         self.answers_title = _("Examples of answers")
00069 
00070         # For instance :
00071         ex1 = exercise.X_Factorization(self.machine,
00072                                        x_kind='preformatted',
00073                                        x_subkind='level_01_easy')
00074         self.exercises_list.append(ex1)
00075 
00076         ex2 = exercise.X_Factorization(self.machine,
00077                                        x_kind='bypass',
00078                                        x_subkind='level_01',
00079                                        q_subkind='three_terms',
00080                                        number_of_questions=3)
00081         self.exercises_list.append(ex2)
00082 
00083         ex3 = exercise.X_Factorization(self.machine,
00084                                        x_kind='bypass',
00085                                        x_subkind='level_01',
00086                                        q_subkind='mixed',
00087                                        number_of_questions=5)
00088         self.exercises_list.append(ex3)
00089 
00090 
00091 
00092 
00093 
00094     # END ---------------------------------------------------------------------