24
АЛГОРИТМЫ И ИСПОЛНИТЕЛИ ОСНОВЫ АЛГОРИТМИЗАЦИИ

Алгоритмы и исполнители

Embed Size (px)

Citation preview

Page 1: Алгоритмы и исполнители

АЛГОРИТМЫ И ИСПОЛНИТЕЛИ

ОСНОВЫ АЛГОРИТМИЗАЦИИ

Page 2: Алгоритмы и исполнители

Ключевые слова• алгоритм• свойства алгоритма

• дискретность• понятность• определённость• результативность• массовость

• исполнитель• характеристики исполнителя

• круг решаемых задач• среда• режим работы• система команд

• формальное исполнение алгоритма

Page 3: Алгоритмы и исполнители

Примеры алгоритмовОплата через терминал

Для совершения оплаты, необходимо выбрать нужную опцию на экране терминала.

Выбрать пункт «Оплатить услуги» Ввести номер счёта. На экране появится окно выбора суммы оплаты.

Ввести в окно «сумма оплаты» число, указанное на квитанции.Если всё правильно, то нажать кнопку «далее».На экране появится окно «сумма оплаты».

Вносить купюры с купюроприемник, пока не получится число, равное введенной ранее в окне выбора суммы оплаты. Нажать кнопку «оплатить» и дождаться распечатки чека.

Page 4: Алгоритмы и исполнители

Примеры алгоритмовНарисовать лошадь

Page 5: Алгоритмы и исполнители

Примеры алгоритмов

Исходные данные Алгоритм Результат

Общая схема работы алгоритма

1.Задать два числа

2.Сложить заданные числа

3.Разделить сумму на 2

1.Задать два числа

2.Сложить заданные числа

3.Разделить сумму на 2

Вычислительный алгоритм

Среднее арифметическое двух чиселСреднее арифметическое двух чисел

Page 6: Алгоритмы и исполнители

