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

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

5.4_OPERATORY_CIKLA.pptx

  • Количество слайдов: 16

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

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

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

>

>

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

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

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

>Примеры заголовка цикла  DO10 I=1,N-1 DO 5, A=K,X*Y+ 5,H  При записи заголовка Примеры заголовка цикла DO10 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 m WHILE(L) Оператор DO WHILE Оператор цикла DO WHILE имеет вид: DO m WHILE(L) <оператор1> <оператор2> … m CONTINUE Или DO WHILE(L) <оператор1> <оператор2> … END DO Здесь m – метка последнего оператора тела цикла или оператора CONTINUE; L – логическое выражение, которое обязательно заключается в круглые скобки. После метки m может стоять необязательная запятая.

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