СПОСОБЫ ОПИСАНИЯ АЛГОРИТМОВ




Вопрос 4

Способы описания алгоритмов (псевдокод).

Существует несколько способов описания алгоритмов:

1. словесный способ – описание алгоритма средствами естественного языка;

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

3. язык графических символов – запись на языке блок-схем.

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

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

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

Для каждой структуры используют свою форму описания. В литературе были предложены несколько вариантов форм псевдокодов (один из вариантов см. табл.1.2. учебника Основы программирования Ивановой).

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

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

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

Тестирование алгоритма – желательный процесс, хотя многие программисты часто пренебрегают им, полагаясь на свой опыт.

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

Для выполнения тестирования требуется некоторая предварительная подготовка. Чтобы не запутаться в «переходах» по схеме, удобно пронумеровать блоки, присвоив им какие-то разные номера. При этом совсем не важно, в каком именно порядке они будут пронумерованы, потому что это не порядковые номера, а всего лишь отличительные номера разных блоков.

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

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

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: