'use strict';
/**
 * ЦТ 2012 Математика — Вариант 1 (30 заданий: A1-A18 + B1-B12)
 * Источник: ЦТ 2012.pdf + Ответы 2012.pdf
 */
const db = require('../src/db/db');
const MATH_ID = 3;
const T = {arithmetic:16,word:17,numbers:18,trig:19,quadratic:20,progression:21,inequalities:22,geometry:23,functions:24,log:25,expineq:26,equations:27,stats:28};
function getTopic(n){const e=db.prepare('SELECT id FROM topics WHERE subject_id=? AND LOWER(name)=LOWER(?)').get(MATH_ID,n);if(e)return e.id;return Number(db.prepare('INSERT INTO topics (subject_id,name) VALUES (?,?)').run(MATH_ID,n).lastInsertRowid);}
const Tx={stereo:getTopic('Стереометрия'),circle:getTopic('Окружность и круг'),};
const ex=new Set(db.prepare('SELECT text FROM questions WHERE subject_id=3').all().map(q=>q.text.slice(0,80).trim()));
let added=0,skipped=0;
const insQ=db.prepare(`INSERT INTO questions (subject_id,topic_id,text,type,difficulty,year,explanation,correct_text,image,source_type) VALUES (?,?,?,?,?,?,?,?,?,?)`);
const insO=db.prepare(`INSERT INTO options (question_id,text,is_correct,order_index) VALUES (?,?,?,?)`);
function q(tid,text,opts,diff,year,img){
  const key=text.slice(0,80).trim();if(ex.has(key)){skipped++;return;}ex.add(key);
  const r=insQ.run(MATH_ID,tid,text,'single',diff,year||null,null,null,img||null,'ЦТ');
  const id=r.lastInsertRowid;opts.forEach((o,i)=>insO.run(id,o.t,o.c?1:0,i));added++;
}
function fb(tid,text,ans,diff,year,img){
  const a=String(ans);
  const key=text.slice(0,80).trim();if(ex.has(key)){skipped++;return;}ex.add(key);
  insQ.run(MATH_ID,tid,text,'fill-blank',diff,year||null,null,a,img||null,'ЦТ');
  added++;
}

