10 класс
Компьютерное моделирование технических систем
Урок 1: Введение в моделирование. Понятие модели

Занятие 1: Введение в моделирование. Понятие модели

📅 7 сентября 2026 ⏱ 1 академический час (40 минут) Занятие 1

📋 План занятия

  1. 00:05 Организационный момент. Знакомство с курсом
  2. 05:15 Введение в моделирование. Понятие модели
  3. 15:30 Основные свойства и требования к моделям
  4. 25:40 Классификация моделей по способу представления
  5. 35:40 Итоги. Домашнее задание

📖 Теоретический материал

Что такое модель?

Модель — это объект произвольной природы, отражающий существенные свойства и связи моделируемого объекта для решения задачи.

Модель служит инструментом познания и упрощённым отражением важных особенностей реального объекта, процесса или явления.

Ключевые аспекты:

  • Модель всегда упрощает реальность, выделяя только существенные для задачи свойства.
  • Одна и та же модель может использоваться для разных объектов.
  • Модель должна быть адекватна решаемой задаче.

Основные свойства моделей

Для эффективного практического использования модель должна обладать рядом свойств:

  • Полнота: Модель должна отражать максимальное количество значимых характеристик объекта.
  • Доступность: Модель должна быть понятна и обозрима, использовать единую терминологию.
  • Информативность: Модель должна сохранять исходную информацию и давать возможность получения новых данных.
  • Адекватность: Свойства модели должны соответствовать характеристикам реального объекта.

Классификация моделей по способу представления

Вид модели Характеристика Примеры
Материальные модели Имеют реальное воплощение Глобус, макет здания, игрушечный автомобиль
Информационные модели Не имеют физического воплощения Схемы, чертежи, таблицы, графики, формулы

Примеры для обсуждения

  1. Материальная модель: Глобус — уменьшенная копия Земли, позволяющая изучать географию.
  2. Информационная модель: Формула площади круга S = πR² — математическое описание.
  3. Материальная модель: Макет здания — помогает визуализировать архитектурный проект.

📝 Домашнее задание

ДЗ #1 📅 Срок сдачи: 14 сентября 2026 🏆 Макс. балл: 5 баллов

Примеры моделей

Задание

  1. Приведите три примера материальных моделей (с кратким описанием).
  2. Приведите три примера информационных моделей (с кратким описанием).
  3. Объясните, для какой задачи используется каждая из приведённых моделей.

Требования к сдаче:

  • Текстовый файл или документ с выполненным заданием.
📚 Материалы курса: МТС 2 модель, понятие назначение и классификация.pdf (стр. 1-2, 7-8)
Урок 2: Математическое моделирование

Занятие 2: Математическое моделирование

📅 14 сентября 2026 ⏱ 1 академический час (40 минут) Занятие 2

📋 План занятия

  1. 00:05 Проверка ДЗ 1. Обсуждение примеров моделей
  2. 05:15 Что такое математическое моделирование. Основные этапы
  3. 15:30 Идентификация и верификация моделей
  4. 25:40 Разновидности математических моделей (с примерами)
  5. 35:40 Итоги. Домашнее задание

📖 Теоретический материал

Что такое математическое моделирование?

Математическое моделирование — это процесс построения и исследования математических моделей для описания, анализа и прогнозирования поведения реальных объектов, процессов или явлений.

Значение: Позволяет проводить виртуальные вычислительные эксперименты, оптимизировать параметры узлов и агрегатов без необходимости изготавливать дорогостоящие натурные прототипы.

Основные этапы процесса математического моделирования

  1. Задача: Определение целей, точности и физических границ исследования.
  2. Данные: Сбор геометрических, физических и граничных условий системы.
  3. Модель: Математическая формализация (дифференциальные уравнения, законы сохранения).
  4. Идентификация: Подбор постоянных коэффициентов модели под реальные данные.
  5. Верификация: Проверка точности прогноза на контрольных тестах.

⚙️ Разновидности математических моделей

1. Детерминированные модели

Принцип: Строгая причинно-следственная связь. Одинаковый вход всегда дает в точности один и тот же результат (случайности нет).

Технический пример: Траектория полета тела в поле тяжести, кинематика шестеренчатого редуктора.

Границы применимости: Работает идеально, пока внешние случайные помехи пренебрежимо малы по сравнению с основными силами.

⚠️ Где модель ломается: При броске легкого мяча на ветру или на околозвуковых скоростях, где хаотичные завихрения воздуха полностью меняют траекторию.

x y m·g
y(t) = y₀ + v₀·t − (g·t²) / 2

2. Стохастические (вероятностные) модели

Принцип: Описывают не точный исход, а вероятность событий, средние значения и разброс параметров.

Технический пример: Ресурс подшипника до поломки, шумы радиодатчиков, устойчивость дрона к ветру.

Границы применимости: Требуют большого числа наблюдений (закон больших чисел) и неизменных внешних условий во время работы.

⚠️ Где модель ломается: Не применима для единичных нестандартных катастроф (брак конкретной детали при литье) или при непредсказуемой смене условий.

μ (Мат. ожидание) ±σ
f(x) = (1 / (σ√(2π))) · e^−((x−μ)² / 2σ²)

3. Эмпирические модели

Принцип: «Черный ящик»: формула подобрана исключительно под экспериментальные точки, без объяснения внутренней физики.

Технический пример: Износ протектора шин от пробега, сопротивление терморезистора от температуры.

Границы применимости: Справедлива строго в диапазоне проведенных измерений (интерполяция).

⚠️ Где модель ломается: При экстраполяции (прогнозе за пределы замеров). Если испытывали шины от 0 до +40°C, формула покажет ерунду при −30°C, когда резина замерзнет и потеряет сцепление.

Аппроксимация (МНК)
y = k·x + b | S = Σ(yᵢ − ŷᵢ)² → min

4. Аналитические модели

Принцип: Замкнутая формула, выведенная из фундаментальных законов природы. Дает абсолютно точное значение мгновенно.

Технический пример: Закон Ома для электрической цепи ($I = U / R$), период маятника ($T = 2\pi\sqrt{m/k}$).

Границы применимости: Требует жестких идеализаций: плоские/симметричные тела, линейные свойства материалов, малые углы отклонения.

⚠️ Где модель ломается: Закон Ома перестает работать при сильном нагреве проводника (сопротивление меняется), а формула маятника врет при отклонении на углы больше 15–20°.

E R I
I = U / R | T = 2π·√(m / k)

5. Численные модели (FEA / CFD)

Принцип: Компьютер разбивает сложную деталь на миллионы простых элементов (тетраэдров/кубиков) и решает уравнения для каждого узла.

Технический пример: Расчет прочности рамы велосипеда на изгиб (МКЭ), симуляция обтекания спойлера гоночного авто (CFD).

Границы применимости: Подходит для объектов любой сложной геометрии, но точность напрямую ограничена мощностью компьютера и шагом сетки.

⚠️ Где модель ломается: Если сетка слишком крупная, результат будет грубой ошибкой. Кроме того, при пластическом разрушении (металл рвется) базовые линейные уравнения перестают работать.

σ_max (Концентратор)
[K] · {u} = {F} | Δt ≤ h / c

Вопросы для экспресс-проверки на уроке

  1. Почему расчет траектории полета мяча на школьной доске — это аналитическая детерминированная модель, а обдув крыла самолета в симуляторе — численная?
  2. В каких случаях инженер вынужден использовать эмпирическую модель вместо строгой физической формулы?

📝 Домашнее задание

ДЗ #2 📅 Срок сдачи: 21 сентября 2026 🏆 Макс. балл: 5 баллов

Анализ математических моделей

Задание

  1. Выберите две модели из рассмотренных пяти типов (детерминированная, стохастическая, эмпирическая, аналитическая, численная).
  2. Для каждой из выбранных моделей приведите конкретный пример применения в современной технике и укажите:
    • Какие параметры подаются на вход, и что является результатом расчета.
    • Главное физическое допущение или ограничение модели.

Требования к сдаче:

  • Электронный документ (.pdf / .docx) или рукописный отчет с расчетной схемой.
📚 Материалы курса: МТС 3 Математическая модель.pdf (стр. 1-3, 7)
Урок 3: Введение в Engee

Занятие 3: Введение в Engee

📅 21 сентября 2026 ⏱ 1 академический час (40 минут) Занятие 3

📋 План занятия

  1. 00:05 Проверка ДЗ 2. Обсуждение математических моделей
  2. 05:15 Знакомство с платформой Engee: возможности и интерфейс
  3. 15:30 Примеры математического моделирования в Engee
  4. 25:40 Командная строка, переменные, простые вычисления
  5. 35:40 Итоги. Домашнее задание

📖 Теоретический материал

Что такое Engee?

Engee — это современная платформа для научных и инженерных вычислений, основанная на языке Julia.

Основные возможности:

  • Высокая производительность для вычислений с массивами.
  • Встроенные библиотеки для визуализации данных.
  • Работа с файлами и импорт данных.
  • Создание моделей и симуляций.
  • Интерактивная среда разработки.

Интерфейс Engee

  • Панель "Файлы": управление файлами и папками.
  • Редактор скриптов: написание и редактирование кода.
  • Окно вывода: отображение результатов вычислений.
  • Панель переменных: просмотр текущих переменных.
  • Командная строка: выполнение отдельных команд.

Примеры математического моделирования в Engee

# Пример 1: Модель движения с постоянной скоростью v = 10.0 # скорость, м/с t = 5.0 # время, с s = v * t # расстояние println("Расстояние: $s м") # Пример 2: Расчёт площади круга r = 3.0 S = π * r^2 println("Площадь круга: $S") # Пример 3: Вычисление корней квадратного уравнения a, b, c = 1.0, -5.0, 6.0 D = b^2 - 4*a*c x1 = (-b + sqrt(D)) / (2*a) x2 = (-b - sqrt(D)) / (2*a) println("Корни: x1 = $x1, x2 = $x2")

Практические задания на уроке

  1. Выполните вычисление: 3 + 5 * 2 в командной строке Engee.
  2. Создайте переменную speed = 25 и вычислите расстояние за 3 секунды.
  3. Вычислите площадь прямоугольника со сторонами 4 и 7.

📝 Домашнее задание

ДЗ #3 📅 Срок сдачи: 28 сентября 2026 🏆 Макс. балл: 5 баллов

Регистрация и знакомство с Engee

Задание

  1. Зарегистрируйтесь на платформе Engee (если ещё не сделали этого).
  2. Изучите интерфейс: найдите панель "Файлы", редактор скриптов, окно вывода.
  3. В командной строке выполните вычисление: sqrt(100) + 25^2.
  4. Создайте скриншот интерфейса с результатом вычислений.

Требования к сдаче:

  • Скриншот интерфейса Engee с результатом вычислений.
📚 Материалы курса: Введение в Engee (интерфейс, командная строка, переменные)
Урок 4: Начало работы. Командная строка

Занятие 4: Начало работы с Engee. Командная строка

📅 28 сентября 2026 ⏱ 1 академический час (40 минут) Занятие 4

