INPUT "Введите числа X и Y", x, y
IF x<y THEN k=x ELSE k=y 'определение минимального (переменная К) значения из X и Y
FOR i = k TO 1 STEP –1 'перебор чисел от К до 1
IF (x MOD i=0) AND (y MOD i=0) THEN?"НОД="; i: EXIT FOR 'если X и Y делятся нацело на i, НОД=i найден
NEXT
Напоминаем, что взятие модуля X по I означает получение целого остатка от деления X на I. Иными словами, если x MOD i=0, то число X кратно числу I.
@ Задачи для самостоятельного решения.
1). Имеется N произвольных чисел X. Составить программу вычисления суммы S всех положительных чисел меньших 10 и среднее арифметическое SR всех отрицательных чисел.
2). Напечатать цепочку чисел, каждое из которых равно сумме двух предыдущих. Самые первые два числа X и Y задаются произвольно.
3). Напечатать все числа, на которые число X делится без остатка.
4). Вычислить наименьшее общее кратное (НОК) чисел X и Y. НОК – это минимальное число, которое делится на X и Y без остатка. Общим кратным, конечно, является произведение X на Y, но оно не обязательно наименьшее. Так если X=6, а Y=9, то X*Y=54. Однако еще есть общие кратные 36 и 18. Т.е. НОК=18. Удобно поиск НОК осуществлять, перебирая все числа от 1 до X*Y, до встречи первого числа, которое делится на X и Y без остатка.
|
|
5). В банке хранится известное количество N срочных вкладов. О каждом вкладе известно его значение на начало года – X. Размер годовой прибыли зависит от величины вклада. Если вклад до 10000 руб. – прирост составляет 10% годовых, если до 50000 руб. – 12%, если больше – 15%. Вычислить и напечатать значение каждого вклада на конец года Y, а также сумму всех вкладов на начало SX и конец SY года. Задачу решить двумя способами – с оператором цикла и без него. Указание. Процент увеличения вклада удобно отобразить в виде коэффициента. Так при 12% годовых, значение вклада Y на конец года соответствует 1.2X.
Оператор итерационного цикла имеет вид
üWHILE условие
Операторы
WEND
Такая конструкция позволяет организовывать итерационные циклы. Операторы, входящие в тело цикла выполняются до тех пор, пока истинно условие.
Для примера снова решим задачу 3 (вычислять и печатать Y=2/X до обнаружения первого X=0). Программа приведена ниже.
INPUT x
WHILE x< >0
?х; x/2
INPUT x
WEND
Если параметр условие опущен, цикл будет выполняться бесконечно. В этом случае внутри него должно быть предусмотрено средство выхода, например строка GOTO. Кроме того, в Бейсике имеется еще один оператор цикла с условием. Он имеет две разновидности: цикл с предусловием (условие рассматривается до входа в цикл)
üDO [WHILE/UNTIL условие]
Операторы
LOOP
и цикл с постусловием (условие оценивается после выполнения тела цикла)
üDO