Ejemplo n.º 1
0
    def genCommonD(self, imp=0):
        ss = []

        if imp:
            commonD = RC([2, 3, 4, 5, 8, 10, 12])
            selN = RI(2, min(commonD * 10, 36))
        else:
            commonD = RC([5, 8, 10, 12])
            selN = RI(2, commonD - 1)

        i = 0
        while i < 5:
            i += 1

            n = selN
            while n == selN:
                if imp:
                    n = RI(1, min(commonD * 10, 36))
                else:
                    n = RI(1, commonD)

            ans = 0
            if n < selN:
                ans = 1

            ss.append((str(ans), core.frtContent(n, commonD)))

        return (core.frtContent(selN, commonD), ss)
Ejemplo n.º 2
0
    def generateImproper(self):
        ss = []

        FI = items.FractionItem([])
        FI.denominators = [2, 3, 4, 5, 8, 10, 12]
        for d in FI.denominators:
            FI.unreduced[d] = []
            for n in range(1, 37):
                if F(n, d) < 10.01:
                    FI.unreduced[d].append((n, d))

        sel = FI.get()
        selF = F(sel[0], sel[1])

        i = 0
        while i < 5:
            f = None
            ans = RI(0, 1)
            if ans == 1:
                f = FI.getSmaller(selF)
            else:
                f = FI.getLarger(selF)

            if f:
                ss.append((str(ans), core.frtContent(f[0], f[1])))
                i += 1

        return (core.frtContent(sel[0], sel[1]), ss)
Ejemplo n.º 3
0
    def genBench(self, imp=0):
        ss = []

        v = [2, 3, 4, 5, 8, 10, 12]

        bd = RI(1, 3) + 1
        val = F(1, bd)

        i = 0
        while i < 5:
            i += 1

            n = 1
            d = bd
            while n == 1 and d == bd:
                d = RC(v)
                if imp:
                    n = RI(1, min(d * 10, 36))
                else:
                    n = RI(1, d)

            ans = 0
            if F(n, d) < val:
                ans = 1

            ss.append((str(ans), core.frtContent(n, d)))

        return (core.frtContent(1, bd), ss)
Ejemplo n.º 4
0
    def genBench(self, imp=0):
        ss = []

        v = [2, 3, 4, 5, 8, 10, 12]

        bd = RI(1, 3) + 1
        val = F(1, bd)

        i = 0
        while (i < 5):
            i += 1

            n = 1
            d = bd
            while (n == 1 and d == bd):
                d = RC(v)
                if (imp):
                    n = RI(1, min(d * 10, 36))
                else:
                    n = RI(1, d)

            ans = 0
            if (F(n, d) < val):
                ans = 1

            ss.append((str(ans), core.frtContent(n, d)))

        return (core.frtContent(1, bd), ss)
Ejemplo n.º 5
0
    def generateImproper(self):
        ss = []

        FI = items.FractionItem([])
        FI.denominators = [2, 3, 4, 5, 8, 10, 12]
        for d in FI.denominators:
            FI.unreduced[d] = []
            for n in range(1, 37):
                if (F(n, d) < 10.01):
                    FI.unreduced[d].append((n, d))

        sel = FI.get()
        selF = F(sel[0], sel[1])

        i = 0
        while (i < 5):
            f = None
            ans = RI(0, 1)
            if (ans == 1):
                f = FI.getSmaller(selF)
            else:
                f = FI.getLarger(selF)

            if (f):
                ss.append((str(ans), core.frtContent(f[0], f[1])))
                i += 1

        return (core.frtContent(sel[0], sel[1]), ss)
Ejemplo n.º 6
0
    def genCommonD(self, imp=0):
        ss = []

        if (imp):
            commonD = RC([2, 3, 4, 5, 8, 10, 12])
            selN = RI(2, min(commonD * 10, 36))
        else:
            commonD = RC([5, 8, 10, 12])
            selN = RI(2, commonD - 1)

        i = 0
        while (i < 5):
            i += 1

            n = selN
            while (n == selN):
                if (imp):
                    n = RI(1, min(commonD * 10, 36))
                else:
                    n = RI(1, commonD)

            ans = 0
            if (n < selN):
                ans = 1

            ss.append((str(ans), core.frtContent(n, commonD)))

        return (core.frtContent(selN, commonD), ss)
Ejemplo n.º 7
0
    def generate(self):
        line = (("0", core.strContent(0)), ("0.25", core.strContent(0.25)),
                ("0.5", core.strContent(0.5)), ("0.75", core.strContent(0.75)),
                ("1", core.strContent(1)))
        #line = (("0", core.strContent(0)), ("0.5", core.strContent(0.5)), ("1", core.strContent(1)))

        questions = []
        prev = (0, 0)
        val = (0, 0)

        i = 0
        while (i < 20):
            while (val[0] == prev[0] and val[1] == prev[1]):
                val = self.valid.get()

            sVal = str((val[0] * 1.0) / val[1])
            if (len(sVal) > 5):
                sVal = sVal[0:5]

            questions.append((sVal, core.frtContent(val[0], val[1])))

            i += 1
            val = prev

        return [line, questions]
