Вход/Регистрация
Технологии программирования
вернуться

Костерин В В

Шрифт:

1) в зависимости от количества альтернативных действий записываются все операторы структуры;

2) определяются сами альтернативные действия как СЛЕДОВАНИЯ;

3) записываются логические условия альтернативных действий;

4) проверяется информационная согласованность логических условий и действий;

5) на нескольких текстовых примерах осуществляется проверка. ПОВТОРЕНИЯ в программировании называются циклами.

Обычно стандартом проекта предусмотрен ряд конструкций циклов. Неуниверсальный ЦИКЛ-ДО имеет две конструкции и используется для задания заданного числа повторений. Рассмотрим их запись на языке программирования Pascal.

Конструкция по возрастанию:

for i:=3 to 5 do begin

{тело цикла i=3,4,5}

…

end;

Конструкция по убыванию:

for i:=5 downto 3 do begin

{тело цикла i=5,4,3}

…

end;

Рассмотрим запись вариантов кодирования структуры неуниверсальный ЦИКЛ-ДО на языке программирования С.

Конструкция по возрастанию:

for (i=3; i<=5; i++)

{

/*тело цикла i=3,4,5*/

…

}

Конструкция по убыванию:

for (i=5; i>=3; i-)

{

/*тело цикла i=5,4,3*/

…

}

Здесь i — переменная цикла. Обычно эти циклы не требуют после кодирования дополнительного тестирования.

Универсальные циклы имеют конструкции ЦИКЛ-ДО и ЦИКЛ-ПОКА. Их запись на языке Pascal приведена ниже:

Универсальный ЦИКЛ-ПОКА:

{Подготовка}

while L do

begin

{Тело цикла}

…

end;

Универсальный цикл ЦИКЛ-ДО:

{Подготовка}

repeat

{Тело цикла}

…

until L;

Ниже приведена запись тех же структур на языке С:

Универсальный ЦИКЛ-ПОКА:

/*Подготовка*/

while (L)

{

/*Тело цикла*/

…

}

Универсальный ЦИКЛ-ДО:

/*Подготовка*/

do

{

/* Тело цикла */

…

}

while (!(L))

Здесь L логическое выражение. Его значение True является условием продолжения выполнения ЦИКЛ-ПОКА или условием окончания выполнения ЦИКЛ-ДО. Подготовка и тело цикла являются СЛЕДОВАНИЯМИ. Тело цикла выполняется столько раз, сколько и весь цикл. Признаком ЦИКЛ-ПОКА является возможность не выполнения тела цикла ни разу. При равноценности из двух конструкций ЦИКЛ-ДО и ЦИКЛ-ПОКА выбирают ту, запись которой короче.

Вообще ЦИКЛ-ДО можно закодировать структурой ЦИКЛ-ПОКА, если в подготовке записать некоторые действия из тела цикла. Из ЦИКЛА-ДО получается ЦИКЛ-ПОКА при его охвате структурой АЛЬТЕРНАТИВА.

Порядок декомпозиции циклов:

1) набирается "пустой" текст оператора цикла;

2) записывается логическое условие продолжения ЦИКЛ-ПОКА или завершения ЦИКЛ-ДО (при этом выявляется переменная цикла);

3) декомпозируется то действие тела цикла, которое изменяет логическое условие до невыполнения условия ЦИКЛ-ПОКА или до выполнения условия ЦИКЛ-ДО;

4) детализируется СЛЕДОВАНИЕ "Подготовка цикла";

5) детализируется оставшееся действие тела цикла как СЛЕДОВАНИЕ;

6) проводится проверка информационной согласованности всех элементов цикла;

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

В текстах программ может использоваться еще одна вычислительная структура — РЕКУРСИЯ. Признаком этой структуры является наличие рекурсивных формул и вычислений. Все, что делает рекурсия, можно реализовать при помощи циклов и массивов. Однако если язык программирования допускает рекурсию, то ее использование может сократить код программы. Рекурсия всегда очень тщательно комментируется.

  • Читать дальше
  • 1
  • ...
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: