Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
68
Добавлен:
14.04.2015
Размер:
2.67 Mб
Скачать

Цикл Do while

Цикл Do whileназывают также циклом по условию; условие записывается в заголовке цикла. Оператор обеспечивает повторение тела цикла до тех пор, пока условие верно. Имя здесь не обязательно, но может пригодиться для индикации вложенных циклов, операторовCycle илиExit.

Общее представление оператора:

[имя:]Do while(логическое выражение)

Тело цикла

End do [имя]

Изображение цикла Do whileна блок-схеме:

Важные замечания:

  • Тело цикла может вообще не выполниться, если условие изначально ложно.

Пример

Do while (k==k+1) ! условие никогда не выполняется

Тело цикла

End do

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

Пример

k = 0

do while (k>=0)

Тело цикла

K = k + 1

End do

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

В качестве примера реализуем подробную блок-схему цикла по переменной с помощью оператора do while:

Пример 1

x=xn

k=Max(0,Int((xk-xn)/step))+1

Do while (k>0) ! (1)

Тело цикла ! (2)

x=x+step ! (3)

k=k-1

Enddo

. . . ! (4)

! продолжение программы

Пример 2

Вывести на экран значения xиsin x, еслиxизменяется от 1 до 3 с шагом 0,1. Выполнить это задание с использованием цикла по переменной и циклаDo while.

Цикл по переменной

Do x= 1, 3, 0.1

Write(*,*)’x=’, x, &

‘ Sin x =’, sin(x)

Enddo

Цикл по условию

x = 1

Do while (x<=3)

Write(*,*)’x=’, x, &

‘ Sin x =’, sin(x)

x = x + 0.1

Enddo

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

Цикл по переменной

Цикл по условию

1

Заданы диапазон и шаг изменения переменной цикла

Перед началом цикла следует установитьначальное значение переменной цикла.

2

Фиксированное количество повторений цикла.

Количество повторений цикла заранее неизвестно и может быть различным при работе с разными данными.

3

Переменная цикла автоматически изменяется по закону арифметической прогрессии.

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

4

Переменную цикла изменять в теле цикла запрещено.

Изменение переменной цикла возможно тольков теле цикла, и делать этонеобходимо.

5

Использование цикла по переменной не приводит к зацикливанию.

Ошибки в работе с переменной цикла могут привести к зацикливанию. Одна из таких ошибок – переменная цикла не изменяется в теле цикла.

6

Только одна переменная цикла.

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

Соседние файлы в папке Фортран_Лекции