русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Критерии качества алгоритмов


Дата добавления: 2013-12-23; просмотров: 8221; Нарушение авторских прав


ВИДЫ АЛГОРИТМИЧЕСКИХ (ВЫЧИСЛИТЕЛЬНЫХ) ПРОЦЕССОВ

 

Реализация алгоритма называетсяалгоритмическим процес­сом (вычислительным процессом).

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

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

Разветвляющийся процессэто процесс, в котором порядок выполнения действий зависит от исходных условий или промежу­точных результатов.

Каждое направление вычислений в таком процессе называется ветвью вычислений. Проверка выполнения логического условия определяет ветвь вычисления. Вычислительный процесс выполня­ется только по одной ветви. Количество условий определяет коли­чество точек ветвления.

Циклический процесс–это процесс, в котором группа команд многократно повторяется до тех пор, пока выполняется заданное

условие.

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

Например, алгоритм вычисления Х = А20 можно записать как АА, A'-A, ..., А^А, тогда вычислительный процесс будет линейным. Алгоритм можно записать короче, для этого надо оформить цикл и контролировать его окончание.

 


 

Основными критериями качества алгоритмов признаются следующие:

1. Связность алгоритма - определяется количеством промежуточных результатов, которые должны одновременно храниться в памяти исполнителя. Естественно, что алгоритм тем лучше, чем меньше его связность, т .к. при этом уменьшается количество ячеек, занятых в оперативной памяти.

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



Естественно, что чем меньше трудоемкость, Т.е. чем меньше операций нужно предусмотреть составителю алгоритма, а значит, меньше времени затратить на его написание и исполнение, тем выше качество алгоритма.

Уменьшение количества шагов экономит не только время составителя алгоритма, но и время исполнителя, сокращает длительность решения задачи.

3. Длительность решения определяется количеством шагов алгоритма, а также сложностью этих шагов. Если все операции достаточно просты и наглядны, длительность решения сокращается, и наоборот. Конечно, время выполнения любой операции определяется прежде всего быстродействием самого исполнителя, но для одной и той же операции время выполнения условно можно считать равным некоторой константе. Тогда алгоритм тем лучше, чем быстрее он выполняется.

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

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

 



<== предыдущая лекция | следующая лекция ==>
Алгоритмические языки. Трансляторы. | Применение алгоритмизации в юридической деятельности


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.