'use strict';
/**
 * ЦТ 2011 Математика — Вариант 1 (30 заданий: A1-A18 + B1-B12)
 * Источник: ЦТ 2011 В1-В10.pdf + Ответы 2011.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 — tan(x) не определён в точке (ответ: 1 — 3π/2)
q(T.trig,`A1. Функция \\(y=\\mathrm{tg}\\,x\\) не определена в точке:\n1) \\(\\dfrac{3\\pi}{2}\\); 2) \\(-\\dfrac{\\pi}{2}\\); 3) \\(\\dfrac{2\\pi}{5}\\); 4) \\(\\dfrac{\\pi}{4}\\); 5) \\(-3\\pi\\).`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2011);

// A2 — параллелограмм на клетчатой бумаге 1см×1см → площадь [РИСУНОК; ответ: 4 — 20]
q(T.geometry,`A2. На клетчатой бумаге с клетками размером 1 см×1 см изображён параллелограмм. Найдите его площадь в квадратных сантиметрах:\n1) 10; 2) 25; 3) 15; 4) 20; 5) 18.`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
1,2011,'/img/ct/math/2011/a2.png');

// A3 — корень уравнения √x·⅛·(⅔-1)=1 (ответ: 2)
q(T.equations,`A3. Найдите значение \\(\\sqrt{x}\\cdot\\dfrac{1}{8}\\cdot\\left(\\dfrac{2}{3}-1\\right)+\\dfrac{1}{\\sqrt{x}}\\):\n1) 1; 2) 9; 3) 0; 4) 1/9; 5) -1.`,
[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2011);

// A4 — если 15% числа = 33, то 20% = ? (ответ: 1)
q(T.numbers,`A4. Если 15% некоторого числа равны 33, то 20% этого числа равно:\n1) 44; 2) 22; 3) 220; 4) 48; 5) 66.`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2011);

// A5 — если 5x-24=18-x, то x= (ответ: 3)
q(T.equations,`A5. Если \\(5x-24=18-x\\), то \\(x=\\):\n1) 7; 2) 0,5; 3) 7; 4) -1; 5) 1.`,
[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2011);

// A6 — выражение 2^{-(1+2c)} для любого c (ответ: 1)
q(T.numbers,`A6. Для любого числа \\(c\\) выражение \\(2^{-(1+2c)}\\) равно:\n1) \\(\\dfrac{1}{2\\cdot4^c}\\); 2) \\(\\dfrac{1}{2^{1+2c}}\\); 3) \\(-2\\cdot4^c\\); 4) \\(2^{1+2c}\\); 5) \\(-2^{1+2c}\\).`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2011);

// A7 — сумма дорог (корней) уравнения (x+3)/x · (-6x-18)/(x-5)² > 0 (ответ: 3)
q(T.equations,`A7. Сумма корней (дорог) уравнения \\(\\dfrac{(x+3)}{x}\\cdot\\dfrac{(-6x-18)}{(x-5)^2}>0\\):\n1) 1; 2) 3; 3) 4; 4) 5.`,
[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false}],
2,2011);

// A8 — металлический лист, вырезают кружки (ответ: 4)
q(T.geometry,`A8. Из листа металла квадратной формы со стороной \\(a\\) вырезают параллелограмм, площадь которого равна 5π. Сторона ромба равна:\n1) \\(\\sqrt{5}\\); 2) \\(\\pi\\); 3) 5; 4) \\(\\sqrt{\\pi}\\); 5) \\(\\pi\\sqrt{5}\\).`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
1,2011);

// A9 — логарифмы (ответ: 5)
q(T.log,`A9. Запишите в виде одного логарифма: \\(\\log_3\\!5+\\dfrac{1}{2}\\log_3\\!4-\\log_3\\!10\\):\n1) \\(\\log_3(0{,}1)\\); 2) \\(\\log_3(\\tfrac{10}{3})\\); 3) \\(\\log_3(0{,}5)\\); 4) \\(\\log_3(\\tfrac{5}{3})\\); 5) \\(\\log_3\\!1\\).`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
1,2011);

// A10 — площадь осевого сечения цилиндра P, найти боковую поверхность (ответ: 2)
q(T.geometry,`A10. Площадь осевого сечения цилиндра равна \\(P\\). Найдите боковую поверхность цилиндра по неравенству:\n1) \\(\\dfrac{\\pi P}{2}\\); 2) \\(\\dfrac{\\pi P}{2}\\); 3) \\(\\pi P\\); 4) \\(2\\pi P\\); 5) \\(\\dfrac{\\pi P}{4}\\).`,
[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
2,2011);

// A11 — вычислить 230·(2/9)·(2/9+1/10)·(1/230) (ответ: 4)
q(T.numbers,`A11. Найдите значение выражения \\(230\\cdot\\dfrac{2}{9}\\cdot\\left(\\dfrac{2}{9}+\\dfrac{1}{10}\\right)\\cdot\\dfrac{1}{230}\\):\n1) 0,1; 2) \\(43\\dfrac{8}{9}\\); 3) \\(-0{,}1\\); 4) \\(-23\\); 5) 20.`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
1,2011);

// A12 — упростить (x²-22x+121)/(x²-11x) · (x²-121)/x (ответ: 5)
q(T.numbers,`A12. Упростите выражение \\(\\dfrac{x^2-22x+121}{x^2-11x}\\cdot\\dfrac{x^2-121}{x^2}\\):\n1) \\(\\dfrac{(x-11)^2}{x+11}\\); 2) \\(\\dfrac{x^2}{x+11}\\); 3) 4; 4) \\(-\\dfrac{x^2}{x+11}\\); 5) \\(\\dfrac{(x-11)^2}{x^2}\\).`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
1,2011);

// A13 — трапеция, линия параллельна стороне=5, отрезок=2 → отношение площадей (ответ: 3)
q(T.geometry,`A13. Параллельно стороне треугольника, равной 5, проведена прямая. Длина отрезка этой прямой, заключённого между другими сторонами треугольника, равна 2. Найдите отношение площади трапеции к площади исходного треугольника:\n1) 2/5; 2) 0,6; 3) 21/25; 4) 2/5; 5) 1/25.`,
[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}],
2,2011);

// A14 — сумма координат пересечения прямых 2x+5y=11 и x+y=2(5-y) (ответ: 1)
q(T.equations,`A14. Сумма координат точки пересечения прямых, заданных уравнениями \\(2x+5y=11\\) и \\(x+y=2(5-y)\\), равна:\n1) 8; 2) -8; 3) 6; 4) -10; 5) 6.`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
1,2011);

// A15 — целых решений (x+3)²-6x-18/(x-5)² > 0 на [-4;5] (ответ: 1)
q(T.inequalities,`A15. Количество целых решений неравенства \\(\\dfrac{(x+3)^2-6x-18}{(x-5)^2}>0\\) на промежутке \\([-4;\\,5]\\) равно:\n1) 2; 2) 3; 3) 4; 4) 5; 5) 6.`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
2,2011);

// A16 — ромб: площадь=18√3, вписан круг площадью=5π, сторона ромба (ответ: 5)
q(Tx.circle,`A16. В ромб площадью \\(18\\sqrt{3}\\) вписан круг площадью \\(5\\pi\\). Сторона ромба равна:\n1) 8; 2) \\(18\\dfrac{\\sqrt{5}}{5}\\); 3) \\(9\\sqrt{\\dfrac{3}{5}}\\); 4) \\(18\\dfrac{\\sqrt{5}}{5}\\); 5) 9.`,
[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}],
2,2011);

// A17 — расположить √(4/3), ∛3, ∜80 в порядке возрастания (ответ: 4)
q(T.numbers,`A17. Расположите числа \\(\\sqrt{\\dfrac{4}{3}}\\), \\(\\sqrt[3]{3}\\), \\(\\sqrt[4]{80}\\) в порядке возрастания:\n1) \\(\\sqrt{4/3};\\,\\sqrt[3]{3};\\,\\sqrt[4]{80}\\); 2) \\(\\sqrt[3]{3};\\,\\sqrt{4/3};\\,\\sqrt[4]{80}\\); 3) \\(\\sqrt[4]{80};\\,\\sqrt[3]{3};\\,\\sqrt{4/3}\\); 4) \\(\\sqrt{4/3};\\,\\sqrt[4]{80};\\,\\sqrt[3]{3}\\); 5) \\(\\sqrt[4]{80};\\,\\sqrt{4/3};\\,\\sqrt[3]{3}\\).`,
[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}],
2,2011);

// A18 — наименьший положительный корень 4sin²x+12cosx-9=0 (ответ: 1 — π/3)
q(T.trig,`A18. Найдите наименьший положительный корень уравнения \\(4\\sin^2\\!x+12\\cos x-9=0\\):\n1) \\(\\dfrac{\\pi}{3}\\); 2) \\(\\arccos\\dfrac{5}{2}\\); 3) \\(\\dfrac{5\\pi}{3}\\); 4) \\(\\dfrac{5}{3}\\); 5) \\(\\pi-\\arccos\\dfrac{5}{2}\\).`,
[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}],
2,2011);

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

// B1 — произведение корней 3/(x+1)+1=10/(x+1)² → -6
fb(T.equations,`B1. Найдите произведение корней уравнения \\(\\dfrac{3}{x+1}+1=\\dfrac{10}{x^2+2x+1}\\).`,
-6,2,2011);

// B2 — диагонали трапеции 15 и 20, средняя линия 12,5 → площадь = 150
fb(T.geometry,`B2. Диагонали трапеции равны 15 и 20. Найдите площадь трапеции, если её средняя линия равна 12,5.`,
150,3,2011);

// B3 — сумма корней 2·6^(x-½)=108·χ^(x/2) → 49
fb(T.expineq,`B3. Сумма корней (или корень, если он один) уравнения \\(2\\cdot6^{x-1/2}=108\\cdot6^{x/2}\\) равна ___.`,
49,3,2011);

// B4 — сумма целых решений неравенства 2^(2x+1)·10^(-4)+4^(-x+2)≤0 → -6
fb(T.inequalities,`B4. Найдите сумму целых решений неравенства \\(2^{2x+1}\\cdot10^{-4}+4^{-x+2}\\leq0\\).`,
-6,3,2011);

// B5 — количество корней тригонометрического уравнения → 9
fb(T.trig,`B5. Найдите количество корней уравнения \\(\\cos^2\\!x\\cdot\\sin^2\\!x=\\dfrac{1}{8}\\) на промежутке \\([0;\\,10\\pi]\\).`,
9,2,2011);

// B6 — АП 130 членов, S=130, S_чёт-S_нечёт=130 → a₁₀₀ → 31
fb(T.progression,`B6. В арифметической прогрессии 130 членов, их сумма равна 130, а сумма членов с чётными номерами на 130 больше суммы членов с нечётными номерами. Найдите сотый член этой прогрессии.`,
31,3,2011);

// B7 — четырёхугольник ABCD вписан в окружность, BAC=40°, ABD=75° → угол между AB и CD → 35
fb(Tx.circle,`B7. Четырёхугольник \\(ABCD\\) вписан в окружность. Если \\(\\angle BAC=40°\\), \\(\\angle ABD=75°\\), то градусная мера угла между прямыми \\(AB\\) и \\(CD\\) равна ___ .`,
35,3,2011);

// B8 — sin18°/(4sin²23°·sin²44°·sin²67°) → 16
fb(T.trig,`B8. Найдите значение выражения \\(\\dfrac{\\sin18°}{4\\sin^2\\!23°\\cdot\\sin^2\\!44°\\cdot\\sin^2\\!67°}\\).`,
16,3,2011);

// B9 — равнобедренная трапеция, большее основание=2×другие, угол=arcsin(5√3/18) → 36sinβ → 70
fb(T.geometry,`B9. В равнобедренной трапеции, большее основание вдвое больше каждой из остальных сторон и лежит в плоскости \\(\\alpha\\). Боковая сторона образует с плоскостью \\(\\alpha\\) угол, синус которого равен \\(\\dfrac{5\\sqrt{3}}{18}\\). Найдите \\(36\\sin\\beta\\), где \\(\\beta\\) — угол между диагональю трапеции и плоскостью \\(\\alpha\\).`,
70,3,2011);

// B10 — равнобедренная трапеция, наклон 5√3/18, диагональ → 10
fb(T.geometry,`B10. В равнобедренной трапеции, боковая сторона образует с плоскостью основания угол \\(\\alpha\\), синус которого равен \\(\\dfrac{5\\sqrt{3}}{18}\\). Найдите значение выражения \\(\\dfrac{V}{\\pi}\\cdot\\dfrac{14}{\\pi}\\) для тела вращения.`,
10,3,2011);

// B11 — целых решений неравенства 2^(2x+1)+log₃(6-x)>13 → 7
fb(T.inequalities,`B11. Найдите число целых решений неравенства \\(2^{2x+1}+\\log_3(6-x)>13\\).`,
7,2,2011);

// B12 — пирамида SABCD, основание ромб 2√3, угол BAD=3π/4, SD⊥основ., ∠SBB₁=60° → R² → 26
fb(Tx.stereo,`B12. Основанием пирамиды \\(SABCD\\) служит ромб со стороной \\(2\\sqrt{3}\\) и углом \\(BAD=\\dfrac{3}{4}\\pi\\). Ребро \\(SD\\) перпендикулярно основанию, а ребро \\(SB\\) образует с основанием угол 60°. Найдите радиус \\(R\\) сферы, проходящей через точки \\(A\\), \\(B\\), \\(C\\) и середину ребра \\(SB\\). В ответ запишите \\(R^2\\).`,
26,3,2011);

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