Исполнитель алгоритмаИсполнитель - это некоторый объект (человек, животное,

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

Формальный Формальный НеформальныйНеформальный

Исполнитель Исполнитель

Круг решаемых задачКруг решаемых задач

Среда исполнителяСреда исполнителя

Режимы работыРежимы работы

Непосредственное управление

Программное управление

Область, обстановка, условия

Исполнители алгоритмовИсполнители алгоритмов Ôàéë "SWF"

СКИСКИ

Page 7: Алгоритмы и исполнители

Исполнитель Робот

Page 8: Алгоритмы и исполнители

Исполнитель Кузнечик

Page 9: Алгоритмы и исполнители

Определение объектов, указанных в задаче

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

Установление свойствобъектов, отношений

и действий с объектами

Определение исходных данных и результата

Определение последовательности

действий

Запись последовательностидействий с помощью

команд СКИ

Алгоритм – модель деятельности исполнителя алгоритмов

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

Page 10: Алгоритмы и исполнители

Свойства алгоритмаСвойства алгоритмаСвойства алгоритма

Путь решения задачиразделён на отдельные шаги

Алгоритм состоит изкоманд, входящих в СКИ

Команды понимаютсяоднозначно

Обеспечивается получение ожидаемого результата

Обеспечивается решениезадач с различными исходными

данными

Дискретность Дискретность

Понятность Понятность

Определённость Определённость

Результативность Результативность

Массовость Массовость

Page 11: Алгоритмы и исполнители

Дискретность (от лат. discretus – разделенный, прерывистый) указывает, что любой алгоритм должен состоять из конкретных действий, следующих в определенном порядке. Образованная структура алгоритма оказывается дискретной: только выполнив одну команду, исполнитель сможет приступить к выполнению следующей.

да нет

Начало

Конец

x, y

a

x > y

a = x a = y

Page 12: Алгоритмы и исполнители

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

Окрошка «Мясная»

1-1.5 л кваса500 г картофеля300 г колбасы3 яйца200 г редиса

300 г огурцовзелень по вкусусметанасольперец

Картофель отварить до готовности.Остудить, почистить.Нарезать кубиками.Колбасу нарезать кубиками.Яйца нарезать кубиками.Редис тонко нарезать.Огурцы нарезать кубиками.

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

Рецепт приготовления

Page 13: Алгоритмы и исполнители

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

Доехать до стадиона

1. Идти прямо

Алгоритм не уточняет, какое расстояние нужно пройти прямо.

В какую сторону повернуть.

В какой автобус сесть.

2. Повернуть3. Идти прямо4. Сесть в автобус

5. Доехать до остановки «Стадион»

Page 14: Алгоритмы и исполнители

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

Данная последовательность команд не соответствует свойству результативности. Что нужно изменить?

1. Взять книгу2. Открыть первую страницу3. Пока не конец книги выполнять

следующие действия:3.1 Прочитать текст3.2 Перелистнуть страницу

Чтение книги

3.3 Прочитать текст3.4 Открыть первую страницу

Page 15: Алгоритмы и исполнители

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

Алгоритм вычисления корней квадратного уравнения.

Конец

да

нет

Начало

Ввод коэффициентов

Вычислить дискриминант

Дискриминантменьше 0?

Вычислить значения корней

«Корней нет»Вывод корней

a

acbbx

2

42

2,1

Page 16: Алгоритмы и исполнители

Решето ЭратосфенаРешето Эратосфена Ôàéë "SWF"

Рассмотренная последовательность действий является алгоритмом, так как она удовлетворяет свойствам:

•дискретности - процесс нахождения простых чисел разбит на шаги;

•понятности - каждая команда понятна ученику 9 класса, выполняющему этот алгоритм;

•определённости - каждая команда трактуется и выполняется исполнителем однозначно; имеются указания об очерёдности выполнения команд;

•результативности - через некоторое число шагов достигается результат;

•массовости - последовательность действий применима для любого натурального n.

Решето Эратосфена

Page 17: Алгоритмы и исполнители

Алгоритм - это предназначенное для

конкретного исполнителя описание

последовательности действий, приводящих от

исходных данных к требуемому результату,

которое обладает свойствами:•дискретности•понятности•определённости•результативности•массовости

Page 18: Алгоритмы и исполнители

Возможности автоматизации деятельности человека

Решение задачи по готовому алгоритму требует от исполнителя только строгого следования заданным предписаниям.

Формального исполнения алгоритма обеспечивает возможность автоматизации деятельности человека

Процесс решения задачи представляетсяв виде последовательности операций

Создается машина, способная выполнятьэти операции в указанной последовательности

Человек освобождается от рутинной работы,выполнение которой поручается автомату

Page 19: Алгоритмы и исполнители

Роботизированная линия сборки, управляемая компьютером и запрограммированная на производство

сварных швов на корпусе каждого автомобиля

Автоматизация деятельности человека

Автоматизация гостиниц.Профессиональная система «UCS-Shelter».

Автоматизированы такие процессы как бронирование, поселение, выселение, работа со счетами гостей.

Автоматизация торговли. Автоматизация услуг в сфере торговли делает скорость работы

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

Автоматизация производства

Page 20: Алгоритмы и исполнители

Самое главноеИсполнитель - некоторый объект (человек, животное,

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

Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Для каждого формального исполнителя можно указать: круг решаемых задач, среду, систему команд и режим работы.

Алгоритм - предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату, которое обладает свойствами дискретности, понятности, определённости, результативности и массовости.

Способность исполнителя действовать формально обеспечивает возможность автоматизации деятельности человека.

Page 21: Алгоритмы и исполнители

Вопросы и задания

Что называют алгоритмом?Подберите синонимы к слову «предписание».Приведите примеры алгоритмов, изучаемых вами вшколе.

Кто может быть исполнителем алгоритма?Приведите пример формального исполнителя.Приведите пример, когда человек выступает в роли

формального исполнителя.

Какие команды должны быть у робота, выполняющего функции:

а) кассира в магазине?

б) дворника?

в) охранника?

От чего зависит круг решаемых задач исполнителя «компьютер»?

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

Что такое команда, система команд исполнителя?Перечислите основные свойства алгоритма.К чему может привести отсутствие какого-либо

свойства у алгоритма? Приведите примеры.

В чём важность возможности формального исполненияалгоритма?Последовательность чисел строится по следующему

алгоритму:

первые два числа последовательности принимаются

равными 1;

каждое следующее число последовательности

принимается равным сумме двух предыдущих чисел.

Запишите 10 первых членов этой

последовательности.

Некоторый алгоритм получает из одной цепочки символов новую цепочку следующим образом.

