Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛК_Информатика_2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.2 Mб
Скачать

Алгоритмическая система

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

1) множеством входных объектов или исходных данных, подлежащих обработке алгоритмами данной системы;

2) множеством выходных объектов или результатов выполнения алгоритмов данной системы;

3) системой команд исполнителя, т.е. набором тех действий, которые может выполнять исполнитель, и которое мы можем описывать в алгоритмах, что является ориентацией алгоритмической системы на конкретного исполнителя;

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

Алгоритмизация

Алгоритмизация - процесс разработки и описания алгоритма решения какой-либо задачи.

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

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

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

  3. полное и точное описание содержания каждого шага алгоритма на языке выбранной алгоритмической системы.

  4. проверка составленного алгоритма на предмет: действительно ли он реализует выбранный метод и приводит к искомому результату.

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

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

1) множество допустимых исходных данных одного из них является множеством допустимых исходных данных и другого; из применимости одного алгоритма к каким-либо исходным данным следует применимость и другого алгоритма к этим данным;

2) применение этих алгоритмов к одним и тем же исходным данным дает одинаковые результаты.

Средства записи алгоритмов

Словесная запись алгоритмов

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

Например, надо вычислить У = (а + в)/с и вывести результат.

В словесной форме алгоритм будет выглядеть так:

1. Ввести значение а;

2. Ввести значение в;

3. Ввести значение с;

4. Сложить а и в;

5. Результат п.4 поделить на с;

6. Результат п.5 присвоить переменной У;

7. Вывести значение У.

Можно записывать алгоритмы с помощью схем.

Схемы алгоритмов (Раздать таблицу с блоками)

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

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

предусловием

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

Эти алгоритмы имеют типовые структуры и выглядят так: РИС.1.7

Структурограммы. Этот способ изображения алгоритмов представляет собой попытку воплощения требований структурного программирования в схемах алгоритмов. Здесь следует упомянуть о требованиях структурного программирования. Структурное программирование – это программирование, в основу которого положен принцип теоремы структурирования, которая гласит: каждый алгоритм любой сложности может быть представлен в виде набора из трех типовых базовых структур ( линейная, ветвление и цикл), имеющих один вход и один выход. Поэтому нежелательно использовать операторы безусловного перехода (типа GO TO ), так как может появиться дополнительный выход ( или вход) в базовой структуре, а это противоречит принципу структурирования. Примером языка высокого уровня для структурного программирования может служить Паскаль.

Для изображения алгоритмов в виде структурограмм используются следующие блоки:

1. Блок обработки (вычислений).

А = В + С

К = Р - М

2. Блок следования - объединяет ряд следующих друг за другом процессов обработки

А = В + С

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

Логическое

выражение

Действие 1

4. Блок варианта. Эта структура – расширение блока решения. Те варианты выхода из этого блока, которые можно сформулировать точно, располагаются слева. Остальные объединяются в один, называемый выходом по несоблюдению условий и располагаются справа.

5 Блок цикла с предусловием и цикл с параметром.

Условием может быть логическое выражение в цикле с предусловием или указывается количество повторений цикла в цикле с параметром.

6. Блок цикла с постусловием.

Условие - логическое выражение.

Если оно ложно, то тело цикла выполняется, как только логическое выражение станет истинным, происходит выход из цикла.

Лекция11. 27. Типовые алгоритмы.