- •Техника программирования на алгоритмическом языке бейсик
- •Операторы языка
- •Операторы управления
- •Организация ветвлений
- •Input “Укажите х”, X
- •2 Print y
- •Input X
- •Input a,b,c
- •Организация циклов
- •Программа к задаче 9
- •Input "Введите числа X и y", X, y
- •Input X
- •Input X
- •Работа с массивами
- •Input "Введите число вкладчиков и процент ",n,p
- •Input X(I,j)
- •Input n
Программа к задаче 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
NEXT
END
Задачи для самостоятельного решения.
1). Имеется N произвольных чисел Х. Составить программу вычисления и напечатать сумму всех положительных чисел S, число отрицательных чисел К и произведение P всех чисел, не равных нулю. Сделать проверочные выкладки для N=5 (аналогичные выполненным выше). В качестве значений Х использовать последовательные цифры натурального ряда с изменяющимися знаками (Х=0, –1, 2, –3, 4, –5).
2). Напечатать все числа, на которые число Х делится без остатка.
3). Вычислить наименьшее общее кратное (НОК) чисел X и Y. НОК – это минимальное число, которое делится на Х и Y без остатка. Общим кратным, конечно, является произведение X на Y, но он не обязательно наименьшее. Так если Х=6, а Y=9, то XY=54. Однако еще есть общие кратные 36 и 18. Т.е. НОК=18. Удобно поиск НОК осуществлять следующим образом. Сначала получить произведение N=XY. Затем, перебирая все числа от N до числа максимального из X и Y, попытаться найти другое значение, которое делится на Х и Y без остатка.
4). В банке хранится известное количество N срочных вкладов. О каждом вкладе известно его значение на начало года – X. Размер годовой прибыли зависит от величины вклада. Если вклад до 10000 руб. – прирост составляет 10% годовых, если до 50000 руб. – 12%, если больше – 15%. Вычислить и напечатать значение каждого вклада на конец года Y, а также сумму всех вкладов на начало SX и конец SY года. Задачу решить двумя способами – с оператором цикла и без него. Указание. Процент увеличения вклада удобно отобразить в виде коэффициента. Так при 12% годовых, значение вклада Y на конец года соответствует 1.2*X.
Оператор итерационного цикла имеет вид
WHILE условие
операторы
WEND
Такая конструкция позволяет организовывать итерационные циклы. Операторы, входящие в тело цикла выполняются до тех пор, пока истинно условие.
Для примера снова решим задачу 3 (вычислять и печатать Y=2/Х до обнаружения первого Х=0). Программа приведена ниже.
Input X
WHILE x<>0
?х; 2/x
Input X
WEND
Если параметр условие опущен, цикл будет выполняться бесконечно. В этом случае внутри него должно быть предусмотрено средство выхода, например строка GOTO. Кроме того, в Бейсике имеется еще один оператор цикла с условием. Он имеет две разновидности: цикл с предусловием (условие рассматривается до входа в цикл)
DO [WHILE/UNTIL условие]
операторы
LOOP
и цикл с постусловием (условие оценивается после выполнения тела цикла)
DO
операторы
LOOP [WHILE/UNTIL условие]
Ключевое слово UNTIL действует обратным образом по отношению к WHILE, т.е. UNTIL-цикл будет выполняться до тех пор, пока условие не станет истинным. Иными словами WHILE условие это UNTIL NOT условие.
Здесь, имеется собственный оператор принудительного выхода из цикла
EXIT DO
Структуру с постусловием удобно применять в случае, если цикл необходимо выполнить хотя бы один раз независимо от значения условия или, если само условие формируется в цикле и не может быть оценено до входа в цикл.
Задачи для самостоятельного решения.
1). Решите задачу 4, используя оператор WHILE, а затем оператор DO.
2). Суммировать элементы числового ряда вида 2+6+18+… до тех пор, пока сумма не превысит число 120. Напечатать получившуюся сумму и номер элемента, на котором произошло это событие.