- •Оглавление
- •2.6. Модульное программирование
- •2.8. Численные методы анализа
- •2.1. Элементы языка
- •Мантисса e порядок
- •2.2. Операторы языка
- •Input [приглашение ;/,] список_вводимых_переменных
- •Операторы управления
- •If логическое_условие then оператор
- •If логическое_условие goto метка_оператора
- •If логическое_условие then оператор else оператор
- •I f логическое_условие then
- •2.3. Организация ветвлений
- •Input “Укажите х”, X
- •15 ? “Неверно”
- •2.4. Организация циклов
- •Программа к задаче 9
- •Input "Введите числа X и y", X, y
- •2.5. Работа с массивами
- •Input "Введите число вкладчиков и процент ",n,p
- •2.6. Модульное программирование
- •2.7. ОбРаботка Символьных данных
- •Пример. ?instr(”Саша”,”а”),instr(3,”Саша”,”а”) Результат: 2,4
- •2.8. Численные методы анализа
- •Input “Введите левую и правую границы a и в ”, a, b,
- •Input “Введите допустимую погрешность e ”, e
- •2.9. Выявление нажатия клавиш
- •2.10. Работа с графикой
- •2.11. Работа с дисковыми файлами
- •Тесты по курсу
- •Литература
Программа к задаче 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