Переход от алгоритма к коду программы

Рассмотрим процедуру программной реализации алгоритма, т.е. представления алгоритма в виде кода программы.

Обработка алгоритма представляет собой потоковую обработку операторов алгоритма. В каждый момент обрабатывается один оператор. Результат обработки достигается последовательным выполнением операторов алгоритма в требуемом порядке. Возникают значительные проблемы при реализации сильно связанных алгоритмов, имеющих множественные нерегулярные связи. В таких алгоритмах сложно выделить конкретные циклические участки. Гордые заявления программистов «Я пишу программы без алгоритмов» говорят лишь о том, что программы простые (не в смысле короткие, а практически линейные). Если программа пишется без алгоритма, то обязательно возникают проблемы с её отладкой и модернизацией. Сложности восприятия идей программы превосходят все мыслимые пределы.

Если программа построена «правильно» с учётом требований по её структуризации, то при наличии алгоритма код строится элементарно независимо от сложности алгоритма.

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

Переход от алгоритма к коду программы

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

Сформируем код программы, основываясь на использовании оператора switch, который в case будет производить выбор вершины алгоритма.

Код программы имеет вид:

# include

# include

# include

const int RM = 10;

//—————————————————————————

void main()

{

textmode(C4350); textattr(0x70); clrscr(); // Настройка экрана.

// — — — — — — — — — — Блок объявления — — — — — — — — — — — — — — — — — —

int M[RM]; // Объявление массива чисел.

int i; // Индексная переменная.

int A=-111; // Будущий максимум.

int Way = 1; // Переменная пути.

for(;;) // Бесконечный рабочий цикл.

{ // Начало области видимости бесконечного цикла.

// — — — — — — — — — — Отладочный блок — — — — — — — — — — — — — — — — — —

// gotoxy(1,1); clreol(); printf(Way = %d A = %d,Way,A); getch();

основы программирования 6 алгоритмы и блок схемы


Читать еще…

Понравилась статья? Поделиться с друзьями: