- •1. Простейшие Операторы языка
- •2. Операторы управления
- •3. Организация ветвлений
- •Input X
- •Input a,b,c
- •Input g
- •4. Организация циклов
- •5. Операторы циклов
- •Программа к задаче 5.2
- •Input "Введите числа X и y", X, y
- •Input X
- •Input X
- •6. Работа с массивами
- •7. ОбРаботка Символьных данных
- •Пример. ?instr(”Саша”,”а”),instr(3,”Саша”,”а”) Результат: 2,4
- •Input "введите число X"; X
- •Контрольные задания
Программа к задаче 5.2
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
операторы
LOOP [WHILE/UNTIL условие]
Ключевое слово UNTIL действует обратным образом по отношению к WHILE, т.е. UNTIL-цикл будет выполняться до тех пор, пока условие не станет истинным. Иными словами WHILE условие это UNTIL NOT условие.
Здесь, имеется собственный оператор принудительного выхода из цикла
EXIT DO
Структуру с постусловием удобно применять в случае, если цикл необходимо выполнить хотя бы один раз независимо от значения условия или, если само условие формируется в цикле и не может быть оценено до входа в цикл.
Задачи для самостоятельного решения.
1). Решите задачу 4.2, используя оператор WHILE, а затем оператор DO.
2). Суммировать элементы числового ряда вида 2+6+18+… до тех пор, пока сумма не превысит число 120. Напечатать получившуюся сумму и номер элемента, на котором произошло это событие.