📋 План занятия

  1. 00:05 Проверка ДЗ 3. Вопросы по регистрации в Engee
  2. 05:15 Знакомство с интерфейсом Engee. Панели и окна
  3. 15:30 Командная строка: выполнение команд, переменные
  4. 25:40 Базовые операции и встроенные функции
  5. 35:40 Итоги. Домашнее задание

📖 Теоретический материал

Интерфейс Engee

Рабочая область Engee разделена на несколько функциональных зон. Ниже приведена схема, точно повторяющая реальный интерфейс платформы:

10 Engee P Файлы × / user / Имя Git Раз. ▸ КМКС 10 ▸ КМКС 11 ▸ СМИР 2026 ▸ clean_env ▸ code_generator_results ▾ start ▸ Курсы ▸ content_updater ▾ courses ▸ dsp-systems-simulation ▸ engee-calculus-course ▸ engee-control-systems-course ▸ engee-dsp-course ▸ engee-image-processing-course ▸ engee-linalg-course ▸ engee-nonlinear-equations-course ▸ engee-onramp ▸ engee-optimization-course ▸ engee-statistics-onramp-course Просмотр Git </> Редактор скриптов × Здесь появится код скрипта... >_ Командная строка × engee>
Схема интерфейса Engee
  • 1
    Верхняя панель — меню, вкладки «Приложения», «Библиотека», «Графики»
  • 2
    Вкладка «Файлы» — навигация по файловой системе и проектам
  • 3
    Дерево проектов — папки курсов, скрипты, результаты
  • 4
    Вкладка «Переменные» — таблица созданных переменных (внизу слева)
  • 5
    Вкладка «Редактор скриптов» — написание и запуск программ
  • 6
    Вкладка «Командная строка» — быстрые вычисления и проверка команд
  • 7
    Приглашение engee> — место ввода команд в командной строке

Работа с командной строкой

Команды вводятся после приглашения engee> и выполняются нажатием Enter.

# Простые вычисления engee> 3 * 5 15 # Присваивание переменной engee> m = 3 * 5 15 # Вывод значения переменной engee> m 15 # Подавление вывода (точка с запятой) engee> k = 8 - 2;

Встроенные функции и константы

# Константа π engee> pi 3.141592653589793 # Тригонометрические функции engee> sin(pi/2) 1.0 # Квадратный корень engee> sqrt(16) 4.0 # Абсолютное значение engee> abs(-5) 5

Практические задания

  1. В командной строке выполните умножение: 4 * 7.
  2. Создайте переменную speed = 25.
  3. Вычислите расстояние за 3 секунды: distance = speed * 3.
  4. Вычислите синус числа π/4 с помощью sin(pi/4).
  5. Создайте переменную x = 10, затем измените её: x = x + 5.
  6. Перейдите на вкладку «Переменные» и убедитесь, что созданные переменные отображаются в таблице.

📝 Домашнее задание

ДЗ #4 📅 Срок сдачи: 5 октября 2026 🏆 Макс. балл: 5 баллов

Работа в командной строке

Задание

  1. Откройте командную строку в Engee.
  2. Создайте переменную v = 12 (скорость, м/с).
  3. Создайте переменную t = 4 (время, с).
  4. Вычислите расстояние: s = v * t.
  5. Вычислите ускорение: a = v / t.
  6. Создайте переменную p = 1000 (мощность, Вт).
  7. Вычислите работу: A = p * t.
  8. Выведите все переменные в командной строке.

Требования к сдаче:

  • Скриншот командной строки с выполненными командами.
📚 Материалы курса: 00 - Начало работы.pdf, 01 - Окно команд.pdf (стр. 1-14)
Урок 5: Редактор инженерных скриптов

Занятие 5: Редактор инженерных скриптов

📅 5 октября 2026 ⏱ 1 академический час (40 минут) Модуль: Подготовка к инженерному зачету
Инженерный стек 5–10: Базовый инструментарий автоматизации расчетов
Цель: допуск к проектной работе (Занятия 11–12)

📋 Регламент занятия

  1. 00:05 Проверка ДЗ 4. Входной контроль работы в терминале
  2. 05:15 Архитектура вычислительного документа (Notebook): текст, код, рендер
  3. 15:30 Сохранение состояния переменных между ячейками и горячие клавиши
  4. 25:40 Практикум: формализация расчета тяговых характеристик привода
  5. 35:40 Аттестация результатов. Выдача расчетного задания #5

📖 Инженерно-теоретический базис

1. Архитектура интерактивного блокнота (Notebook)

В инженерной практике консольный ввод непригоден для отчетов: отсутствует история расчетов и наглядное оформление. Интерактивный блокнот Engee объединяет исполняемый код на языке Julia и разметку технической документации в едином файле .jl.

Текстовая ячейка Формулировка задачи ГОСТ / Допущения Кодовая ячейка (Julia) F = m * a P = F * v Рендер результата P = 3750 Вт

2. Управление состоянием переменных

Вычисленные переменные сохраняются в глобальной памяти ядра (Workspace). Это позволяет разносить подготовку исходных данных, алгоритм и вывод результатов по независимым блокам.

# Ячейка 1: Технические параметры электротележки m = 1200.0 # Конструктивная масса со снаряжением, кг a = 1.8 # Требуемое линейное ускорение, м/с² # Ячейка 2: Расчет тяговой силы F_pull = m * a # Тяговое усилие на колесах, Н println("Тяговое усилие: $F_pull Н")
⚠️️ Диагностический баг: Порядок исполнения ячеек.
Если изменить значение переменной в первой ячейке, но не перезапустить ее комбинацией Shift + Enter, последующие ячейки продолжат использовать старое значение из оперативной памяти ядра.

Лабораторный практикум (Первичная аттестация)

  1. Инициализировать скрипт с именем lab5_telemetry.jl.
  2. В текстовом блоке зафиксировать наименование узла: «Расчет привода подъемного механизма».
  3. В первой вычислительной ячейке задать радиус барабана лебедки r = 0.25 (м) и массу груза m_load = 450 (кг).
  4. Во второй вычислительной ячейке рассчитать статический крутящий момент: M_stat = m_load * 9.81 * r.
  5. Убедиться в корректности сквозной передачи переменных между блоками.

📝 Квалификационное задание к Занятиям 11–12

ТЗ #5 📅 Срок сдачи: 12 октября 2026 🏆 Норматив: 5 баллов

Скрипт расчета силового баланса транспортной платформы

Инженерная спецификация

  1. Создать расчетный документ engineer_calc.jl.
  2. Оформить структуру в 3 последовательных блока:
    • Блок исходных параметров: mass = 1500.0 (кг), acceleration = 2.5 (м/с²), distance = 10.0 (м).
    • Блок динамического расчета: вычисление силы force = mass * acceleration.
    • Блок энергетического баланса: расчет механической работы work = force * distance.
  3. Каждый расчетный блок предварить текстовой ячейкой с обоснованием применяемой физической формулы.
  4. Сформировать итоговый консольный вывод вида: «Тяговая работа на дистанции 10 м: [значение] Дж».

Формат сдачи отчета:

  • Файл скрипта engineer_calc.jl с сохраненным состоянием вывода ячеек.
📚 Базовый стандарт курса: 02 - Редактор скриптов.pdf (стр. 1-5)
Урок 6: Векторы и матрицы

Занятие 6: Векторы и матрицы

📅 12 октября 2026 ⏱ 1 академический час (40 минут) Модуль: Структуры технических массивов
Квалификационный навык: Формирование расчетных сеток и массивов телеметрии
База для Занятий 11–12 (Векторизация допусков деталей)

📋 Регламент занятия

  1. 00:05 Проверка ТЗ 5. Аудит синтаксиса скриптов
  2. 05:15 Векторы измерений: разделители элементов, генератор шага :
  3. 15:30 Двумерные массивы: матрицы жесткости и таблицы тензодатчиков
  4. 25:40 Инициализация системных сеток: zeros, ones, LinRange
  5. 35:40 Зачетная сессия. Выдача спецификации ТЗ #6

📖 Инженерно-теоретический базис

1. Массивы в технических системах

Физические величины в расчетных задачах распределены во времени или пространстве. Вектор представляет собой ряд последовательных измерений датчика, а матрица — пространственную сетку узлов детали.

Вектор-столбец (Nx1) [w1, w2, w3, w4] Ряд частот вибрации Матрица напряжений (MxN) Узлы тензометрии

2. Синтаксис создания массивов в Julia

# Вектор-столбец (разделение запятыми): rpm = [1200, 1500, 1800, 2100] # Вектор-строка (разделение пробелами): grid_x = [0.0 0.5 1.0 1.5] # Матрица калибровки 2х3 (точка с запятой переносит строку): K = [1.0 0.0 0.2; 0.1 1.2 0.0] # Вектор времени от 0 до 10 с шагом 0.2: t = [0:0.2:10;] # Выделение памяти под массив нулевых начальных условий: V_init = zeros(4, 4)
⚠️ Диагностический баг: Запятая vs Пробел.
Конструкция [1, 2, 3] создает одномерный вектор Vector{Int64}, а [1 2 3] создает двумерную матрицу размером 1×3 (Matrix{Int64}). В строгих алгоритмах Занятий 11–12 смешение этих типов приведет к отказу вычислений.

Лабораторный практикум (Первичная аттестация)

  1. Сформировать вектор скоростей прокатного стана: v = [1.2, 1.5, 1.8, 2.1, 2.4].
  2. Сгенерировать равномерную координатную сетку балки от 0 до 5 метров с шагом 0.25 м.
  3. Инициализировать матрицу 3×3 из единиц (ones) для задания базовых весовых коэффициентов.
  4. Создать матрицу теплового поля 4×4 со случайными фоновыми помехами (rand).

📝 Квалификационное задание к Занятиям 11–12

ТЗ #6 📅 Срок сдачи: 19 октября 2026 🏆 Норматив: 5 баллов

Формирование структуры массивов телеметрии стенда

Инженерная спецификация

  1. Создать скрипт lesson6.jl.
  2. Задать вектор temperature из 7 контрольных точек прогрева двигателя: от 65.0°C до 95.0°C.
  3. Задать вектор pressure из 7 синхронных замеров давления масла в гидросистеме.
  4. С помощью диапазона 100:10:200 сформировать вектор оборотов ротора насоса.
  5. Инициализировать матрицу zeros(4, 4) для резервирования буфера ошибок контроллера.
  6. Сгенерировать матрицу 3×4 коэффициентов шума каналов измерения с помощью rand.
  7. Обеспечить вывод размерностей и содержимого структур через println.

Формат сдачи отчета:

  • Файл скрипта lesson6.jl.
  • Снимок терминала с корректной печатью массивов.
📚 Базовый стандарт курса: 03 - Векторы и матрицы.pdf (стр. 1-14)
Урок 7: Индексация и модификация массивов

Занятие 7: Индексация и модификация массивов

📅 19 октября 2026 ⏱ 1 академический час (40 минут) Занятие 7

