Файл: regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.12.2019
Просмотров: 3184
Скачиваний: 1
то
операторы
за
THEN
пропускаются
и
выполняются
операторы
за
ELSE
,
если
они
есть
,
затем
программа
переходит
к
следующему
оператору
.
Оператор
IF
и
все
связанные
с
ним
операторы
,
включая
следующие
за
ELSE
,
должны
быть
в
одной
программной
строке
.
Если
же
целесообраз
-
но
разместить
этот
оператор
в
нескольких
экранных
строках
,
то
в
конце
каждой
экранной
строки
нужно
поместить
символ
подчеркивания
(
_
).
В
этом
случае
следующая
строка
будет
рассматриваться
как
продолжение
предыдущей
.
Допускается
вложенность
операторов
IF
,
ограниченная
только
од
-
ной
строкой
;
при
этом
ELSE
соответствует
последнему
не
закрытому
опе
-
ратору
THEN
.
Оператор
IF a=b THEN IF b=c THEN PRINT "A=C" ELSE PRINT "A< > C"
будет
печатать
"A < > C"
при
A= B
и
B< >C.
Например
,
программа
,
реализующая
алгоритм
,
приведенный
на
рис
. 2.2.,
с
помощью
строчного
оператора
IF
,
будет
иметь
следующий
вид
:
INPUT "
Введите
значения
X, a, b "; X,a,b
IF x<=a THEN z=0.5*x^2+1 ELSE IF x>=b THEN_
z=(tan(x))^2 ELSE z= cos(x)
LPRINT
Z
END
2.6.2.
Блочный
оператор
IF
располагается
в
нескольких
строках
и
имеет
следующий
формат
:
IF x [ , ] THEN
. . .
операторы
[ELSEIF x [ , ] THEN
. . .
операторы
]
. . .
[ELSE
. . .
операторы
]
END IF
где
x
−
целое
выражение
.
При
выполнении
этого
блока
сначала
проверяется
истинность
выра
-
жения
в
операторе
IF
.
Если
оно
ложно
,
то
по
порядку
проверяется
выра
-
жения
в
каждом
из
следующих
за
ним
операторов
ELSEIF
(
их
может
быть
сколько
угодно
).
Как
только
находится
истинное
выражение
,
выполняются
операторы
,
следующие
за
соответствующим
оператором
THEN
,
после
чего
выполнение
блока
IF
прекращается
и
управление
передается
на
оператор
,
следующий
непосредственно
за
завершающим
END IF
.
Если
никакое
из
проверенных
условий
ELSEIF
не
справедливо
,
то
выполняются
операторы
за
ELSE
,
если
они
есть
.
После
чего
выполнение
блока
IF
прекращается
.
В
первой
строке
после
ключевого
слова
THEN
не
должно
быть
боль
-
ше
ничего
(
так
компилятор
отличает
IF
-
блок
от
сточного
оператора
IF
).
Кроме
того
,
ничего
не
должно
быть
в
строке
вслед
за
словом
ELSE
.
IF
-
блок
может
быть
вложенным
,
т
.
е
.
любой
из
операторов
,
следую
-
щий
за
всяким
THEN
или
ELSE
,
может
содержать
другой
IF
-
блок
.
IF
-
блок
должен
завершаться
ключевым
словом
END IF
,
с
пробе
-
лом
.
Программа
,
реализующая
алгоритм
,
приведенный
на
Рис
. 2.2,
с
по
-
мощью
IF
-
блока
,
будет
иметь
следующий
вид
:
INPUT
"
Введите
значение
a,b,X "; a,b,x
IF x<=a THEN
Z=0.5*X^2+1
ELSEIF
x>a
AND x<b THEN
Z=COS(X)
ELSE
Z=(TAN(X))^2
END IF
LPRINT
"Z=";Z
END
2.6.3.
Оператор
SELECT
имеет
следующий
формат
.
SELECT
CASE
x
CASE
список
сравнений
операторы
[CASE
список
сравнений
операторы
]
[CASE ELSE . . .
операторы
]
END
SELECT
где
x
−
или
числовое
или
символьное
выражение
;
список
срав
-
нений
–
это
одно
или
несколько
сравнений
,
в
которых
неявно
участвует
x
и
явно
элементы
такого
же
типа
.
Сравнения
могут
включать
равенство
(
знак
равенства
при
этом
может
быть
упущен
),
неравенство
,
соотношение
"
больше
чем
"
и
"
меньше
чем
",
принадлежность
диапазону
("
от
...
до
...").
Несколько
сравнений
в
одном
CASE
(
список
сравнений
)
связаны
между
собой
операцией
логического
"
ИЛИ
".
Например
,
CASE <a
'
неравенство
CASE 83
'
равенство
CASE a TO 88
'
диапазон
CASE 10,a
'
два
сравнения
на
равенство
,
'
связанных
неявно
операцией
ИЛИ
CASE a TO 17,23
'
комбинация
сравнений
,
связанных
'
неявно
операцией
ИЛИ
Если
хотя
бы
одно
сравнение
в
некотором
CASE
оказывается
спра
-
ведливым
,
то
выполняются
все
операторы
вплоть
до
следующего
CASE
,
после
чего
управление
передается
на
оператор
,
следующий
за
END
SELECT.
Если
ни
в
одном
CASE
нет
сравнения
,
являющегося
истинным
,
то
выполняются
операторы
,
следующие
за
CASE ELSE
,
ели
они
есть
.
Программа
,
реализующая
алгоритм
,
приведенный
на
Рис
. 2.2,
с
по
-
мощью
оператора
SELECT
,
будет
иметь
следующий
вид
:
INPUT
"
Введите
значение
a,b,X "; a,b,x
SELECT
CASE
X
CASE <=a
Z=0.5*X^2+1
CASE
>=b
Z=(TAN(X))^2
CASE
ELSE
Z=COS(X)
END
SELECT
LPRINT
"Z=";Z
: END
2.6.4.
Составить
три
варианта
программы
(
с
использованием
строч
-
ного
IF
,
блочного
IF
и
оператора
SELECT
)
для
определения
среднего
бала
C
при
сдаче
вступительных
экзаменов
в
ВУЗ
по
результатам
трех
экзаме
-
нов
.
В
зависимости
от
полученного
значения
C
,
приведенного
в
табл
. 2.3,
вывести
на
монитор
соответствующую
выписку
из
протокола
приемной
комиссии
.
Таблица
2.3.
Выписка
из
протокола
приёмной
комиссии
Значение
С
Вы
набрали
...
баллов
−
неудовлетворительно
если
С
<9
Вы
набрали
...
баллов
−
удовлетворительно
если
9<= C <12
Вы
набрали
...
баллов
−
хорошо
если
11< C=14
Вы
набрали
...
баллов
−
отлично
если
C=15
2.6.5.
Составить
программу
для
заданного
преподавателем
варианта
задания
,
приведенного
в
Табл
. 2.4.
В
программе
предусмотреть
ввод
с
кла
-
виатуры
трех
чисел
,
а
также
вывод
на
экран
монитора
и
на
принтер
вве
-
денных
значений
и
результата
работы
программы
с
точностью
2
знака
по
-
сле
запятой
с
пояснительным
текстом
(
например
“
Наименьшее
из
трех
чисел
равно
6.93
”).
Таблица
2.4.
Программа
должна
вывести
В
программе
использовать
оператор
на
экран
монитора
и
на
принтер
IF
строчный
IF
блочный
SELECT
наименьшее
из
трех
чисел
1
2
3
наибольшее
из
трех
чисел
4
5
6
числа
в
порядке
возрастания
7
8
9
числа
в
порядке
убывания
10
11
12
2.7.
Циклические
программы
в
TURBO BASIC.
Часто
при
составлении
программ
приходится
повторять
некоторую
часть
программы
несколько
раз
.
Например
,
вычислить
и
вывести
на
экран
значения
функции
у
=X
2
для
значения
аргумента
X
,
изменяющегося
в
ин
-
тервале
от
0
до
20
с
шагом
2.
Схема
алгоритма
такой
программы
в
общем
случае
приведена
на
рис
. 2.3.
Первый
и
последний
элементы
схемы
алгоритма
обозначают
начало
и
конец
цикла
.
В
элементе
1
задаются
пределы
изменения
значений
пере
-
менной
цикла
(0, 20)
и
шаг
,
с
которым
она
изменяется
(2).
Тело
цикла
,
в
данном
случае
,
составляют
элементы
2
и
3,
где
вычисляются
текущие
зна
-
чения
Y
,
а
затем
выводятся
на
экран
монитора
.
В
элементе
4
к
текущему
значению
переменной
цикла
прибавляется
шаг
,
равный
2,
и
если
получен
-
ное
значение
меньше
или
равно
конечного
значения
переменной
цикла
(20),
то
цикл
повторяется
еще
раз
для
второго
значения
X
,
то
есть
выпол
-
Рис
. 2.3
няется
тело
цикла
.
Цикл
повторяется
до
тех
пор
,
пока
текущее
значение
перемен
-
ной
цикла
не
станет
больше
20.
Обратите
внимание
на
то
,
что
при
выходе
из
цикла
значение
X=22
и
при
необходимости
это
значение
может
быть
использовано
в
дальнейшей
программе
.
Иногда
внутри
одного
цикла
могут
рас
-
полагаться
другие
циклы
,
так
называе
-
мые
вложенные
циклы
.
Однако
циклы
не
могут
пересекаться
,
т
.
е
.
все
внутренние
циклы
должны
быть
закончены
до
того
,
как
закончатся
внешние
.
2.7.1.
Оператор
FOR/NEXT
используется
в
программе
с
заданным
числом
повторений
и
имеет
следующий
формат
:
FOR
переменная
= x TO y [STEP z]
. . .
операторы
NEXT [
переменная
[ ,
переменная
] . . . ]
где
переменная
−
числовая
переменная
,
используемая
как
счетчик
повторов
;
x, y, z
−
числовые
выражения
,
определяющие
соответствен
-
но
начальное
,
конечное
значение
и
приращение
счетчика
.
Конструкция
выполняет
операторы
,
следующие
за
FOR
,
пока
в
про
-
грамме
не
встретится
оператор
NEXT
.
Тогда
к
текущему
значению
пере
-
менной
цикла
х
прибавляется
значение
шага
z
(
по
умолчанию
1)
и
полу
-
ченное
значение
сравнивается
с
конечным
значением
y
.
Если
значение
пе
-
ременной
больше
y
,
выполняется
оператор
,
следующий
за
NEXT
,
иначе
управление
снова
передается
к
оператору
,
находящемуся
за
FOR
.
Напри
-
мер
,
программа
,
реализующая
алгоритм
,
приведенный
на
рис
.2.3,
с
помо
-
щью
оператора
FOR/NEXT
имеет
вид
:
FOR x=0 TO 20 STEP 2
Y=SIN(X)
PRINT Y
NEXT X
Допускается
использование
вложенных
циклов
.
Рассмотрим
пример
программы
,
вычисляющей
и
выводящей
на
экран
монитора
значения