Алгоритмические конструкции
Конструкция «следование». Линейный алгоритм. Ограниченность линейных алгоритмов: невозможность предусмотреть зависимость последовательности выполняемых действий от исходных данных.
Конструкция «ветвление». Условный оператор: полная и неполная формы.
Выполнение и невыполнение условия (истинность и ложность высказывания). Простые и составные условия. Запись составных условий.
Конструкция «повторения»: циклы с заданным числом повторений, с условием выполнения, с переменной цикла. Проверка условия выполнения цикла до начала выполнения тела цикла и после выполнения тела цикла: постусловие и предусловие цикла. Инвариант цикла.
Запись алгоритмических конструкций в выбранном языке программирования.
Примеры записи команд ветвления и повторения и других конструкций в различных алгоритмических языках.
Разработка алгоритмов и программ
Оператор присваивания. Представление о структурах данных.
Константы и переменные. Переменная: имя и значение. Типы переменных: целые, вещественные, символьные, строковые, логические. Табличные величины (массивы). Одномерные массивы. Двумерные массивы.
Примеры задач обработки данных:
· нахождение минимального и максимального числа из двух, трех, четырех данных чисел;
· нахождение всех корней заданного квадратного уравнения;
· заполнение числового массива в соответствии с формулой или путем ввода чисел;
· нахождение суммы элементов данной конечной числовой последовательности или массива;
· нахождение минимального (максимального) элемента массива.
Знакомство с алгоритмами решения этих задач. Реализации этих алгоритмов в выбранной среде программирования.
Составление алгоритмов и программ по управлению исполнителями Робот, Черепашка, Чертежник и др.
Знакомство с постановками более сложных задач обработки данных и алгоритмами их решения: сортировка массива, выполнение поэлементных операций с массивами; обработка целых чисел, представленных записями в десятичной и двоичной системах счисления, нахождение наибольшего общего делителя (алгоритм Евклида).
Понятие об этапах разработки программ: составление требований к программе, выбор алгоритма и его реализация в виде программы на выбранном алгоритмическом языке, отладка программы с помощью выбранной системы программирования, тестирование.
Простейшие приемы диалоговой отладки программ (выбор точки останова, пошаговое выполнение, просмотр значений величин, отладочный вывод).
Знакомство с документированием программ. Составление описание программы по образцу.
Анализ алгоритмов
Сложность вычисления: количество выполненных операций, размер используемой памяти; их зависимость от размера исходных данных. Примеры коротких программ, выполняющих много шагов по обработке небольшого объема данных; примеры коротких программ, выполняющих обработку большого объема данных.
Определение возможных результатов работы алгоритма при данном множестве входных данных; определение возможных входных данных, приводящих к данному результату. Примеры описания объектов и процессов с помощью набора числовых характеристик, а также зависимостей между этими характеристиками, выражаемыми с помощью формул.
Робототехника
Робототехника – наука о разработке и использовании автоматизированных технических систем. Автономные роботы и автоматизированные комплексы. Микроконтроллер. Сигнал. Обратная связь: получение сигналов от цифровых датчиков (касания, расстояния, света, звука и др.
Примеры роботизированных систем (система управления движением в транспортной системе, сварочная линия автозавода, автоматизированное управление отопления дома, автономная система управления транспортным средством и т.п.).
Автономные движущиеся роботы. Исполнительные устройства, датчики. Система команд робота. Конструирование робота. Моделирование робота парой: исполнитель команд и устройство управления. Ручное и программное управление роботами.
Пример учебной среды разработки программ управления движущимися роботами. Алгоритмы управления движущимися роботами. Реализация алгоритмов "движение до препятствия", "следование вдоль линии" и т.п.
Анализ алгоритмов действий роботов. Испытание механизма робота, отладка программы управления роботом Влияние ошибок измерений и вычислений на выполнение алгоритмов управления роботом.