Алгоритмы
Из истории
Основные понятия
Свойства алгоритмов:
Свойства алгоритмов:
Способы записи алгоритмов
Элементы блок-схем
Элементы блок-схем
Элементы блок-схем
Типы алгоритмов
Линейный алгоритм
Разветвляющийся алгоритм
Разветвляющийся алгоритм
Циклический алгоритм
640.50K
Категория: ПрограммированиеПрограммирование

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

1. Алгоритмы

2. Из истории

Абу Джафар Мухаммад
ибн Муса аль-Хорезми
жил в 780 - 880 годах;
уроженец Хорезма;
происходил из семьи магов;
возглавлял экспедицию по
измерению длины градуса
меридиана между
Тадмором и Раккой;
составил трактат
"Об индийском счете"
из 8 частей.

3.

В трактате описывались правила выполнения
арифметических действий:
сложения, вычитания, умножения и деления.
Для умножения
«метод решётки».
3
4
6
2
1
8
0
19
0
7
7
8
3
16
6
предлагалось
6
1
6
3
3
4
3
2
9
использовать
Например: 347 х 29
300
40
7
100
6000
800
40
60
2000
300
700
60
3
20
9

4.

В Западной Европе аль-Хорезми был известен
под именами Algorismus и Algorithmus
(неточность перевода на латынь – «аль-Горизми»).
От этого имени произошел и термин «алгоритм».
Алгоритм –
строго детерминированная последовательность
действий,
описывающая
процесс преобразования объекта из
начального состояния в конечное,
записанная
с
помощью
понятных
исполнителю команд;
– конечная последовательность точно и
понятно
определённых
действий
(предписаний,
директив,
команд),
выполнение
которой
приводит
к
однозначному решению поставленной
задачи.

5. Основные понятия

Исполнитель – человек или автомат, умеющий
выполнять
некоторый
вполне
определённый набор действий.
СКИ
– система команд исполнителя –
– набор
команд
(действий),
который в состоянии выполнить
данный исполнитель.
Программа
– алгоритм,
записанный
на
«понятном» компьютеру языке
программирования.

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

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

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

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

8. Способы записи алгоритмов

Словесный
– естественный язык.
Табличный
– таблицы
и расчётные формулы.
Графический – блок-схема –
– замена команд блоками
(геометрическими
фигурами).

9. Элементы блок-схем

Конец
Начало
a, b
блоки начала, конца
алгоритма
блок ввода данных
в ячейки памяти
с указанными именами
блок обработки
действия, вычисления
и размещение результатов
в ячейки памяти
с указанными именами

10. Элементы блок-схем

блок условия
да
нет
разветвление алгоритма,
внутри блока условие выбора
направления действия
блок цикла с параметром
П
П = НЗ, КЗ, Ш
– имя ячейки памяти,
содержащей параметр;
НЗ – начальное значение
параметра;
КЗ – конечное значение
параметра;
Ш – шаг, величина
изменения параметра

11. Элементы блок-схем

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

12. Типы алгоритмов

линейный
разветвляющийся
циклический

13. Линейный алгоритм

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

14. Разветвляющийся алгоритм

алгоритмическая структура «ветвление»,
в которой та или иная серия команд выполняется
в зависимости от истинности условия.
Есть три типа данного алгоритма:
I тип – ветвление (полный выбор)
да
нет
условие
условие две полные ветви
(содержат действия)


15. Разветвляющийся алгоритм

II тип – обход (неполный выбор)
да
условие одна
– полная ветвь
(содержит
условие
нет

действия)
вторая – неполная ветвь
(не содержит действия)
III тип – множественный выбор
N
условие выбор – одна из ветвей
в зависимости
от значения N




16. Циклический алгоритм

алгоритмическая структура «цикл»,
в которой серия команд (тело цикла) выполняется
многократно.
Цикл – многократно повторяемая часть алгоритма.
Параметр цикла – переменная, изменяющаяся в
заданных пределах с заданным шагом.
Тело цикла – повторяющийся набор команд.
Виды циклов: – простые;
– вложенные.

17.

Типы циклов:
– с постусловием;
– с предусловием;
– с параметром.
I тип – с постусловием – «до»
условие
окончания
(проверка
условия
выполнения тела цикла);
цикла
после
{
тело
цикла
нет
тело цикла выполнится хотя бы
один раз.

условие
да
II тип – с предусловием – «пока»
условие
выполнения
цикла
(проверка условия до выполнения
тела цикла);
тело цикла может не выполнится ни
разу.
да

условие
}
тело
цикла
нет

18.

III тип – с параметром – «для»
условия нет, есть пределы изменения параметра цикла;
П = Н.З.
П = Н.З., К.З., Ш
{
тело
цикла
ТЕЛО
ЦИКЛА

П=П+Ш
да
П ≤ К.З.
нет
тело цикла выполнится столько раз, сколько разных
значений примет параметр в заданных пределах.
English     Русский Правила