Структурное программирование. Алгоритмы содержат определение пошагового процесса обработки данных с описанием преобразований данных и описанием функций управления

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

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

Известны три основных вида средств проектирования структуры управления программой

1. структурное программирование,

2. схемы передач управления и

3. управляющие таблицы.

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

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

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

Конструкция следования имеет следующий вид:

Р; Q

Здесь Р и Q — простые предложения, обозначающие операции преобразования данных или информационного обмена, например такие, как ЧИТАТЬ, ПИСАТЬ или ВЫЧИСЛИТЬ

Конструкции следования представляют собой наборы опера­торов, выполняемых в порядке их записи. Если запись ведется на псевдокоде, операторы должны быть расположены последо-иательно на отдельных строках и выровнены по левому краю. При необходимости оператор можно продолжить на второй строке, причем продолжение должно начинаться правее пози­ции, по которой осуществляется выравнивание:

Читать карту

I [ечатать данные с нее, как заголовки столбцов, располагая их в верхней части

страницы

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

столбцов

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

if ь2 - 4ас <0 { отрицательный дискриминант} then {уравнение не имеет действительных корней}

печатать—сообщение—об—ошибке else {существуют два действительных корня}

вычислить (-b ± V(b2 -4ac))/(2a) i печатать—корни

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

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

while счетчик изменяется до 50do {печатать данные} читать карту печатать карту {эхо-печать}

repeat {печатать карты с помощью:}

читать карту

печатать ее until конец—файла {найден}

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

проверяйте корректность окончания циклов

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

procedure обновление {последовательного главного файла} on конец_главного_файла печатать «файл пропущен» return on конец_файла_сообщений

копировать остаток главного файла return

читать главный файл while not конец—файла—сообщений do repeat

читать сообщение

проверить сообщение на правильность until найдено_правильное_сообщение while главный_ключ < ключ_сообщения do on конец.главного_файлаexit

читать главный файл endwhile

if найдена__соответствующая—запись

обновить запись главного файла else

Пример 6.10 иллюстрирует гнездование конструкции on. Пер­вые два on-оператора относятся ко всей процедуре, но первый из них не работает внутри вложенного цикла.while, в котором определен on-оператор для того же условия. С помощью вырав­нивания выделены тела циклов и on-операторов. Для улучше­ния читабельности программы использовано ограничительное предложение endwhile.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: