Представление алгоритма

Разделы: Информатика


При разработке алгоритма необходимо фиксировать не только алгоритм в целом, но и промежуточные результаты на “жестком” носителе (например: на бумаге или в виде файла на дискете, СД, флэшке…). Это тем более необходимо, если над данным алгоритмом работает более одного человека. Алгоритм – это информация, а как любая информация он дается в некотором коде.

Опр. Представление алгоритма – это его кодирование тем или иным способом с последующей фиксацией полученного кода на “жестком” носителе информации.

Представление алгоритма дается:

  • человеком – для человека,
  • человеком – для компьютера,
  • человеком – для некоторого исполнителя.

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

Опр. Перекодирование представления алгоритма – это представление уже представленного в некотором виде алгоритма в новом виде.

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

Рассмотрим представления алгоритма в виде сценария, графического способа представления алгоритма и блока операторов.

ПРЕДСТАВЛЕНИЕ АЛГОРИТМА В ВИДЕ СЦЕНАРИЯ.

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

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

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

При записи алгоритма в виде сценария каждый шаг алгоритма описывается предложением. Предложения нумеруются в последовательности их действия. Основное требование – каждое предложение должно давать ответ на вопрос, а именно, ЧТО НАДО ДЕЛАТЬ на данном шаге, чтобы решить исходную задачу. Важно отметить, что, возможно, в алгоритме будут предложения не дающие ответ на вопрос КАК НАДО ВЫПОЛНЯТЬ это предложение, то есть они требуют дополнительной детализации.

При представлении алгоритма в виде сценария, как показала практика, удобно добавить две строчки, используя служебные (зарезервируемте) слова:

  • в начале алгоритма – НАЧАЛО_АЛГОРИТМ,
  • в конце алгоритма – КОНЕЦ_АЛГОРИТМА.

Эти строки не нумеруются.

Не вдаваясь (пока) в подробности разработки алгоритма, в приложении №1 приведены примеры представления алгорима заданных задач в виде сценария.

ГРАФИЧЕСКИЙ СПОСОБ ПРЕДСТАВЛЕНИЯ АЛГОРИТМА.

Графический способ представления алгоритма называют так же схемой алгоритма или (на жаргоне программистов и информатиков) блок – схемой алгоритма. Этот способ представления необходимо знать при работе с патентными организациями. Он входит в стандарт образования средней школы.

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

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

  • ввод информации,
  • вывод информации,
  • линейный блок, для описания операции присвоения,
  • вызова вспомогательного алгоритма,
  • ветвления:
      • обхода,
      • выбора действия,
      • варианта;
  • цикла:
      • явно заданного,
      • не явно заданного:
        • с предусловием,
        • с постусловием.

В приложении №2 дано соответствие основных шагов алгоритмов с их геометрическим представлением.

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

ПРЕДСТАВЛЕНИЕ АЛГОРИТМА В ВИДЕ БЛОКА ОПЕРАТОРОВ.

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

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

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

Отметим, что в Турбо – Паскале имеются операторные скобки BEGIN…END, позволяющие рассматривать заключенный в них алгоритм как (пусть сложный, но) один оператор.

В Приложении№4 приводится таблица соответствия графического представления шагов алгоритма и соответствующих им операторов языка программирования Турбо – Паскаль.

В качестве примера рассмотрим задачу.

ЗАДАЧА. Задан алгоритм в виде:

Представить алгоритм в виде блока операторов языка программирования Турбо – Паскаль.

Используя таблицу соответствия получаем блок операторов в виде:

BEGIN

ReadLn(X, Y, N);

If X>0 Then P := Y + X Else P := Y – X;

S:=0; I:=0; F:=1;

WHILE I<N do begin

I:=I+1;

S:=S+I;

F:=F*P;

End;

WriteLn (S:10, F:20:2);

END.

Это и есть блок операторов.

ЗАКЛЮЧЕНИЕ.

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

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

Поурочное планирование приведено в приложении №5. В школьном учебном процессе данную тему можно рассмотреть в теме: “Кодирование текстовой информации”.