Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операторы в цикле



NEXT

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

Например:

FOR a = 3 TO 7.5 STEP 0.8

Операторы

NEXT a

Здесь группа операторов от оператора FOR до оператора NEXT будет повторяться столько раз, сколько нужно, чтобы переменная А, изменяясь с шагом 0.8 от значения равного 3, достигла 7.5. Таким образом, мы последовательно получим: A=3; 3.8; 4.6; 5.4; 6.2; 7, т.е. цикл будет выполнен 6 раз. При следующем значении А=7.8 циклы более не выполняются, поскольку А становится больше предельно возможного (7.8>7.5) в данном операторе FOR. Далее программа продолжаться с оператора, следующего сразу после NEXT.

В качестве параметров оператора цикла разрешены выражения. Например: FOR c=b+2 TO k STEP x–2. Если шаг изменения переменной цикла 1, разрешается его не указывать. Так, операторы

FOR i=4 TO k STEP 1 и FOR i=4 TO k

полностью эквивалентны. Дословно такой оператор интерпрети­руется следующим образом: “Выполнять операторы цикла от оператора FOR до оператора NEXT столько раз, сколько нужно, чтобы переменная I, изменяясь с шагом 1, достигла значения k.” Цикл перестанет выполняться в момент, когда переменная цикла становится больше предельного значения цикла (k).

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

FOR i=20 TO 10 STEP -3

Здесь переменная I последовательно получит значения: 20, 17, 14, 11.

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

Оператор цикла является сильнейшим средством программиста. Он один заменяет несколько операторов в цикле, построенном обычным образом – это операторы задания исходного значения циклической переменной (или счетчика циклов) и операторы ее приращения и анализа. Оператор FOR удобен для реализации арифметических циклов.

На блок-схемах оператор FOR отображается в виде фигуры “прямоугольник в ромбе”, которая имеет два выхода. Выход ДА соответствует случаю, когда переменная цикла меньше или равна своему предельному значению – цикл продолжает выполняться. Выход НЕТ – случаю превышения переменной этой границы – цикл завершается. Иногда можно воспользоваться упрощенным обозначением цикла FOR, когда он включается в виде заголовка в прямоугольник, содержащий операторы цикла. К такой форме возможно прибегать, если тело цикла не содержит разветвлений или собственных циклов.

Решим задачу 7 с применением оператора FOR. Здесь необходимо просум­мировать в переменную S все числа Х из множества N чисел. Блок-схема приведена на рис. 13а и 13б в обоих возможных вариантах. Второй более компактен, однако, как уже говорилось, он возможен не всегда.

Если необходимо выйти из цикла FOR до его естественного завершения (до выполнения всех циклов), можно применить оператор GOTO, но удобнее воспользоваться специальным оператором выхода вида

üEXIT FOR

который передает управление на оператор, следующий непосредственно за оператором NEXT.

Программа к Проверка для N=3
задаче 7 (с FOR) 1 цикл 2 цикл 3 цикл  
INPUT n a=3: s=0 FOR i=1 TO n s=s+a a=2*a NEXT ? s n=3 a=3, s=0 i=1<3 s=0+3=3 a=2*3=6 2<3 3=3 4>3 s=21

Если нужно, не выполняя до конца текущего цикла, начать следующий, следует перейти оператором GOTO непосредственно на оператор NEXT. В задаче 8, например, это оператор IF x<0 THEN s=s+x: GOTO 9.

Задача 8. Для N произвольных чисел Х вычислить и отпечатать: сумму отрицательных чисел S, количество положительных чисел КР, произведение положительных чисел Р. Все вычисления производить до появления первого нуля в последовательности. Если нуль не встретился, кроме S, KP и Р напечатать сообщение НУЛЕЙ НЕТ. Блок-схема алгоритма приведена на рис. 14. В программе сделана проверка для N=5 и чисел Х=3,–2,1,–3,2. В результате получено S=–5, P=6, KP=3.

Программа Проверка для N=5
к задаче 8 1 цикл 2 цикл 3 цикл 4 цикл 5 цикл  
INPUT n kp=0: s=0: p=1 FOR i=1 TO n INPUT x IF x=0 GOTO 7 IF x<0 THEN s=s+x: GOTO 9 kp=kp+1 p=p*x 9 NEXT ?“Нулей нет” 7? s p kp n=4 i=1<5 x=3 x≠0 x>0 kp=1 p=3 2<5 x=-2 x≠0 x<0, s=-2 3<5 x=1 x≠0 x>0 kp=2 p=3 4<5 x=-3 x≠0 x<0, s=-5 5=5 x=2 x≠0 x>0 kp=3 p=6 Нулей 6>5
 
 


Нет

-5,6,3

Задача 9. Для чисел Х и Y найти наибольший общий делитель. Нахождение НОД будем выполнять путем последовательного перебора сверху вниз всех натуральных чисел от максимального из X и Y до 1. Наибольшим делителем считаем первое значение i, которое делит оба числа без остатка.





Дата публикования: 2014-12-28; Прочитано: 210 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...