graph LR
    %% НАСТРОЙКА СТРОГОГО МОНОХРОМА
    linkStyle default stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF,font-size:14px,font-weight:bold;
    classDef default fill:#1C1C1C,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF,font-size:14px,font-weight:bold;
    classDef grp fill:#111827,stroke:#6B7280,stroke-width:1px,color:#FFFFFF,font-size:16px,font-weight:bold;
    classDef grpRed fill:#4A1414,stroke:#C62828,stroke-width:1px,color:#FFFFFF,font-size:16px,font-weight:bold;

    %% ============ 1. ВХОД В СИСТЕМУ ============
    subgraph ENTRY["1. Вход в систему"]
        Root[Узел:
Корневой объект] Q1[Задание сформулировано словами
решить, найти корни?] Q2[Просят решить уравнение -
найти нули или корни?] Q3[Есть знак '=' между
левой и правой частями?] Q4[Есть хотя бы одна неизвестная
переменная x - y - z?] Root --> Q1 Q1 -->|Да| Q2 Q1 -->|Нет| Q3 Q3 -->|Да| Q4 NotEq[Не уравнение или нет неизвестной:
упростить выражение или вычислить] Q2 -->|Нет| NotEq Q3 -->|Нет| NotEq Q4 -->|Нет| NotEq end %% ============ 2. ДИСПЕТЧЕРСКАЯ ============ subgraph DISP["2. Диспетчерская"] Dispatcher[Центральный Диспетчер:
Узел Уравнение
Сначала ищем особый тип,
потом обычная алгебра] Q_Check[Проверка количества переменных] Q_Type[Ревизия маркеров объекта:
сначала x в знаменателе,
потом степень] Dispatcher -->|Обычная алгебра| Q_Check Q_Check -->|В строке только одна переменная| Q_Type end %% ============ 3. ЛИНЕЙНЫЕ ============ subgraph LIN["3. Линейные уравнения"] LinTarget[Цель:
Вид ax = b] LinQ1[Шаг 1:
Есть скобки?] LinAct1[Действие:
Раскрыть ВСЕ скобки] LinQ2[Шаг 2:
Слагаемые перемешаны?] LinAct2[Действие:
Иксы влево - числа вправо
с переменой знака] LinAct3[Шаг 3:
Привести подобные] SpecQ1[Особый случай:
Коэффициент a = 0?] SpecAns1[1 корень:
x = b / a] SpecQ2[Число b = 0?] SpecAns2[0 = 0
Корень - ЛЮБОЕ число] SpecAns3[0 = числу
Корней НЕТ] LinTarget --> LinQ1 LinQ1 -->|Да| LinAct1 LinAct1 --> LinQ1 LinQ1 -->|Нет| LinQ2 LinQ2 -->|Да| LinAct2 LinAct2 --> LinQ2 LinQ2 -->|Нет| LinAct3 LinAct3 --> SpecQ1 SpecQ1 -->|Нет| SpecAns1 SpecQ1 -->|Да| SpecQ2 SpecQ2 -->|Да| SpecAns2 SpecQ2 -->|Нет| SpecAns3 end %% ============ 4. КВАДРАТНЫЕ ============ subgraph QUAD["4. Квадратные уравнения"] QuadTarget[Цель:
Вид ax² + bx + c = 0] QuadQ1[Шаг 1:
Раскиданы слагаемые?] QuadAct1[Раскрыть скобки, перенести все влево
справа оставить 0] QuadQ2[Шаг 2:
Привести подобные] QuadQ3[Шаг 3:
Слагаемые с x² уничтожились?] QuadQ4[Шаг 4:
Все коэффициенты на месте?] Неполные[Ветка: Неполные] Неполные1[Вынести x за скобки:
x=0 или ax+b=0] Неполные2["Уединить x²:
Если -c/a меньше 0 - нет корней
Иначе x = ± √(-c/a)"] Полные[Ветка: Полные] QuadQ5[Приведенное a = 1 и корни подбираются в уме?] Виет[Теорема Виета:
x1+x2=-b, x1*x2=c] Дискр[Дискриминант D = b² - 4ac] DQ[Знак D?] D1[Корней НЕТ] D2[1 корень:
x = -b / 2a] D3["2 корня:
x = (-b ± √D) / 2a"] QuadTarget --> QuadQ1 QuadQ1 -->|Да| QuadAct1 QuadAct1 --> QuadQ2 QuadQ1 -->|Нет| QuadQ2 QuadQ2 --> QuadQ3 QuadQ3 -->|Нет| QuadQ4 QuadQ4 -->|Нет| Неполные Неполные -->|нет c| Неполные1 Неполные -->|нет b| Неполные2 QuadQ4 -->|Да| Полные Полные --> QuadQ5 QuadQ5 -->|Да| Виет QuadQ5 -->|Нет| Дискр Дискр --> DQ DQ -->|D меньше 0| D1 DQ -->|D = 0| D2 DQ -->|D больше 0| D3 end %% ============ 5. ВЫСШИЕ СТЕПЕНИ ============ subgraph HIGH["5. Высшие степени"] HighTarget[Цель:
Понизить степень] HighQ1[Биквадратное?] HighAct1[Замена x² = t при t >= 0
Решить для t, затем вернуться к x] HighQ2[Есть свободное число c?] HighAct2[Вынести X в меньшей степени
Произведение = 0: каждый множитель приравнять к 0] HighQ3[Работает группировка?] HighAct3[Вынести общую скобку
Произведение = 0: каждый множитель приравнять к 0] HighQ4[Целые коэффициенты?] Безу[Теорема Безу:
Ищем корни среди p/q, где p - делитель c,
q - делитель старшего коэффициента
Делим в столбик на x-x1] ВУЗ[Высшая математика / Численные методы] HighTarget --> HighQ1 HighQ1 -->|Да| HighAct1 HighQ1 -->|Нет| HighQ2 HighQ2 -->|Нет| HighAct2 HighQ2 -->|Да| HighQ3 HighQ3 -->|Да| HighAct3 HighQ3 -->|Нет| HighQ4 HighQ4 -->|Да| Безу HighQ4 -->|Нет| ВУЗ end %% ============ 6. СИСТЕМЫ И ВЕКТОРЫ ============ subgraph SYS["6. Системы и векторы"] SysTarget[Система или Уравнение с двумя переменными] SysQ1[Переменных больше уравнений?] SysParam[Решений бесконечно много: выразить одну переменную через другую.
Если нужны целые числа - олимпиадный хак: подбор квадратов] SysQ2[Все линейные?] SysQ3[Уравнений больше 2?] Гаусс[Метод Гаусса / Матрицы] Школа[Школьные методы решения систем:
выбрать один способ] Метод1[Подстановка:
Выразить букву и подставить] Метод2[Сложение:
Уничтожить слагаемое] Veq[Векторное уравнение] VeqQ1[Даны координаты?] VeqAct1[Метод координат] VeqAct2[Метод проекций на OX и OY] SysTarget --> SysQ1 SysQ1 -->|Да| SysParam SysQ1 -->|Нет| SysQ2 SysQ2 -->|Да| SysQ3 SysQ3 -->|Да| Гаусс SysQ3 -->|Нет| Школа SysQ2 -->|Нет| Школа Школа --> Метод1 Школа --> Метод2 Veq --> VeqQ1 VeqQ1 -->|Да| VeqAct1 VeqQ1 -->|Нет| VeqAct2 VeqAct1 --> SysTarget VeqAct2 --> SysTarget end %% ============ 7. ДРОБИ ============ subgraph FRAC["7. Дробно-рациональные"] FracTarget[Цель:
Убить знаменатель] FracStep1[Шаг 1: Фиксация ОДЗ
Знаменатели не равны 0
В конце проверить корни по ОДЗ] FracStep2[Шаг 2: Домножить на общий знаменатель
и сократить его] FracTarget --> FracStep1 FracStep1 --> FracStep2 end %% ============ 8. ТРИГОНОМЕТРИЯ ============ subgraph TRIG["8. Тригонометрия"] TrigTarget[Цель:
Вид функция от x равна числу] TrigQ1[Уже простейший вид] TrigBase[Проверка числа справа
для sin и cos] TrigErr[Сбой! Корней нет] TrigAns[Запись ответа по таблице плюс период] TrigQ2[Углы аргументов одинаковые] TrigAct1[Хаб выражений:
Формулы двойного угла и приведения] TrigQ3[Имена функций одинаковые] TrigQ4[Уравнение однородное] TrigAct2[Разделить на косинус
Перейти к тангенсу] TrigAct3[Хаб выражений:
Основное тождество] TrigQ5[Квадратный паттерн] TrigSub[Замена t = функция от x при модуле t меньше или равном 1
Решить для t, затем вернуться к x] TrigQ6[Можно вынести функцию за скобки] TrigSplit[Вынести за скобки
Распад на два простейших] TrigHard[Хаб выражений:
Формулы суммы и произведения] TrigTarget --> TrigQ1 TrigQ1 -->|Да| TrigBase TrigBase -->|sin или cos и модуль числа больше 1| TrigErr TrigBase -->|Иначе: tg - ctg или модуль не больше 1| TrigAns TrigQ1 -->|Нет| TrigQ2 TrigQ2 -->|Нет| TrigAct1 TrigAct1 -.-> TrigQ2 TrigQ2 -->|Да| TrigQ3 TrigQ3 -->|Нет| TrigQ4 TrigQ4 -->|Да| TrigAct2 TrigQ4 -->|Нет| TrigAct3 TrigAct2 -.-> TrigQ3 TrigAct3 -.-> TrigQ3 TrigQ3 -->|Да| TrigQ5 TrigQ5 -->|Да| TrigSub TrigQ5 -->|Нет| TrigQ6 TrigQ6 -->|Да| TrigSplit TrigQ6 -->|Нет| TrigHard TrigSplit -.-> TrigQ1 end %% ============ 9. МОДУЛИ ============ subgraph MOD["9. Модули"] ModTarget[Цель:
Снять палочки модуля] ModQ1[Только один модуль] ModAct1[Изолировать модуль:
Вид модуль A равен B] ModQ2[Правая часть - число] ModQ3[Знак числа] ModErr[Сбой! Корней нет] ModZero[Стереть палочки: A = 0] ModSplit[Две ветки: A = Число и A = -Число] ModX[Вид модуль A равен B-x
Фильтр B-x больше или равен нулю
Ветки A = B-x и A = -B-x] ModQ4[Два модуля вида модуль A равен модулю B] ModTwo[Быстрое раскрытие:
A = B или A = -B] ModIntervals[Сложный хаос:
Метод промежутков и интервалов] ModTarget --> ModQ1 ModQ1 -->|Да| ModAct1 ModAct1 --> ModQ2 ModQ2 -->|Да| ModQ3 ModQ3 -->|Отрицательное| ModErr ModQ3 -->|Равно нулю| ModZero ModQ3 -->|Положительное| ModSplit ModQ2 -->|Нет| ModX ModQ1 -->|Нет| ModQ4 ModQ4 -->|Да| ModTwo ModQ4 -->|Нет| ModIntervals end %% ============ 10. КОРНИ (РАДИКАЛЫ) ============ subgraph IRR["10. Корни (радикалы)"] IrrTarget[Цель:
Уничтожить радикалы] IrrQ1[Степень корня четная] IrrНечет[Нечетный корень:
Ограничений нет - возвести в степень корня] IrrAct1[Изолировать корень:
Вид √A = B] IrrQ2[Справа голое число] IrrQ3[Знак числа] IrrErr[Сбой! Корней нет] IrrZero[Подкоренное A = 0] IrrPos[Фильтр A больше или равен нулю
Возвести в квадрат: A = Число в квадрате] ЩитМеч[Скрипт Щит и Меч:
Щит: B-x больше или равен нулю
Меч: A = B-x в квадрате] IrrTarget --> IrrQ1 IrrQ1 -->|Нет| IrrНечет IrrQ1 -->|Да| IrrAct1 IrrAct1 --> IrrQ2 IrrQ2 -->|Да| IrrQ3 IrrQ3 -->|Отрицательное| IrrErr IrrQ3 -->|Равно нулю| IrrZero IrrQ3 -->|Положительное| IrrPos IrrQ2 -->|Нет| ЩитМеч end %% ============ 11. ПОКАЗАТЕЛЬНЫЕ ============ subgraph EXP["11. Показательные"] ExpTarget[Цель:
Спустить X на землю] ExpQ1[Слева одна степень a^f-x, справа число B?
Знак B] ExpErr[Сбой! Корней нет] ExpQ2[Можно уравнять основания] ExpAct1[Привести к одинаковым основаниям
Схлопнуть: f-x=g-x] ExpQ3[Разные степени одного числа] ExpAct2[Вынести наименьшую степень
разделить правую часть] ExpQ4[Квадратный паттерн] ExpSub[Замена t = a^x при t больше нуля
Решить для t, затем вернуться к x] ExpLog[Тупик оснований: вид 2^x=3
Ключ: x = log2 3] ExpTarget --> ExpQ1 ExpQ1 -->|Да и B меньше или равно нулю| ExpErr ExpQ1 -->|Да и B больше нуля| ExpQ2 ExpQ1 -->|Нет: слева сумма степеней| ExpQ3 ExpQ2 -->|Да| ExpAct1 ExpQ2 -->|Нет| ExpQ3 ExpQ3 -->|Да| ExpAct2 ExpAct2 -.-> ExpQ2 ExpQ3 -->|Нет| ExpQ4 ExpQ4 -->|Да| ExpSub ExpQ4 -->|Нет| ExpLog end %% ============ 12. ЛОГАРИФМЫ ============ subgraph LOG["12. Логарифмы"] LogTarget[Цель:
Схлопнуть логарифмы] LogОДЗ[Шаг 1: Фиксация ОДЗ
Аргумент больше нуля Основание больше нуля и не равно единице
В конце проверить корни по ОДЗ] LogAct1[Шаг 2: Упаковать логарифмы свойствами] LogQ1[Каков канонический вид] LogDef[По определению:
f-x = a^B] LogPot[Потенцирование:
f-x = g-x] LogSub[Замена t = log_a x
Решить для t, затем вернуться к x] LogTarget --> LogОДЗ LogОДЗ --> LogAct1 LogAct1 --> LogQ1 LogQ1 -->|log_a f-x = B| LogDef LogQ1 -->|log_a f-x = log_a g-x| LogPot LogQ1 -->|Квадрат логарифма| LogSub end %% ============ 13. МАТРЕШКИ ============ subgraph MAT["13. Матрешки (сложные функции)"] MatTarget[Правило:
Снаружи внутрь] MatStep1[Заменить внутренность на коробку Т] MatStep2[Решить для внешней функции:
Снять наружную оболочку] MatStep3[Приравнять внутренность к результату] MatTarget --> MatStep1 MatStep1 --> MatStep2 MatStep2 --> MatStep3 end %% ============ 14. СЕРВИСНЫЙ ХАБ ВЫРАЖЕНИЙ ============ subgraph HUBG["14. Сервисный хаб: преобразование выражений"] Hub[Центральный хаб:
Преобразование Выражений] B1[Библиотека 1:
Свойства Степеней] B2[Библиотека 2:
Свойства Логарифмов] B3[Библиотека 3:
ФСУ и Скобки] B4[Библиотека 4:
Тригонометрия] Hub --> B1 Hub --> B2 Hub --> B3 Hub --> B4 end %% ================================================ %% СВЯЗИ МЕЖДУ ГРУППАМИ %% ================================================ %% Вход -> Диспетчерская Q2 -->|Да| Dispatcher Q4 -->|Да| Dispatcher %% Диспетчерская -> магистрали Q_Check -->|Две и больше переменных x - y - z| SysTarget Q_Type -->|Степени нет| LinTarget Q_Type -->|x во 2-й степени| QuadTarget Q_Type -->|x в 3-й степени и выше| HighTarget Q_Type -->|Векторы| Veq Q_Type -->|x в знаменателе| FracTarget Dispatcher -->|Тригонометрия| TrigTarget Dispatcher -->|Модуль| ModTarget Dispatcher -->|Корень| IrrTarget Dispatcher -->|Показательное| ExpTarget Dispatcher -->|Логарифм| LogTarget Dispatcher -->|Матрешка| MatTarget %% Возвраты в диспетчерскую QuadQ3 -->|Да| Dispatcher Неполные1 -.-> Dispatcher HighAct1 -.-> Dispatcher HighAct2 -.-> Dispatcher HighAct3 -.-> Dispatcher Безу -.-> Dispatcher Метод1 -.-> Dispatcher Метод2 -.-> Dispatcher FracStep2 -.-> Dispatcher TrigSub -.-> Dispatcher TrigHard -.-> TrigQ1 ModZero -.-> Dispatcher ModSplit -.-> Dispatcher ModX -.-> Dispatcher ModTwo -.-> Dispatcher ModIntervals -.-> Dispatcher IrrНечет -.-> Dispatcher IrrZero -.-> Dispatcher IrrPos -.-> Dispatcher ЩитМеч -.-> Dispatcher ExpAct1 -.-> Dispatcher ExpSub -.-> Dispatcher ExpLog -.-> Dispatcher LogDef -.-> Dispatcher LogPot -.-> Dispatcher LogSub -.-> Dispatcher MatStep3 -.-> Dispatcher %% Связи с сервисным хабом TrigAct1 -.-> Hub TrigAct3 -.-> Hub TrigHard -.-> Hub LogAct1 -.-> Hub LinAct1 -.-> Hub %% Оформление рамок групп class DISP,LIN,QUAD,HIGH,SYS,FRAC,TRIG,MOD,IRR,EXP,LOG,MAT,HUBG grp class ENTRY grpRed
Загрузка схемы…
Не удалось загрузить схему.
Обновите страницу или попробуйте позже (иногда помогает отключить VPN / расширения-блокировщики).