Ejemplo n.º 8
0
    def generateProper(self):
        ss = []

        FI = items.FractionItem([2, 3, 4, 5, 8, 10, 12])

        sel = FI.get()
        selF = F(sel[0], sel[1])

        i = 0
        while i < 5:
            f = None
            ans = RI(0, 1)
            if ans == 1:
                f = FI.getSmaller(selF)
            else:
                f = FI.getLarger(selF)

            if f:
                ss.append((str(ans), core.frtContent(f[0], f[1])))
                i += 1

        return (core.frtContent(sel[0], sel[1]), ss)
Ejemplo n.º 9
0
    def generateProper(self):
        ss = []

        FI = items.FractionItem([2, 3, 4, 5, 8, 10, 12])

        sel = FI.get()
        selF = F(sel[0], sel[1])

        i = 0
        while (i < 5):
            f = None
            ans = RI(0, 1)
            if (ans == 1):
                f = FI.getSmaller(selF)
            else:
                f = FI.getLarger(selF)

            if (f):
                ss.append((str(ans), core.frtContent(f[0], f[1])))
                i += 1

        return (core.frtContent(sel[0], sel[1]), ss)
Ejemplo n.º 10
0
    def genCommonN(self, imp=0):
        ss = []
        v = [2, 3, 4, 5, 8, 10, 12]

        if imp:
            commonN = RI(1, 20)
        else:
            commonN = RI(1, 4)
            v = v[commonN - 1 :]

        selD = RC(v)
        v.remove(selD)

        i = 0
        while i < 5:
            i += 1
            d = RC(v)
            ans = 0
            if d < commonN:
                ans = 1

            ss.append((str(ans), core.frtContent(commonN, d)))

        return (core.frtContent(commonN, selD), ss)
Ejemplo n.º 11
0
    def genCommonN(self, imp=0):
        ss = []
        v = [2, 3, 4, 5, 8, 10, 12]

        if (imp):
            commonN = RI(1, 20)
        else:
            commonN = RI(1, 4)
            v = v[commonN - 1:]

        selD = RC(v)
        v.remove(selD)

        i = 0
        while (i < 5):
            i += 1
            d = RC(v)
            ans = 0
            if (d < commonN):
                ans = 1

            ss.append((str(ans), core.frtContent(commonN, d)))

        return (core.frtContent(commonN, selD), ss)
Ejemplo n.º 12
0
 def generate(self):
     subset = []
     
     player = self.validPlayer.get()
     while(player[0] == self.prev[0] and player[1] == self.prev[1]):
         player = self.validPlayer.get()
 
     fCompare = player[0] * 1.0 / player[1]
 
     i = 0
     while(i < 4):
         f = RI(0, 1)
         f1 = 0
         f2 = len(self.valid[f]) - 1
         while(f1 == 0 and f2 == len(self.valid[f]) - 1):
             f1 = RI(0, len(self.valid[f]) - 2)
             f2 = RI(f1 + 1, len(self.valid[f]) - 1)
             
         f1 = self.valid[f][f1]
         f2 = self.valid[f][f2]
         
         if(f1 == fCompare or f2 == fCompare):
             continue
         
         ans = 'u'
         if(fCompare < f1):
             ans = '0'
         elif(fCompare < f2):
             ans = '1'
         else:
             ans = '2'
             
         if(self.prevA == ans and RI(0, 8) > 2):
             continue
             
         subset.append((ans, core.strContent(str(f1)), core.strContent(str(f2))))
         self.prev = player
         self.prevA = ans
     
         i += 1
 
     return (core.frtContent(player[0], player[1]), subset)
Ejemplo n.º 13
0
 def generate(self):
     line = (("0", core.strContent(0)), ("0.25", core.strContent(0.25)), ("0.5", core.strContent(0.5)), ("0.75", core.strContent(0.75)), ("1", core.strContent(1)))
     #line = (("0", core.strContent(0)), ("0.5", core.strContent(0.5)), ("1", core.strContent(1)))
         
     questions = []
     prev = (0, 0)
     val = (0, 0)
     
     i = 0
     while(i < 20):
         while(val[0] == prev[0] and val[1] == prev[1]):
             val = self.valid.get();
         
         sVal = str((val[0] * 1.0) / val[1])
         if(len(sVal) > 5):
             sVal = sVal[0:5]
         
         questions.append((sVal, core.frtContent(val[0], val[1])))
         
         i += 1
         val = prev
     
     return [line, questions]
Ejemplo n.º 14
0
 def formatSelector(self, s):
     if(self.mixed and s[0] > s[1]):
         if(not self.improper or RI(0,1)):
             return core.frtContent(str(s[0] - s[1]), str(s[1]), "1")
     return core.frtContent(str(s[0]), str(s[1]))