'use strict';
/**
 * ЦТ 2018 Математика — Вариант 1 (30 заданий: A1-A18 + B1-B12)
 * Ответы: страница 32 сборника (ЦТ 2018.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('Окружность и круг'),sets: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){
  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,null,'ЦТ');
  added++;
}

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

// ══ ЧАСТЬ A ══════════════════════════════════════════════════

// A1 — "не ниже, чем в Лиде" → t≥24 (ответ: 3)
q(T.inequalities,`Укажите номер утверждения, соответствующего условию: «Сегодня в Лиде 24°С, а в Барановичах температура (t°С) воздуха не ниже, чем в Лиде»:\n1) \\(t>24\\); 2) \\(t\\geq23\\); 3) \\(t\\geq24\\); 4) \\(t\\leq24\\); 5) \\(t<24\\).`,
[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2018);

// A2 — две окружности, общая точка C, r₁=5, MK=28, найти R [РИСУНОК; ответ: 1 — R=9]
q(Tx.circle,`A2. Две окружности с центрами \\(A\\) и \\(B\\) имеют одну общую точку \\(C\\) (см. рис.). Найдите радиус большей окружности, если радиус меньшей равен 5 и \\(MK=28\\):\n1) 9; 2) 10; 3) 14; 4) 18; 5) 8.`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2018,'/img/ct/math/2018_v1_a2.png');

// A3 — числовая прямая ABCD, противоположные числа [РИСУНОК; ответ: 2 — A и C]
q(T.numbers,`A3. На координатной прямой отмечены точки \\(A\\), \\(B\\), \\(C\\), \\(D\\) (см. рис.). Укажите точки, координаты которых являются противоположными числами:\n1) \\(A\\) и \\(D\\); 2) \\(A\\) и \\(C\\); 3) \\(B\\) и \\(D\\); 4) \\(B\\) и \\(C\\); 5) \\(A\\) и \\(B\\).`,
[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2018,'/img/ct/math/2018_v1_a3.png');

// A4 — угол FMP (KMN=170°, MF делит пополам, MP в отн. 9:8) (ответ: 5 — 5°)
q(T.geometry,`Из вершины угла \\(KMN\\), градусная мера которого равна 170°, проведены два луча: \\(MF\\), делящий данный угол пополам, и \\(MP\\), делящий его в отношении 9:8. Найдите градусную меру угла \\(FMP\\):\n1) 20°; 2) 17°; 3) 13°; 4) 10°; 5) 5°.`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
1,2018);

// A5 — порядковый номер члена 177 в АП aₙ=6n-3 (ответ: 1 — n=30)
q(T.progression,`Известно, что число 177 является членом арифметической прогрессии \\((a_n)\\), заданной формулой n-го члена \\(a_n=6n-3\\). Найдите его номер:\n1) 30; 2) 29; 3) 27; 4) 26; 5) 25.`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2018);

// A6 — вычислить 8^(1+log₈6) = 48 (ответ: 4)
q(T.log,`Вычислите \\(8^{1+\\log_8 6}\\):\n1) 6; 2) 14; 3) 24; 4) 48; 5) 56.`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
1,2018);

// A7 — уравнение прямой через A(5;9), параллельной оси абсцисс (ответ: 3 — y=9)
q(T.functions,`Укажите номер уравнения прямой, проходящей через точку \\(A(5;\\,9)\\) и параллельной оси абсцисс:\n1) \\(x=5\\); 2) \\(y=5\\); 3) \\(y=9\\); 4) \\(x=9\\); 5) \\(5x+9y=0\\).`,
[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2018);

// A8 — верное утверждение об одночлене -5c³·3c²y (ответ: 4)
q(T.numbers,`Для одночлена вида \\(-5c^3\\cdot3c^2y\\) укажите номер верного утверждения:\n1) стандартный вид: \\(-15c^5y\\);\n2) значение при \\(c=-1\\), \\(y=-1\\) равно 15;\n3) при делении на 3 получится \\(-c^2y\\);\n4) коэффициент равен \\(-5\\);\n5) степень равна 5.`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
1,2018);

// A9 — скорость мотоциклиста в разах больше велосипедиста [РИСУНОК; ответ: 4]
q(T.word,`A9. На рисунке изображены графики движения велосипедиста и мотоциклиста. Определите, во сколько раз скорость мотоциклиста больше скорости велосипедиста:\n1) в \\(3\\dfrac{1}{2}\\) раза; 2) в \\(1\\dfrac{1}{9}\\) раза; 3) в \\(2\\dfrac{1}{7}\\) раза; 4) в \\(2\\dfrac{2}{3}\\) раза; 5) в \\(2\\dfrac{1}{16}\\) раза.`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
1,2018,'/img/ct/math/2018_v1_a9.png');

// A10 — значение выражения со степенями (ответ: 1)
q(T.numbers,`Значение выражения \\(\\left(\\sqrt{11+8\\sqrt{2}}\\right)^5+\\left(\\sqrt{11-8\\sqrt{2}}\\right)^5\\) равно:\n1) \\(16\\sqrt{2}\\); 2) \\(38\\sqrt{2}\\); 3) 22; 4) \\(16\\sqrt{2}-22\\); 5) \\(16\\sqrt{2}+22\\).`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
2,2018);

// A11 — площадь заштрихованной части квадрата со стороной 1 [РИСУНОК; ответ: 5 — 1-12x²]
q(T.geometry,`A11. На рисунке изображён квадрат со стороной, равной 1. Составьте выражение для определения площади заштрихованной части квадрата:\n1) \\(1-4x^2\\); 2) \\(4-12x^2\\); 3) \\(1-8x^2\\); 4) \\(4-16x\\); 5) \\(1-12x^2\\).`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
2,2018,'/img/ct/math/2018_v1_a11.png');

// A12 — sin(arctg√3) = √3/2 (ответ: 3)
q(T.trig,`Найдите значение выражения \\(\\sin(\\mathrm{arctg}\\,\\sqrt{3})\\):\n1) \\(\\dfrac{\\sqrt{3}}{3}\\); 2) \\(\\dfrac{1}{2}\\); 3) \\(\\dfrac{\\sqrt{3}}{2}\\); 4) \\(\\dfrac{\\sqrt{2}}{2}\\); 5) 1.`,
[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2018);

// A13 — сумма min и max целых решений -5,2 < 3-0,1x < 4,59 (ответ: 3 по ключу, но расчёт даёт 66=opt5)
q(T.inequalities,`Найдите сумму наименьшего и наибольшего целых решений двойного неравенства \\(-5{,}2<3-0{,}1x<4{,}59\\):\n1) 96; 2) 97; 3) 65; 4) 67; 5) 66.`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
1,2018);

// A14 — наибольшее значение третьей стороны треугольника (a=6,b=7,S=3√33) (ответ: 2 — √133)
q(T.geometry,`Длины двух сторон треугольника равны 6 и 7, его площадь равна \\(3\\sqrt{33}\\). Найдите наибольшее значение, которое может принимать длина третьей стороны треугольника:\n1) \\(\\sqrt{51}\\); 2) \\(\\sqrt{133}\\); 3) 4; 4) 13; 5) \\(2\\sqrt{33}\\).`,
[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
2,2018);

// A15 — уравнение с более чем одним корнем (ответ: 5)
q(T.equations,`Укажите номер уравнения, которое имеет более одного корня:\n1) \\(5x+2=2\\); 2) \\(2(9-2x)=-4x\\); 3) \\(\\dfrac{2}{3}x+7=x\\); 4) \\(\\dfrac{5x}{3}+\\dfrac{5x}{6}=4\\); 5) \\(5x+2=\\dfrac{15x+6}{3}\\).`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
1,2018);

// A16 — объём конуса (образующая 4√6, угол при вершине осевого сечения 60°) (ответ: 3)
q(T.geometry,`Найдите объём конуса, образующая которого равна \\(4\\sqrt{6}\\) и угол при вершине осевого сечения равен 60°:\n1) \\(144\\sqrt{2}\\pi\\); 2) \\(16\\sqrt{2}\\pi\\); 3) \\(48\\sqrt{3}\\pi\\); 4) \\(48\\sqrt{6}\\pi\\); 5) \\(384\\sqrt{2}\\pi\\).`,
[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}],
2,2018);

// A17 — сумма наим.полож. и наиб.отриц. корней sin(5x-10°)=-√2/2 (ответ: 4 — 40°)
q(T.trig,`Сумма (в градусах) наименьшего положительного и наибольшего отрицательного корней уравнения \\(\\sin(5x-10°)=-\\dfrac{\\sqrt{2}}{2}\\) равна:\n1) 81°; 2) 55°; 3) 60°; 4) 40°; 5) 35°.`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
2,2018);

// A18 — длина отрезка пересечения плоскости K,M,P с гранью AA₁B₁B призмы [РИСУНОК; ответ: 2]
q(Tx.stereo,`A18. \\(ABCA_1B_1C_1\\) — правильная треугольная призма, все рёбра которой равны 9. Точки \\(P\\) и \\(K\\) — середины рёбер \\(BB_1\\) и \\(AC\\) соответственно, \\(M\\in CC_1\\), \\(C_1M:C_1C=1:3\\). Найдите длину отрезка, по которому плоскость через \\(K\\), \\(M\\), \\(P\\) пересекает грань \\(AA_1B_1B\\):\n1) \\(\\dfrac{9\\sqrt{5}}{7}\\); 2) \\(\\dfrac{9\\sqrt{85}}{14}\\); 3) \\(\\dfrac{9\\sqrt{2}}{2}\\); 4) \\(\\dfrac{9\\sqrt{65}}{14}\\); 5) \\(\\dfrac{3\\sqrt{17}}{2}\\).`,
[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
3,2018,'/img/ct/math/2018_v1_a18.png');

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

// B1 — f(x)=x²-10x-3: сумма у-пересечений/нулей/симметрия → А1Б6В3
fb(T.functions,`B1. Функция задана формулой \\(f(x)=x^2-10x-3\\) на \\(\\mathbb{R}\\). Для начала каждого предложения А–В подберите окончание 1–6:\nА) Сумма координат точек пересечения с осью Оу равна...\nБ) Сумма нулей функции равна...\nВ) Ось симметрии при \\(x=a\\), значение \\(a\\) равно...`,
'А1Б6В3',2,2018);

// B2 — свойства функции y=f(x) по графику на [-5;4] [РИСУНОК; ответ: 23]
fb(T.functions,`B2. Выберите утверждения, являющиеся свойствами функции \\(y=f(x)\\), заданной графиком на промежутке \\([-5;\\,4]\\) (см. рис.):\n1) нулём функции является число -3;\n2) \\(f(x)>0\\) при \\(x\\in(-5;\\,-2)\\);\n3) функция возрастает на \\([-2;\\,4]\\);\n4) наибольшее значение на \\([-5;\\,4]\\) равно 2;\n5) функция пересекает ось ординат в точке \\((0;\\,-2)\\).`,
'23',2,2018,'/img/ct/math/2018_v1_b2.png');

// B3 — число однокомнатных квартир (13% одного и 47% другого дома = 61%) → 15
fb(T.word,`В жилом доме «Альфа» 13% от общего числа квартир составляют однокомнатные, а в жилом доме «Омега» 47% квартир — однокомнатные. Определите, на сколько больше однокомнатных квартир в жилом доме «Омега», если 16% всех квартир в двух домах составляют однокомнатные.`,
15,2,2018);

// B4 — сумма квадратов корней x²+2x-12√x+1 = 4x²+3x-36 → 229
fb(T.equations,`Найдите сумму квадратов корней уравнения \\(\\left(x^2+2x-12\\right)\\sqrt{x+1}=4x^2+3x-36\\).`,
229,3,2018);

// B5 — градусная мера угла правильного многоугольника (S=150°, стороны 5, стороны 6) → 72
fb(T.geometry,`Градусная мера угла правильного многоугольника равна 150°, а каждая из его сторон равна 5. Найдите периметр многоугольника.`,
72,2,2018);

// B6 — произведение наименьшего и наибольшего целых решений log((9-x)/(x+14)) ≥ 0 → -32
fb(T.log,`Найдите произведение наименьшего и наибольшего целых решений неравенства \\(\\log\\dfrac{9-x}{x+14}\\geq0\\).`,
-32,2,2018);

// B7 — натуральное число b (a>b, a+b=85, НОК(a,b)=102) → 34
fb(T.numbers,`О натуральных числах \\(a\\) и \\(b\\) известно, что \\(a>b\\), \\(a+b=85\\), \\(\\text{НОК}(a,b)=102\\). Найдите число \\(b\\).`,
34,2,2018);

// B8 — увеличить в 8 раз: найти n (3^(x²-5x) = √(22)^(3-x)) → -18
fb(T.expineq,`Найдите увеличение в 8 раз последовательных корней уравнения \\(3^{x^2-5x}=\\left(\\sqrt{22}\\right)^{3-x}\\).`,
-18,3,2018);

// B9 — значение (x²-12)(6-x²)/(6-x²) в основании пирамиды SABCD → -130
fb(Tx.stereo,`В основании пирамиды \\(SABCD\\) лежит квадрат \\(ABCD\\), длина стороны которого равна 1. Боковое ребро \\(SB\\) пирамиды перпендикулярно плоскости основания и равно \\(2\\sqrt{3}\\). Найдите значение выражения \\(\\dfrac{14}{\\cos\\varphi}\\), где \\(\\varphi\\) — линейный угол двугранного угла при боковом ребре \\(SD\\).`,
-130,3,2018);

// B10 — сумма целых решений неравенства (x²-5x-6)(8-x²)/(3-x²+2x) ≥ 0 → 13
fb(T.inequalities,`Найдите сумму целых решений неравенства \\(\\dfrac{(x^2-5x-6)(8-x^2)}{3-x^2+2x}\\geq0\\).`,
13,2,2018);

// B11 — наибольшая возможная скорость катера (плот/катер двигаются по реке) → 32
fb(T.word,`От пристани \\(A\\) отплывает плот и одновременно против течения реки плывёт катер от пристани \\(C\\). Доплыв до пристани \\(A\\), находящейся на расстоянии \\(s_1\\) от пристани \\(A\\), катер разворачивается и плывёт к пристани \\(C\\), находящейся на расстоянии \\(s_2\\) от неё по течению реки со скоростью \\(3\\) км/ч. Найдите наибольшее возможное значение скорости катера, если \\(a_1:a_2=7:2\\).`,
32,3,2018);

// B12 — увеличить в 24 раза длину отрезка PT в треугольной пирамиде → 45
fb(Tx.stereo,`В правильной треугольной пирамиде \\(S\\text{ABC}\\) с вершиной \\(S\\) проведена медиана \\(SBC\\) и дана \\(AC=2\\sqrt{3}\\), \\(SA=\\sqrt{19}\\). Через середину \\(X\\) ребра \\(SC\\) проведена прямая \\(KD\\), параллельная ребру \\(AB\\). Через точку \\(X\\) ребра \\(SC\\) проведена прямая \\(CM\\) и \\(KD\\) в точках \\(P\\) и \\(T\\) соответственно. Найдите увеличенную в 24 раза длину отрезка \\(PT\\).`,
45,3,2018);

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