📋 План занятия

  1. 00:05 Проверка ДЗ 6. Вопросы по созданию массивов
  2. 05:15 Синтаксис индексации и извлечение элементов
  3. 15:30 Срезы, диапазоны и ключевое слово end
  4. 25:40 Модификация элементов массивов и векторов
  5. 35:40 Итоги. Домашнее задание

📖 Теоретический материал

Подготовительный код (создание матрицы)

Для выполнения всех заданий урока мы будем использовать матрицу data.

# Создаём матрицу data размером 7×4 data = [3.0 0.53 4.0753 3.517; 18.0 1.78 6.6678 2.1328; 19.0 0.86 1.5177 3.6852; 20.0 1.6 3.6375 8.5389; 21.0 3.0 4.7243 10.157; 23.0 6.11 9.0698 2.8739; 38.0 2.54 5.3002 4.4508]

🗝️ Шпаргалка по синтаксису индексации

1. Два индекса [строка, столбец]

Извлекает конкретный элемент из матрицы.

data[6, 3] → 9.0698

2. Слово end

Указывает на последний элемент.

data[end, 3] → 5.3002

data[end-1, 3] → 4.0753

3. Двоеточие : (весь диапазон)

Берёт все строки или все столбцы.

data[:, 2] → весь 2-й столбец

4. Двоеточие [a:b] (срез)

Берёт элементы с a по b.

v[2:5] → элементы со 2-го по 5-й

data[:, end-1:end] → последние 2 столбца

5. Список [[a, b, c]]

Извлекает конкретные элементы по списку.

density[[1, 3, 6]] → 1-й, 3-й и 6-й

6. Модификация [индекс] = значение

Заменяет значение элемента.

v[3] = 10.5

data[1, end] = 0.5

Задания на уроке

Задача 1

Создайте переменную x, содержащую значение на пересечении 6-й строки и 3-го столбца матрицы data.

x = data[6, 3] # Результат: 9.0698

Задача 2

При помощи слова end получите значение на пересечении последней строки и 3-го столбца. Присвойте результат переменной y.

y = data[end, 3] # Результат: 5.3002

Задача 3

Задайте переменную z со значением из предпоследней строки (end-1) и 3-го столбца.

z = data[end-1, 3] # Результат: 4.0753

Задача 4*

В Julia можно индексировать матрицу одним числом (счёт идёт по столбцам). Получите восьмой элемент матрицы data напрямую и через переменную y = 8.

# Прямое извлечение 8-го элемента val1 = data[8] # 18.0 # Извлечение через переменную-индекс y = 8 val2 = data[y] # 18.0

Задача 5

Создайте вектор-столбец density, содержащий 2-й столбец матрицы data.

density = data[:, 2] # [0.53, 1.78, 0.86, 1.6, 3.0, 6.11, 2.54]

Задача 6

Создайте переменную volumes, содержащую последние два столбца матрицы data (используйте end-1:end).

volumes = data[:, end-1:end]

Задача 7

Создайте переменную p, содержащую 6-й элемент вектора density.

p = density[6] # 6.11

Задача 8

Создайте вектор p, содержащий со 2-го по 5-й элементы вектора density.

p = density[2:5] # [1.78, 0.86, 1.6, 3.0]

Задача 9*

Извлеките 1-й, 3-й и 6-й элементы вектора density с помощью списка.

p = density[[1, 3, 6]] # [0.53, 0.86, 6.11]

📝 Домашнее задание (Завершение Блока 4)

ДЗ #7 📅 Срок сдачи: 26 октября 2026 🏆 Макс. балл: 5 баллов

Модификация данных в массивах

Выполните все задания ниже в интерактивном скрипте Engee, используя матрицу data из подготовительного кода.

Задание 1

  1. Создайте вектор v2, содержащий последний столбец матрицы data.
  2. Выведите v2 на экран.

Задание 2

  1. Замените первый элемент в векторе v2 (имеющий значение 3.517) на 0.5.

Задание 3

  1. Замените значение элемента на пересечении первой строки и последнего столбца матрицы data на 0.5. (Используйте data[1, end] = 0.5).
  2. Выведите матрицу data на экран с помощью display(data).

Задание 4*

  1. Замените первый столбец матрицы data на второй столбец той же матрицы data: data[:, 1] = data[:, 2].
  2. Выведите итоговую матрицу data.

Требования к сдаче:

  • Создайте интерактивный скрипт в Engee (файл .ngscript).
  • Экспортируйте (сохраните) скрипт вместе с результатами его выполнения в формат PDF.
  • Прикрепите полученный PDF-файл в качестве отчета.

Требования к сдаче:

  • 3.0 0.53 4.0753 3.517 18.0 1.78 6.6678 2.1328 19.0 0.86 1.5177 3.6852 20.0 1.6 3.6375 8.5389 21.0 3.0 4.7243 10.157 23.0 6.11 9.0698 2.8739 38.0 2.54 5.3002 4.4508.
📚 Материалы курса: 04 - Индексы и модификация массивов.pdf (стр. 1-10)
Урок 8: Операции с массивами (Часть 1)

Занятие 8: Операции с массивами (Базовые)

📅 26 октября 2026 ⏱ 1 академический час (40 минут) Занятие 8

📋 План занятия

  1. 00:05 Проверка ДЗ 7. Вопросы по индексации
  2. 05:15 Сложение и вычитание массивов со скаляром
  3. 15:30 Поэлементные операции и статистические функции
  4. 25:40 Специфика округления и извлечения максимума
  5. 35:40 Итоги. Домашнее задание

📖 Теоретический материал

Подготовительный код (создание векторов)

В физике и инженерии массивы (векторы) часто используются для хранения показаний датчиков. Создадим три вектора: плотность (density), скорость потока 1 (v1) и скорость потока 2 (v2).

По материалам курса эти данные обычно загружаются из файла datafile.csv. Если загрузка недоступна (например, нет сети), используйте резервный вариант, вставив матрицу напрямую в код.

# ===== РЕЗЕРВНЫЙ ВАРИАНТ ===== # Создаём матрицу data вручную (7 строк, 4 столбца) data = [3.0 0.53 4.0753 3.517; 18.0 1.78 6.6678 2.1328; 19.0 0.86 1.5177 3.6852; 20.0 1.6 3.6375 8.5389; 21.0 3.0 4.7243 10.157; 23.0 6.11 9.0698 2.8739; 38.0 2.54 5.3002 4.4508] # Извлекаем нужные нам векторы: density = data[:, 2] v1 = data[:, 3] v2 = data[:, 4]

* Если файл загружается успешно, используйте стандартный код из PDF:
using CSV, DataFrames; data = CSV.read("datafile.csv", DataFrame, header=0) и затем density = data[:,2]; ...

🗝️ Шпаргалка по операциям

1. Сложение/вычитание скаляра .+ .-

Добавляет число к каждому элементу массива.

v1 .+ 1 → каждый элемент + 1

2. Обычное сложение массивов +

Складывает массивы поэлементно (длины должны совпадать).

v1 + v2 → [v1[1]+v2[1], v1[2]+v2[2], ...]

3. Деление на скаляр /

Делит каждый элемент массива на число.

vs / 2 → каждый элемент делится на 2

4. Статистика maximum()

Находит максимальное значение в массиве.

maximum(v1)

5. Поэлементное округление round.()

Округляет каждый элемент до целого.

round.(v1)

Задания на уроке

Задача 1. Сложение со скаляром

Физический смысл: Добавление поправки (например, калибровочного смещения +1 м/с) к каждому показанию датчика скорости.

r = v1 .+ 1

Задача 2. Сложение векторов

Физический смысл: Нахождение суммарной скорости при сложении двух потоков.

vs = v1 + v2

Задача 3. Деление на скаляр

Физический смысл: Нахождение средней скорости va из двух замеров (деление суммарной скорости на 2).

va = vs / 2

Задача 4. Поиск максимума

Физический смысл: Определение пикового (аварийного) значения скорости vm для проверки допустимого порога.

vm = maximum(v1)

Задача 5. Округление массива

Физический смысл: Приведение измерений к целочисленным значениям (например, для отображения на дискретном циферблате).

vr = round.(v1)

📝 Домашнее задание

ДЗ #8 📅 Срок сдачи: 2 ноября 2026 🏆 Макс. балл: 5 баллов

Операции с массивами телеметрии

Выполните задания в интерактивном скрипте Engee.

Задание 1. Калибровка датчиков

  1. Создайте вектор напряжений voltage = [220, 230, 215, 240, 225, 235].
  2. Добавьте к каждому элементу напряжение смещения 5 Вольт, сохраните в voltage_adj.

Задание 2. Суммарный ток

  1. Создайте вектор токов current1 = [10, 12, 8, 15, 11, 13].
  2. Создайте второй вектор current2 = [2, 3, 1, 4, 2, 3].
  3. Найдите суммарный ток по обеим линиям.

Задание 3. Максимум и округление

  1. Используя вектор voltage, найдите максимальное напряжение.
  2. Округлите массив напряжений до целых.
  3. Разделите массив токов (из задания 2) на 2.

Требования к сдаче:

  • Создайте интерактивный скрипт в Engee (файл .ngscript).
  • Экспортируйте скрипт вместе с результатами в PDF.
  • Прикрепите полученный PDF-файл в качестве отчета.
📚 Материалы курса: 05 - Операции с массивами.pdf (стр. 1-5) — Задачи 1-5
Урок 9: Умножение массивов (Часть 2)

Занятие 9: Умножение массивов (Специфика)

📅 2 ноября 2026 ⏱ 1 академический час (40 минут) Занятие 9

📋 План занятия

  1. 00:05 Проверка ДЗ 8. Вопросы по базовым операциям
  2. 05:15 Математические правила умножения матриц
  3. 15:30 Специфика поэлементного умножения в Engee (.*)
  4. 25:40 Броадкастинг массивов разного размера
  5. 35:40 Итоги. Домашнее задание

📖 Теоретический материал

1. Математическое умножение матриц

В математике умножение матриц (оператор *) подчиняется строгим правилам: число столбцов первой матрицы должно быть равно числу строк второй.

Матрица A (размер m × n)  ·  Матрица B (размер n × k)  =  Матрица C (размер m × k)

Каждый элемент новой матрицы C получается как сумма произведений элементов строки первой матрицы на элементы столбца второй.

Пример из математики: Умножаем вектор-строку на вектор-столбец.

[3   4]  ·  [10; 20]  =  (3·10) + (4·20)  =  30 + 80  =  110

А если перепутать порядок? Умножение [10; 20] на [3 4] даст матрицу 2×2:

[10; 20]  ·  [3   4]  =  [30   40; 60   80]

В коде Engee (Julia) это работает так:

# Правильное математическое умножение (вектор-строка на вектор-столбец) a = [3, 4] # Вектор-столбец (2 элемента) b = [10, 20] # Вектор-столбец (2 элемента) # c = a * b # ОШИБКА: нельзя умножить два вектора-столбца

2. Зачем нужно поэлементное умножение (.*)

