Вопросы занятия:
· Следование;
· Линейные алгоритмы;
· Составление линейных алгоритмов.
Алгоритмы постоянно присутствуют в нашей жизни. Например, в учебной деятельности ученик выполняет много разнообразных алгоритмов: при решении уравнений и текстовых задач, применении правил русского и иностранного языков, проведении опытов и так далее.
Например, решая задачи на уроке математики, каждый ученик является исполнителем следующего алгоритма:
1. Прочитать условие задачи.
2. Выяснить, значения каких величин известны и значения каких величин нужно найти.
3. Составить план решения задачи.
4. Записать решение задачи.
5. Записать ответ.
На уроках русского языка ученики часто выполняют алгоритм разбора слова по составу:
1. Определить окончание слова и обозначить его.
2. Определить основу слова.
3. Подобрать однокоренные слова.
4. Определить корень слова и обозначить его.
5. Обозначить приставку слова.
6. Обозначить суффикс слова.
Выполняют действия по алгоритму и на производстве. Например, в проектном бюро завода процесс изготовления нового устройства всегда начинается с проектирования этого изделия. Проектировщики выполняют следующий алгоритм:
1. Определить назначение будущего изделия, основные требования к нему, условия использования.
2. Проанализировать уже существующие аналогичные изделия.
3. Создать эскизный проект.
4. Разработать технический проект.
5. Разработать техническую документацию.
Каждому человеку ежедневно необходимо решать массу задач в повседневной жизни, в учёбе, в исследовательской деятельности, во время путешествий и отдыха, на производстве и так далее. Все эти задачи описываются своим алгоритмом. И этих алгоритмов огромное множество.
Однако для записи любого алгоритма хватает трёх основных алгоритмических конструкций (структур) – это следование, ветвление и повторение.
Эту идею предложил и доказал Э́дсгер Ви́бе Де́йкстра нидерландский учёный, известный своими работами в области алгоритмики. Труды Де́йкстра оказали влияние на развитие информатики и информационных технологий; он является одним из разработчиков концепции структурного программирования.
Следование – это основная алгоритмическая конструкция, которая показывает естественный, последовательный порядок действий.
А алгоритмы в которых применяется только структура «следование», называются линейными алгоритмами.
Графически алгоритмическую конструкцию «следование» изображают следующим образом:
Выполняемое действие или процесс изображается с помощью прямоугольника. Сюда записываются действия, которые необходимо выполнить при переходе на этот блок.
В блок Процесс входит одна линяя связи и выходит одна линяя связи.
Количество блоков процесс определяется количеством команд в алгоритме.
Давайте вместе выполним алгоритм, представленный на блок-схеме.
Итак, начало. Далее следует блок данных, который изображается с помощью параллелограмма, он содержит исходные данные или в нём выведены результаты.
Нам необходимо загадать число в диапазоне от 1 до 5. Загадаем, например, число 3. теперь переходим к блоку процесс. Здесь нам нужно прибавить к задуманному - число 20. Получаем 23. Следующее действие – нужно прибавить к полученному числу, первоначально задуманное число. Получим 26.
Следующее действие, нужно разделить полученное число на 2 и отнять от частного наше задуманное число. Получим 10. Конец. Алгоритм выполнен.
Обратите внимание, мы с вами выполняли команды один раз последовательно друг за другом.
То есть, линейный алгоритм – это алгоритм, в котором команды выполняются в порядке их записи, то есть последовательно друг за другом один раз.
Перейдём к практической части урока.
Первое задание составим линейный алгоритм для исполнителя Робот. Итак, робот находится в клетке А, нужно перевести робота в клетку В и все отмеченные клетки закрасить.
Системой команд исполнителя робот являются четыре команды перемещения – это вверх, вниз, влево и вправо. При выполнении данных команд робот перемещается на одну клетку в выбранном направлении. По команде Закрасить робот закрасит клетку в которой находится.
Итак, начинаем выполнение алгоритма с команды – «использовать робот». Далее записываем имя алгоритма – «в клетку В».
Начало.
Выполним наш алгоритм пошагово, с помощью пульта. На панели инструментов нажимаем кнопку Робот пульт.
Итак, смотрим на поле робота. Он находится в клетке А, которая отмечена, значит первая команда будет закрасить.
Следующая команда, вправо и снова клетка отмечена, значит необходимо выполнить команду закрасить. И так далее, выполняем команды, пока не окажемся в клетке В.
Для записи данного алгоритма мы использовали основную алгоритмическую конструкцию Следование, так как все команды мы записали в естественном последовательном порядке. А данный алгоритм будет линейным.
Рассмотрим следующее задание.
Необходимо записать команды для алгоритма, определяющего, сумму первой и последней цифры заданного трёхзначного числа.
Для решения задачи достаточно найти число сотен и число единиц в заданном числе и сложить их.
Чтобы вычислить количество единиц, необходимо исходное число разделить на 10 и взять остаток. Чтобы вычислить количество сотен, необходимо разделить исходное число на 100 и взять целую часть.
В алгоритмическом языке есть специальные операции:
Операция деления нацело div. Целочисленное деление отличается от обычной операции деления тем, что делит число нацело с отбрасыванием остатка.
Результат целочисленного деления равен нулю, если делимое меньше делителя. Например, значением выражения 5 div 7=0.
Или другой пример: переменной x:=67div10. Здесь переменная x получит значение 6, то есть 6 – это целая часть от деления числа 67 на 10.
И операция остаток от деления mod. Деление по модулю вычисляет остаток, полученный при выполнении целочисленного деления.
Например, переменной y:=65 mod 10. Здесь переменная y получит значение 5, то есть 5 – это остаток от деления числа 65 на 10.
Значит для решения нашей задачи нам нужно
Исполним команды алгоритма для числа 468.
Рассмотрим задачу: Дядя Фёдор, отправляясь в путешествие, заправил автомобиль на n рублей. Цена 1 литра бензина — 35 рублей. В руководстве по эксплуатации автомобиля он прочитал следующее: «Чтобы преодолеть расстояние в 100 километров, нужно 7 литров бензина». Через сколько километров пути Дяде Фёдору необходимо будет дозаправить автомобиль если учесть, что он потратил на бензин пятьсот рублей?
Нам необходимо представить решение данной задачи в виде блок-схемы.
Пришло время подвести итоги урока.
Для записи любого алгоритма хватает трёх основных алгоритмических конструкций (структур) – это следование, ветвление и повторение.
В алгоритмическом языке есть специальные операции:
Операция деления нацело div, с помощью данной операции вычисляется целое частное.
И операция остаток от деления mod, с помощью этой операции вычисляется остаток.