Алгоритм

Download Report

Transcript Алгоритм

1. ОСНОВНЫЕ ПОНЯТИЯ
2. СВОЙСТВА АЛГОРИТМОВ
3. ВИДЫ АЛГОРИТМОВ
4. СПОСОБЫ ЗАПИСИ АЛГОРИТМОВ
начало
Алгоритм:
понятное и точное предписание исполнителю
выполнить
конечную
последовательность
действий, ведущих от исходных данных к
конечному результату
Слово “Алгоритм” происходит от имени выдающегося
математика средневекового Востока
Мухаммеда аль-Хорезми (787 – 850)
Исполнитель :
живое существо или технический объект,
выполняющий команды алгоритма
назад содержание далее
Исполнитель
Формальный
Не формальный
не
вносит
никаких
изменений в алгоритм
Может вносить изменения в
алгоритм
назад содержание далее
Основные характеристики исполнителя
СКИ (система команд исполнителя):
набор команд, которые исполнитель понимает и
может выполнить
Среда:
условия, в которых исполнитель может выполнять
команды
назад содержание далее
?
Кто будет являться исполнителем
следующих видов работ:
Уборка мусора во дворе
Выдача заработной платы
Сдача экзаменов
Обучение детей в школе
назад содержание
Свойства алгоритмов
• Дискретность – каждая
команда должна быть
выполнена прежде, чем
исполнитель перейдет к
выполнению следующей
• Понятность – каждая команда
должна в ходить в СКИ
• Точность (определенность) –
команда должна пониматься
исполнителем однозначно
• Результативность –
выполнение всех команд
алгоритма должно привести к
решению конкретной задачи за
конечное число шагов
• Массовость – по одному и
тому же алгоритму можно
решать однотипные задачи
содержание
Виды алгоритмов
линейный
разветвляющийся циклический
содержание
Линейный алгоритм
• Линейный алгоритмэто набор команд
выполняемых
последовательно
друг за другом .
назад содержание далее
Пример приготовить
яичницу
начало
взять сковороду
включить газ
Это линейный тип
алгоритма
(следование)
поставить сковороду на газ
положить на сковороду масло
взять яйцо
разбить яйцо на сковороду
посолить
жарить 5 минут
назад содержание свойства
конец
Разветвляющийся алгоритм
• Разветвляющийся
алгоритмэто алгоритм, в
котором в
зависимости от
условия
выполняется та
или иная серия
команд.
назад содержание далее
Пример покупка
начало
Это условный тип
алгоритма (ветвление)
подойти к кассе
нет
Это линейный тип
алгоритма
(следование)
билетов в кино.
билеты есть
назвать сеанс
подать деньги
Получилось сочетание
условного и линейного
типов алгоритмов
взять билет и сдачу
конец
назад содержание
свойства
да
Циклический алгоритм
• Циклический алгоритмэто алгоритм,
предусматривающий
многократное повторение
одних и тех же действий.
назад содержание далее
Пример
забить гвоздь
начало
Это линейный тип
алгоритма
(следование)
Это циклический тип
алгоритма
(повторение)
Получилось сочетание
линейного и
циклического типов
алгоритмов
взять гвоздь
взять молоток
установить острие гвоздя в
нужное место
ударить молотком по
шляпке гвоздя
гвоздь торчит
нет
конец
назад содержание далее
да
Способы записи алгоритмов
• Словесный – для записи
используются специальные
формальные языки с ограниченным
набором слов и строгими правилами
записи
• Графический – в виде блок-схемы
содержание далее
Способы записи алгоритмов
•Программный способ – запись
алгоритма на каком-либо языке
программирования.
•Псевдокод – является комбинацией
словесного и программного способов
записи. Алгоритм записывается при
помощи системы обозначений,
содержащей как элементы естественного
языка, так и элементы некоторого языка
программирования.
назад содержание
Графический способ
Блок-схема:
Каждая команда записывается с использованием
графических символов
Условные обозначения:
указывают порядок действий
начало, конец алгоритма
простое действие, вычисление
задание исходных данных, вывод результата
проверка условия
назад содержание
Пример смешанного алгоритма
начало
пойди в лес или парк
Собрать гербарий.
собери листья
Это линейный тип
алгоритма (следование)
принеси домой
Это условный тип
алгоритма (ветвление)
возьми один лист
Это циклический тип
алгоритма (повторение)
тщательно осмотри его
да
Получилось сочетание
линейного алгоритма и
условия в цикле
лист хороший
засуши его
выброси
остались листья
назад содержание свойства
нет
нет
конец
да