Основные свойства алгоритма

Основные этапы решения задач с использованием компьютера.

Решение задач с применением компьютера должно состоять из следующих основных этапов, часть из которых производится без участия компьютера.
1. Постановка задачи:
• сбор информации о задаче;
• выражение условия задачи;
• выявление конечных целей решения задачи;
• установление формы выдачи результатов;
• описание данных (их типов, диапазонов величин, структуры и т. п.).
2. Анализ и исследование задачи, модели задачи:
• исследование существующих аналогов;
• изучение технических и программных средств;
• выработка математической модели:
• разработка структур данных.
3. Определение алгоритма:
• установление метода проектирования алгоритма;
• выявление формы записи алгоритма (блок-схемы, псевдокод и др.);
• определение тестов и метода тестирования;
• разработка алгоритма.
4. Этап программирования:
• определение языка программирования;
• выбор способов организации данных;
• регистрация алгоритма на выбранном языке программирования.
5. Этап тестирования и отладки:
• синтаксическая отладка;
• отладка семантики и логической структуры;
• тестовые расчеты и анализ результатов тестирования;
• совершенствование полученной программы.
6. Рассмотрение результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2–5.
7. Сопровождение программы:
• доработка программы для решения конкретных задач;
• составление документации к решенной задаче, математической модели, алгоритму, программе, набору тестов, использованию.
Однако не все задачи требуют четкой последовательности выполнения перечисленных этапов. Иногда их количество может меняться.

24. Свойства и формы описания алгоритма.































Основные свойства алгоритма

  1. Массовость.

Алгоритм имеет некоторое число входных величин — аргументов, задаваемых до начала исполнения. Цель выполнения алгоритма — получение результата (результатов), имеющего вполне определенное отношение к исходным данным. Алгоритм указывает последовательность действий по переработке исходных данных в результаты. Для алгоритма можно выбирать различные наборы входных данных из множества допустимых для этого процесса данных, т.е. можно применять алгоритм для решения целого класса задач одного типа, различающихся исходными данными. Это свойство алгоритма обычно называют массовостью. Однако существуют алгоритмы, применимые только к единственному набору данных. Можно сказать, что для каждого алгоритма существует свой класс объектов, допустимых в качестве исходных данных. Тогда свойство массовости означает применимость алгоритма ко всем объектам этого класса.

  1. Понятность.

Чтобы алгоритм можно было выполнить, он должен быть понятен исполнителю. Понятность алгоритма означает знание исполнителя о том, что надо делать для исполнения этого алгоритма.

  1. Дискретность.

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

  1. Конечность.

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

  1. Определенность.

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

  1. Эффективность.

Каждый шаг алгоритма должен быть выполнен точно и за конечное время. В этом смысле говорят, что алгоритм должен быть эффективным, т.е. действия исполнителя на каждом шаге исполнения алгоритма должны быть достаточно простыми, чтобы их можно было выполнить точно и за конечное время. Обычно отдельные указания исполнителю, содержащиеся в каждом шаге алгоритма, называют командами. Таким образом, эффективность алгоритма связана с возможностью выполнения каждой команды за конечное время. Совокупность команд, которые могут быть выполнены конкретным исполнителем, называется системой команд исполнителя. Следовательно, алгоритм должен быть сформулирован так, чтобы содержать только те команды, которые входят в систему команд исполнителя. Кроме того, эффективность означает, что алгоритм может быть выполнен не просто за конечное, а за разумно конечное время.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: