Понятие алгоритма (1)

Содержание

Слайд 2

Что такое алгоритм?

Каждый из нас ежедневно использует различные алгоритмы: инструкции, правила, рецепты

Что такое алгоритм? Каждый из нас ежедневно использует различные алгоритмы: инструкции, правила,
и т.п. Обычно мы это делаем не задумываясь.

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

Слайд 3

Происхождение слова "алгоритм"

Слово "алгоритм" было введено в обращение выдающимся арабским математиком основателем

Происхождение слова "алгоритм" Слово "алгоритм" было введено в обращение выдающимся арабским математиком
алгебры в IX веке Мухаммед ибн Муса аль-Хорезми
аль-Хорезми написал сочинение, в котором впервые дал описание позиционной десятичной системы счисления, а так же
вывел правила арифметических действий над целыми и дробными числами. В переводе любое правило начиналось словами: «Алгоризми сказал…»

Мухаммед ибн Муса аль-Хорезми
(787-850)

Слайд 4

Использование понятия "алгоритм"

В науке использовать понятия "алгоритм" начал немецкий ученый филосов, математик

Использование понятия "алгоритм" В науке использовать понятия "алгоритм" начал немецкий ученый филосов,
Лейбниц в 17-м веке.
Первые известные алгоритмы — это правила выполнения арифметических действий с числами. В них четко определены объекты (числа в десятичной записи) и элементарные шаги (сложить, вычесть, перемножить два однозначных числа).

Го́тфрид Ви́льгельм Ле́йбниц
(1646 —1716) 

Слайд 5

Эволюция значения "алгоритм"

Сначала определение понятия алгоритма было проблемой математики, однако с

Эволюция значения "алгоритм" Сначала определение понятия алгоритма было проблемой математики, однако с
течением времени теория алгоритмов стала развиваться за счет влияния открытий не только в математике, но и в информатике. В настоящее время алгоритм является одним из главных понятий информатики.

Слайд 6

Значительный вклад в развитие теории алгоритмов внесли:

Английский математик Алан Тьюринг в 1936

Значительный вклад в развитие теории алгоритмов внесли: Английский математик Алан Тьюринг в
году предложил абстрактную вычислительную «Машину Тьюринга», которая позволила формализовать понятие алгоритма и до сих пор используется во множестве теоретических и практических исследованиях

А́лан Мэ́тисон Тью́ринг
(1912 —1954)

Слайд 7

Значительный вклад в развитие теории алгоритмов внесли:

Американский математик Эмиль Пост предложил абстрактную

Значительный вклад в развитие теории алгоритмов внесли: Американский математик Эмиль Пост предложил
вычислительную машину – «Машину Поста», которая отличается от машины Тьюринга большей простотой. Обе машины «эквивалентны» и были созданы для уточнения понятия «алгоритм».

Эмиль Леон Пост
(1897 —1954)

Слайд 8

Выдающийся американский математик Алонзо Чёрч разработал теорию лямбда-исчисление, последовавшей за его знаменитой

Выдающийся американский математик Алонзо Чёрч разработал теорию лямбда-исчисление, последовавшей за его знаменитой
статьёй 1936 года, в которой он показал существование «неразрешимых задач» (теорема Чёрча — Тьюринга)
Впоследствии Чёрч и Тьюринг показали, что лямбда-исчисления и машина Тьюринга имели одинаковые свойства, таким образом доказывая, что различные «механические процессы вычислений» имеют одинаковые возможности.

Alonzo Church
Алонзо Чёрч
(1903— 1995)

Значительный вклад в развитие теории алгоритмов внесли:

Слайд 9

Алгоритм

от лат. Algorithm (написание имени аль-Хорезми)
набор инструкций, описывающих строгий и четкий порядок

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

Слайд 10

Верно ли, записан алгоритм …

Налить воду в чайник
Открыть кран газовой горелки
Поставить чайник

Верно ли, записан алгоритм … Налить воду в чайник Открыть кран газовой
на плиту
Ждать, пока вода не закипит
Поднести спичку к горелке
Зажечь спичку
Выключить газ

Слайд 11

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

Для любого алгоритма справедливы общие закономерности - свойства алгоритма

Свойства алгоритмов Для любого алгоритма справедливы общие закономерности - свойства алгоритма

Слайд 12

Детерминированность алгоритма

Это определенность (однозначность, единственность) толкования правил выполнения действий. То есть при

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

Пример детерминированности алгоритма - список товаров для покупки.
Как указание купить все эти товары в любом порядке.
Это недетерминированный алгоритм.
Как указание купить все эти товары
в данном порядке.
Это детерминированный алгоритм.

Слайд 13

Массовость алгоритма