В физике и инженерии очень часто нужно перемножить два массива параллельно (элемент на элемент), а не по правилам линейной алгебры. Для этого в Julia используется оператор с точкой .*.

a = [3, 4]     b = [10, 20]
a .* b = [3·10,   4·20] = [30, 80]

Это математически корректно, если массивы обозначают показания датчиков в одни и те же моменты времени.

🗝️ Шпаргалка по умножению

1. Матричное умножение *

Требует согласования размерностей (столбцы A = строки B).

Результат — скаляр (для векторов) или матрица.

2. Поэлементное умножение .*

Перемножает массивы одинакового размера «параллельно».

[a, b] .* [c, d] = [a*c, b*d]

3. Броадкастинг (Broadcasting)

Если умножить матрицу на вектор-столбец, правило растянется по столбцам.

[1 2; 3 4] .* [10; 20]

Задания на уроке

Подготовительный код

Создадим те же векторы, что и на прошлом уроке (резервный вариант, если нет сети).

data = [3.0 0.53 4.0753 3.517; 18.0 1.78 6.6678 2.1328; 19.0 0.86 1.5177 3.6852; 20.0 1.6 3.6375 8.5389; 21.0 3.0 4.7243 10.157; 23.0 6.11 9.0698 2.8739; 38.0 2.54 5.3002 4.4508] density = data[:, 2] v1 = data[:, 3]

Задача 6. Поэлементное умножение массивов

Физический смысл: Вычисление массы каждой партии груза. Плотность (density) умножается на объём (v1), чтобы получить массу mass.

В математике мы бы умножали матрицы по правилам, но физически это просто параллельное перемножение:

mass = [density[1]·v1[1], density[2]·v1[2], ...]
# Поэлементное умножение mass = density .* v1

Задача 7*. Броадкастинг (Broadcasting)

Физический смысл: Умножение матрицы коэффициентов на вектор смещений по столбцам. Оператор .* «растягивает» вектор-столбец на все столбцы матрицы.

Математическое пояснение: Попытка умножить матрицу 4×2 на вектор 4×1 по правилам матричного умножения невозможна (число столбцов первой не равно числу строк второй). Но с точкой .* каждый элемент вектора умножается на соответствующий столбец.

# Матрица 4×2 A = [1 2; 3 4; 5 6; 7 8] # Вектор-столбец 4×1 B = [1; 2; 3; 4] # Броадкастинг x = A .* B

Результат: x будет иметь размерность 4×2. Каждая строка матрицы A умножается на соответствующее значение из вектора B.

📝 Домашнее задание

ДЗ #9 📅 Срок сдачи: 9 ноября 2026 🏆 Макс. балл: 5 баллов

Умножение массивов в инженерных расчетах

Выполните задания в интерактивном скрипте Engee.

Задание 1. Поэлементное умножение

  1. Создайте вектор напряжений U = [220, 230, 215, 240, 225, 235].
  2. Создайте вектор токов I = [10, 12, 8, 15, 11, 13].
  3. Вычислите мощность каждой фазы: P = U .* I.

Задание 2. Броадкастинг

  1. Создайте матрицу сопротивлений R = [1 2; 3 4; 5 6] (3×2).
  2. Создайте вектор поправочных коэффициентов K = [0.9; 1.0; 1.1] (3×1).
  3. Примените броадкастинг: R_adj = R .* K.
  4. Выведите результат на экран.

Требования к сдаче:

  • Создайте интерактивный скрипт в Engee (файл .ngscript).
  • Экспортируйте скрипт вместе с результатами в PDF.
  • Прикрепите полученный PDF-файл в качестве отчета.
📚 Материалы курса: 05 - Операции с массивами.pdf (стр. 5-7) — Задачи 6-7

Занятие 10: Робот: разгон и торможение

📅 9 ноября 2026⏱ 40 минут10 класс · Практика

📋 План занятия

  1. 0–5 мин Повторение массивов и проверка ДЗ
  2. 5–20 мин Совместный расчёт движения робота
  3. 20–35 мин Самостоятельная работа: изменение маршрута
  4. 35–40 мин Проверка результатов и объяснение ДЗ

📖 Теоретический материал

Модель: разгон, движение и торможение

Робот движется по прямой в положительном направлении. На каждом из трёх участков ускорение постоянно, но от участка к участку оно меняется. Сопротивлением движению пренебрегаем. Скорость на границах участков меняется непрерывно.

Положительное ускорение увеличивает скорость, отрицательное — уменьшает её, пока робот движется вперёд. В наших данных скорость не становится отрицательной, поэтому перемещение на каждом участке равно пройденному пути.

Законы равнопеременного движения точки
vкон = vнач + a · t
s = vнач · t + (a · t²) / 2
vнач, 2 = vкон, 1;   vнач, 3 = vкон, 2

Скорость v — в м/с, ускорение a — в м/с², время t — в секундах, путь s — в метрах. Обозначение s здесь относится к пути отдельного участка.

Порядок работы: сначала рассчитываем начальные скорости участков по очереди, затем находим конечные скорости и пути операциями над массивами.

⌨ Набирайте команды самостоятельно. Перед запуском кода рассчитайте первый участок на бумаге.

🗝️ Шпаргалка

Индекс и изменение

a[2] = 0.1

Индексация начинается с 1.

Поэлементное умножение

a .* t

Умножает соответствующие элементы.

Квадрат каждого элемента

t .^ 2

Точка применяет возведение в степень к каждому элементу.

Сложение и деление

v_start + a .* t

Делить массив на число можно обычным знаком /.

Максимум

maximum(v_end)

Максимум среди конечных скоростей участков.

Задания на уроке

Задача 1. Испытание робота — разбираем вместе

Начальная скорость робота — 0 м/с. На первом участке он разгоняется, на втором продолжает движение с постоянной скоростью, на третьем тормозит.

УчастокУскорение, м/с²Время, с
1. Разгон0,25
2. Равномерное движение04
3. Торможение−0,16

1. Аналитический расчёт

Участок 1:
v₁ = 0 + 0,2 · 5 = 1 м/с
s₁ = 0 · 5 + 0,2 · 5² / 2 = 2,5 м

Участок 2: начальная скорость равна 1 м/с.
v₂ = 1 + 0 · 4 = 1 м/с
s₂ = 1 · 4 + 0 · 4² / 2 = 4 м

Участок 3: начальная скорость равна 1 м/с.
v₃ = 1 − 0,1 · 6 = 0,4 м/с
s₃ = 1 · 6 − 0,1 · 6² / 2 = 4,2 м

S = s₁ + s₂ + s₃ = 10,7 м

Робот тормозит, но к концу третьего участка ещё не остановился. На каждом участке скорость меняется линейно; все начальные и конечные скорости неотрицательны. Значит, разворота внутри участков нет.

2. Реализация в Engee

Начальные скорости вычисляем последовательно. Затем используем массивы одинаковой длины. Запись t .^ 2 означает квадрат каждого элемента массива времени.

v0 = 0.0
a = [0.2, 0.0, -0.1]
t = [5, 4, 6]

v_start = [v0, 0.0, 0.0]
v_start[2] = v_start[1] + a[1] * t[1]
v_start[3] = v_start[2] + a[2] * t[2]

v_end = v_start + a .* t
s = v_start .* t + (a .* (t .^ 2)) / 2
s_total = s[1] + s[2] + s[3]
v_max = maximum([v0, maximum(v_end)])

println("Путь робота на каждом участке: ", s, " м")

Вывод результатов: функция println выводит поясняющий текст, значение переменной и единицу измерения. Текст заключаем в двойные кавычки, аргументы разделяем запятыми. По этому примеру самостоятельно оформите остальные результаты.

Проверка: начальные скорости — 0; 1; 1 м/с. Конечные скорости — 1; 1; 0,4 м/с. Пути — 2,5; 4; 4,2 м. Общий путь — 10,7 м. Наибольшая скорость за весь маршрут — 1 м/с.

Максимум ищем среди исходной скорости и конечных скоростей всех участков: при постоянном ускорении максимум скорости участка достигается на одной из его границ.

Числа с плавающей точкой: результат может содержать лишние знаки, например 0.3999999999999999 вместо 0.4. Для проверки сравнивайте значения с точностью до сотых.

Задача 2. Более интенсивный маршрут — самостоятельно

Начальная скорость остаётся нулевой. Сохраните время участков. Измените ускорения второго и третьего участков: теперь они равны 0,1 м/с² и −0,2 м/с².

1. Сначала расчёт на бумаге

  1. Найдите начальные и конечные скорости всех участков.
  2. Рассчитайте путь каждого участка и общий путь.
  3. Проверьте, что робот не меняет направление движения.

2. Затем расчёт в Engee

  1. Измените два элемента массива ускорений с помощью индексов.
  2. Заново выполните вычисление начальных скоростей, затем конечных скоростей и путей.
  3. Найдите общий путь и максимальную скорость. Сравните с первой задачей.
Зависимость участков: изменение ускорения на втором участке меняет начальную скорость третьего. Недостаточно пересчитать только массив путей!

Контроль после решения: начальные скорости — 0; 1; 1,4 м/с; конечные — 1; 1,4; 0,2 м/с; пути — 2,5; 4,8; 4,8 м; общий путь — 12,1 м; максимальная скорость — 1,4 м/с. Путь увеличился на 1,4 м.

Если осталось время

Для третьего участка первого маршрута найдите время до полной остановки из уравнения 0 = vнач + a · t. Почему нельзя продолжать считать полученное перемещение путём, если время торможения превысит это значение?

📝 Домашнее задание

ДЗ #10📅 Срок сдачи: 16 ноября 2026Максимум: 5 баллов

Как заполнить рабочую тетрадь

Скачать шаблон рабочей тетради

Скачайте шаблон и сохраните свою копию Word. На титульном листе укажите имя, класс и номер варианта. Используйте этот файл на всех занятиях 10–14.

  1. Работа на уроке. В разделе занятия 10 запишите исходные данные, ручной расчёт и результаты классного примера.
  2. Домашнее задание. Скопируйте блок «Работа на уроке» внутри этого же раздела, назовите копию «Домашнее задание» и заполните её результатами повторного запуска со своими данными.
  3. Что перенести из Engee. В оба блока вставьте код секции этого занятия и вывод программы текстом. Подпишите единицы измерения. Заполните таблицу скоростей и путей по трём участкам. Под таблицей укажите полный путь и максимальную скорость. В выводе поясните, где робот разгонялся и тормозил, был ли разворот и остановился ли он.

Разгон и торможение: свой вариант

Повторите задачу 1 с данными своего варианта. Начальная скорость во всех вариантах равна 0 м/с. На каждом участке ускорение постоянно. Числа перечислены в порядке участков 1, 2, 3. Вариант назначает преподаватель.

ВариантУскорения, м/с²Время, с
10,2; 0,1; -0,15; 4; 6
20,3; 0; -0,14; 5; 6
30,2; 0,1; -0,26; 3; 5
40,4; 0; -0,23; 4; 5
50,3; 0,1; -0,25; 3; 6

