КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
DO-цикл с параметром (цикл с шагом)
Простейшая конструкция DO. Понятие о цикле. Циклы
Циклом называется повторное выполнение БОК, завершаемое при выполнении некоторых условий. Однократное выполнение БОК цикла называется итерацией. Операторы и конструкции БОК цикла также называются телом цикла. Простейшая конструкция DO имеет вид: [имя:] DO БОК END DO [имя] Данная конструкция задает бесконечный цикл (здесь БОК – тело цикла). Поэтому такой цикл должен содержать, по крайней мере, один оператор, например GOTO или EXIT, обеспечивающие выход из цикла. Имя конструкции, если оно присутствует, должно появляться в операторах DO и END DO.
Рекомендуемая форма DO-цикла с параметром имеет вид: [имя:] DO I=IN,IK[,IH] БОК END DO [имя] БОК – тело цикла; I – целая, вещественная, одинарной или двойной точности переменная, называемая переменной цикла или параметром (счетчиком) цикла. IN,IK – целые вещественные, одинарные или двойной точности скалярные выражения (например, константы или арифметические выражения), задающие диапазон изменения I. Иными словами, IN – начальное значение параметра цикла, а IK – конечное значение параметра цикла. IH – целое, вещественное, одинарной или двойной точности скалярное выражение (шаг изменения параметра цикла, называемый в литературе шаг цикла). Значение IH не может быть равным нулю. Если параметр IH отсутствует, то «по умолчанию» он принимается равным единице. DO-цикла с параметром работает так (случай IH>0): 1°. Присвоить I=IN. 2°. Если I<=IK, то перейти к пункту 3°, иначе завершить цикл. 3°. Выполнить БОК. 4°. Присвоить I=I+IH и перейти к пункту 2° (на повтор). Для случая IH<0 следует модифицировать пункт 2°, переписав его в виде: 2°. Если I>=IK, то перейти к пункту 3°, иначе завершить цикл.
Оператор END DO можно также писать без пробела ENDDO. Число итераций цикла определяется по формуле NI=MAX(INT((IK-IN+IH)/IH),0) где MAX – функция выбора наибольшего значения из перечисленных в скобках через запятую; функция INT возвращает значение, равное целой части числа. Если DO-цикл с параметром не содержит операторов выхода из цикла, например GOTO или EXIT, то БОК выполняется NI раз. После завершения цикла значение переменной цикла I равно (при IH>0): · IP+IH, если IK>=IN и цикл не содержит операторов выхода из цикла, где IP – значение переменной цикла на последней итерации; · IP, если IK>=IN и цикл досрочно прерван, например оператором EXIT или GOTO, где IP – значение переменной цикла I в момент прерывания цикла; · IN, если IK<IN. Аналогично определяется значение I и для случая IH<0. Нельзя изменять значение переменной цикла в теле цикла. При первом выполнении оператора DO I=IN,IK,IH вычисляются и запоминаются значения выражений IN,IK,IH. Все дальнейшие итерации выполняются с этими значениями. Поэтому, если IN,IK или IH являются переменными и их значения изменяются в теле цикла, то на работе цикла это не отразится. Пример программы вычисления факториала :
Решение этой задачи с помощью оператора безусловного перехода GOTO:
Сопоставляя оба варианта программы друг с другом, заметим, что оператор DO заменил три оператора: первоначальное присвоение (k = 1), увеличение счетчика (k=k+1), проверку условия (if). При записи DO-циклов могут быть использованы метки. Метками помечаются последние операторы циклов, а в остальном структура остается прежней. Проиллюстрируем эту форму записи в двух вариантах на рассматриваемом примере вычисления факториала:
Дата добавления: 2014-01-07; Просмотров: 361; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |