h1("ТАҚЫРЫП 1. ЦИКЛДІК АЛГОРИТМДЕРДІ ПРОГРАММАЛАУ"), p("Тапсырма: Берілген есептерді шығару алгоритмдерінің блок-схемасы мен программаларын құрыңдар."), p("Нұсқалар: 1 – 5"), // ── 1-нұсқа ── h2("1-нұсқа"), h3("Есеп 1: 2^n есептеу (pow-сыз)"), label("Берілгені: n натурал саны. pow() қолданбай 2^n табу."), ...code(`#include using namespace std; int main() { int n; cout << "n енгізіңіз: "; cin >> n; long long res = 1; for (int i = 0; i < n; i++) res *= 2; cout << "2^" << n << " = " << res << endl; return 0; }`), result("n=10 → 2^10 = 1024"), divider(), h3("Есеп 2: Қатардан a-дан үлкен бірінші санды табу"), label("Берілгені: Нақты a. 1/1, 1/2, 1/3, ... қатарынан a-дан үлкен бірінші мүшені табу."), ...code(`#include using namespace std; int main() { double a; cout << "a енгізіңіз: "; cin >> a; int n = 1; while (1.0 / n <= a) n++; cout << "a-дан үлкен бірінші мүше: 1/" << n << " = " << 1.0/n << endl; return 0; }`), result("a=0.2 → 1/4 = 0.25"), divider(), h3("Есеп 3: Шексіз қосынды S = 1 - 1/2 + 1/3 - ... (ε=10⁻⁷)"), label("Берілгені: S = Σ(-1)^(n+1)/n = ln(2), дәлдік ε=10⁻⁷."), ...code(`#include #include using namespace std; int main() { double eps = 1e-7, sum = 0, term; int n = 1; do { term = (n % 2 == 1 ? 1.0 : -1.0) / n; sum += term; n++; } while (fabs(term) >= eps); cout << "S = " << sum << endl; // ≈ 0.693147 cout << "ln(2) = " << log(2.0) << endl; return 0; }`), result("S ≈ 0.693147 (ln(2))"), // ── 2-нұсқа ── pageBreak(), h2("2-нұсқа"), h3("Есеп 1: n! есептеу"), label("Берілгені: n натурал саны. n! табу."), ...code(`#include using namespace std; int main() { int n; cout << "n енгізіңіз: "; cin >> n; long long fact = 1; for (int i = 2; i <= n; i++) fact *= i; cout << n << "! = " << fact << endl; return 0; }`), result("n=7 → 7! = 5040"), divider(), h3("Есеп 2: 2^n > a·n² теңсіздігін қанағаттандыратын ең кіші n"), label("Берілгені: Нақты a. 2^n > a·n² болатын ең кіші n табу."), ...code(`#include #include using namespace std; int main() { double a; cout << "a енгізіңіз: "; cin >> a; int n = 1; while (pow(2, n) <= a * n * n) n++; cout << "Ең кіші n = " << n << endl; cout << "2^n = " << pow(2,n) << " > a*n^2 = " << a*n*n << endl; return 0; }`), result("a=1 → n=5 (2^5=32 > 1·25=25)"), divider(), h3("Есеп 3: Шексіз қосынды S = 1 + 1/2! + 1/3! + ... (ε=10⁻⁷)"), label("Берілгені: S = Σ 1/n! = e, дәлдік ε=10⁻⁷."), ...code(`#include #include using namespace std; int main() { double eps = 1e-7, sum = 1.0, term = 1.0; int n = 1; do { term /= n; sum += term; n++; } while (term >= eps); cout << "S = " << sum << endl; // ≈ e = 2.71828 cout << "e = " << exp(1.0) << endl; return 0; }`), result("S ≈ 2.71828 (e сандарына тең)"), // ── 3-нұсқа ── pageBreak(), h2("3-нұсқа"), h3("Есеп 1: 1·3·5·...·(2n-1) — тақ сандар көбейтіндісі"), label("Берілгені: n натурал. P = 1·3·5·...·(2n-1) табу."), ...code(`#include using namespace std; int main() { int n; cout << "n енгізіңіз: "; cin >> n; long long P = 1; for (int i = 1; i <= 2*n-1; i += 2) P *= i; cout << "P = " << P << endl; return 0; }`), result("n=5 → 1·3·5·7·9 = 945"), divider(), h3("Есеп 2: S = x + x²/2 + x³/3 + ... + xⁿ/n"), label("Берілгені: n натурал, нақты x. S = Σ xⁱ/i (i=1..n) табу."), ...code(`#include #include using namespace std; int main() { int n; double x; cout << "n және x енгізіңіз: "; cin >> n >> x; double S = 0, xpow = x; for (int i = 1; i <= n; i++) { S += xpow / i; xpow *= x; } cout << "S = " << S << endl; return 0; }`), result("n=5, x=0.5 → S ≈ 0.4581"), divider(), h3("Есеп 3: Шексіз қосынды S = x - x³/3! + x⁵/5! - ... = sin(x), ε=10⁻⁷"), label("Берілгені: x. S = sin(x) Тейлор қатары арқылы."), ...code(`#include #include using namespace std; int main() { double x, eps = 1e-7; cout << "x енгізіңіз (радиан): "; cin >> x; double sum = 0, term = x; int n = 1; while (fabs(term) >= eps) { sum += term; term *= -x*x / ((2*n)*(2*n+1)); n++; } cout << "S = " << sum << endl; cout << "sin(x) = " << sin(x) << " (тексеру)" << endl; return 0; }`), result("x=1.0 → S ≈ 0.841471 = sin(1)"), // ── 4-нұсқа ── pageBreak(), h2("4-нұсқа"), h3("Есеп 1: S = 1/1 + 1/2 + 1/3 + ... + 1/n"), label("Берілгені: n натурал. S = Σ 1/i (i=1..n) табу."), ...code(`#include using namespace std; int main() { int n; cout << "n енгізіңіз: "; cin >> n; double S = 0; for (int i = 1; i <= n; i++) S += 1.0 / i; cout << "S = " << S << endl; return 0; }`), result("n=10 → S ≈ 2.92897"), divider(), h3("Есеп 2: P = (1+x)(1+x²)(1+x³)...(1+xⁿ)"), label("Берілгені: n натурал, нақты x. P = Π(1+xⁱ) i=1..n табу."), ...code(`#include #include using namespace std; int main() { int n; double x; cout << "n және x енгізіңіз: "; cin >> n >> x; double P = 1, xpow = x; for (int i = 1; i <= n; i++) { P *= (1 + xpow); xpow *= x; } cout << "P = " << P << endl; return 0; }`), result("n=4, x=0.5 → P ≈ 3.28125"), divider(), h3("Есеп 3: Шексіз қосынды S = 1 - x²/2! + x⁴/4! - ... = cos(x), ε=10⁻⁷"), label("Берілгені: x. cos(x) Тейлор қатары арқылы есептеу."), ...code(`#include #include using namespace std; int main() { double x, eps = 1e-7; cout << "x енгізіңіз (радиан): "; cin >> x; double sum = 0, term = 1.0; int n = 1; while (fabs(term) >= eps) { sum += term; term *= -x*x / ((2*n-1)*(2*n)); n++; } cout << "S = " << sum << endl; cout << "cos(x) = " << cos(x) << " (тексеру)" << endl; return 0; }`), result("x=1.0 → S ≈ 0.540302 = cos(1)"), // ── 5-нұсқа ── pageBreak(), h2("5-нұсқа"), h3("Есеп 1: S = 1² + 2² + 3² + ... + n²"), label("Берілгені: n натурал. Квадраттардың қосындысын табу."), ...code(`#include using namespace std; int main() { int n; cout << "n енгізіңіз: "; cin >> n; long long S = 0; for (int i = 1; i <= n; i++) S += (long long)i * i; cout << "S = " << S << endl; // Формуламен тексеру: n*(n+1)*(2n+1)/6 cout << "Формула: " << (long long)n*(n+1)*(2*n+1)/6 << endl; return 0; }`), result("n=10 → S = 385"), divider(), h3("Есеп 2: P = sin(x)·sin(2x)·...·sin(nx)"), label("Берілгені: n натурал, нақты x. Соңғы көбейтінді n рет қайталанады."), ...code(`#include #include using namespace std; int main() { int n; double x; cout << "n және x енгізіңіз: "; cin >> n >> x; double P = 1; for (int i = 1; i <= n; i++) P *= sin(i * x); cout << "P = " << P << endl; return 0; }`), result("n=4, x=0.5 → P ≈ -0.002287"), divider(), h3("Есеп 3: Шексіз қосынды S = x - x²/2 + x³/3 - ... = ln(1+x), ε=10⁻⁷"), label("Берілгені: |x|<1. ln(1+x) Тейлор қатары арқылы."), ...code(`#include #include using namespace std; int main() { double x, eps = 1e-7; cout << "x енгізіңіз (|x|<1): "; cin >> x; double sum = 0, term = x, xpow = x; int n = 1; while (fabs(term) >= eps) { sum += term; xpow *= (-x); n++; term = xpow / n; } cout << "S = " << sum << endl; cout << "ln(1+x) = " << log(1+x) << " (тексеру)" << endl; return 0; }`), result("x=0.5 → S ≈ 0.405465 = ln(1.5)"), ]; // ════════════════════════════════════════════════════════════════════ // ТАҚЫРЫП 2 — ЖИЫМДАРДЫ ӨҢДЕУ (нұсқа 1–5) // ════════════════════════════════════════════════════════════════════ const sec2 = [ pageBreak(), h1("ТАҚЫРЫП 2. ЖИЫМДАРДЫ ӨҢДЕУ ЕСЕПТЕРІ"), p("Тапсырма: Массивтер және матрицалармен жұмыс. Нұсқалар: 1 – 5"), // ── 1-нұсқа ── h2("1-нұсқа"), h3("Есеп 1: Массивтің максималды элементін, нөмірін, санын табу"), label("Берілгені: a = {7.2; 3.5; -1; 0; 3.3; 6.1; 7.2; -3.6; 5; 7.2}"), ...code(`#include using namespace std; int main() { double a[] = {7.2, 3.5, -1, 0, 3.3, 6.1, 7.2, -3.6, 5, 7.2}; int n = 10; double mx = a[0]; int idx = 0; for (int i = 1; i < n; i++) if (a[i] > mx) { mx = a[i]; idx = i; } int cnt = 0; for (int i = 0; i < n; i++) if (a[i] == mx) cnt++; cout << "Максимум = " << mx << ", нөмірі = " << idx+1 << ", саны = " << cnt << endl; return 0; }`), result("Максимум = 7.2, нөмірі = 1, саны = 3"), divider(), h3("Есеп 2: Матрицада тек нөлдерден тұратын бағана бар ма?"), label("Берілгені: n×m өлшемді A матрицасы."), ...code(`#include using namespace std; int main() { int n = 3, m = 3; double A[3][3] = {{1,0,3},{0,0,2},{0,0,1}}; cout << "Матрица:" << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) cout << A[i][j] << " "; cout << endl; } bool found = false; for (int j = 0; j < m; j++) { bool allZ = true; for (int i = 0; i < n; i++) if (A[i][j] != 0) { allZ = false; break; } if (allZ) { cout << (j+1) << "-бағана нөлдік!" << endl; found=true; } } if (!found) cout << "Нөлдік бағана жоқ." << endl; return 0; }`), result("2-бағана тек нөлдерден тұрады!"), // ── 2-нұсқа ── pageBreak(), h2("2-нұсқа"), h3("Есеп 1: Жұп, тақ, 5-ке еселі нөмірлі элементтер қосындылары"), label("Берілгені: A = {1; 3; -2; 4.5; 9; 0.56; 7; 3; 9; 12.9; 32; 6.5; 7; 6.2; 8; 2; -4.5; 9.2; 4} (19 элемент)"), ...code(`#include using namespace std; int main() { double A[] = {1,3,-2,4.5,9,0.56,7,3,9,12.9,32,6.5,7,6.2,8,2,-4.5,9.2,4}; int n = 19; double P = 0, L = 0, Z = 0; for (int i = 0; i < n; i++) { if ((i+1) % 2 == 0) P += A[i]; // жұп нөмірлі (1-индекс) if ((i+1) % 2 != 0) L += A[i]; // тақ нөмірлі if ((i+1) % 5 == 0) Z += A[i]; // 5-ке еселі } cout << "P (жұп нөмірлі) = " << P << endl; cout << "L (тақ нөмірлі) = " << L << endl; cout << "Z (5-ке еселі) = " << Z << endl; return 0; }`), result("P = 39.72, L = 28.06, Z = 9+32+(-4.5) = 36.5"), divider(), h3("Есеп 2: Матрицада өзара тең екі элемент бар ма?"), label("Берілгені: n×m өлшемді A матрицасы."), ...code(`#include using namespace std; int main() { int n = 3, m = 3; double A[3][3] = {{1, 2, 3},{4, 2, 6},{7, 8, 9}}; bool found = false; for (int i = 0; i < n && !found; i++) for (int j = 0; j < m && !found; j++) for (int ii = i; ii < n && !found; ii++) for (int jj = (ii==i?j+1:0); jj < m && !found; jj++) if (A[i][j] == A[ii][jj]) { cout << "Тең элементтер: A[" << i+1 << "][" << j+1 << "] = A[" << ii+1 << "][" << jj+1 << "] = " << A[i][j] << endl; found = true; } if (!found) cout << "Тең элементтер жоқ." << endl; return 0; }`), result("A[1][2] = A[2][2] = 2 — тең элемент табылды"), // ── 3-нұсқа ── pageBreak(), h2("3-нұсқа"), h3("Есеп 1: Бірінші теріс элементтен кейінгілерін нөлмен алмастыру"), label("Берілгені: B = {2.3; 4.4; 6.5; 1.6; 1; -7.1; 96.3; -3.4; 5.5; -6.6}"), ...code(`#include using namespace std; int main() { double b[] = {2.3, 4.4, 6.5, 1.6, 1, -7.1, 96.3, -3.4, 5.5, -6.6}; int n = 10; int firstNeg = -1; for (int i = 0; i < n; i++) if (b[i] < 0) { firstNeg = i; break; } if (firstNeg >= 0) for (int i = firstNeg + 1; i < n; i++) b[i] = 0; cout << "Нәтиже: "; for (int i = 0; i < n; i++) cout << b[i] << " "; cout << endl; return 0; }`), result("{2.3, 4.4, 6.5, 1.6, 1, -7.1, 0, 0, 0, 0}"), divider(), h3("Есеп 2: Матрицада теріс элементтерді 0-ге, оңдарды квадраттау"), label("Берілгені: n×m өлшемді A матрицасы."), ...code(`#include using namespace std; int main() { int n = 3, m = 3; double A[3][3] = {{-1, 2, -3},{4, -5, 6},{-7, 8, 9}}; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) { if (A[i][j] < 0) A[i][j] = 0; else A[i][j] *= A[i][j]; } cout << "Нәтиже матрица:" << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) cout << A[i][j] << "\\t"; cout << endl; } return 0; }`), result("{{0,4,0},{16,0,36},{0,64,81}}"), // ── 4-нұсқа ── pageBreak(), h2("4-нұсқа"), h3("Есеп 1: Теріс (K) және оң (M) элементтер санын есептеу"), label("Берілгені: A = {0; 1.22; -3; 4; 0.32; -6; 2; -1.75; 9; 0; 0.11; -4.5; 13; -2}"), ...code(`#include using namespace std; int main() { double A[] = {0,1.22,-3,4,0.32,-6,2,-1.75,9,0,0.11,-4.5,13,-2}; int n = 14, K = 0, M = 0; for (int i = 0; i < n; i++) { if (A[i] < 0) K++; else if (A[i] > 0) M++; } cout << "K (теріс) = " << K << endl; cout << "M (оң) = " << M << endl; return 0; }`), result("K = 5, M = 7"), divider(), h3("Есеп 2: Модулі максималды элементті нөлмен алмастыру"), label("Берілгені: n×m өлшемді A матрицасы."), ...code(`#include #include using namespace std; int main() { int n = 3, m = 3; double A[3][3] = {{1,-8,3},{4,5,-6},{7,2,9}}; double maxAbs = fabs(A[0][0]); int ri = 0, rj = 0; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) if (fabs(A[i][j]) > maxAbs) { maxAbs = fabs(A[i][j]); ri = i; rj = j; } cout << "Максималды модуль элемент: A[" << ri+1 << "][" << rj+1 << "] = " << A[ri][rj] << endl; A[ri][rj] = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) cout << A[i][j] << "\\t"; cout << endl; } return 0; }`), result("A[3][3]=9 максималды, нөлмен алмастырылды"), // ── 5-нұсқа ── pageBreak(), h2("5-нұсқа"), h3("Есеп 1: Теріс компоненттерді квадратымен алмастыру"), label("Берілгені: B = {3.6; -2.1; 7; 4.5; -4.6; -1; -0.75; 8; 11; 5; 3}"), ...code(`#include using namespace std; int main() { double B[] = {3.6,-2.1,7,4.5,-4.6,-1,-0.75,8,11,5,3}; int n = 11; for (int i = 0; i < n; i++) if (B[i] < 0) B[i] = B[i] * B[i]; cout << "Нәтиже: "; for (int i = 0; i < n; i++) cout << B[i] << " "; cout << endl; return 0; }`), result("{3.6, 4.41, 7, 4.5, 21.16, 1, 0.5625, 8, 11, 5, 3}"), divider(), h3("Есеп 2: Екі матрицаның тең екендігін тексеру"), label("Берілгені: m×n өлшемді A және B матрицалары."), ...code(`#include using namespace std; int main() { int m = 2, n = 3; double A[2][3] = {{1,2,3},{4,5,6}}; double B[2][3] = {{1,2,3},{4,5,6}}; bool eq = true; for (int i = 0; i < m && eq; i++) for (int j = 0; j < n && eq; j++) if (A[i][j] != B[i][j]) eq = false; if (eq) { cout << "A = B" << endl; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) cout << A[i][j] << " "; cout << endl; } } else { cout << "A тең емес B" << endl; } return 0; }`), result("A = B (матрицалар тең болғандықтан, A матрицасы шығарылады)"), ]; // ════════════════════════════════════════════════════════════════════ // ТАҚЫРЫП 3 — СӨЗ ТІРКЕСТЕРІН ӨҢДЕУ (нұсқа 1–5) // ════════════════════════════════════════════════════════════════════ const sec3 = [ pageBreak(), h1("ТАҚЫРЫП 3. СӨЗ ТІРКЕСТЕРІН ӨҢДЕУ"), p("Тапсырма: Жолдарды өңдеу алгоритмдері. Нұсқалар: 1 – 5"), h2("1-нұсқа"), h3("Есеп 1: L жұп болса — екілік сандарды өшіру"), label("Тіркестің ұзындығы L жұп болса, барлық '0' және '1' цифрларын өшіру."), ...code(`#include #include using namespace std; int main() { string s; cout << "Сөз тіркесін енгізіңіз: "; getline(cin, s); int L = s.length(); cout << "Ұзындық L = " << L << endl; if (L % 2 == 0) { string res = ""; for (char c : s) if (c != '0' && c != '1') res += c; cout << "Нәтиже: " << res << endl; } else { cout << "L тақ, өзгеріссіз: " << s << endl; } return 0; }`), result("\"abc1def0g\" (L=9, тақ) → өзгеріссіз; \"ab1cd0\" (L=6, жұп) → \"abcd\""), divider(), h3("Есеп 2: Ортадағы сөзді кері жазу"), label("Тіркестің дәл ортасындағы сөзді анықтап, кері жазу."), ...code(`#include #include #include using namespace std; int main() { string s; cout << "Сөз тіркесін енгізіңіз: "; getline(cin, s); vector words; string cur = ""; for (char c : s) { if (c == ' ') { if (!cur.empty()) { words.push_back(cur); cur = ""; } } else cur += c; } if (!cur.empty()) words.push_back(cur); int mid = words.size() / 2; string w = words[mid]; string rev(w.rbegin(), w.rend()); cout << "Ортадағы сөз: " << w << endl; cout << "Кері: " << rev << endl; return 0; }`), result("\"бір екі үш\" → ортадағы сөз: \"екі\" → кері: \"іке\""), h2("2-нұсқа"), h3("Есеп 1: L жұп болса бірінші сөзді, тақ болса соңғы сөзді өшіру"), label("Тіркестің ұзындығын L анықтап, шартқа байланысты сөз өшіру."), ...code(`#include #include using namespace std; int main() { string s; cout << "Тіркес енгізіңіз: "; getline(cin, s); int L = s.length(); if (L % 2 == 0) { // Бірінші сөзді өшіру size_t pos = s.find(' '); s = (pos != string::npos) ? s.substr(pos + 1) : ""; cout << "Бірінші сөз өшірілді: " << s << endl; } else { // Соңғы сөзді өшіру size_t pos = s.rfind(' '); s = (pos != string::npos) ? s.substr(0, pos) : ""; cout << "Соңғы сөз өшірілді: " << s << endl; } return 0; }`), result("\"сәлем әлем\" (L=10, жұп) → \"әлем\"; \"бір екі үш\" (L=11, тақ) → \"бір екі\""), divider(), h3("Есеп 2: Тіркесте палиндром сөз бар ма?"), label("Тіркестегі әрбір сөздің палиндром екенін тексеру."), ...code(`#include #include #include using namespace std; bool isPalin(const string& w) { int n = w.size(); for (int i = 0; i < n/2; i++) if (w[i] != w[n-1-i]) return false; return true; } int main() { string s; cout << "Тіркес енгізіңіз: "; getline(cin, s); vector words; string cur = ""; for (char c : s) { if (c == ' ') { if (!cur.empty()) { words.push_back(cur); cur=""; } } else cur += c; } if (!cur.empty()) words.push_back(cur); bool found = false; for (auto& w : words) if (isPalin(w) && w.size() > 1) { cout << "Палиндром сөз: " << w << endl; found = true; } if (!found) cout << "Палиндром сөз жоқ." << endl; return 0; }`), result("\"алма кәрке аба\" → палиндром сөз: \"аба\""), h2("3-нұсқа"), h3("Есеп 1: ДОС сөзіне кіретін символдар саны"), label("Тіркесте 'D','O','S' (немесе д,о,с) символдарының жалпы санын анықтау."), ...code(`#include #include #include using namespace std; int main() { string s; cout << "Тіркес енгізіңіз: "; getline(cin, s); int cnt = 0; for (char c : s) { char u = toupper(c); if (u == 'D' || u == 'O' || u == 'S') cnt++; } cout << "ДОС символдары саны: " << cnt << endl; return 0; }`), result("\"DOS is good\" → D:1, O:2, S:1 → саны = 4"), divider(), h3("Есеп 2: L > 10 болса — соңғы сөзді өшіру"), label("Ұзындық 10-нан артық болса, тіркестің соңғы сөзін өшіру."), ...code(`#include #include using namespace std; int main() { string s; cout << "Тіркес енгізіңіз: "; getline(cin, s); cout << "Ұзындық L = " << s.length() << endl; if ((int)s.length() > 10) { size_t pos = s.rfind(' '); s = (pos != string::npos) ? s.substr(0, pos) : ""; cout << "Соңғы сөз өшірілді: " << s << endl; } else { cout << "L <= 10, өзгеріссіз: " << s << endl; } return 0; }`), result("\"Бұл ұзын тіркес\" (L=16) → \"Бұл ұзын\""), h2("4-нұсқа"), h3("Есеп 1: Ортадағы символды (немесе екі символды) анықтау"), label("L тақ болса — ортадағы 1 символ; жұп болса — 2 символ."), ...code(`#include #include using namespace std; int main() { string s; cout << "Тіркес енгізіңіз: "; getline(cin, s); int L = s.length(); cout << "L = " << L << endl; if (L % 2 != 0) { cout << "Ортадағы символ: '" << s[L/2] << "'" << endl; } else { cout << "Ортадағы екі символ: '" << s[L/2-1] << "' және '" << s[L/2] << "'" << endl; } return 0; }`), result("\"abcde\" (L=5) → 'c'; \"abcd\" (L=4) → 'b' және 'c'"), divider(), h3("Есеп 2: Барлық '!' белгісін '?' белгісіне алмастыру"), label("Тіркестегі леп белгілерін сұрақ белгісімен алмастыру."), ...code(`#include #include using namespace std; int main() { string s; cout << "Тіркес енгізіңіз: "; getline(cin, s); int cnt = 0; for (char& c : s) if (c == '!') { c = '?'; cnt++; } cout << "Нәтиже: " << s << endl; cout << "Алмастырылған саны: " << cnt << endl; return 0; }`), result("\"Сәлем! Қайырлы! Күн!\" → \"Сәлем? Қайырлы? Күн?\" (3 алмастырылды)"), h2("5-нұсқа"), h3("Есеп 1: Бос орынды астын сызу (_) белгісіне алмастыру"), label("Тіркестегі барлық ' ' символдарын '_' символымен алмастыру."), ...code(`#include #include using namespace std; int main() { string s; cout << "Тіркес енгізіңіз: "; getline(cin, s); for (char& c : s) if (c == ' ') c = '_'; cout << "Нәтиже: " << s << endl; return 0; }`), result("\"бір екі үш\" → \"бір_екі_үш\""), divider(), h3("Есеп 2: L > 10 болса — соңғы сөзді өшіру"), label("3-нұсқа есеп 2 сияқты, бірақ 5-нұсқаның мазмұнымен."), ...code(`#include #include using namespace std; int main() { string s; cout << "Тіркес енгізіңіз: "; getline(cin, s); int L = s.length(); cout << "L = " << L << endl; if (L > 10) { size_t pos = s.rfind(' '); if (pos != string::npos) s = s.substr(0, pos); cout << "Нәтиже: " << s << endl; } else { cout << "L <= 10, өзгеріссіз: " << s << endl; } return 0; }`), result("\"Қазақстан Республикасы\" (L=22) → \"Қазақстан\""), ]; // ════════════════════════════════════════════════════════════════════ // ТАҚЫРЫП 4 — ҚОЛДАНУШЫ ФУНКЦИЯЛАРЫ (нұсқа 1–5) // ════════════════════════════════════════════════════════════════════ const sec4 = [ pageBreak(), h1("ТАҚЫРЫП 4. ҚОЛДАНУШЫ ФУНКЦИЯЛАРЫН ҚҰРУ"), p("Тапсырма: Функциялар жазып, негізгі программадан шақыру. Нұсқалар: 1 – 5"), h2("1-нұсқа"), h3("Есеп 1: f(a,b,c) = (2a−3b+sin(c))/(4+c) функциясы"), label("f(3t,s,2.7) + f(2.2,t,s−t) есептеу."), ...code(`#include #include using namespace std; double f(double a, double b, double c) { return (2*a - 3*b + sin(c)) / (4 + c); } int main() { double s, t; cout << "s және t енгізіңіз: "; cin >> s >> t; double res = f(3*t, s, 2.7) + f(2.2, t, s-t); cout << "Нәтиже = " << res << endl; return 0; }`), result("s=1, t=2 → f(6,1,2.7)+f(2.2,2,-1) ≈ нәтиже шығарылады"), divider(), h3("Есеп 2: g(a,b) = (a²+b²)/(a²+5ab+b²+6) функциясы"), label("g(2.4,s+t) + g(2t−1,s−t) есептеу."), ...code(`#include #include using namespace std; double g(double a, double b) { return (a*a + b*b) / (a*a + 5*a*b + b*b + 6); } int main() { double s, t; cout << "s және t енгізіңіз: "; cin >> s >> t; double res = g(2.4, s+t) + g(2*t-1, s-t); cout << "Нәтиже = " << res << endl; return 0; }`), result("s=1, t=2 → g(2.4,3)+g(3,−1) ≈ нәтиже"), h2("2-нұсқа"), h3("Есеп 1: min(a,b) функциясын пайдаланып күрделі өрнек"), label("(min(a+c,a+b)+min(a−b,b−c))/(1−min(ab+c, 1.2)) есептеу."), ...code(`#include #include using namespace std; int main() { double a, b, c; cout << "a, b, c енгізіңіз: "; cin >> a >> b >> c; double num = min(a+c, a+b) + min(a-b, b-c); double den = 1 - min(a*b+c, 1.2); if (den == 0) { cout << "Бөлінуші нөлге тең!" << endl; return 1; } cout << "Нәтиже = " << num/den << endl; return 0; }`), result("a=2, b=1, c=0.5 → нәтиже есептеліп шығарылады"), divider(), h3("Есеп 2: n..2n аралығында егіздер (айырмасы 2 жұп жай сандар) табу"), label("Жай санды анықтайтын функция жазу."), ...code(`#include using namespace std; bool isPrime(int n) { if (n < 2) return false; for (int i = 2; i*i <= n; i++) if (n % i == 0) return false; return true; } int main() { int n; cout << "n енгізіңіз: "; cin >> n; cout << "Егіздер (" << n << ".." << 2*n << "):" << endl; bool found = false; for (int i = n; i <= 2*n-2; i++) if (isPrime(i) && isPrime(i+2)) { cout << "(" << i << ", " << i+2 << ")" << endl; found = true; } if (!found) cout << "Егіздер жоқ." << endl; return 0; }`), result("n=10 → (11,13), (17,19)"), h2("3-нұсқа"), h3("Есеп 1: max және min функцияларын пайдаланып f есептеу"), label("min(b1..bm)>20 болса: max(a)+max(c); кері жағдайда: 2+(min(a))²"), ...code(`#include #include using namespace std; double maxArr(double* a, int n) { double m = a[0]; for (int i=1;im) m=a[i]; return m; } double minArr(double* a, int n) { double m = a[0]; for (int i=1;i 20) f = maxArr(a,na) + maxArr(c,nc); else f = 2 + minArr(a,na) * minArr(a,na); cout << "f = " << f << endl; return 0; }`), result("minB=22>20 → f = max(a)+max(c) = 9+30 = 39"), divider(), h3("Есеп 2: Екі натурал квадраттың қосындысы ретінде жазылатын сандар"), label("1..n аралығынан a²+b² түрінде жазылатын сандарды табу."), ...code(`#include #include using namespace std; bool isSumOfSquares(int n) { for (int a = 1; a*a < n; a++) { int rem = n - a*a; int b = (int)sqrt(rem); if (b >= 1 && b*b == rem) return true; } return false; } int main() { int n; cout << "n енгізіңіз: "; cin >> n; cout << "Екі квадрат қосындысы:" << endl; for (int i = 2; i <= n; i++) if (isSumOfSquares(i)) cout << i << " "; cout << endl; return 0; }`), result("n=20 → 2 5 8 10 13 17 18 20"), h2("4-нұсқа"), h3("Есеп 1: Жетібұрышты фигура периметрі"), label("Төбелері (x1,y1)...(x7,y7) берілген жетібұрыш периметрін табу."), ...code(`#include #include using namespace std; double dist(double x1, double y1, double x2, double y2) { return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); } int main() { double x[] = {0,3,5,5,3,0,-1}; double y[] = {0,0,2,4,5,5,3}; int n = 7; double P = 0; for (int i = 0; i < n; i++) P += dist(x[i],y[i],x[(i+1)%n],y[(i+1)%n]); cout << "Периметр = " << P << endl; return 0; }`), result("Берілген координаттар бойынша периметр есептеліп шығарылады"), divider(), h3("Есеп 2: Бесбұрыш ауданын табу (a,b,c,d параметрлері)"), label("Тіктөртбұрыш + үшбұрыштан тұратын бесбұрыш ауданы."), ...code(`#include using namespace std; double pentagonArea(double a, double b, double c, double d) { // Тіктөртбұрыш a×b + үшбұрыш (c×d)/2 return a * b + 0.5 * c * d; } int main() { double a, b, c, d; cout << "a, b, c, d енгізіңіз: "; cin >> a >> b >> c >> d; cout << "Бесбұрыш ауданы = " << pentagonArea(a,b,c,d) << endl; return 0; }`), result("a=4, b=3, c=4, d=2 → S = 12+4 = 16"), h2("5-нұсқа"), h3("Есеп 1: Бір жолда бар символдарды екінші жолдан жою"), label("Бірінші жолдағы символдар екінші жолда кездессе — оларды жою."), ...code(`#include #include using namespace std; void removeChars(string& s, const string& pattern) { string res = ""; for (char c : s) if (pattern.find(c) == string::npos) res += c; s = res; } int main() { string s1, s2; cout << "Бірінші жол: "; getline(cin, s1); cout << "Екінші жол: "; getline(cin, s2); removeChars(s2, s1); cout << "Нәтиже: " << s2 << endl; return 0; }`), result("s1=\"aeiou\", s2=\"hello world\" → \"hll wrld\""), divider(), h3("Есеп 2: Екі массивтің бірінші нөлін 0.5-ке алмастыру"), label("A(10) және B(10) массивтерінің бірінші нөлдік элементін 0.5-ке алмастыру."), ...code(`#include using namespace std; void replaceFirstZero(double* arr, int n) { for (int i = 0; i < n; i++) if (arr[i] == 0) { arr[i] = 0.5; return; } } int main() { double A[] = {1,2,0,4,5,6,7,8,9,10}; double B[] = {3,0,1,4,0,6,7,8,9,11}; replaceFirstZero(A, 10); replaceFirstZero(B, 10); cout << "A: "; for(int i=0;i<10;i++) cout< #include using namespace std; int main() { // Тест файлын жасау ofstream out("numbers.txt"); out << "5 -3 8 -1 0 -7 4 -2 9 -6"; out.close(); ifstream in("numbers.txt"); int num, cnt = 0; while (in >> num) if (num < 0) cnt++; in.close(); cout << "Теріс сандар саны: " << cnt << endl; return 0; }`), result("numbers.txt: {5,-3,8,-1,0,-7,4,-2,9,-6} → теріс саны = 5"), divider(), h3("Есеп 2: 6 символдан артық сөздерді жаңа файлға жазу"), label("words.txt файлынан оқып, ұзын сөздерді long_words.txt-ке жазу."), ...code(`#include #include #include using namespace std; int main() { ofstream out("words.txt"); out << "кітап программа ән мектеп университет ат"; out.close(); ifstream in("words.txt"); ofstream res("long_words.txt"); string w; cout << "6 символдан артық сөздер:" << endl; while (in >> w) if ((int)w.length() > 6) { cout << w << endl; res << w << endl; } in.close(); res.close(); cout << "long_words.txt файлына жазылды." << endl; return 0; }`), result("\"программа\" (9), \"университет\" (11) — long_words.txt-ке жазылды"), h2("2-нұсқа"), h3("Есеп 1: Сандардың арифметикалық ортасын файл соңына жазу"), label("numbers.txt-тен оқып, орташа мәнді файл соңына қосу."), ...code(`#include #include using namespace std; int main() { ofstream out("nums2.txt"); out << "10 20 30 40 50"; out.close(); ifstream in("nums2.txt"); double sum=0; int cnt=0, n; while (in >> n) { sum+=n; cnt++; } in.close(); ofstream app("nums2.txt", ios::app); double avg = sum / cnt; app << " " << avg; app.close(); cout << "Орташа мән = " << avg << " файлға қосылды." << endl; return 0; }`), result("nums2.txt: \"10 20 30 40 50 30\" (орташа=30 соңына қосылды)"), divider(), h3("Есеп 2: Тіркестерді кері жазып жаңа файлға сақтау"), label("input.txt-тен оқып, кері жазылған нұсқасын output.txt-ке сақтау."), ...code(`#include #include #include #include using namespace std; int main() { ofstream out("input2.txt"); out << "Сәлем дүние"; out.close(); ifstream in("input2.txt"); ofstream res("output2.txt"); string s; getline(in, s); reverse(s.begin(), s.end()); res << s; cout << "Кері жазылған: " << s << endl; in.close(); res.close(); return 0; }`), result("\"Сәлем дүние\" → кері жазылып output2.txt-ке сақталады"), h2("3-нұсқа"), h3("Есеп 1: Файлдан максимум элементін табу"), label("numbers.txt-тен сандар оқып, ең үлкенін анықтау."), ...code(`#include #include #include using namespace std; int main() { ofstream out("nums3.txt"); out << "15 3 42 7 28 9 1 66 4"; out.close(); ifstream in("nums3.txt"); int num, mx = INT_MIN; while (in >> num) if (num > mx) mx = num; in.close(); cout << "Максимум = " << mx << endl; return 0; }`), result("{15,3,42,7,28,9,1,66,4} → Максимум = 66"), divider(), h3("Есеп 2: Бос орынды сызықшаға алмастырып жаңа файлға жазу"), label("input.txt-тен оқып, ' ' орнына '-' жазып output.txt-ке сақтау."), ...code(`#include #include #include using namespace std; int main() { ofstream out("str3.txt"); out << "бір екі үш төрт"; out.close(); ifstream in("str3.txt"); ofstream res("str3_out.txt"); string s; getline(in, s); for (char& c : s) if (c == ' ') c = '-'; res << s; cout << "Нәтиже: " << s << endl; return 0; }`), result("\"бір екі үш төрт\" → \"бір-екі-үш-төрт\""), h2("4-нұсқа"), h3("Есеп 1: Файлдан минимум элементін табу"), label("numbers.txt-тен сандар оқып, ең кішісін анықтау."), ...code(`#include #include #include using namespace std; int main() { ofstream out("nums4.txt"); out << "15 3 42 7 28 9 1 66 4"; out.close(); ifstream in("nums4.txt"); int num, mn = INT_MAX; while (in >> num) if (num < mn) mn = num; in.close(); cout << "Минимум = " << mn << endl; return 0; }`), result("{15,3,42,7,28,9,1,66,4} → Минимум = 1"), divider(), h3("Есеп 2: Файлдан екінші сөйлемді басқа файлға жазу"), label("Бір файлда екі сөйлем. Екінші сөйлемді жаңа файлға жазу."), ...code(`#include #include #include using namespace std; int main() { ofstream out("sentences.txt"); out << "Бірінші сөйлем.\\nЕкінші сөйлем."; out.close(); ifstream in("sentences.txt"); ofstream res("second.txt"); string line; getline(in, line); // бірінші сөйлемді өткізіп жіберу getline(in, line); // екінші сөйлем res << line; cout << "Екінші сөйлем: " << line << endl; return 0; }`), result("\"Екінші сөйлем.\" → second.txt файлына жазылды"), h2("5-нұсқа"), h3("Есеп 1: Файлдан сандар оқып, көбейтіндісін табу"), label("numbers.txt-тен сандар оқып, барлығының көбейтіндісін анықтау."), ...code(`#include #include using namespace std; int main() { ofstream out("nums5.txt"); out << "2 3 4 5"; out.close(); ifstream in("nums5.txt"); long long prod = 1; int num; while (in >> num) prod *= num; in.close(); cout << "Көбейтінді = " << prod << endl; return 0; }`), result("{2,3,4,5} → Көбейтінді = 120"), divider(), h3("Есеп 2: Бас әріптерді кіші әріптерге айналдырып жаңа файлға жазу"), label("input.txt-тен оқып, uppercase→lowercase өзгертіп output.txt-ке жазу."), ...code(`#include #include #include #include using namespace std; int main() { ofstream out("upper5.txt"); out << "Hello World CPP"; out.close(); ifstream in("upper5.txt"); ofstream res("lower5.txt"); string s; getline(in, s); for (char& c : s) c = tolower(c); res << s; cout << "Нәтиже: " << s << endl; return 0; }`), result("\"Hello World CPP\" → \"hello world cpp\""), ]; // ════════════════════════════════════════════════════════════════════ // ТАҚЫРЫП 6 — ГРАФИКА (нұсқа 1–5) // ════════════════════════════════════════════════════════════════════ const sec6 = [ pageBreak(), h1("ТАҚЫРЫП 6. ҚАРАПАЙЫМ ГРАФИКАЛЫҚ ФИГУРАЛАР"), p("Ескерту: Кодтар WinBGIm кітапханасын (graphics.h) пайдаланады. Borland C++ немесе g++ + WinBGIm керек."), p("Нұсқалар: 1→(120а,129а,129н,130-1) | 2→(120б,129б,129о,130-2) | 3→(120в,129в,130-3) | 4→(120г,129г,130-4) | 5→(121,129д,130-5)"), h2("1-нұсқа (120а, 129а, 130-1)"), h3("120а: Үшбұрыш салу және бояу"), label("Төбелері: (100,100), (150,100), (80,170). Сызу + ішін бояу + штрих."), ...code(`#include int main() { initwindow(400, 300, "Үшбұрыш"); int xp[] = {100,150,80,100}; int yp[] = {100,100,170,100}; setcolor(BLUE); setfillstyle(SOLID_FILL, CYAN); fillpoly(3, xp, yp); // іші боялған үшбұрыш // Штрих сызықтар setfillstyle(HATCH_FILL, RED); fillpoly(3, xp, yp); getch(); closegraph(); return 0; }`), result("Экранда іші штрих-боялған үшбұрыш бейнеленеді"), divider(), h3("129а: Балапан (Chick) суреті"), label("Дене: эллипс; бас: дөңгелек; тұмсық+қанат: үшбұрыш; аяқ: сызықтар"), ...code(`#include int main() { initwindow(400, 400, "Балапан"); setcolor(YELLOW); // Дене (эллипс) setfillstyle(SOLID_FILL, YELLOW); fillellipse(200, 250, 60, 80); // Бас (дөңгелек) fillellipse(200, 150, 40, 40); // Тұмсық (үшбұрыш) int beak[] = {220,145, 250,155, 220,165}; setfillstyle(SOLID_FILL, ORANGE); fillpoly(3, beak, nullptr); // Көз setcolor(BLACK); setfillstyle(SOLID_FILL, BLACK); fillellipse(190, 142, 5, 5); // Аяқтар setcolor(ORANGE); line(180,330,165,360); line(165,360,150,360); line(220,330,235,360); line(235,360,250,360); getch(); closegraph(); return 0; }`), result("Экранда сары балапан суреті бейнеленеді"), divider(), h3("130-1: f(x) = sin(x) графигі"), label("[-2π, 2π] аралықта sin(x) функциясының графигін тұрғызу."), ...code(`#include #include int main() { int W=640, H=400; initwindow(W, H, "sin(x)"); int cx=W/2, cy=H/2; double scaleX=50, scaleY=100; setcolor(WHITE); line(0,cy,W,cy); line(cx,0,cx,H); // Осьтер setcolor(YELLOW); double a=-2*M_PI, b=2*M_PI, step=0.02; int px=cx+(int)(a*scaleX), py=cy-(int)(sin(a)*scaleY); for(double x=a+step; x<=b; x+=step) { int nx=cx+(int)(x*scaleX); int ny=cy-(int)(sin(x)*scaleY); line(px,py,nx,ny); px=nx; py=ny; } getch(); closegraph(); return 0; }`), result("[-2π, 2π] аралықта сары түсті sin(x) графигі бейнеленеді"), h2("2-нұсқа (120б, 129б, 130-2)"), h3("120б: Тіктөртбұрыш салу және бояу"), label("Төбелері: (80,80), (170,80), (170,150), (80,150)"), ...code(`#include int main() { initwindow(400,300,"Тіктөртбұрыш"); setcolor(GREEN); setfillstyle(SOLID_FILL, LIGHTGREEN); // Толтырылған тіктөртбұрыш bar(80, 80, 170, 150); setcolor(WHITE); rectangle(80,80,170,150); // Штрих setfillstyle(LINE_FILL, GREEN); bar(80,80,170,150); getch(); closegraph(); return 0; }`), result("Іші штрихталған жасыл тіктөртбұрыш"), divider(), h3("130-2: f(x) = cos(x) графигі"), label("[-2π, 2π] аралықта cos(x) функциясы."), ...code(`#include #include int main() { int W=640,H=400; initwindow(W,H,"cos(x)"); int cx=W/2, cy=H/2; double sX=50, sY=100; setcolor(WHITE); line(0,cy,W,cy); line(cx,0,cx,H); setcolor(CYAN); double a=-2*M_PI, b=2*M_PI, step=0.02; int px=cx+(int)(a*sX), py=cy-(int)(cos(a)*sY); for(double x=a+step;x<=b;x+=step){ int nx=cx+(int)(x*sX), ny=cy-(int)(cos(x)*sY); line(px,py,nx,ny); px=nx; py=ny; } getch(); closegraph(); return 0; }`), result("cos(x) графигі [-2π,2π] аралықта"), h2("3-нұсқа (120в, 129в, 130-3)"), h3("120в: Бесбұрыш салу"), label("Төбелері: (100,100),(150,100),(170,120),(150,140),(100,140)"), ...code(`#include int main() { initwindow(400,300,"Бесбұрыш"); int pts[] = {100,100, 150,100, 170,120, 150,140, 100,140}; setcolor(MAGENTA); setfillstyle(SOLID_FILL, LIGHTMAGENTA); fillpoly(5, pts, nullptr); setfillstyle(XHATCH_FILL, MAGENTA); fillpoly(5, pts, nullptr); getch(); closegraph(); return 0; }`), result("Іші крест-штрихталған қызғылт бесбұрыш"), divider(), h3("130-3: f(x) = x² графигі"), label("[-5, 5] аралықта парабола."), ...code(`#include int main() { int W=640,H=400; initwindow(W,H,"x^2"); int cx=W/2, cy=H*3/4; double sX=50, sY=8; setcolor(WHITE); line(0,cy,W,cy); line(cx,0,cx,H); setcolor(LIGHTRED); double a=-5, b=5, step=0.05; int px=cx+(int)(a*sX), py=cy-(int)(a*a*sY); for(double x=a+step;x<=b;x+=step){ int nx=cx+(int)(x*sX), ny=cy-(int)(x*x*sY); if(ny>0 && ny int main() { initwindow(400,300,"Алтыбұрыш"); int pts[] = {120,100, 140,120, 140,140, 120,160, 100,140, 100,120}; setcolor(YELLOW); setfillstyle(SOLID_FILL, LIGHTYELLOW); fillpoly(6, pts, nullptr); getch(); closegraph(); return 0; }`), result("Алтыбұрыш экранда бейнеленеді"), divider(), h3("130-4: f(x) = |x| графигі"), label("[-5, 5] аралықта абсолют мән функциясы."), ...code(`#include #include int main() { int W=640,H=400; initwindow(W,H,"|x|"); int cx=W/2, cy=H/2; double sX=50, sY=50; setcolor(WHITE); line(0,cy,W,cy); line(cx,0,cx,H); setcolor(GREEN); double a=-5, b=5, step=0.05; int px=cx+(int)(a*sX), py=cy-(int)(fabs(a)*sY); for(double x=a+step;x<=b;x+=step){ int nx=cx+(int)(x*sX), ny=cy-(int)(fabs(x)*sY); line(px,py,nx,ny); px=nx; py=ny; } getch(); closegraph(); return 0; }`), result("|x| V-тәрізді графигі [-5,5] аралықта"), h2("5-нұсқа (121, 129д, 130-5)"), h3("121: Экранның центрінде 30 пиксель қабырғалы шаршы"), label("Центрі экранның центрімен сәйкес, қырлары осьтерге параллель шаршы."), ...code(`#include int main() { int W=640, H=480; initwindow(W,H,"Шаршы"); int cx=W/2, cy=H/2, half=15; setcolor(RED); setfillstyle(SOLID_FILL, LIGHTRED); bar(cx-half, cy-half, cx+half, cy+half); setcolor(WHITE); rectangle(cx-half, cy-half, cx+half, cy+half); getch(); closegraph(); return 0; }`), result("Экран ортасында 30×30 пиксельді қызыл шаршы"), divider(), h3("130-5: f(x) = tan(x) графигі"), label("[-π/2+0.1, π/2-0.1] аралықта тангенс функциясы."), ...code(`#include #include int main() { int W=640,H=400; initwindow(W,H,"tan(x)"); int cx=W/2, cy=H/2; double sX=150, sY=50; setcolor(WHITE); line(0,cy,W,cy); line(cx,0,cx,H); setcolor(YELLOW); double a=-1.4, b=1.4, step=0.01; bool first=true; int px=0,py=0; for(double x=a;x<=b;x+=step){ double y=tan(x); if(fabs(y)>5) { first=true; continue; } int nx=cx+(int)(x*sX), ny=cy-(int)(y*sY); if(ny<0||ny>=H) { first=true; continue; } if(!first) line(px,py,nx,ny); px=nx; py=ny; first=false; } getch(); closegraph(); return 0; }`), result("tan(x) графигі (-π/2, π/2) аралықта"), ]; // ─── TITLE PAGE ──────────────────────────────────────────────────── const titlePage = [ new Paragraph({ children: [new TextRun({ text: "ПРАКТИКАЛЫҚ ЖҰМЫС БОЙЫНША ЕСЕП БЕРУ", font:"Arial", size:36, bold:true })], alignment: AlignmentType.CENTER, spacing: { before: 1440, after: 300 } }), new Paragraph({ children: [new TextRun({ text: "ИС-25-1 тобы | C++ тілінде программалау", font:"Arial", size:26 })], alignment: AlignmentType.CENTER, spacing: { after: 200 } }), new Paragraph({ children: [new TextRun({ text: "Нұсқалар: 1 – 5 (барлық тақырыптар)", font:"Arial", size:24, bold:true })], alignment: AlignmentType.CENTER, spacing: { after: 200 } }), new Paragraph({ children: [new TextRun({ text: "Өткізу: 25/05/2026 – 06/06/2026 | 505 аудитория", font:"Arial", size:22 })], alignment: AlignmentType.CENTER, spacing: { after: 1440 } }), new Paragraph({ children: [new TextRun({ text: "Тақырыптар:", font:"Arial", size:24, bold:true })], alignment: AlignmentType.CENTER, spacing: { after: 100 } }), ...[ "1. Циклдік алгоритмдерді программалау (3 есеп × 5 нұсқа = 15)", "2. Жиымдарды өңдеу (2 есеп × 5 нұсқа = 10)", "3. Сөз тіркестерін өңдеу (2 есеп × 5 нұсқа = 10)", "4. Қолданушы функцияларын құру (2 есеп × 5 нұсқа = 10)", "5. Файлдарды пайдалану (2 есеп × 5 нұсқа = 10)", "6. Графикалық фигуралар (2–3 есеп × 5 нұсқа = 13)", "─────────────────────────────────────", "ЖИЫНЫ: 68 программа" ].map(t => new Paragraph({ children: [new TextRun({ text: t, font:"Arial", size:22 })], alignment: AlignmentType.CENTER, spacing: { before:40, after:40 } })), pageBreak() ]; const doc = new Document({ styles: { default: { document: { run: { font: "Arial", size: 22 } } }, paragraphStyles: [ { id:"Heading1", name:"Heading 1", basedOn:"Normal", next:"Normal", quickFormat:true, run:{ size:28, bold:true, font:"Arial", color:"1a3c5e" }, paragraph:{ spacing:{ before:360, after:180 }, outlineLevel:0 } }, { id:"Heading2", name:"Heading 2", basedOn:"Normal", next:"Normal", quickFormat:true, run:{ size:24, bold:true, font:"Arial", color:"2e5d8a" }, paragraph:{ spacing:{ before:240, after:120 }, outlineLevel:1 } } ] }, sections: [{ properties: { page: { size: { width: 11906, height: 16838 }, margin: { top: 1134, right: 850, bottom: 1134, left: 1701 } } }, children: [ ...titlePage, ...sec1, ...sec2, ...sec3, ...sec4, ...sec5, ...sec6 ] }] });