def findIntegralXIntercept_SIF_NonZeroM(self, numChoices, points): m = 0 while (m == 0): m = random.randint(-20, 20) multiplier = 0 while (multiplier == 0): multiplier = random.randint(-10, 10) b = m * multiplier x_intercept = -1 * b // m d = {} problemStatement = StringFormatter().format("Question Statement.") d["problemStatement"] = problemStatement.format(m, b) d["correctAnswer"] = x_intercept d["correctAnswerIdx"] = utility.getCorrectAnswerIndex(numChoices) d["wrongAnswers"] = utility.generateWrongAnswers( numChoices, x_intercept, "ints") d["points"] = points d["solution"] = [ ("y = {}x + {}".format(m, b), StringFormatter().format("Find the x intercept.")), ("0 = {}x + {}".format(m, b), StringFormatter().format("Set y to zero.")), ("0 - {} = {}x + {} - {}".format(b, m, b, b), StringFormatter().format("Subtract b from both sides.")), ("{} = {}x".format(-b, m), StringFormatter().format("Simplify.")), ("{} / {} = x".format(-b, m), StringFormatter().format("Divide both sides by m.")), ("{}".format(-b // m), StringFormatter().format("Simplify.")) ] return d
def findIntegralXIntercept_SIF_NonZeroFracM(self, numChoices, points): m_numerator = 0 while (m_numerator == 0): m_numerator = random.randint(-30, 30) m_denominator = 0 while ((m_denominator == 0) or (m_denominator == m_numerator)): m_denominator = random.randint(-30, 30) multiplier = 0 while (multiplier == 0): multiplier = random.randint(-10, 10) b = m_numerator * multiplier x_intercept = -1 * m_denominator * b // m_numerator d = {} d["problemStatement"] = StringFormatter().format( "Question Statement 2.").format(m_numerator, m_denominator, b) d["correctAnswer"] = x_intercept d["correctAnswerIdx"] = utility.getCorrectAnswerIndex(numChoices) d["wrongAnswers"] = utility.generateWrongAnswers( numChoices, x_intercept, "ints") d["points"] = points d["solution"] = [ ("y = \\frac{{{}}}{{{}}}x + {}".format(m_numerator, m_denominator, b), StringFormatter().format("Find the x intercept.")), ("0 = \\frac{{{}}}{{{}}}x + {}".format(m_numerator, m_denominator, b), StringFormatter().format("Set y to zero.")), ("0 - {} = \\frac{{{}}}{{{}}}x + {} - {}".format( b, m_numerator, m_denominator, b, b), StringFormatter().format("Subtract b from both sides.")), ("{} = \\frac{{{}}}{{{}}}x ".format(-b, m_numerator, m_denominator), StringFormatter().format("Simplify.")), ("{} \\times \\frac{{{}}}{{{}}} = x".format( -b, m_denominator, m_numerator), StringFormatter().format("Divide both sides by m.")), ("{}".format(-1 * m_denominator * b // m_numerator), StringFormatter().format("Simplify.")) ] return d