ОПЕРАТОРЫ ЦИКЛА Назначение и типы Операторы

Скачать презентацию ОПЕРАТОРЫ ЦИКЛА  Назначение и типы  Операторы Скачать презентацию ОПЕРАТОРЫ ЦИКЛА Назначение и типы Операторы

5.4_operatory_cikla.pptx

  • Размер: 87.4 Кб
  • Автор:
  • Количество слайдов: 16

Описание презентации ОПЕРАТОРЫ ЦИКЛА Назначение и типы Операторы по слайдам

ОПЕРАТОРЫ ЦИКЛА ОПЕРАТОРЫ ЦИКЛА

Назначение и типы • Операторы цикла предназначены для многократного выполнения некоторых операторов. Эти операторыНазначение и типы • Операторы цикла предназначены для многократного выполнения некоторых операторов. Эти операторы называются телом цикла. • Различаются операторы цикла с предусловием и с постусловием.

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

Операторы DO и DO WHILE.  • Оператор цикла DO предназначен для многократного выполненияОператоры DO и DO WHILE. • Оператор цикла DO предназначен для многократного выполнения операторов, находящихся между заголовком оператора DO и оператором CONTINUE с меткой или оператором END DO. • Оператор CONTINUE не порождает каких-либо команд и используется для завершения оператора цикла или для ссылок в программе. Этот оператор часто называют пустым оператором.