Порядок выполнения

  1. Запишите формулы. Вручную рассчитайте начальные и конечные скорости, пути трёх участков и общий путь.
  2. Создайте массивы ускорений и времени. Вычислите начальные скорости последовательно, затем конечные скорости и пути операциями над массивами.
  3. Найдите общий путь и наибольшую скорость за весь маршрут.
  4. Сравните расчёт вручную с результатом программы. Проверьте по скоростям на границах участков, что разворота нет.
  5. Самостоятельно оформите вывод результатов через println:
    • начальные скорости на каждом участке — в м/с;
    • конечные скорости на каждом участке — в м/с;
    • путь робота на каждом участке — в м;
    • полный путь робота — в м;
    • максимальная скорость робота за весь маршрут — в м/с.
    Каждая строка должна содержать понятную подпись, рассчитанное значение и единицу измерения.
  6. Сформулируйте вывод: на каких участках робот разгоняется или тормозит и остановился ли он к концу маршрута?

Сдача в рабочей тетради

Сдайте один файл Word (.docx). В нём должны быть заполнены «Работа на уроке» и «Домашнее задание» для занятия 10. Сохраните в этом же файле записи предыдущих занятий.

Оценивание — 5 баллов

Формулы и ручной расчёт — 1; исходные массивы — 1; последовательный расчёт скоростей — 1; пути, общий путь и максимум — 1; проверка направления и вывод — 1.

📚 Основа: материалы курса разработчиков Engee «Векторы и матрицы», «Индексы и модификация массивов», «Операции с массивами». Практика по темам занятий 6–9.

Занятие 11: Движение и энергия робота

📅 16 ноября 2026⏱ 40 минутПродолжаем скрипт занятия 10

📋 План занятия

  1. 0–5 мин Открытие скрипта и проверка исходных результатов
  2. 5–15 мин Формулы и ручной расчёт
  3. 15–25 мин Добавление секции в код
  4. 25–35 мин Самостоятельная задача
  5. 35–40 мин Проверка и домашнее задание

📖 Теоретический материал

Один скрипт — два этапа исследования

На занятии 10 вы рассчитали скорости и пути на трёх участках. Теперь не переписываем этот код, а добавляем в конец секцию расчёта работы и мощности. Для общего разбора используйте исходный пример занятия 10: пути 2,5; 4; 4,2 м, время 5; 4; 6 с.

Модуль силы сопротивления постоянен и равен 2 Н. Рассчитываем только энергию, расходуемую на преодоление этого сопротивления. Условный доступный запас для покрытия этих затрат — 0,01 Вт·ч.

Граница модели: это не полный расход аккумулятора. Не учитываем энергию разгона, электронику, потери двигателя и преобразователя, рекуперацию при торможении. Все значения скорости неотрицательны: робот не разворачивается.
Направления силы тяги, сопротивления и перемещенияРоботПеремещение sF тяги →← F сопротивленияСила и перемещение: одинаковое направление — «+», противоположное — «−»
Схема показывает только горизонтальные силы. Их длины условны: равенство сил здесь не задано. При разгоне и торможении сила тяги не обязана равняться силе сопротивления.
Используем время, скорости и путь
vср = (vнач + vкон) / 2
sпроверка = vср · t
Eсопр = Fсопр · s
Pср, сопр = Eсопр / t

Формула средней скорости через полусумму начальной и конечной применима здесь потому, что на каждом участке ускорение постоянно. Мощность в этой формуле — средняя за участок мощность затрат на сопротивление.

Почему нет косинуса? Для силы, направленной вдоль перемещения, cos 0° = 1. Но сила сопротивления направлена против перемещения: её работа Aсопр = −Fсопрs. Мы считаем положительные затраты энергии Eсопр = −Aсопр = Fсопрs. Подробности и схема угла — в конце урока.

🗝️ Шпаргалка

Средняя скорость

v_avg = (v_start + v_end) / 2

Умножение по элементам

s_check = v_avg .* t

Деление по элементам

P_avg = E_res_J ./ t

Перевод единиц

E_res_Wh = E_res_J / 3600

Задача 1. Продолжаем исходный пример

1. Аналитический расчёт

Средние скорости участков: (0 + 1)/2 = 0,5 м/с; (1 + 1)/2 = 1 м/с; (1 + 0,4)/2 = 0,7 м/с. Проверка пути: 0,5 · 5 = 2,5 м; 1 · 4 = 4 м; 0,7 · 6 = 4,2 м.

УчастокПуть, мЭнергия F · s, ДжСредняя мощность E / t, Вт
12,551
2482
34,28,41,4
Eобщ = 5 + 8 + 8,4 = 21,4 Дж
Eобщ, Вт·ч = 21,4 / 3600 ≈ 0,00594 Вт·ч
Eост = 0,01 − 0,00594 ≈ 0,00406 Вт·ч

Условного запаса хватает для покрытия рассчитанных затрат на сопротивление. Самая большая средняя мощность участка — 2 Вт. Это не обязательно максимум мгновенной мощности.

2. Новая секция в существующем скрипте

Сначала выполните код занятия 10. В памяти должны быть согласованные между собой массивы v_start, v_end, t и s. Для численного ответа выше восстановите исходный маршрут, если меняли его на прошлом уроке.

# Секция 2. Энергия на преодоление сопротивления
F_res = 2.0;
E_available = 0.01;

v_avg = (v_start + v_end) / 2;
s_check = v_avg .* t;
s_error = s_check - s;

E_res_J = F_res * s;
P_avg = E_res_J ./ t;
E_res_Wh = E_res_J / 3600;
E_total_Wh = E_res_Wh[1] + E_res_Wh[2] + E_res_Wh[3];
E_left_Wh = E_available - E_total_Wh;
P_avg_max = maximum(P_avg);

println("Энергия на сопротивление по участкам: ", E_res_J, " Дж")

Проверка: элементы s_error должны быть нулевыми или очень близкими к нулю из-за точности вычислений. Если расхождения заметны, проверьте, заново ли вычислены скорости и путь после изменения исходных данных.

Добавьте остальные строки вывода самостоятельно. В делении двух векторов нужна запись ./: время каждого участка используется со своим значением энергии.

Задача 2. Другие покрытия

На первом участке сопротивление равно 2 Н, на втором — 4 Н, на третьем — 3 Н. Движение остаётся прежним: считаем, что привод обеспечивает заданный маршрут, а здесь оцениваем только затраты на сопротивление.

  1. Вручную рассчитайте энергию второго участка.
  2. Замените число F_res на вектор трёх сил.
  3. Измените умножение на поэлементное. Пересчитайте все результаты, зависящие от энергии.
  4. Определите, хватает ли условного запаса, и какой участок имеет наибольшую среднюю мощность затрат.

Контроль: энергии — 5; 16; 12,6 Дж; средние мощности — 1; 4; 2,1 Вт. Общая энергия — 33,6 Дж ≈ 0,00933 Вт·ч; остаток ≈ 0,00067 Вт·ч. Запаса хватает.

📝 Домашнее задание

ДЗ #11📅 Срок: 23 ноября 2026Максимум: 5 баллов

Как заполнить рабочую тетрадь

Скачать шаблон рабочей тетради

Откройте свою копию рабочей тетради и сохраните прежний номер варианта.

  1. Работа на уроке. В разделе занятия 11 запишите исходные данные, ручной расчёт и результаты классного примера.
  2. Домашнее задание. Скопируйте блок «Работа на уроке» внутри этого же раздела, назовите копию «Домашнее задание» и заполните её результатами повторного запуска со своими данными.
  3. Что перенести из Engee. В оба блока вставьте код секции этого занятия и вывод программы текстом. Подпишите единицы измерения. Заполните таблицу по трём участкам. Под таблицей укажите расхождения между расчётами пути, общую энергию, остаток запаса и максимум средних мощностей. В выводе сравните расчёты пути, оцените запас энергии и поясните, какие затраты учитывает модель.

Продолжите свой вариант занятия 10

Сохраните номер варианта и все исходные данные своего ДЗ №10. Добавьте новую секцию по образцу задачи 1. Для всех вариантов условный доступный запас — 0,01 Вт·ч.

ВариантСила сопротивления на всех участках, Н
12
23
32,5
44
53,5
  1. Запишите формулы. Вручную рассчитайте среднюю скорость, проверочный путь, энергию и среднюю мощность первого участка.
  2. В новой секции используйте массивы времени, скоростей и пути, уже полученные в своём варианте занятия 10.
  3. Проверьте путь через среднюю скорость. Найдите энергии участков, общий расход, остаток и максимум средних мощностей участков.
  4. Самостоятельно оформите через println: средние скорости (м/с), проверочные пути (м), расхождения путей (м), энергии участков (Дж и Вт·ч), средние мощности участков (Вт), общую энергию (Вт·ч), остаток (Вт·ч) и максимум средних мощностей (Вт).
  5. Напишите вывод: совпали ли два расчёта пути; хватает ли условного запаса на сопротивление; почему этот расчёт не показывает полный расход аккумулятора?

Сдача в рабочей тетради

Сдайте один файл Word (.docx). В нём должны быть заполнены «Работа на уроке» и «Домашнее задание» для занятия 11. Сохраните в этом же файле записи предыдущих занятий.

Оценивание — 5 баллов

Формулы и ручной расчёт — 1; использование прежних данных и проверка пути — 1; энергии и мощности — 1; общий расход, остаток и максимум — 1; оформление результатов и физически правильный вывод — 1.

📖 Для самостоятельного ознакомления: работа силы, энергия и мощность

1. Общая формула работы: куда делся косинус?

Для постоянной силы и прямолинейного перемещения работа равна A = F · s · cos α. Здесь F — модуль силы, s — модуль перемещения, α — угол между ними. Работа — скалярная величина, которая может быть положительной, отрицательной или нулевой. В нашем движении без разворотов модуль перемещения совпадает с путём.

Проекция силы на направление перемещенияαFF cos αsВ работу входитпроекция силы
Общий случай: A = F · s · cos α. Косинус учитывает угол между силой и перемещением. При α = 0° он равен 1; при 90° — 0; при 180° — −1.

Работу определяет составляющая силы вдоль перемещения: F cos α. Если сила сонаправлена перемещению, α = 0°, cos α = 1 и A = Fs. Если сила перпендикулярна ему, α = 90° и работа равна нулю. При противоположных направлениях α = 180°, cos α = −1 и A = −Fs.

2. Работа сопротивления и затраты на его преодоление

Сила сопротивления направлена против движения. Её работа отрицательна: A_сопр = −F_сопр · s. Величина E_сопр = F_сопр · s положительна и показывает механическую энергию, рассеиваемую при преодолении сопротивления. Именно эту величину считает код. Косинус не отброшен: его знак уже учтён при переходе от отрицательной работы сопротивления к положительной величине затрат.

При равномерном движении по горизонтали, если действуют только тяга и сопротивление, силы уравновешиваются и работа тяги равна этим затратам. При разгоне это равенство в общем случае неверно: часть работы тяги изменяет кинетическую энергию.

