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

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

Пример. Пусть требуется записать последовательность элементарных действий для вычислений по формуле У л/8+1.

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

1. Прочитать заданное значение х.

2. Умножить х на 8.

3. Из результата второго действия извлечь квадратный корень.

4. К результату третьего действия прибавить 1.

5. Умножить х на 3.

6. Результат пятого действия разделить на результат четвертого действия.

7. Записать значение результата у.

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

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

Метки: , ,

Записи по теме

Комментировать

Введите код