который передает управление на оператор, следующий непосредственно за оператором 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, которое делит оба числа без остатка.
Программа к задаче 9
INPUT "Введите числа X и Y", x, y
x = 12: y = 8
‘определение минимального (переменная К) значения из X и Y
IF x<y THEN k=x ELSE k=y
FOR i = k TO 1 STEP –1‘перебор чисел от К до 1
‘если Х и Y делятся нацело на i, НОД=i найден
IF x MOD i=0 AND y MOD i=0 THEN ?"НОД="; i: EXIT FOR