Энергия на преодоление постоянного сопротивления как площадьF, Нs, м210,7E = F · S = 21,4 Джплощадь прямоугольника
По вертикали — модуль постоянной силы сопротивления. Положительная площадь показывает затраты энергии. Работа самой силы сопротивления на этом пути отрицательна: −21,4 Дж.

3. Почему площадь показывает энергию?

При постоянной силе сопротивления её модуль не меняется вдоль пути. Площадь прямоугольника на графике «модуль силы — путь» равна F · S. В исходном примере это 2 · 10,7 = 21,4 Дж. Проверка единиц: Н · м = Дж. Если сила различается по участкам, складываем площади соответствующих прямоугольников: E_общ = F₁s₁ + F₂s₂ + F₃s₃.

4. Связь со скоростью и временем

При постоянном ускорении скорость линейно зависит от времени. Поэтому средняя скорость участка равна полусумме начальной и конечной. Умножение на время даёт путь, если направление движения не меняется. Подставим v_кон = v_нач + at: s = ((v_нач + v_кон)/2)t = v_нач t + at²/2. Это та же формула, которую вы использовали в занятии 10.

Если скорость меняет знак внутри участка, формула даёт перемещение, а для пути участок нужно разделить в момент остановки. В данных урока и пяти вариантах ДЗ №10 разворота нет.

5. Средняя и мгновенная мощность

Средняя мощность затрат на сопротивление P_ср = E_сопр / t = F_сопр · v_ср. Единица мощности: Дж/с = Вт. В каждый отдельный момент мощность этих затрат равна F_сопр · v. На участке разгона она растёт, при торможении уменьшается. maximum(P_avg) выбирает максимум среди трёх средних значений, а не наибольшую мгновенную мощность за весь маршрут.

6. Почему это не полный расход аккумулятора?

Для поступательного движения точки изменение кинетической энергии ΔK = m(v_кон² − v_нач²)/2. Если горизонтально действуют только тяга и сопротивление, работа тяги A_тяги = ΔK + F_сопр · s. В нашем расчёте массы нет, поэтому член ΔK не вычисляем. При торможении работа привода может быть отрицательной; как при этом энергия рассеивается или возвращается в аккумулятор, зависит от устройства привода.

Потери двигателя и преобразователя, питание электроники и возможная рекуперация требуют дополнительных данных и отдельной модели. Поэтому положительный остаток здесь означает лишь достаточность условного запаса для рассчитанной составляющей затрат.

7. Джоули и ватт-часы

1 Вт·ч = 3600 Дж, поскольку 1 Вт = 1 Дж/с, а 1 ч = 3600 с. Поэтому 21,4 Дж / 3600 ≈ 0,00594 Вт·ч. Условный запас 0,01 Вт·ч равен 36 Дж. Его специально выбрали небольшим для учебного маршрута; это не заявленная ёмкость реального аккумулятора.

8. Материалы для чтения

Проверьте себя: почему работа сопротивления отрицательна, а затраты положительны? Почему при разгоне нельзя приравнять силу тяги к сопротивлению? Что именно показывает максимум средних мощностей?

Программная основа: материалы курса Engee по массивам и операциям с ними. Для работы нужен выполненный скрипт занятия 10.

Занятие 12. Вызов функций и кинетическая энергия

📅 23 ноября 2026⏱ 40 минут10 класс · Engee

📋 План занятия

  1. 0–5 мин Открытие скрипта и проверка исходных данных
  2. 5–15 мин Физика и ручной расчёт
  3. 15–28 мин Вызов функций и сводка
  4. 28–36 мин Самостоятельная проверка
  5. 36–40 мин Домашнее задание

📖 Теоретический материал

Что происходит с энергией при разгоне?

Откройте скрипт с исходным маршрутом занятия 10 и расчётом сопротивления из занятия 11. Для общего примера возьмите времена 5, 4 и 6 с, ускорения 0,2; 0; −0,1 м/с² и постоянную силу сопротивления 2 Н. Для домашней работы используйте данные своего варианта.

Кинетическая энергия связана с движением робота. Для модели поступательного движения принимаем массу робота равной 2 кг. Энергию вращения колёс в этой модели опускаем.

Eк = m · v² / 2
[Eк] = кг · м²/с² = Дж

При удвоении скорости кинетическая энергия возрастает в четыре раза. Например, при 0,5 м/с получаем 0,25 Дж, а при 1 м/с — 1 Дж. Сравниваем энергию одного и того же робота в двух состояниях.

Вызов функции содержит её имя и аргументы в скобках. sum(t) принимает вектор и возвращает число. findmax(E_k) возвращает пару из максимального значения и его индекса. В присваивании слева можно указать два имени.

🗝️ Шпаргалка

Сумма элементов

sum(t)

Максимум и его индекс

E_peak, i_peak = findmax(E_k)

Именованный аргумент

round(v_mean; digits=3)

🛠 Задания на уроке

Задача 1. Сводка по маршруту

1. Аналитический расчёт

В начале скорость 0 м/с. Конечные скорости участков равны 1; 1; 0,4 м/с. На этих четырёх границах кинетическая энергия равна 0; 1; 1; 0,16 Дж. Максимум достигается впервые на второй точке, через 5 с. Он сохраняется на всём равномерном участке от 5 до 9 с.

Весь маршрут длится 15 с. Общий путь 10,7 м, средняя скорость маршрута 10,7 / 15 ≈ 0,713 м/с. Затраты на сопротивление из занятия 11 составляют 21,4 Дж. Кинетическая энергия характеризует состояние в конкретный момент, поэтому складывать её значения на границах для оценки расхода энергии нельзя.

2. Добавьте секцию после расчёта сопротивления

# Секция 3. Сводка и кинетическая энергия
m_robot = 2.0;
v_points = [v_start[1]; v_end];
E_k = m_robot * (v_points .^ 2) / 2;

T_route = sum(t);
S_route = sum(s);
v_mean = S_route / T_route;
E_res_total_J = sum(E_res_J);

E_peak, i_peak = findmax(E_k);
println("Максимальная кинетическая энергия: ",
        round(E_peak; digits=3), " Дж, точка № ", i_peak)

Допишите вывод времени, пути, средней скорости, затрат на сопротивление и массива кинетических энергий. Округляйте числа только для вывода. Первая точка массива соответствует началу маршрута, поэтому точка №2 — конец первого участка. При равных максимумах findmax возвращает индекс первого из них.

Задача 2. Меняем массу робота

Мысленно добавьте груз 1 кг. Считайте, что привод сохраняет прежние скорости, а заданная сила сопротивления остаётся 2 Н. Предскажите, во сколько раз вырастет максимум кинетической энергии. Измените только массу в новой секции и проверьте предположение.

Контроль. Энергии 0; 1,5; 1,5; 0,24 Дж. Максимум вырос в 1,5 раза. Время, путь и энергия на сопротивление имеют прежние значения по условиям модели.

📝 Домашнее задание

ДЗ №12📅 Срок 30 ноября 2026Максимум 5 баллов

Как заполнить рабочую тетрадь

Скачать шаблон рабочей тетради

Откройте свою копию рабочей тетради и сохраните прежний номер варианта.

  1. Работа на уроке. В разделе занятия 12 запишите исходные данные, ручной расчёт и результаты классного примера.
  2. Домашнее задание. Скопируйте блок «Работа на уроке» внутри этого же раздела, назовите копию «Домашнее задание» и заполните её результатами повторного запуска со своими данными.
  3. Что перенести из Engee. В оба блока вставьте код секции этого занятия и вывод программы текстом. Подпишите единицы измерения. Заполните таблицу четырёх точек маршрута и сводку с общим временем, путём, средней скоростью, энергией на сопротивление, максимальной кинетической энергией и её индексом. В выводе укажите, когда максимум достигнут впервые и сохранялся ли он на целом участке.

Сводка по своему маршруту

Сохраните время, ускорения и сопротивление из ДЗ №10–11. Добавьте массу по таблице.

ВариантМасса, кг
12
22,5
33
43,5
54
  1. Вручную найдите кинетическую энергию в конце первого участка.
  2. Получите массив энергий в четырёх точках. Через findmax определите максимум и индекс первой точки с таким значением.
  3. Выведите через println общее время, путь, среднюю скорость, затраты на сопротивление, энергии на границах и найденный максимум с индексом. Подпишите единицы.
  4. Поясните, где достигнут максимум. Если одна скорость сохраняется на целом участке, укажите этот участок.

Оценивание. Ручной расчёт, массив энергий, сводка, вызов findmax и интерпретация результата — по 1 баллу.

Сдача в рабочей тетради

Сдайте один файл Word (.docx). В нём должны быть заполнены «Работа на уроке» и «Домашнее задание» для занятия 12. Сохраните в этом же файле записи предыдущих занятий.

📖 Самопроверка и материалы

Почему при удвоении массы энергия растёт вдвое, а при удвоении скорости — вчетверо? Почему для средней скорости маршрута нужно разделить общий путь на общее время?

Занятие 13. Графики скорости и мощности

📅 30 ноября 2026⏱ 40 минут10 класс · Engee

📋 План занятия

  1. 0–5 мин Проверка сводки и исходного маршрута
  2. 5–15 мин Читаем скорость и площадь под графиком
  3. 15–25 мин Строим график скорости в Engee
  4. 25–36 мин Самостоятельно строим график мощности
  5. 36–40 мин Обсуждение и ДЗ

📖 Теоретический материал

Что показывает график скорости?

Продолжаем скрипт занятия 12. Общий пример использует исходный маршрут из занятий 10–12. Для графика мощности берём постоянную силу сопротивления 2 Н из первого примера занятия 11.

Ось времени накапливает длительности участков. Границы находятся в моменты 0; 5; 5 + 4 = 9; 5 + 4 + 6 = 15 с. По вертикали откладываем скорости 0; 1; 1; 0,4 м/с из массива v_points.

Внутри каждого участка ускорение постоянно, поэтому скорость изменяется по прямой. Наклон показывает ускорение. Площадь под графиком скорости даёт перемещение, а для нашего движения вперёд оно равно пути.

Скорость роботаСкорость роботаСкорость, м/с00,40,81,2059152,5 мВремя, с
Скорость робота

Новая величина. Мгновенная мощность затрат на сопротивление

За небольшой промежуток времени Δt робот проходит примерно v · Δt. На этом пути затраты составляют Fсопр · v · Δt. Если разделить их на Δt, получим мощность в данный момент.

Pсопр(t) = Fсопр · v(t)
1 Н · 1 м/с = 1 Вт

На разгоне от 0 до 1 м/с при силе 2 Н мощность растёт от 0 до 2 Вт. Средняя мощность за этот участок равна 1 Вт, как и в занятии 11. Мощность описывает скорость расходования энергии. Площадь под графиком мощности даёт энергию в джоулях.

🗝️ Шпаргалка

Накопленное время

t_points = [0; cumsum(t)]

График по двум массивам

plot(t_points, v_points)

Показать готовый график

display(speed_plot)

🛠 Задания на уроке

