Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lesson 2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.4 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 имя

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

Цикл по параметру

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

1

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

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

2

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

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

3

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

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

4

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

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

5

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

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

6

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

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

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

Пример 1

x=xn

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

Do while (kp>0) ! (1)

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

x=x+step ! (3)

kp=kp-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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]