const run=db.transaction(()=>{

// A1 — равнобедренный треугольник [РИСУНОК; ответ: 2]
q(T.geometry,`A1. Укажите номер рисунка, на котором изображён равнобедренный треугольник:\n1) 1; 2) 2; 3) 3; 4) 4; 5) 5.`,
[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2012,'/img/ct/math/2012/a1.png');

// A2 — проверить верное равенство (log) (ответ: 3)
q(T.log,`A2. Укажите верное равенство:\n1) \\(3^{\\log_3 4}=5\\); 2) \\(\\log_6 7=5\\); 3) \\(\\log_a\\dfrac{1}{34}=-1\\); 4) \\(\\log_{2,5} 25=5\\); 5) \\(\\log_4 23=0\\).`,
[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2012);

// A3 — сумма натуральных делителей числа 28 (ответ: 5)
q(T.numbers,`A3. Сумма всех натуральных делителей числа 28 равна:\n1) 55; 2) 11; 3) 9; 4) 27; 5) 56.`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
1,2012);

// A4 — квадратное уравнение без корней (ответ: 3)
q(T.quadratic,`A4. Даны квадратные уравнения:\n1) \\(4x^2-3x-3=0\\); 2) \\(5x^2+20x+20=0\\); 3) \\(2x^2+3x+12=0\\); 4) \\(7x^2-4x-5=0\\); 5) \\(4x^2+8x+4=0\\). Укажите уравнение, которое не имеет корней:\n1) 1; 2) 2; 3) 3; 4) 4; 5) 5.`,
[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2012);

// A5 — если 10⁷·α=74163287, то α с точностью до сотых (ответ: 2)
q(T.numbers,`A5. Если \\(10^7\\cdot\\alpha=74163287\\), то \\(\\alpha\\) с точностью до сотых равно:\n1) 7,41; 2) 7,42; 3) 7,41; 4) 7,4163...; 5) 7,41633.`,
[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2012);

// A6 — 133-й член АП 4, 7, 10, 13, ... (ответ: 1 — 44)
q(T.progression,`A6. Число 133 является членом арифметической прогрессии 4, 7, 10, 13, ... Укажите его номер:\n1) 44; 2) 42; 3) 40; 4) 46; 5) 48.`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2012);

// A7 — |x-x²|≥5, решение (ответ: 4)
q(T.inequalities,`A7. Решите неравенство \\(|x-x^2|\\geq5\\):\n1) \\(x\\in(5;\\,+\\infty)\\); 2) \\(x\\in(-\\infty;\\,-5]\\); 3) \\(x\\in[-3;\\,5]\\); 4) \\(x\\in(-\\infty;\\,-3]\\cup[5;\\,+\\infty)\\); 5) \\(x\\in[-5;\\,3]\\).`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
2,2012);

// A8 — вычислить (3,2+0,8)/(1/(6+1/3))/0,1 (ответ: 1)
q(T.numbers,`A8. Вычислите \\(\\dfrac{3{,}2+0{,}8}{\\dfrac{1}{6}\\cdot3}\\cdot0{,}1\\):\n1) 0,8; 2) 0,18; 3) 4k; 4) 18л; 5) 0,8.`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2012);

// A9 — площадь круга 81π, диаметр (ответ: 1 — 18)
q(T.geometry,`A9. Площадь круга равна \\(81\\pi\\). Диаметр этого круга равен:\n1) 18; 2) 18; 3) 9; 4) 9; 5) 81.`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2012);

// A10 — наименьший положительный корень sin2x=1/2 → π/12 (ответ: 5)
q(T.trig,`A10. Найдите наименьший положительный корень уравнения \\(\\sin2x=\\dfrac{1}{2}\\):\n1) \\(\\dfrac{\\pi}{6}\\); 2) \\(\\dfrac{5\\pi}{12}\\); 3) \\(\\dfrac{\\pi}{3}\\); 4) \\(\\dfrac{5\\pi}{6}\\); 5) \\(\\dfrac{\\pi}{12}\\).`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
1,2012);

// A11 — вписанный четырёхугольник MNPK, угол N=128°, угол K (ответ: 5 — 52°)
q(Tx.circle,`A11. Четырёхугольник \\(MNPK\\), в котором \\(\\angle N=128°\\), вписан в окружность. Найдите градусную меру угла \\(K\\):\n1) 64°; 2) 128°; 3) 90°; 4) 180°; 5) 52°.`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
1,2012);

// A12 — задача про яблоки/груши/виноград (ответ: 2)
q(T.word,`A12. На одной чаше уравновешенных весов лежат 3 яблока и 1 груша, на другой — 2 яблока, 2 груши и 1 гирька весом 20 г. Каков вес одного яблока (в граммах), если все фрукты весят 780 г? Считайте, что все яблоки одинаковы по весу и все груши одинаковы по весу:\n1) 10; 2) 105; 3) 110; 4) 125; 5) 115.`,
[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
2,2012);

// A13 — прямая a параллельна плоскости β, b пересекает β под 60° → сечение (ответ: 5)
q(Tx.stereo,`A13. Прямая \\(a\\) параллельна плоскости \\(\\beta\\). Прямая \\(b\\) пересекает плоскость \\(\\beta\\) под углом 60°. Через прямую \\(a\\) и точку \\(b\\) проведена плоскость \\(\\alpha\\). Найдите площадь сечения, если \\(AB=4\\), \\(aC=3\\), \\(CD=3\\):\n1) 42; 2) 42√3; 3) 10,5; 4) 3; 5) 4√3.`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
3,2012);

// A14 — упростить 12·5^(x+2)·5^(-x-3)/(5·(5^2-3)) (ответ: 4)
q(T.numbers,`A14. Упростите выражение \\(\\dfrac{12\\cdot5^5-12\\cdot5^3}{5^3-5^3\\cdot3}\\):\n1) \\(5^3-4\\); 2) \\(5^2-4\\); 3) \\(5^3+4\\); 4) \\(5^2\\cdot4\\); 5) \\(5^3-4\\).`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
1,2012);

// A15 — корень уравнения √10·x = √5+20/√10 (ответ: 1)
q(T.equations,`A15. Корень уравнения \\(\\sqrt{10}\\cdot x=\\dfrac{\\sqrt{5}+\\sqrt{20}}{\\sqrt{10}}\\) равен:\n1) \\(25\\sqrt{10}\\); 2) \\(50\\sqrt{2}\\); 3) \\(25+\\sqrt{10}\\); 4) \\(50\\sqrt{2}\\); 5) \\(10\\cdot\\sqrt{10}\\).`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
2,2012);

// A16 — какая прямая пересекает графики y=x⁴-3x²+11x+21 в 11 точках [РИСУНОК; ответ: 4]
q(T.functions,`A16. Какая из прямых: 1)\\(y=-3\\); 2)\\(y=-1{,}5\\); 3)\\(y=0\\); 4)\\(y=4k\\); 5)\\(y=2\\) пересекает график функции \\(y=x^4-3x^2+11x\\) в 11 добавочных точках?\n1) 1; 2) 2; 3) 3; 4) 4; 5) 5.`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
2,2012,'/img/ct/math/2012/a16.png');

// A17 — если 5x/y=1/2, то (3y+9t)/(13x-y) (ответ: 4)
q(T.numbers,`A17. Если \\(\\dfrac{5x}{y}=\\dfrac{1}{2}\\), то значение выражения \\(\\dfrac{3y+9t}{13x-y}\\) равно:\n1) \\(\\dfrac{12}{13}\\); 2) \\(\\dfrac{12}{1}\\); 3) \\(\\dfrac{1}{7}\\); 4) \\(\\dfrac{12}{129}\\); 5) \\(\\dfrac{1}{12}\\).`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
2,2012);

// A18 — наименьшее целое решение lg(x²-2x-8)-lg(x+2)≤lg4 (ответ: 4 → x=5)
q(T.log,`A18. Наименьшее целое решение неравенства \\(\\lg(x^2-2x-8)-\\lg(x+2)\\leq\\lg4\\) равно:\n1) \\(-3\\); 2) \\(-2\\); 3) 8; 4) 5; 5) 8.`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
2,2012);

// ══ ЧАСТЬ B ══════════════════════════════════════════════════

// B1 — пирамида высота=4, диагональное сечение=12 → объём=24
fb(T.geometry,`Если в правильной четырёхугольной пирамиде высота равна 4, а площадь диагонального сечения равна 12, то её объём равен ___.`,
24,2,2012);

// B2 — количество всех целых решений неравенства (64x-x²)/(5-4^x)>0 → 14
fb(T.inequalities,`Найдите количество всех целых решений неравенства \\(\\dfrac{64x-x^2}{5-4^{0{,}5x}}>0\\).`,
14,2,2012);

// B3 — A(1;2), B(5;6), C(8;6) — трапеция ABCD (AD‖BC), BD=4√2 → сумма координат D → 11
fb(T.geometry,`Точки \\(A(1{,}2)\\), \\(B(5{,}6)\\) и \\(C(8{,}6)\\) — вершины трапеции \\(ABCD\\) (\\(AD\\|BC\\)). Найдите сумму координат точки \\(D\\), если \\(BD=4\\sqrt{2}\\).`,
11,2,2012);

// B4 — периметр правильного шестиугольника, меньшая диагональ=10√3 → P=60
fb(T.geometry,`Найдите периметр правильного шестиугольника, меньшая диагональ которого равна \\(10\\sqrt{3}\\).`,
60,1,2012);

// B5 — произведение корней уравнения 4^x + 128 = 3·12^x → -3
fb(T.expineq,`Найдите произведение корней уравнения \\(4^x+128=3\\cdot12^x\\).`,
-3,3,2012);

// B6 — площадь прямоугольника ABCD=20, середины сторон M,N,P,Q → площадь четырёхугольника AN∩BP∩CQ∩DM [РИСУНОК]
fb(T.geometry,`B6. Площадь прямоугольника \\(ABCD\\) равна 20. Точки \\(M\\), \\(N\\), \\(P\\), \\(Q\\) — середины его сторон. Найдите площадь четырёхугольника, заключённого между прямыми \\(AN\\), \\(BP\\), \\(CQ\\), \\(DM\\).`,
4,2,2012,'/img/ct/math/2012/b5.png');

// B7 — уравнение x²-7x+10=7/(x²-11x+28), сумма корней → 9
fb(T.equations,`Решите уравнение \\(x^2-7x+10=\\dfrac{7}{x^2-11x+28}\\) и найдите сумму его корней.`,
9,3,2012);

// B8 — 16sin(α-π/4)·sin2α если sin2α=23/32 → 2
fb(T.trig,`Найдите значение выражения \\(16\\sin\\!\\left(\\alpha-\\dfrac{\\pi}{4}\\right)\\cdot\\sin2\\alpha\\), если \\(\\sin2\\alpha=\\dfrac{23}{32}\\) и \\(\\alpha\\in\\left(0{,}\\dfrac{\\pi}{2}\\right)\\).`,
2,2,2012);

// B9 — сумма целых значений x, принадлежащих области определения y=log₃(12-x-x²) → -3
fb(T.log,`Найдите сумму целых значений \\(x\\), принадлежащих области определения функции \\(y=\\log_3(12-x-x^2)\\).`,
-3,2,2012);

// B10 — прямоугольный треугольник катеты 6 и 2√7, вращение вокруг гипотенузы → V × 14/π → 84
fb(Tx.stereo,`Прямоугольный треугольник с катетами, равными 6 и \\(2\\sqrt{7}\\), вращается вокруг гипотенузы. Найдите значение выражения \\(\\dfrac{V}{\\pi}\\), где \\(V\\) — объём фигуры вращения.`,
84,3,2012);

// B11 — два раствора спирта, отлили-долили → конечная концентрация одинакова → 90
fb(T.word,`Из двух растворов с различным процентным содержанием спирта массой 100 г и 900 г отлили по одинаковому количеству каждого раствора. Каждый из отлитых растворов долили в остаток другого раствора, после чего процентное содержание спирта в обоих растворах стало одинаковым. Найдите, сколько граммов (в граммах) было отлито из каждого раствора.`,
90,3,2012);

// B12 — произведение корней x = -√(x²-36) → x-6 / (2x+12) → -180
fb(T.equations,`Найдите произведение корней уравнения \\(x=-\\sqrt{x^2-36}\\). В ответ запишите значение выражения \\(\\dfrac{(x-6)^2}{2x+12}\\), где \\(x\\) — корень уравнения.`,
-180,3,2012);

});
run();
console.log(`ЦТ 2012 Математика V1: добавлено ${added}, пропущено ${skipped}`);