Задача 1. График скорости

1. Аналитический расчёт

Путь первого участка равен площади треугольника 5 · 1 / 2 = 2,5 м. На втором участке площадь прямоугольника равна 4 · 1 = 4 м. На третьем площадь трапеции равна 6 · (1 + 0,4)/2 = 4,2 м.

2. Добавьте новую секцию

cumsum(t) даёт накопленные суммы времени. Добавляем ноль, чтобы время начала маршрута соответствовало первой скорости. Для совместного примера длина обоих массивов равна четырём.

# Секция 4. Графики движения
using Plots

t_points = [0; cumsum(t)];
speed_plot = plot(t_points, v_points;
    xlabel="Время, с", ylabel="Скорость, м/с",
    title="Скорость робота", marker=:circle, legend=false);
display(speed_plot)

Найдите на графике разгон, равномерный участок и торможение. Для третьего участка назовите начало и конец по времени и вычислите наклон прямой.

Контроль. Наклон третьего отрезка (0,4 − 1)/(15 − 9) = −0,1 м/с².

Задача 2. График мощности

Рассчитайте мощность в четырёх точках из массива скоростей и постоянной силы сопротивления. Сделайте отдельный график по образцу предыдущего. Сопоставьте мощность в начале и конце первого участка с рассчитанным в занятии 11 средним значением.

P_points = F_res * v_points;
Мощность затрат на сопротивлениеМощность затрат на сопротивлениеМощность, Вт00,81,62,405915Время, с
Мощность затрат на сопротивление

Контроль. Точки мощности 0; 2; 2; 0,8 Вт. На первом участке площадь под графиком равна 5 · 2 / 2 = 5 Дж. Это энергия на преодоление сопротивления, полученная в занятии 11.

📝 Домашнее задание

ДЗ №13📅 Срок 7 декабря 2026Максимум 5 баллов

Как заполнить рабочую тетрадь

Скачать шаблон рабочей тетради

Откройте свою копию рабочей тетради и сохраните прежний номер варианта.

  1. Работа на уроке. В разделе занятия 13 запишите исходные данные, ручной расчёт и результаты классного примера.
  2. Домашнее задание. Скопируйте блок «Работа на уроке» внутри этого же раздела, назовите копию «Домашнее задание» и заполните её результатами повторного запуска со своими данными.
  3. Что перенести из Engee. В оба блока вставьте код секции этого занятия и вывод программы текстом. Подпишите единицы измерения. Заполните таблицу времени, скорости и мощности в четырёх точках. Вставьте изображения обоих графиков из Engee с подписями осей и единицами измерения. Укажите путь и энергию первого участка по площадям под графиками и опишите, как менялись скорость и мощность.

Два графика для своего варианта

Продолжите скрипт с прежним номером варианта. Для графика мощности используйте свою постоянную силу из ДЗ №11. Ниже можно сверить исходные данные.

ВариантДлительности t₁ · t₂ · t₃, сСопротивление, Н
15 · 4 · 62
24 · 5 · 63
36 · 3 · 52,5
43 · 4 · 54
55 · 3 · 63,5
  1. Вручную найдите моменты границ участков и мощность в конце первого участка.
  2. Постройте графики скорости и мощности с названиями, подписями осей и единицами.
  3. По площади под графиком скорости проверьте путь первого участка. По площади под графиком мощности проверьте затраты энергии этого участка.
  4. Опишите, на каких участках скорость и мощность растут, постоянны или падают. Если скорость растёт на двух участках, сравните наклоны.

Оценивание. Ручной расчёт, каждый из двух графиков, проверка площадей и объяснение — по 1 баллу.

Сдача в рабочей тетради

Сдайте один файл Word (.docx). В нём должны быть заполнены «Работа на уроке» и «Домашнее задание» для занятия 13. Сохраните в этом же файле записи предыдущих занятий.

📖 Как читать графики и где посмотреть синтаксис

Подъём линии показывает рост скорости. Более крутой подъём соответствует большему положительному ускорению. Горизонтальный отрезок означает постоянную скорость. При постоянной силе сопротивления график мощности имеет ту же форму, а вертикальные значения умножаются на модуль силы.

Формула средней мощности из занятия 11 относится к целому участку. Значение на графике относится к выбранному моменту. При линейном изменении мощности её среднее значение равно полусумме значений на границах участка.

Занятие 14. Тормозной путь и сравнение сценариев

📅 7 декабря 2026⏱ 40 минут10 класс · Engee

📋 План занятия

  1. 0–5 мин Открываем скрипт и повторяем графики
  2. 5–14 мин Выводим формулы и считаем вручную
  3. 14–24 мин Рассчитываем два сценария и строим линии
  4. 24–36 мин Самостоятельно меняем скорость входа
  5. 36–40 мин Сверяем выводы и разбираем ДЗ

📖 Теоретический материал

Успеет ли робот остановиться?

Добавляем к скрипту отдельный эксперимент. Ставим отметку начала торможения в конце второго участка. В сценарии А берём скорость на этой границе из прежнего маршрута. В сценарии Б робот пересекает ту же отметку со скоростью на 0,4 м/с больше. С этого момента торможение в обоих сценариях имеет постоянное ускорение −0,5 м/с². Отсчёт времени для графика начинается на отметке.

Это отдельная проверка остановки. Ускорение и длительность третьего участка занятий 10–13 остаются в прежнем расчёте. Новый тормозной путь отсчитывается от отметки до остановки, как и расстояние до препятствия. Реакцию привода, уклон и изменение ускорения в эксперименте опускаем.

tстоп = vвход / b
sстоп = (vвход + 0) · tстоп / 2
sстоп = vвход² / (2b)

Здесь b — положительный модуль тормозного ускорения. Первую формулу получаем из уравнения 0 = vвход − bt. Вторая формула даёт площадь треугольника под графиком скорости. После остановки скорость остаётся нулевой.

🗝️ Шпаргалка

Деление массива на число

t_stop = v_entry / b_brake

Попарное умножение

s_stop = (v_entry .* t_stop) / 2

Добавление линии

plot!(brake_plot, x, y; label="Сценарий Б")

🛠 Задания на уроке

Задача 1. Два сценария торможения

1. Аналитический расчёт

Для общего примера скорость в конце второго участка равна 1 м/с. В сценарии Б получаем 1,4 м/с. Препятствие расположено в 1,5 м от отметки.

СценарийСкорость на отметке, м/сВремя до остановки, сТормозной путь, мЗапас до препятствия, м
А11 / 0,5 = 21 · 2 / 2 = 11,5 − 1 = 0,5
Б1,41,4 / 0,5 = 2,81,4 · 2,8 / 2 = 1,961,5 − 1,96 = −0,46

В сценарии А робот остановится за 0,5 м до препятствия. В сценарии Б теоретический путь до остановки длиннее доступного на 0,46 м. График сценария Б описывает свободное торможение до нуля. При наличии препятствия контакт произошёл бы раньше.

2. Добавьте секцию проверки торможения

Элементы расчётных массивов идут в порядке А, Б. Каждый отрезок графика получает своё время остановки. На занятии 13 строили по одной линии на график. Здесь короткий новый приём plot! добавляет вторую линию в уже созданный график.

# Секция 5. Эксперимент с торможением
b_brake = 0.5;
distance_limit = 1.5;
v_entry = [v_end[2], v_end[2] + 0.4];

t_stop = v_entry / b_brake;
s_stop = (v_entry .* t_stop) / 2;
clearance = distance_limit .- s_stop;
s_longest, i_longest = findmax(s_stop);

println("Тормозные пути А и Б: ", round.(s_stop; digits=2), " м")

brake_plot = plot([0, t_stop[1]], [v_entry[1], 0];
    xlabel="Время после отметки, с", ylabel="Скорость, м/с",
    title="Свободное торможение", label="Сценарий А", marker=:circle);
plot!(brake_plot, [0, t_stop[2]], [v_entry[2], 0];
    label="Сценарий Б", marker=:diamond);
display(brake_plot)
Скорость при свободном торможенииСкорость при свободном торможенииСкорость, м/с00,40,81,21,60122,8Сценарий АСценарий БВремя, с
Скорость при свободном торможении

У линий одинаковый наклон −0,5 м/с². Сценарий А заканчивается в точке остановки при t = 2 с, а сценарий Б — при t = 2,8 с. Сравните площади двух треугольников и их тормозные пути.

Задача 2. Робот разогнался ещё немного

Оставьте сценарий А как есть. В сценарии Б увеличьте скорость относительно А на 0,6 м/с вместо 0,4 м/с. Перед изменением кода рассчитайте путь вручную. Затем постройте новый график и определите, на сколько раньше нужно поставить отметку начала торможения, чтобы в идеальной модели остановиться ровно у препятствия.

Контроль. Скорость 1,6 м/с, время 3,2 с, путь 2,56 м. Отметку нужно перенести на 2,56 − 1,5 = 1,06 м раньше. Для остановки с запасом перенос должен быть больше.

📝 Домашнее задание

ДЗ №14📅 Срок 14 декабря 2026Максимум 5 баллов

Как заполнить рабочую тетрадь

Скачать шаблон рабочей тетради

Откройте свою копию рабочей тетради и сохраните прежний номер варианта.

  1. Работа на уроке. В разделе занятия 14 запишите исходные данные, ручной расчёт и результаты классного примера.
  2. Домашнее задание. Скопируйте блок «Работа на уроке» внутри этого же раздела, назовите копию «Домашнее задание» и заполните её результатами повторного запуска со своими данными.
  3. Что перенести из Engee. В оба блока вставьте код секции этого занятия и вывод программы текстом. Подпишите единицы измерения. Заполните таблицу для сценариев А и Б. Запишите больший тормозной путь и номер сценария. Вставьте изображение одного графика с двумя линиями скорости, подписанными осями и легендой. В выводе укажите, какой сценарий позволяет остановиться перед препятствием и на сколько раньше нужно начать торможение в другом сценарии.

Сравните два сценария на своём маршруте

Используйте скорость в конце второго участка своего варианта. Для А возьмите её напрямую, для Б прибавьте значение из таблицы. Модуль тормозного ускорения во всех вариантах 0,5 м/с².

ВариантСкорость А для сверки, м/сПрибавка скорости для Б, м/сДо препятствия от отметки, м
11,40,32,5
21,20,42
31,50,53
41,20,62,2
51,80,44
  1. Вручную вычислите время и путь торможения в сценарии Б.
  2. В программе найдите время, путь и запас до препятствия для обоих сценариев. Через findmax определите больший тормозной путь и номер сценария.
  3. Постройте две линии на одних осях с легендой и единицами измерения.
  4. Самостоятельно выведите через println скорости на отметке, времена и пути остановки, запасы или дефициты и результат findmax.
  5. Укажите, в каком сценарии робот остановится перед препятствием. Для сценария с дефицитом укажите, на сколько нужно перенести начало торможения для остановки ровно у препятствия.

Оценивание. Ручной расчёт, вычисления двух сценариев, график, оформление чисел, физический вывод — по 1 баллу.

