Казалось, закончились долгие обсуждения в форумах, как измерить время работы алгоритма, какие функции использовать, какую точность ожидать. Жаль, но опять придется вернуться к этому вопросу. На повестке дня вопрос – как лучше измерить скорость работы параллельного алгоритма.
2. Понятие алгоритма и его свойства
Разновидности алгоритмов
Свойство алгоритма
Способы описания алгоритмов
Основные алгоритмические конструкции
Вывод
Использованные информационные ресурсы
2
План
3. Понятие алгоритма и его свойства
Алгоритм (от algoritmi)-
предписание, однозначно задающее
процесс преобразования исходной
информации в виде
последовательности элементарных
дискретных шагов, приводящих за
конечное число их применений к
результату.
3
Слово «алгоритм» происходит
от algorithmic – латинской
формы написания великого
математика IX в. Муххамеда
ибнМусаАль Хорезми жившего
в 783-850 гг., который
сформулировал правила
выполнения основных
арифметических действий над
многозначными числами.
4. Разновидности алгоритмов
4
Вычислительные– работают с простыми видами данных (числа,
векторы, матрицы), но процесс вычисления может быть длинным
и сложным
Управляющие – непрерывно анализируют информацию,
поступающую от тех или иных источников, и выдаст
результирующее сигналы, управляющие работой тех или иных
устройств.
Информационные – алгоритмы представляющие собой набор
сравнительно простых процедур, работающих с большими
объемами информации (алгоритмы без данных)
5. Свойство алгоритма
Дискретность– это разбиение алгоритма на ряд отдельных
законченных команд (шагов), каждая из которых должна быть выполнена прежде,
чем исполнитель перейдет к выполнению следующей.
Понятность– каждая команда должна входить в систему команд исполнителя.
Результативностьи конечность– за конечное число шагов алгоритм либо должен
приводить к решению задачи, либо останавливаться из-за невозможности
получить решение с выдачей соответствующего сообщения.
Массовость– алгоритм решения задачи разрабатывается в общем виде и он
должен быть применим для некоторого класса задач, различающихся
лишь исходными данными.
Детерминированность (точность, определенность) – команда алгоритма
исполнителем должна пониматься однозначно, не должно быть двоякого
толкования команды.
5
8. Графическое представление алгоритма, в котором
он изображается в виде последовательности
связанных между собой функциональных блоков,
каждый из которых соответствует выполнению
одного или нескольких действий.
8
Блок - схема
9. 9
Элементы блок - схемы
- начало иликонец алгоритма
- ввод/выводданных илирезультатана экранмонитора
- процесс– арифм. выражение или операцияприсваивания
- Проверкаусловия
- подпрограмма
- вывод на принтер
- циклическийпроцесс
нет да
10. Линейным принято называть
вычислительный процесс, в
котором этапы вычислений
выполняются в линейной
последовательности и каждый
этап выполняется только один
раз.
10
Оператор 1
Оператор 2
Оператор 3
Основные алгоритмические конструкции
11. Разветвляющийся
вычислительный процесс
реализуется по одному из
нескольких заранее
предусмотренных
направлений в зависимости от
выполнения некоторого
условия (логическое
выражение-ЛВ).
Ветвящийся процесс,
включающий в себя две ветви,
называется простым, более
двух ветвей – сложным. 11
Основные алгоритмические конструкции
Условие
Оператор2Оператор1
да нет
13. Циклический
вычислительный процесс
включает участки на
которых вычисления
выполняются
многократно по одним и
тем же математическим
формулам, но при разных
значениях исходных
данных. 13
Основные алгоритмические конструкции
да нет