Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_Попов_1.doc
Скачиваний:
6
Добавлен:
25.04.2019
Размер:
668.16 Кб
Скачать

Программа к задаче 9

Input "Введите числа X и y", X, y

x = 12: y = 8

IF x<y THEN k=x ELSE k=y ‘определение минимального из X и Y – K

FOR i = k TO 1 STEP -1 ‘последовательный перебор чисел от К до 1

‘если Х и Y делятся нацело, делитель (i) найден

IF x MOD i=0 AND y MOD i=0 THEN PRINT "НОД="; i: EXIT FOR

NEXT

END

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

Задача

Вычислить сумму всех положительных чисел

Вычислить количество чисел, квадрат которых меньше 10

Вычислить количество положительных, количество нулевых чисел и

сумму отрицательных

Ответить на вопрос: правда ли, что среди этих чисел имеются

отрицательные (ответ должен быть в виде текста “ДА” или “НЕТ”)

Напечатать все числа из очереди, квадрат которых превышает 7

Вычислить произведение положительных чисел

Подсчитать число четных и сумму нечетных чисел.

Суммировать числа до тех пор, пока случайно не встретится число 2.

Напечатать получившуюся сумму. Если двойка не встретилась, напечатать

текст “Числа слишком малы”.

Суммировать квадраты чисел до тех пор, пока сумма квадратов не превысит

40. Напечатать, на котором по счету числе произошло это событие. Если

оно не произошло вообще, напечатать текст “Числа слишком малы”

Определить и напечатать, каким по счету в очереди стоит число 3. Если

троек несколько, нас интересует только первая из них. Если троек нет

совсем, напечатать сообщение “Троек нет”.

Контрольная задача. В банке хранится известное количество (N) срочных вкладов. О каждом вкладе известно его значение на начало года – X. Размер прибыли зависит от величины вклада. Если вклад до 10000 руб. – прирост составляет 10% годовых, если до 50000 руб. – 12%, если больше – 15%. Вычислить и напечатать значение каждого вклада на конец года, а также суммарные вклады на начало и конец года. Задачу решить двумя способами – с оператором цикла и без него. Указание. Процент увеличения вклада удобно отобразить в виде коэффициента. Так при 12% годовых, значение вклада на конец года соответствует 1.2X.

ОПЕРАТОР ИТЕРАЦИОННОГО ЦИКЛА имеет вид

WHILE условие

операторы

WEND

Такая конструкция позволяет легко организовывать итерационные циклы – операторы, входящие в тело цикла выполняются до тех пор, пока истинно условие.

Для примера снова решим задачу 3 (вычислять и печатать Y=Х2 до обнаружения первого Х=0). Программа приведена справа.

INPUT x

WHILE x<>0

?х; х^2

INPUT x

WEND

Если параметр WHILE условие опущен, цикл будет выполняться бесконечно. В этом случае внутри него должно быть предусмотрено средство выхода, например строка GOTO. Кроме того, в Бейсике имеется еще один оператор цикла с условием. Он имеет две разновидности: цикл с предусловием (условие рассматривается до входа в цикл)

DO [WHILE/UNTIL условие]

операторы

LOOP

и цикл с постусловием (условие оценивается после выполнения тела цикла)

DO

операторы

LOOP [WHILE/UNTIL условие]

Ключевое слово UNTIL действует обратным образом по отношению к WHILE, т.е. UNTIL-цикл будет выполняться до тех пор пока условие не станет истинным. Иными словами WHILE условие=UNTIL NOT условие.

Здесь, имеется собственный оператор принудительного выхода из цикла

EXIT DO

Структуру с постусловием удобно применять в случае, если цикл необходимо выполнить хотя бы один раз независимо от значения условия или, если само условие формируется в цикле и не может быть оценено до входа в цикл.

Тест. 2.4.2. Сколько раз будет выполнен цикл и чему будет равно k по завершению программы? 1). k=0, 2). k=-1, 3). k=1.

k=13

while k>0

k=k-2

wend