Сдача в рабочей тетради

Сдайте один файл Word (.docx). В нём должны быть заполнены «Работа на уроке» и «Домашнее задание» для занятия 14. Сохраните в этом же файле записи предыдущих занятий.

📖 Как оценить остановку по графику

При одном и том же b тормозное время пропорционально скорости входа. Тормозной путь растёт пропорционально квадрату этой скорости. Поэтому тормозной путь зависит и от начальной скорости, и от прибавки к ней.

Граница допустимого пути соответствует нулевому запасу. Положительный запас означает остановку перед препятствием. Отрицательный запас показывает, сколько расстояния не хватает в модели свободного торможения.

Урок 15: Создание функций

Занятие 15: Создание функций

📅 8 декабря 2026 ⏱ 1 академический час (40 минут) Занятие 15

📋 План занятия

  1. 00:05 Проверка ДЗ 14. Разбор графиков
  2. 05:15 Определение функций в Julia
  3. 15:30 Аргументы и возвращаемые значения
  4. 25:40 Практика: функция для расчёта статистики
  5. 35:40 Итоги. Домашнее задание

📖 Теоретический материал

Определение функций

Функции в Julia определяются с помощью ключевого слова function.

# Базовый синтаксис function имя_функции(аргумент1, аргумент2) # тело функции return результат end # Пример: функция для вычисления площади круга function circle_area(radius) area = π * radius^2 return area end # Вызов функции r = 5 S = circle_area(r) println("Площадь круга: $S")

Краткая форма записи

Для простых функций можно использовать краткий синтаксис.

# Краткая форма circle_area(r) = π * r^2 # Функция с несколькими аргументами hypotenuse(a, b) = sqrt(a^2 + b^2) # Вызов println(hypotenuse(3, 4)) # 5.0

Возврат нескольких значений

# Функция, возвращающая несколько значений function stats(data) n = length(data) avg = sum(data) / n max_val = maximum(data) min_val = minimum(data) return avg, max_val, min_val end # Использование x = [2.5, 3.8, 5.1, 4.2, 6.0] mean_val, max_val, min_val = stats(x) println("Среднее: $mean_val, Макс: $max_val, Мин: $min_val")

Практические задания

  1. Напишите функцию для вычисления средней скорости (путь / время).
  2. Напишите функцию, которая возвращает сумму, максимум и минимум массива.
  3. Напишите функцию для расчёта статистики (среднее, медиана, стандартное отклонение).

📝 Домашнее задание

ДЗ #15 📅 Срок сдачи: 15 декабря 2026 🏆 Макс. балл: 5 баллов

Функция для расчёта статистики

Задание

  1. Напишите функцию stat_analysis(data), которая принимает массив чисел.
  2. Функция должна возвращать: сумму, среднее, максимум, минимум.
  3. Протестируйте функцию на массиве из 10 случайных чисел.

Требования к сдаче:

  • Файл скрипта "lesson15.jl".
  • Скриншот результатов работы функции.
📚 Материалы курса: 06 - Вызов функций.pdf (стр. 1-3) + практика по созданию функций
Урок 16: Практическая работа №1

Занятие 16: Практическая работа №1

📅 15 декабря 2026 ⏱ 1 академический час (40 минут) Занятие 16

📋 План занятия

  1. 00:05 Постановка задачи практической работы
  2. 05:15 Самостоятельная работа: применение всех изученных операций
  3. 25:40 Разбор решений. Ответы на вопросы
  4. 35:40 Итоги. Завершение практической работы

📝 Практическая работа

Задание практической работы

Цель: Применить все изученные навыки для решения комплексной задачи.

# Задание: Анализ данных эксперимента # 1. Создание данных # Создайте массив времени t от 0 до 10 с шагом 0.5 (21 элемент) # Создайте массив скорости v = 2 + 3*sin(0.5*t) + 0.5*t # Создайте массив мощности P = 5 * v + 0.2 * v^2 # 2. Анализ данных # Найдите среднюю скорость и максимальную мощность # Найдите индексы максимальной скорости и минимальной мощности # Создайте маску для значений скорости > 5 # 3. Визуализация # Постройте график скорости и мощности на одном рисунке # Добавьте заголовок, подписи осей, легенду # Сохраните график в файл # 4. Функция # Напишите функцию для расчёта статистики (сумма, среднее, максимум, минимум) # Примените функцию к массивам скорости и мощности

Порядок выполнения

  1. Создайте новый скрипт "practical_work.jl".
  2. Выполните все шаги задания.
  3. Добавьте комментарии к каждому блоку кода.
  4. Проверьте корректность работы всех частей.
  5. Сохраните скрипт и сделайте скриншоты результатов.

📝 Домашнее задание

ДЗ #16 📅 Срок сдачи: 22 декабря 2026 🏆 Макс. балл: 10 баллов

Завершение практической работы

Задание

  1. Завершите все этапы практической работы.
  2. Убедитесь, что скрипт работает без ошибок.
  3. Добавьте дополнительные комментарии к коду.
  4. Подготовьте отчёт по результатам работы.

Требования к сдаче:

  • Файл скрипта "practical_work.jl".
  • Скриншоты всех графиков.
  • Краткий отчёт с результатами анализа.
📚 Материалы курса: Все предыдущие темы (занятия 1-15)
Урок 17: Экзамен (1-е полугодие)

Занятие 17: Экзамен (1-е полугодие)

📅 22 декабря 2026 ⏱ 1 академический час (40 минут) Занятие 17

📋 План занятия

  1. 00:05 Организационные вопросы. Выдача экзаменационных билетов
  2. 05:15 Выполнение контрольной работы
  3. 30:00 Сбор работ. Разбор типичных ошибок
  4. 35:40 Итоги полугодия. Обсуждение результатов

📝 Контрольная работа

Экзаменационные вопросы

Контрольная работа охватывает все темы, изученные в 1-м полугодии:

  • Тема 1: Введение в моделирование. Понятие модели.
  • Тема 2: Математическое моделирование.
  • Тема 3: Скаляры, векторы и матрицы.
  • Тема 4: Индексация и модификация массивов.
  • Тема 5: Операции с массивами.
  • Тема 6: Статистический анализ данных.
  • Тема 7: Вызов функций.
  • Тема 8: Бинарные массивы и логические операторы.
  • Тема 9: Логические операторы .&, .|, .!.
  • Тема 10: Условные операторы if-elseif-else.
  • Тема 11: Циклы for.
  • Тема 12: Вложенные циклы.
  • Тема 13: Визуализация данных (Plots).
  • Тема 14: Настройка графиков.
  • Тема 15: Создание функций.

Примеры заданий

  1. Создайте матрицу 4×4 и извлеките 2-ю строку и 3-й столбец.
  2. Напишите функцию для вычисления среднего и стандартного отклонения.
  3. Создайте маску для значений в диапазоне [10, 30] и выберите элементы.
  4. Постройте график функции y = x^2 на интервале [-5, 5].
  5. С помощью цикла вычислите сумму квадратов чисел от 1 до 20.

📝 Домашнее задание

ДЗ #17 📅 Срок сдачи: 29 декабря 2026 🏆 Макс. балл: 10 баллов

Подготовка к экзамену

Задание

  1. Повторите все темы полугодия.
  2. Выполните дополнительные задания для подготовки.
  3. Исправьте ошибки в своих работах.

Требования к сдаче:

  • Файл с решением дополнительных заданий.
  • Скриншоты выполненных заданий.
📚 Материалы курса: Все материалы 1-го полугодия
Итоговый тест: Моделирование технических систем

📝 Итоговый тест по курсу
«Моделирование технических систем»

📅 12 мая 2026 ⏱ 40 минут 🏆 25 баллов максимум

ФИО: _______________________________ Группа: _____

⬇️ Скачать шаблон кода для заполнения (.jl)

Файл: test_template.jl — откройте в Engee и заполните пропуски

Задача 1 5 баллов

📊 Массивы и индексация

Дан массив результатов измерения температуры (°C) каждый час в течение 12 часов:

temperature = [15.2, 16.1, 17.3, 18.0, 18.5, 19.2, 20.1, 19.8, 19.0, 18.2, 17.1, 16.0]
  1. Извлеките первое и последнее измерение (1.5 балла)
  2. Извлеките измерения с 3-го по 7-й час (1.5 балла)
  3. Измените значение на 6-м часу на 19.5 (2 балла)
✍️ Место для кода:
first_temp = ________
last_temp = ________
subset_temp = ________
________ = 19.5
Задача 2 5 баллов

📈 Операции с массивами и функции

Дан массив расстояний (в метрах), пройденных роботом за каждую секунду:

distances = [0.5, 0.6, 0.8, 1.0, 1.2, 1.1, 0.9, 0.7, 0.6, 0.5]
  1. Переведите расстояния в сантиметры (1 м = 100 см) (1.5 балла)
  2. Найдите максимальное пройденное расстояние в см (1.5 балла)
  3. Найдите среднее пройденное расстояние в см (2 балла)
✍️ Место для кода:
distances_cm = ________
max_distance = ________
avg_distance = ________
Задача 3 5 баллов

🎯 Бинарные массивы и условия

Дан массив показаний датчика движения (1 - движение, 0 - покой):

motion = [1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0]
  1. Создайте маску для моментов движения (1.5 балла)
  2. Найдите индексы (номера замеров), когда было движение (2 балла)
  3. Подсчитайте общее время движения (количество замеров) (1.5 балла)
✍️ Место для кода:
is_moving = ________
moving_indices = ________
moving_time = ________
Задача 4 5 баллов

🔄 Циклы и моделирование

Смоделируйте заполнение бассейна водой. Каждую минуту уровень воды поднимается на 2 см. Начальный уровень: 0 см. Время симуляции: 30 минут.

  1. Создайте массивы времени (0-30 минут) и уровня воды (2 балла)
  2. Используйте цикл для расчёта уровня воды каждую минуту (3 балла)
✍️ Место для кода:
initial_level = 0.0
rise_rate = 2.0
time_max = 30
time_array = ________
level_array = ________
for i in ________
    ________
end
Задача 5 5 баллов

📉 Полный анализ данных с графиками

Дан массив ежедневных продаж (в тысячах рублей) за 14 дней:

sales = [12, 15, 14, 18, 20, 22, 25, 24, 21, 19, 17, 16, 18, 20] days = 1:14
  1. Постройте график продаж по дням (2 балла)
  2. Найдите максимальные и минимальные продажи и дни, когда они были (1.5 балла)
  3. Найдите средние продажи (1.5 балла)
✍️ Место для кода:
plot(________, ________, title="Динамика продаж", xlabel="День", ylabel="Продажи (тыс. руб.)", linewidth=2, marker=:circle)
savefig("sales_plot.png")
max_sales, max_day = ________
min_sales, min_day = ________
avg_sales = ________

📌 Указание: Скопируйте код из скачанного файла в Engee, заполните все пропуски (________) и выполните ячейки.
После выполнения запустите ячейку с проверкой для автоматического подсчёта баллов.

Made on
Tilda