Оператор DO •  Оператор цикла DO  имеет вид:  • DO N[,Оператор DO • Оператор цикла DO имеет вид: • DO N[, ] I=M 1, M 2, M 3 • Здесь N – метка последнего оператора тела цикла (оператора CONTINUE ); После метки N может стоять необязательная запятая. • I – переменная целого, вещественного или вещественного двойной точности типа, которая называется параметром цикла, • M 1, M 2, M 3 – константы, переменные или арифметические выражения целого, вещественного или вещественного двойной точности типов. • Величина M 1 определяет начальное значение параметра цикла, M 2 определяет конечное значение параметра цикла, а MЗ определяет шаг изменения параметра цикла.

Правило выполнения • Если значение M 2 больше или равно M 1 , тоПравило выполнения • Если значение M 2 больше или равно M 1 , то оператор DO автоматически исполняет все операторы до оператора CONTINUE с меткой N для значений I от M 1 до M 2 с шагом MЗ. • Таким образом, вначале, если значение M 1 меньше либо равно M 2 , параметр I устанавливается равным M 1 и с этим значением выполняются все операторы тела цикла, затем I изменяется до величины M 1+MЗ , получившееся значение сравнивается с M 2 и если I меньше или равно M 2 , то с этим значением I выполняются все операторы тела цикла. Этот процесс продолжается до тех пор, пока параметр цикла не перейдет границу значения MЗ , т. е. при положительном шаге M 3 цикл повторяется при всех значениях I меньших M 2 , а при отрицательном шаге MЗ цикл повторяется при всех значениях I больших M 2. • Если в записи цикла значение шага MЗ отсутствует, то оно принимается равным единице. • После окончания цикла выполняется оператор, следующий за оператором CONTINUE.

Примеры заголовка цикла • DO 10 I=1, N-1 • DO 5, A=K, X*Y+ 5,Примеры заголовка цикла • DO 10 I=1, N-1 • DO 5, A=K, X*Y+ 5, H • При записи заголовка цикла необходимо следить за тем, чтобы шаг не оказался равным нулю.

Пример использования оператора цикла.  • Для заданного целого положительного значения n вычислить иПример использования оператора цикла. • Для заданного целого положительного значения n вычислить и напечатать значение суммы

 • PROGRAM SUM_R •   PRINT *, 'VVEDI N'  • • PROGRAM SUM_R • PRINT *, ‘VVEDI N’ • READ *, N • PRINT *, ‘VVEDI X’ • READ *, X • S=0. 0 • A=X • DO 5 K=1, N • PRINT *, ‘ K=’, K • S=S+A • A=A*X/(K+1) • 5 CONTINUE • PRINT *, ‘ N= ‘, N , ‘ A=’, A, ‘ S= ‘, S • END PROGRAM SUM_R PRINT *, ‘VVEDI N’ READ *, N PRINT *, ‘VVEDI X’ READ *, X S=0. 0 A=X DO K=1, N PRINT *, ‘ K= ‘, K S=S+A A=A*X/(K+1 ) END DO PRINT *, ‘ N= ‘, N , ‘ A= ‘, A, ‘ S= ‘, S END В качестве оператора, завершающего тело цикла, можно использовать оператор END DO. В этом случае в заголовке цикла не указывается метка, а вместо оператора CONTINUE записывается END DO.

ЦИКЛ С ФИКСИРОВАННЫМ ЧИСЛОМ ПОВТОРЕНИЙ •  В Фортране циклы с фиксированным числом повторенийЦИКЛ С ФИКСИРОВАННЫМ ЧИСЛОМ ПОВТОРЕНИЙ • В Фортране циклы с фиксированным числом повторений реализуются конструкцией DO. Наиболее часто циклы с фиксированным числом повторений используются для накопления сумм или произведений, либо для вычисления значений или перестановки элементов массивов. Конструкция DO обеспечивает изменение значения целой переменной, называемой параметром цикла, в заданных пределах и с заданным шагом. Для каждого значения переменной цикла выполняется блок операторов, называемый телом цикла. В ФОРТРАНЕ-77 Цикл начинается DO-строкой, в которой, после ключевого слова DO, сначала указывается метка последнего оператора тела цикла, а затем переменная цикла. Переменной цикла присваивается начальное значение, а за тем, через запятую указываются конечное значение и шаг изменения. Далее следует тело цикла, завершающееся оператором, помеченным меткой, указанной в DO-строке. Как правило меткой помечается «пустой» (не вызывающий какого-либо действия) оператор CONTINUE program CUMULAT parameter(N=5) integer FCTR dimension ARR(N) data ARR /-1. 2, 3. 4, -5. 6, 7. 8, -9. / c Произведение всех целых чисел от 1 до N (факториал) FCTR = 1 do 10 i = 1, N FCTR = FCTR*i 10 continue

Оператор DO WHILE • Оператор цикла DO WHILE  • имеет вид:  •Оператор DO WHILE • Оператор цикла DO WHILE • имеет вид: • DO m WHILE(L ) • • • … • m CONTINUE • Или • DO WHILE(L) • • • … • END DO Здесь m – метка последнего оператора тела цикла или оператора CONTINUE ; L – логическое выражение, которое обязательно заключается в круглые скобки. После метки m может стоять необязательная запятая.

Правило выполнения • Вычисляется значение логического выражения L.  Если оно принимает значение «истина»Правило выполнения • Вычисляется значение логического выражения L. Если оно принимает значение «истина» (. TRUE. ), то выполняются все операторы тела цикла до оператора CONTINUE с меткой m или до END DO. • Этот процесс продолжается до тех пор, пока логическое выражение не примет значение «ложь» (. FALSE. ). Тогда операторы тела цикла не исполняются, и управление передается оператору, следующему за CONTINUE или за END DO.

Примеры заголовка цикла • DO 25 WHILE(A**2+B**2. GT. R 0**2)  • DO WHILEПримеры заголовка цикла • DO 25 WHILE(A**2+B**2. GT. R 0**2) • DO WHILE (Z. LE. X 1. OR. Z. GE. X 2) • DO 777 WHILE(A. GT. B. OR. A= =B)

Пример использования оператора DO WHILE PROGRAM FIB   CHARACTER(20) : :  S='VVEDIПример использования оператора DO WHILE PROGRAM FIB CHARACTER(20) : : S=’VVEDI M’ INTEGER*4 : : F 1=1, F 2=1 INTEGER (4) F PRINT *, S READ *, M F=-1 DO WHILE(F<=ABS(M)) F=F 1+F 2 F 1=F 2 F 2=F END DO PRINT *, ' M= ', M , ' F= ', F ENDВычислить первый член ряда Фибоначчи, превосходящий модуль заданного числа M ≠ 0 Здесь F 2– текущее значение, F 1– предыдущее, а F– вычисляемые значения. В этой программе начальное значение переменной F задается равным – 1, для того чтобы оператор цикла исполнился хотя бы один раз. Для того чтобы при следующем выполнении тела цикла алгоритм был правильным, значение F 2 передается переменной F 1, а F- в F 2.