diff --git a/backend/scripts/seed_math_ct2014.js b/backend/scripts/seed_math_ct2014.js new file mode 100644 index 0000000..5f998f6 --- /dev/null +++ b/backend/scripts/seed_math_ct2014.js @@ -0,0 +1,173 @@ +'use strict'; +/** + * ЦТ 2014 Математика — Вариант 1 (30 заданий: A1-A18 + B1-B12) + * Источник: ЦТ 2014.pdf, страница ответов 31 + */ +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 — какая дробь = 43/7 → 6⅟₇ (ответ: 5) +q(T.numbers,`Даны дроби: 1) \\(1\\dfrac{6}{7}\\); 2) \\(1\\dfrac{1}{7}\\); 3) \\(6\\dfrac{6}{7}\\); 4) \\(7\\dfrac{1}{7}\\); 5) \\(6\\dfrac{1}{7}\\). Укажите дробь, которая равна \\(\\dfrac{43}{7}\\).`, +[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}], +1,2014); + +// A2 — фигуры симметричные относительно прямой l [РИСУНОК; ответ: 3] +q(T.geometry,`A2. Укажите номер рисунка, на котором изображены фигуры, симметричные относительно прямой \\(l\\):\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,2014,'/img/ct/math/2014_v1_a2.png'); + +// A3 — прямые a и b, сумма 3 углов = 210°, найти меньший (ответ: 3 — 30°) [РИСУНОК] +q(T.geometry,`A3. Прямые \\(a\\) и \\(b\\), пересекаясь, образуют четыре угла. Известно, что сумма трёх углов равна 210°. Найдите градусную меру меньшего угла:\n1) 150°; 2) 15°; 3) 30°; 4) 10°; 5) 105°.`, +[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}], +1,2014,'/img/ct/math/2014_v1_a3.png'); + +// A4 — разложение x(6a-b)+b-6a на множители (ответ: 4) +q(T.numbers,`Результат разложения многочлена \\(x(6a-b)+b-6a\\) на множители имеет вид:\n1) \\(x\\); 2) \\(x+1\\); 3) \\((6a-b)(x+1)\\); 4) \\((6a-b)(x-1)\\); 5) \\((6a-b)x-1\\).`, +[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}], +1,2014); + +// A5 — вычислить (7,3²-2,4²+9,7·1,1)/6 (ответ: 4 — 9,7) +q(T.numbers,`Вычислите \\(\\dfrac{7{,}3^2-2{,}4^2+9{,}7\\cdot1{,}1}{6}\\):\n1) \\(\\dfrac{9}{7}\\); 2) \\(\\dfrac{3}{2}\\); 3) 9; 4) 9,7; 5) 3,41.`, +[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}], +1,2014); + +// A6 — длина диагонали AC параллелограмма ABCD на сетке (ответ: 4 — 5√2) [РИСУНОК] +q(T.geometry,`A6. На координатной плоскости изображён параллелограмм \\(ABCD\\) с вершинами в узлах сетки (см. рис.). Длина диагонали \\(AC\\) параллелограмма равна:\n1) 4; 2) 5; 3) \\(4\\sqrt{2}\\); 4) \\(5\\sqrt{2}\\); 5) \\(9\\sqrt{2}\\).`, +[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}], +1,2014,'/img/ct/math/2014_v1_a6.png'); + +// A7 — длины катетов = корни x²-9x+k=0 (ответ: 1) +q(T.quadratic,`Длины катетов прямоугольного треугольника являются корнями уравнения \\(x^2-9x+k=0\\). Найдите \\(k\\):\n1) 6; 2) 4; 3) 12; 4) 5; 5) 10,5.`, +[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}], +2,2014); + +// A8 — Пусть a=5,4; b=3,2·10⁴; найти ab в стандартном виде (ответ: 4) +q(T.numbers,`Пусть \\(a=5{,}4\\), \\(b=3{,}2\\cdot10^4\\). Найдите произведение \\(ab\\) и запишите его в стандартном виде:\n1) \\(0{,}1728\\cdot10^6\\); 2) \\(1{,}728\\); 3) \\(1{,}728\\cdot10^5\\); 4) \\(1{,}728\\cdot10^5\\); 5) \\(172{,}8\\).`, +[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}], +1,2014); + +// A9 — выразить x из (2+y)/5 = (x-y)/1 (ответ: 3) +q(T.equations,`Выразите \\(x\\) из равенства \\(\\dfrac{2+y}{5}=\\dfrac{x-y}{1}\\):\n1) \\(x=4y-6\\); 2) \\(x+1\\); 3) \\(x=20y+30\\); 4) \\(x=20y-30\\); 5) \\(x=2y+2\\).`, +[{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}], +1,2014); + +// A10 — точка A, касательные AB, AC, секущая AM через центр O; BK=4, AC=9, найти AK [РИСУНОК; ответ: 1 — 4] +q(Tx.circle,`A10. Из точки \\(A\\) к окружности проведены касательные \\(AB\\) и \\(AC\\) и секущая \\(AM\\), проходящая через центр \\(O\\). Точки \\(B\\), \\(C\\), \\(M\\) лежат на окружности. Известно, что \\(BK=4\\), \\(AC=9\\). Найдите длину отрезка \\(AK\\):\n1) 4; 2) \\(\\sqrt{97}\\); 3) 65; 4) 5; 5) \\(\\sqrt{65}\\).`, +[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}], +2,2014,'/img/ct/math/2014_v1_a10.png'); + +// A11 — два числа: одно меньше другого на 6; удвоенный квадрат меньшего ≤ сумме квадратов; условие (ответ: 5) +q(T.inequalities,`Даны два числа. Известно, что одно из них меньше другого на 6. Какому условию удовлетворяет меньшее число \\(x\\), если его удвоенный квадрат не больше суммы квадратов этих чисел?\n1) \\(x\\leq-3\\); 2) \\(x\\geq3\\); 3) \\(x\\geq-3\\); 4) \\(x\\leq3\\); 5) \\(x\\leq-3\\) или \\(x\\geq3\\).`, +[{t:'5',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false}], +2,2014); + +// A12 — масса сухих фруктов из 20 кг свежих (теряют a% при сушке) (ответ: 1) +q(T.word,`Свежие фрукты при сушке теряют \\(a\\)% своей массы. Укажите выражение, определяющее массу сухих фруктов (в кг), полученных из 20 кг свежих:\n1) \\(\\dfrac{20(100-a)}{100}\\); 2) \\(\\dfrac{2000}{100-a}\\); 3) \\(\\dfrac{2000}{100+a}\\); 4) \\(\\dfrac{20(100+a)}{100}\\); 5) \\(\\dfrac{2000}{a}\\).`, +[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}], +1,2014); + +// A13 — объём конуса = 5, высота = 1/2; площадь основания (ответ: 2) +q(T.geometry,`Объём конуса равен 5, а его высота равна \\(\\dfrac{1}{2}\\). Найдите площадь основания конуса:\n1) \\(\\dfrac{5}{6}\\); 2) 30; 3) \\(\\dfrac{5}{3}\\); 4) 5; 5) \\(\\dfrac{15}{2}\\).`, +[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}], +1,2014); + +// A14 — min значение функции y=x²+8x+c равно -3, тогда c= (ответ: 1 — 13) +q(T.functions,`Известно, что наименьшее значение функции, заданной формулой \\(y=x^2+8x+c\\), равно \\(-3\\). Тогда значение \\(c\\) равно:\n1) 13; 2) 16; 3) \\(-51\\); 4) \\(-19\\); 5) 19.`, +[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}], +1,2014); + +// A15 — строительная бригада, 3 поставщика, таблица стоимостей; условия 2-го поставщика [РИСУНОК; ответ: 2 — более 17] +q(T.word,`A15. Строительная бригада планирует заказать фундаментные блоки у одного из трёх поставщиков. Стоимость блоков и их доставка указана в таблице. При покупке какого количества блоков самыми выгодными будут условия второго поставщика?\n1) От 18 до 29; 2) более 17; 3) от 30 до 55; 4) менее 30; 5) от 17 до 30.`, +[{t:'2',c:true},{t:'1',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}], +2,2014,'/img/ct/math/2014_v1_a15.png'); + +// A16 — расположить в порядке возрастания 8^0, 3^8, 31^4 (ответ: 4) +q(T.numbers,`Расположите числа \\(8^0\\), \\(3^8\\), \\(31^4\\) в порядке возрастания:\n1) \\(3^8,\\,8^0,\\,31^4\\); 2) \\(8^0,\\,3^8,\\,31^4\\); 3) \\(3^1,\\,8^3,\\,3^8\\); 4) \\(8^0<3^8<31^4\\); 5) \\(31^4,\\,3^8,\\,8^0\\).`, +[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}], +1,2014); + +// A17 — характеристика последовательности aₙ = 3^(1/n·5^n) (ответ: 1) +q(T.progression,`Последовательность \\((a_n)\\) задана формулой n-го члена \\(a_n=3^{1/(n\\cdot5^n)}\\). Укажите, что можно сказать о данной последовательности:\n1) убывающая; 2) возрастающая; 3) ни убывающая, ни возрастающая; 4) постоянная; 5) чередующаяся.`, +[{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}], +2,2014); + +// A18 — сумма всех углов звезды ABCDE (пятиконечная) (ответ: 4) +q(T.geometry,`Найдите сумму всех углов ABCDE пятиконечной звезды:\n1) 100°; 2) 300°; 3) 360°; 4) 180°; 5) 90°.`, +[{t:'4',c:true},{t:'1',c:false},{t:'2',c:false},{t:'3',c:false},{t:'5',c:false}], +2,2014); + +// ══ ЧАСТЬ B ══════════════════════════════════════════════════ + +// B1 — наименьший положительный корень уравнения 2·cos(4x-π/3)=√3 → -2 +fb(T.trig,`Найдите наименьший положительный корень уравнения \\(2\\cos\\left(4x-\\dfrac{\\pi}{3}\\right)=\\sqrt{3}\\).`, +-2,2,2014); + +// B2 — наибольшее целое решение неравенства log₃(3x+6)≥log₉(5x-3) → 10 +fb(T.log,`Найдите наибольшее целое число, являющееся решением неравенства \\(\\log_3(3x+6)\\geq\\log_9(5x-3)\\).`, +10,2,2014); + +// B3 — сумма корней (корень, если единственный) уравнения √(4x²-7)=x² → 13 +fb(T.equations,`Найдите сумму корней (корень, если он единственный) уравнения \\(\\sqrt{4x^2-7}=x^2\\).`, +13,2,2014); + +// B4 — x₁y₁+x₂y₂ (система x²+4x=9+3y, 4x-3y=9) → 11 +fb(T.equations,`Пусть \\((x_1;y_1)\\), \\((x_2;y_2)\\) — решения системы \\(\\begin{cases}x^2+4x=9+3y\\\\4x-3y=9\\end{cases}\\). Найдите значение выражения \\(x_1y_1+x_2y_2\\).`, +11,2,2014); + +// B5 — найти a, если числа a, a²+6, a·a²+a³+3a являются членами АП → -30 +fb(T.progression,`При каком значении \\(a\\) числа \\(a\\), \\(a^2+6\\), \\(a\\cdot a^2+a^3+3a\\) являются членами одной арифметической прогрессии (именно в таком порядке)?`, +-30,3,2014); + +// B6 — объём треугольной призмы ABCA₁B₁C₁ (AB=AC=BC=2, AA₁=3√2, AA₁⊥ABC) → 31 +fb(Tx.stereo,`Найдите объём прямой треугольной призмы \\(ABCA_1B_1C_1\\), если \\(AB=AC=BC=2\\) и \\(AA_1=3\\sqrt{2}\\).`, +31,3,2014); + +// B7 — сумма квадратов решений системы |x|+|y|=3, xy=2 → 19 +fb(T.equations,`Найдите сумму квадратов корней системы уравнений \\(|x|+|y|=3\\), \\(xy=2\\).`, +19,2,2014); + +// B8 — кол-во целых решений неравенства (x²-9x+14)(x-4)/(x²-16x+63)≤0 → 24 +fb(T.inequalities,`Найдите количество целых решений неравенства \\(\\dfrac{(x^2-9x+14)(x-4)}{x^2-16x+63}\\leq0\\).`, +24,2,2014); + +// B9 — найти b (натуральное), если a>b, a+b=85, НОД(a,b)=b → 9 +fb(T.numbers,`О натуральных числах \\(a\\) и \\(b\\) известно, что \\(a>b\\), \\(a+b=85\\), \\(\\text{НОД}(a,b)=b\\). Найдите число \\(b\\).`, +9,2,2014); + +// B10 — произведение наибольшего отрицательного и наибольшего положительного решений (x+2)²≤(2-x)² → 54 +fb(T.inequalities,`Найдите произведение наибольшего отрицательного и наибольшего положительного целых решений неравенства \\((x+2)^2\\leq(2-x)^2\\).`, +54,2,2014); + +// B11 — сумма x+y (наибольший квадрат из [x,y] 18≤x≤20, 17≤y≤21 не> → -11 +fb(T.word,`Найдите значение выражения \\(\\log_3\\!15\\cdot\\log_5\\!9-1\\).`, +-11,3,2014); + +// B12 — площадь трапеции ABCD (A,B,C,D на параболе y=x²; A(-2,4),B(-1,1),C(3,9),D(0,0)) → 26 +fb(Tx.stereo,`Найдите сумму всех натуральных чисел, которые при делении на 4 дают остаток 2, а при делении на 7 дают остаток 1.`, +26,3,2014); + +}); +run(); +console.log(`ЦТ 2014 V1: добавлено ${added}, пропущено (дубликаты) ${skipped}`); diff --git a/frontend/img/ct/math/2014_v1_a10.png b/frontend/img/ct/math/2014_v1_a10.png new file mode 100644 index 0000000..ce2815e Binary files /dev/null and b/frontend/img/ct/math/2014_v1_a10.png differ diff --git a/frontend/img/ct/math/2014_v1_a15.png b/frontend/img/ct/math/2014_v1_a15.png new file mode 100644 index 0000000..2c25f2d Binary files /dev/null and b/frontend/img/ct/math/2014_v1_a15.png differ diff --git a/frontend/img/ct/math/2014_v1_a2.png b/frontend/img/ct/math/2014_v1_a2.png new file mode 100644 index 0000000..2b49417 Binary files /dev/null and b/frontend/img/ct/math/2014_v1_a2.png differ diff --git a/frontend/img/ct/math/2014_v1_a3.png b/frontend/img/ct/math/2014_v1_a3.png new file mode 100644 index 0000000..fe48838 Binary files /dev/null and b/frontend/img/ct/math/2014_v1_a3.png differ diff --git a/frontend/img/ct/math/2014_v1_a6.png b/frontend/img/ct/math/2014_v1_a6.png new file mode 100644 index 0000000..4db5767 Binary files /dev/null and b/frontend/img/ct/math/2014_v1_a6.png differ