Сначала записывается исходная цепочка символов, после нее записывается исходная цепочка символов в обратном порядке, затем записывается буква, следующая в русском алфавите за той буквой, которая в исходной цепочке стояла на последнем месте. Если в исходной цепочке на последнем месте стоит буква Я, то в качестве следующей буквы записывается буква А.

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

Дана цепочка символов КОМ. Сколько букв О будет в цепочке символов, которая получится, если применить алгоритм к данной цепочке, а затем ещё раз применить алгоритм к результату его работы?

Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии.

Система команд Черепашки состоит из двух команд:Вперёд n (где n - целое число) – вызывает

передвижение Черепашки на n шагов в направлении движения - в том направлении, куда развёрнуты её голова и корпус;

Направо m (где m - целое число) - вызывает изменение направления движения Черепашки на m градусов по часовой стрелке.

Что будет результатом исполнения Черепашкой алгоритма:

Повтори 8 [ Направо 45 Вперёд 45 ]?

Система команд исполнителя Вычислитель состоит

из двух команд, которым присвоены номера:

1 - вычти 1

2 - умножь на 3

Первая из них уменьшает число на 1, вторая

увеличивает число в 3 раза.

При записи алгоритмов для краткости указываются

лишь номера команд.

Запишите алгоритм для исполнителя Вычислитель,

содержащий не более 5 команд:

а) получения из числа 3 числа 16

б) получения из числа 1 числа 25

Система команд исполнителя Конструктор состоит из

двух команд, которым присвоены номера:

1 - приписать 2

2 - разделить на 2

По первой из них к числу приписывается справа 2,

по второй число делится на 2.

Как будет преобразовано число 8, если исполнитель

выполнит алгоритм 22212?

Составьте алгоритм в системе команд этого

исполнителя, по которому число 1 будет преобразовано

в число 16 (в алгоритме должно быть не более 5

команд).

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

1 - Вверх2 - Вниз3 - Вправо4 - ВлевоПри выполнении каждой такой команды Робот

перемещается в соседнюю клетку в указанном направлении. Если же в этом направлении между клетками стоит стена, то Робот разрушается.

В какой клетке должен находиться исполнитель Робот, чтобы после выполнения алгоритма 3241 в неё же и вернуться?

А

В

Page 22: Алгоритмы и исполнители

Опорный конспект

Дискретность Дискретность

Свойства алгоритмаСвойства алгоритма

Понятность Понятность

Определённость Определённость

Результативность Результативность

Массовость Массовость

Алгоритм - это предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату, которое обладает свойствами дискретности, понятности, определённости, результативности и массовости.

Page 23: Алгоритмы и исполнители

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

§ 3.1 (стр. 100 - 109)

РТ № ___ (стр. __)

Page 24: Алгоритмы и исполнители

Источники информации

1. http://school-collection.edu.ru/catalog/res/07e215ef-cd48-450d-8cf4-f5777cd832b2/?interface=catalog – решето Эратосфена

2. http://magsveta.ru/content/5-payment - оплата через терминал3. http://luntiki.ru/uploads/images/6/b/4/e/86/bc72e83c37.jpg - этапы рисования лошади4. http://files.school-collection.edu.ru/dlrstore/58e9a0c3-11df-4c94-a5eb-

b0a7b359ea35/9_32.swf - исполнители алгоритмов5. http://dic.academic.ru/pictures/enc_colier/ph08781.jpg - роботизированная линия

сборки6. http://un-vrn.ru/images/img/r3.jpg - автоматизация гостиниц7. http://www.chopper-bike.ru/images_for_articles/1/334.jpg - автоматизация торговли8. http://img12.nnm.ru/2/f/c/9/4/447395d53243cf8c6bf158cac12.jpg - автоматизация

производства9. http://img-fotki.yandex.ru/get/4406/cadi-1986.51a/0_802d8_53263e94_XL - чтение

книги10. http://www.sports.ru/images/object_53.1185365463.jpg - стадион11. http://www.rupark.com/jpg1464976727 - футбол12. http://900igr.net/datai/algebra/Koren-uravnenija/0011-016-Naprimer-reshaju-

kvadratnoe-uravnenie.png - решение квадратного уравнения13. http://www.edcommunity.ru/upload/resize_cache/iblock/b15/720_521_1/cwqru

%20mfvdus5.jpg – квадратное уравнение