Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия ПОСОБИЕ.doc
Скачиваний:
2
Добавлен:
02.12.2018
Размер:
150.02 Кб
Скачать

9. Алгоритм

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

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

массовостью, то есть пригодностью для решения различных вариантов данной задачи;

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

Приведенное описание понятия алгоритма носит содержательный, не формальный характер.

Понимание алгоритма как системы правил или предписаний определяет использование для его представления некоторого языка, на котором эти правила формируются.

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

Вне языка понятия алгоритма не существует!

Наибольшее распространение получили формальные алгоритмические языки:

 алгоритмические языки;

 машинно-ориентированные языки;

 проблемно-ориентированные языки;

 универсальные алгоритмические языки.

Как уже отмечалось, записи алгоритма на формальном языке часто предшествуют его не вполне формальные описания. К ним относятся так называемые блок-схемы.

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

  1. Постановка задачи с одноразовым вводом данных

Во многих практических задачах используются исходные данные, которые не изменяются при каждом решении задачи - постоянная и условно-постоянная информация. В расчетных строительных задачах такой информацией могут быть ЕНиРы, СНиПы, характеристики материалов, машин и механизмов; в учетно-аналитических задачах - наименования и характеристики объектов, виды работ, наименования исполнителей и заказчиков, источники финансирования, плановые показатели и другие подобные данные.

Часто результаты, полученные в процессе одного решения задачи, используются при ее последующих решениях или при решении других задач.

При вводе данных в ЭВМ с клавиатуры пользователь затрачивает время не только на сам ввод, но и на отыскивание нужных сведений в справочниках и нормативных документах. Для минимизации времени решения и затрат человеческого труда целесообразно предусмотреть в постановке задач, использующих постоянную и условно-постоянную информацию, запись таких данных на диск с последующим считыванием их с диска, осуществляемым программно, без участия человека. Таким путем реализуется принцип “одноразового ввода данных”.

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

Особенности постановки задач с организацией хранения информации на внешних запоминающих устройствах заключаются в следующем:

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

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