diff --git a/src/questions.js b/src/questions.js index 0e0b704..8ceabb2 100644 --- a/src/questions.js +++ b/src/questions.js @@ -6,6 +6,14 @@ function basicQuestionValidator(expected){ return (answer) => answer.toString() === expected.toString(); } +function basicQuestionMetaData(question){ + return (x) => ({ + question_fr: basicFrenchQuestion(x), + validate: basicQuestionValidator(question(x)), + answer: question(x), + }); +} + export function question001(x){ if(x === 0){ x = x + 1; @@ -14,13 +22,7 @@ export function question001(x){ } -question001.questions = [0, 16].map( x => { - return { - question_fr: basicFrenchQuestion(x), - validate: basicQuestionValidator(question001(x)), - answer: question001(x), - }; -}); +question001.questions = [0, 16].map(basicQuestionMetaData(question001)); export function question002(x){ if(x === 0){ @@ -31,13 +33,7 @@ export function question002(x){ return x; } -question002.questions = [0, 6].map( x => { - return { - question_fr: basicFrenchQuestion(x), - validate: basicQuestionValidator(question002(x)), - answer: question002(x), - }; -}); +question002.questions = [0, 6].map(basicQuestionMetaData(question002)); export function question003(x){ @@ -49,13 +45,7 @@ export function question003(x){ return x; } -question003.questions = [0, 17].map( x => { - return { - question_fr: basicFrenchQuestion(x), - validate: basicQuestionValidator(question003(x)), - answer: question003(x), - }; -}); +question003.questions = [0, 17].map(basicQuestionMetaData(question003)); export function question004(x){ if(x === 0){ @@ -68,13 +58,7 @@ export function question004(x){ return x; } -question004.questions = [0, 3, 8].map( x => { - return { - question_fr: basicFrenchQuestion(x), - validate: basicQuestionValidator(question004(x)), - answer: question004(x), - }; -}); +question004.questions = [0, 3, 8].map(basicQuestionMetaData(question004)); export function question005(x){ @@ -86,13 +70,7 @@ export function question005(x){ return x; } -question005.questions = [0, 3, 8, -2, 10].map( x => { - return { - question_fr: basicFrenchQuestion(x), - validate: basicQuestionValidator(question005(x)), - answer: question005(x), - }; -}); +question005.questions = [0, 3, 8, -2, 10].map(basicQuestionMetaData(question005)); export function question006(x){ @@ -108,10 +86,121 @@ export function question006(x){ return 15; } -question006.questions = [-1, 3, 10, 20, 30, 26, 31, 12].map( x => { - return { - question_fr: basicFrenchQuestion(x), - validate: basicQuestionValidator(question006(x)), - answer: question006(x), - }; -}); +question006.questions = [-1, 3, 10, 20, 30, 26, 31, 12].map(basicQuestionMetaData(question006)); + +export function question007(x){ + for(let i = 0; i < 10; i += 2){ + if(i === x){ + return 0 + } + } + return 1; +} + +question007.questions = [-1, 2, 7, 12, 13].map(basicQuestionMetaData(question007)) + + + +export function question008(x){ + for(let i = 0; i < 10; i += 2){ + if(i === x){ + return 0 + } + } + return 1; +} + +question008.questions = [-1, 2, 7, 12, 13].map(basicQuestionMetaData(question008)) + + +export function question009(x){ + let y = 10; + if(x < 10){ + x = x + y; + }else if(x < 100){ + y -= 90 + } else { + x = x * 2; + } + if(y > 0){ + return x; + } else { + return y; + } +} + +question009.questions = [2, 10, 23, 100,].map(basicQuestionMetaData(question009)) + + +export function question010(x){ + if((x < 10 && x > 0) || (x < -10 && x > -20)) { + return 4; + } + return 3; +} + +question010.questions = [5, -2, -13, 34].map(basicQuestionMetaData(question010)) + + +export function question011(x){ + if(x < 10 && x > 0) { + return 7; + } + + if(x < -10 && x > -20){ + return 2; + } + return 1; +} + +question011.questions = [5, -2, -13, 34].map(basicQuestionMetaData(question011)) + + + +export function question012(x){ + let y = 15 + if(x < 10 && x > 0) { + y = 7; + } else if(x < -10 && x > -20){ + y = 2; + } + return y; +} + +question012.questions = [5, -2, -13, 34].map(basicQuestionMetaData(question012)) + + +export function question013(x){ + const ret = [] + for(let i = 0; i < 10; i += x){ + ret.push(ret) + } + return ret[0] +} + +question013.questions = [1, 3, 5].map(basicQuestionMetaData(question013)) + + +export function question014(x){ + const ret = [] + for(let i = 0; i < 10; i += x){ + ret.push(ret) + } + return ret[ret.length - 1] +} + +question014.questions = [1, 3, 5].map(basicQuestionMetaData(question014)) + + + + +export function question015(x){ + if(x <= 0){ + return 0; + } + return question015(x - 1); +} + +question015.questions = [-4, 2, 7].map(basicQuestionMetaData(question015)) + +