Федеральная образовательная программа основного общего образования утв. Приказом Минпросвещения России от 18.05.2023 N 370.

Алгоритмы и элементы программирования

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

Исполнители. Состояния, возможные обстановки и система команд исполнителя; команды-приказы и команды-запросы; отказ исполнителя. Необходимость формального описания исполнителя. Ручное управление исполнителем.

Алгоритм как план управления исполнителем (исполнителями). Алгоритмический язык (язык программирования) - формальный язык для записи алгоритмов. Программа - запись алгоритма на конкретном алгоритмическом языке. Компьютер - автоматическое устройство, способное управлять по заранее составленной программе исполнителями, выполняющими команды. Программное управление исполнителем. Программное управление самодвижущимся роботом.

Словесное описание алгоритмов. Описание алгоритма с помощью блок-схем. Отличие словесного описания алгоритма, от описания на формальном алгоритмическом языке.

Системы программирования. Средства создания и выполнения программ.

Понятие об этапах разработки программ и приемах отладки программ.

Управление. Сигнал. Обратная связь. Примеры: компьютер и управляемый им исполнитель (в том числе робот); компьютер, получающий сигналы от цифровых датчиков в ходе наблюдений и экспериментов, и управляющий реальными (в том числе движущимися) устройствами.

Алгоритмические конструкции

Конструкция "следование". Линейный алгоритм. Ограниченность линейных алгоритмов: невозможность предусмотреть зависимость последовательности выполняемых действий от исходных данных.

Конструкция "ветвление". Условный оператор: полная и неполная формы.

Выполнение и невыполнение условия (истинность и ложность высказывания). Простые и составные условия. Запись составных условий.

Конструкция "повторения": циклы с заданным числом повторений, с условием выполнения, с переменной цикла. Проверка условия выполнения цикла до начала выполнения тела цикла и после выполнения тела цикла: постусловие и предусловие цикла. Инвариант цикла.

Запись алгоритмических конструкций в выбранном языке программирования.

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

Разработка алгоритмов и программ

Оператор присваивания. Представление о структурах данных.

Константы и переменные. Переменная: имя и значение. Типы переменных: целые, вещественные, символьные, строковые, логические. Табличные величины (массивы). Одномерные массивы. Двумерные массивы.

Примеры задач обработки данных:

- нахождение минимального и максимального числа из двух, трех, четырех данных чисел;

- нахождение всех корней заданного квадратного уравнения;

- заполнение числового массива в соответствии с формулой или путем ввода чисел;

- нахождение суммы элементов данной конечной числовой последовательности или массива;

- нахождение минимального (максимального) элемента массива.

Знакомство с алгоритмами решения этих задач. Реализации этих алгоритмов в выбранной среде программирования.

Составление алгоритмов и программ по управлению исполнителями Робот, Черепашка, Чертежник и др.

Знакомство с постановками более сложных задач обработки данных и алгоритмами их решения: сортировка массива, выполнение поэлементных операций с массивами; обработка целых чисел, представленных записями в десятичной и двоичной системах счисления, нахождение наибольшего общего делителя (алгоритм Евклида).

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

Простейшие приемы диалоговой отладки программ (выбор точки останова, пошаговое выполнение, просмотр значений величин, отладочный вывод).

Знакомство с документированием программ. Составление описание программы по образцу.

Анализ алгоритмов

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

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

Робототехника

Робототехника - наука о разработке и использовании автоматизированных технических систем. Автономные роботы и автоматизированные комплексы. Микроконтроллер. Сигнал. Обратная связь: получение сигналов от цифровых датчиков (касания, расстояния, света, звука и др.

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

Автономные движущиеся роботы. Исполнительные устройства, датчики. Система команд робота. Конструирование робота. Моделирование робота парой: исполнитель команд и устройство управления. Ручное и программное управление роботами.

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

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

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

Понятие математической модели. Задачи, решаемые с помощью математического (компьютерного) моделирования. Отличие математической модели от натурной модели и от словесного (литературного) описания объекта. Использование компьютеров при работе с математическими моделями.

Компьютерные эксперименты.

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