лекция 9 Алгоритм и исполнитель.ppt
- Количество слайдов: 35
Алгоритм. Исполнитель. Лекция 9
Понятия алгоритма и исполнителя Ежедневно мы совершаем всевозможные действия. Для достижения какого-либо результата нам приходится выполнять последовательность действий. Чаще всего это делается неосознанно. Например, мама попросила вас сходить в магазин за молоком. Ваши действия: Одеться. Взять деньги. Выйти из дома. Дойти до магазина. Купить молоко. Вернуться домой.
Но кроме самих действий важна и последовательность их выполнения. Например, если в исходной последовательности поменять местами пятое и шестое действия, то последовательность примет вид: Одеться. Выйти из дома. Взять деньги. Дойти до магазина. Вернуться домой. Купить молоко. После выполнения этих действий результат не будет достигнут. Организованная определённым образом последовательность действий называется алгоритмом.
Задание. Кто сестра Серёжи? 1. 2. 3. 4. 5. Напиши слово СЕРЁЖА Замени 1 -ю букву на букву Л Повтори 3 раза п. 4 Убери 3 -ю букву Вставь букву Н перед 3 -й буквой
Слово "Алгоритм" происходит от algorithmi — латинского написания имени аль-Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (город в современном Узбекистане) Мухаммеда бен Мусу, жившего в 783850 гг.
Из чего состоит алгоритм? начало команды конец
Алгоритмами можно назвать любые инструкции, предписывающие последовательность действий для выполнения какой-либо работы. Например, кулинарный рецепт – это алгоритм работы повара с целью приготовления блюда; инструкция по сборке машинки из деталей детского конструктора – алгоритм для ребёнка; инструкция по использованию кухонного комбайна – алгоритм для домохозяйки и т. д. Мы видим, что каждый алгоритм рассчитан на конкретного исполнителя (того, кто этот алгоритм будет исполнять). В качестве объекта-исполнителя может выступать как техническое устройство, так и живое существо.
Характеристики исполнителя Основными характеристиками исполнителя являются: среда, элементарные действия, система команд, отказы. Среда исполнителя – это его «место обитания» , множество объектов, которые его окружают. Среди этих объектов выделяют такие, как данные – изменение которых влияет на состояние среды. Система команд исполнителя. Запись алгоритма распадается на отдельные указания исполнителю по выполнению некоторых законченных действий. Каждое из таких указаний называется командой. Совокупность всех команд, которые исполнитель может выполнить, называется системой команд исполнителя (СКИ). Команды алгоритма выполняются одна за другой. Их поочерёдное выполнение приводит к достижению цели за конечное число шагов. Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды.
Характеристики исполнителя Элементарные действия. За каждой командой из системы команд исполнителя закреплено конкретное элементарное действие. Исполнителя можно представить в виде устройства с кнопочным управлением. Каждая кнопка соответствует одной команде исполнителю, и нажатие означает вызов этой команды. После вызова команды исполнитель совершает элементарное действие, соответствующее данной команде. Важно отметить, что нас интересует результат, а не механизм выполнения команды. Отказы исполнителя возникают при вызове команды в недопустимом для данной команды состоянии среды. Другими словами – это случай, когда попытка выполнить команду приводит к аварии. Описания отказов исполнителя входят в описание его команд. Отказы возникают в результате ошибок при составлении алгоритма.
Система команд исполнителя СКИ стиральной машины-автомата: • Замачивание • Стирка • Полоскание • Отжим • Сушка
Система отказов исполнителя Отказ «Не понимаю» возникает, если подается команда, не входящая в СКИ. Отказ «Не могу» возникает, если команда из СКИ не может быть выполнена в конкретных условиях среды. ? Стиральная машина не может выполнить команду «полоскание» , если к машине не подведена вода. ?
Этапы разработки алгоритма 1) выделяются фигурирующие в задаче объекты, устанавливаются свойства объектов, отношения между объектами и возможные действия с объектами; 2) определяются исходные данные и результат; 3) определяется точная последовательность действий исполнителя, обеспечивающая переход от исходных данных к результату; 4) последовательность действий записывается на языке, понятном исполнителю.
свойства алгоритма: ü Дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего. ü Определенность — каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче. ü Результативность (конечность) — алгоритм должен приводить к решению задачи за конечное число шагов. ü Массовость — алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
Способы описания алгоритма • Словесный • Пример. Алгоритм нахождения наибольшего общего делителя двух натуральных чисел (алгоритм Евклида): • Задать два числа • Если они равны, взять любое из них в качестве ответа, в противоположном случае продолжить выполнение алгоритма • Определить большее из чисел • Заменить большее из чисел разностью большего и меньшего из чисел • Повторить алгоритм с шага 2 • Конец алгоритма
Способы описания алгоритма На языке блок-схем • Алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий
Способы описания алгоритма На языке программирования
Графическое изображение алгоритма широко используется перед программированием задачи вследствие его наглядности, так как зрительное восприятие облегчает процесс написания программы, его корректировки при возможных ошибках, осмысление процесса обработки информации.
Основные блоки - блок начала или конца алгоритма - блок присваивания - блок ввода или вывода - блок проверки условий - блок счетчика
Алгоритмические конструкции Следование Образуется из последовательности действий, следующих одно за другим
Алгоритмические конструкции Ветвление Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжена независимо от того, какой путь будет выбран.
Алгоритмические конструкции Цикл — многократное выполнение некоторой совокупности действий. Совокупность действий — тело цикла. Существует несколько типов циклов — цикл с параметром, цикл с пред- и пост- условиями. Цикл с предусловием может ни разу не выполниться, а цикл с постусловием выполниться хотя бы раз.
Пример № 1 Составьте алгоритм вычисления выражения у=2 х+в, х=5, в=5. На языке блок-схем: На естественном языке: НАЧАЛО 1. х=5 Х=5 2. В=5 3. у=2 х+в 4. Напечатать у У=2 х+в у КОНЕЦ
Пример № 2 Камень падает с высоты 20 м. Вычислите время его падения. НАЧАЛО Дано: Решение: H=20 h=20 м h=gt 2/2 G=10 g=9, 8 м/с2 t 2=2 h/g T= 2 H/G t=? t= 2 h/g T, H Ответ: 2 с КОНЕЦ
Выполни алгоритм А=, В=
Выполни алгоритм для A=2, B=10 В=
Выполни алгоритм НАЧАЛО H=20 G=10 T= T, H КОНЕЦ
КОНСТРУИРОВАНИЕ АЛГОРИТМОВ ЛИНЕЙНОЙ СТРУКТУРЫ • Задача № 1. Периметр треугольника равен Р, длина одной стороны равна А, а другой - В. Найти длину третьей стороны. • Задача № 2. Длина стороны треугольника равна А, периметр равен Р, длины двух других сторон равны между собой. Найти эти длины.
Выполни алгоритм Начало a=3, b=8 да b-a>7 S=a*b нет S=b 2 -a 2 Печать(S) Конец
Выполни алгоритм для х=25 и х=31 Начало Ввод(х) да y=x/5+1 х кратно 5 Печать(y) Конец нет y=2*x
Выполни алгоритм Начало k=4 да нет 0
КОНСТРУИРОВАНИЕ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ • Задача № 3 Написать алгоритм нахождения максимального среди трех чисел. • Задача № 4 Вводятся оценки за контрольные работы по физике и математике. Выведите на экран "Молодец", если их сумма равна или более 9, иначе - "Подтянись".
Выполни алгоритм для i=3, S=0, Х=1
Выполни алгоритм для i=1, S=1, Х=5
Выполни алгоритм для i=1, S=1, Х=9


