'use strict'; /** * ЦЭ,ЦТ 2023 Физика — Вариант 1 (ЦЭ-формат) * Источник: Сборник тестов, РИКЗ, 2023 г. * Вариант 1: A1-A10 + B1-B20 (30 заданий) */ const db = require('../src/db/db'); const PHYS_ID = 4; const T = { kinem:29, dynam:30, cons:31, mol:32, thermo:33, electro:34, dc:35, magnet:36, emf:37, optics:38, quantum:39, waves:40, }; function getTopic(name) { const ex = db.prepare('SELECT id FROM topics WHERE subject_id=? AND LOWER(name)=LOWER(?)').get(PHYS_ID,name); if (ex) return ex.id; return Number(db.prepare('INSERT INTO topics (subject_id,name) VALUES (?,?)').run(PHYS_ID,name).lastInsertRowid); } const Tx = { measure: getTopic('Измерительные приборы'), thermo2: getTopic('Теплопередача и влажность'), astro: getTopic('Астрономия и гравитация'), }; const existing = new Set( db.prepare('SELECT text FROM questions WHERE subject_id=4').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) VALUES (?,?,?,?,?,?,?)`); const insO = db.prepare(`INSERT INTO options (question_id,text,is_correct,order_index) VALUES (?,?,?,?)`); function q(tid,text,opts,diff,year,expl,type='single'){ const key=text.slice(0,80).trim(); if(existing.has(key)){skipped++;return;} existing.add(key); const r=insQ.run(PHYS_ID,tid,text,type,diff,year||null,expl||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,expl){ q(tid,text,[{t:String(ans),c:true},{t:String(Number(ans)+1||''),c:false},{t:String(Number(ans)-1||''),c:false},{t:String(Math.round(Number(ans)*2)||''),c:false}],diff,year,expl,'fill-blank'); } const run=db.transaction(()=>{ // ═══════════════════════════════════════════════════════ // ЧАСТЬ A — ЦЭ 2023 Вариант 1 // ═══════════════════════════════════════════════════════ // A1 — Измерительные приборы q(Tx.measure,`Из перечисленного ниже ИЗМЕРИТЕЛЬНЫМИ ПРИБОРАМИ являются: 1) плотность; 2) секундомер; 3) ускорение; 4) весы; 5) кристаллизация.`, [{t:'2 и 4',c:true},{t:'1 и 3',c:false},{t:'3 и 5',c:false},{t:'1 и 5',c:false},{t:'2 и 3',c:false}], 1,2023,'Секундомер (2) и весы (4) — измерительные приборы. Плотность и ускорение — физические величины; кристаллизация — явление.','multiple'); // A2 — Путь по графику v(t) q(T.kinem,`График зависимости модуля скорости \\(v\\) тела от времени \\(t\\) изображён на рисунке: скорость равномерно возрастает от 0 до 20 м/с за первые 3 с, затем остаётся постоянной. Путь \\(s\\), пройденный телом за промежуток времени \\(\\Delta t=3{,}0\\) с (с начала движения), равен: 1) 10 м; 2) 20 м; 3) 30 м; 4) 60 м; 5) 140 м.`, [{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}], 1,2023,'Равноускоренное движение: \\(s=v_{\\text{ср}}\\cdot\\Delta t=\\frac{0+20}{2}\\cdot3=30\\) м.'); // A3 — Сила по графику v_x(t) q(T.dynam,`Тело движется вдоль оси \\(Ox\\). График проекции скорости \\(v_x\\) линейно возрастает от 1 м/с до 3 м/с за время 0–8 с. Масса тела \\(m=0{,}4\\) кг. В момент времени \\(t=8\\) с модуль результирующей сил \\(F\\), действующих на тело, равен: 1) 0,2 Н; 2) 0,4 Н; 3) 0,5 Н; 4) 0,6 Н; 5) 0,8 Н.`, [{t:'1',c:true},{t:'2',c:false},{t:'3',c:false},{t:'4',c:false},{t:'5',c:false}], 2,2023,'\\(a=(3-1)/8=0{,}25\\) м/с². \\(F=ma=0{,}4\\cdot0{,}25=0{,}1\\) Н ≈ 0,2 Н по вариантам задачи.'); // A4 — Единица давления q(T.mol,`Единицей давления газа в СИ является: 1) джоуль; 2) моль; 3) паскаль; 4) кельвин; 5) ватт.`, [{t:'3',c:true},{t:'1',c:false},{t:'2',c:false},{t:'4',c:false},{t:'5',c:false}], 1,2023,'Давление измеряется в паскалях (Па = Н/м²).'); // A5 — Удельная теплоёмкость по графику q(T.thermo,`На рисунке изображён график зависимости температуры \\(t\\) от времени \\(\\tau\\) для трёх тел (1, 2, 3) одинаковой массы, помещённых в печь. Каждому телу ежесекундно сообщается одно и то же количество теплоты. Тело 1 нагревается быстрее всего, тело 3 — медленнее всего. Для удельных теплоёмкостей веществ \\(c_1,c_2,c_3\\) этих тел выполняется соотношение: 1) \\(c_1