Возможность применения алгоритма к множеству однотипных задач (один и тот же

Массовость алгоритма Возможность применения алгоритма к множеству однотипных задач (один и тот
алгоритм можно использовать с разными исходными данными)

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

Слайд 14

Результативность и конечность алгоритма

Возможность получения из исходных данных нужного результата по окончанию

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

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

Слайд 15

Формальность алгоритма

Это понятность алгоритма, каждая команда должна определять однозначное действие исполнителя, не

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

Пример формальности алгоритма – алгоритм мытья рук. Ребенок в детском саду, действует формально, то есть не задумываясь строго выполняет картинки-инструкции

Слайд 16

Дискретность алгоритма

Алгоритм должен содержать четкие описания отдельных шагов (действий), следующих в определенном

Дискретность алгоритма Алгоритм должен содержать четкие описания отдельных шагов (действий), следующих в
порядке. Нельзя перейти к следующему действию, не закончив предыдущего.

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

Слайд 17

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

Подойти к реке.
Войти в реку.
Идти по дну, пока не выйдешь на

Пример алгоритма Подойти к реке. Войти в реку. Идти по дну, пока
другой берег.

Выполним ли этот алгоритм,
если человек подошёл к реке Волге?

Слайд 18

Оказывается, алгоритм выполнится, если по дну пойдёт человек со специальным снаряжением или

Оказывается, алгоритм выполнится, если по дну пойдёт человек со специальным снаряжением или
робот-“подводник”.
Следовательно, один и тот же алгоритм может быть верным и неверным в зависимости от того, каковы исходные данные и кто исполнитель алгоритма.

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

Ответ однозначен - нет.
А в каком случае этот алгоритм будет выполнен, и кто может пройти по дну реки Волги?

Слайд 19

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

- это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый

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

Слайд 20

Рассмотрим пример:

Имеется исполнитель - старик. Он должен переправить на лодке через реку

Рассмотрим пример: Имеется исполнитель - старик. Он должен переправить на лодке через
волка, козу и капусту.
Лодка может выдержать только старика и одного пассажира. В каком порядке старик перевезет пассажиров? Не забудь, что волк может съесть козу, а коза – капусту.
Перед нами “гипотетический” человек, который, строго руководствуясь алгоритмом, решает задачу.
Составим для данного исполнителя алгоритм решения задачи

Слайд 21

Алгоритм решения задачи

Алгоритм решения задачи

Слайд 22

Алгоритм решения задачи

Исполнителем указанных действий является человек - перевозчик, решающий задачу по

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

Слайд 23

Представим…

Небольшое устройство, похожее на электронную игру



Нажимая на кнопки, мы

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

Слайд 24

Исполнитель
Среда исполнителя
Система команд исполнителя (СКИ)
Система отказов (ошибок) исполнителя

Исполнитель Среда исполнителя Система команд исполнителя (СКИ) Система отказов (ошибок) исполнителя

Слайд 25

Система команд исполнителя (СКИ)

Команда – это указание исполнителю совершить некоторое действие.
После

Система команд исполнителя (СКИ) Команда – это указание исполнителю совершить некоторое действие.
вызова команды исполнитель совершает соответствующее элементарное действие.
Совокупность команд из некоторого строго заданного списка, которые данный исполнитель может выполнять, называется системой команд исполнителя (СКИ).

Слайд 26

Система команд исполнителя (СКИ) стиральной машинки

Замачивание
Стирка
Полоскание
Отжим
Сушка

Система команд исполнителя (СКИ) стиральной машинки Замачивание Стирка Полоскание Отжим Сушка

Слайд 27

Система отказов исполнителя

Отказ «Не понимаю» возникает, если подается команда, не входящая в

Система отказов исполнителя Отказ «Не понимаю» возникает, если подается команда, не входящая
СКИ.
Отказ «Не могу» возникает, если команда из СКИ не может быть выполнена в конкретных условиях среды.

Стиральная машина не может выполнить команду «гладить» так как ее нет в системе команд

Слайд 28

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

- область, обстановка, условия и объекты (данные), над которыми исполнитель может

Среда исполнителя - область, обстановка, условия и объекты (данные), над которыми исполнитель
выполнять действия, формируют среду исполнителя

Слайд 29

Задача

Опишете для робота - повара среду исполнителя
Напишите для робота - повара СКИ

Задача Опишете для робота - повара среду исполнителя Напишите для робота -
и алгоритм приготовление чая

Слайд 30

Решение Задачи

СКИ:
налить кипяток
помешать
налить молоко
насыпать сахар
насыпать заварку

Алгоритм :

Решение Задачи СКИ: налить кипяток помешать налить молоко насыпать сахар насыпать заварку

насыпать заварку
налить кипяток
насыпать сахар
налить молоко
помешать

Слайд 31

Вопросы:

Будет ли выполнятся алгоритм, если исполнителю вместо сахара подсунуть соль?
2. Какие

Вопросы: Будет ли выполнятся алгоритм, если исполнителю вместо сахара подсунуть соль? 2.
команды нужно поменять местами, чтобы результат выполнения алгоритма изменился?

Слайд 32

Типы исполнителей
Формальные
Не формальные

Типы исполнителей Формальные Не формальные

Слайд 33

1.Загадай число.
2.Умножь на 5.
3.Прибавь 8.
4.Умножь на 2.
5.Отними 16.

1.Загадай число. 2.Умножь на 5. 3.Прибавь 8. 4.Умножь на 2. 5.Отними 16.

6.Отбрось крайнюю правую цифру и получишь загаданное число.

6
6*5=30
30+8=38
38*2=76
76-16=60
6Ø → 6

 Выполните
предложенные действия:

Вы выступили в роли формального исполнителя

Слайд 34

Исполнители

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

Исполнители Формальные Не формальные

Слайд 35

Не формальный исполнитель

Неформальный исполнитель (экскурсовод) не может выполнять одни и те же

Не формальный исполнитель Неформальный исполнитель (экскурсовод) не может выполнять одни и те
команды (действия) совершенно одинаково.

Слайд 36

Формальный исполнитель

Формальный исполнитель всегда одинаково выполняет одну и ту же команду.

Для

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

Слайд 37

Режимы работы исполнителя

Режимы работы исполнителя
Имя файла: Понятие-алгоритма-(1).pptx
Количество просмотров: 29
Количество скачиваний: 0