
- •Введение
- •Интегрированная средаQbasic Запуск и завершение qbasic
- •Главное меню qbasic
- •Встроенный справочник qbasic
- •Формальные сведения оQbasic Алфавит qbasic
- •Д Данные Переменныеанные в языке qbasic
- •Выражения в языкеQbasic
- •Арифметические выражения
- •Условные выражения
- •Логические выражения
- •Символьные выражения
- •Встроенные функции
- •Команды в языкеQbasic
- •Оператор вывода данных
- •Статический ввод данных
- •Команды управления ходом выполнения программы
- •Безусловная передача управления
- •Условная передача управления
- •Формат записи вложенных условных операторов
- •Множественный выбор (select case)
- •Работа с датой и временем
- •Цикл со счетчиком (for…next)
- •Цикл while … wend
- •Вложенные циклы
- •Массивы
- •Одномерные массивы
- •Определение массивов
- •Заполнение массива
- •Порядок работы с массивами
- •Действия над элементами одномерного массива
- •Двумерные массивы Основные понятия
- •Заполнение массива
- •Действия над элементами двумерного массива
- •Подпрограммы
- •Функции, определяемые пользователем
- •1 Вариант
- •2 Вариант
- •Работа со строковыми типами данных Оператор line input
- •Операции со строковыми данными
- •Функции для работы с текстами
- •Графическая обработка данных
- •Оператор screen
- •Оператор color
- •Операторы pset, preset
- •Прямые линии – отрезки
- •Рисование прямоугольников
- •Оператор circle
- •Оператор paint
- •Вывод текста в графическом режиме
- •Графическое “перо”draw
Статический ввод данных
Если программа постоянно работает с некоторым набором числовых или символьных констант, то можно объявить такой набор блоком данных:
DATA список констант
В списке констант через запятую указываются значения констант, например:
10 DATA 5,25,19.6,30,12,"ABC"
20 DATA "BASIC","Pascal",25.9
В программе можно записать произвольное число операторов DATA. В блок данных по порядку включаются все константы и в памяти создаётся специальный указатель блока данных. Во время работы программы этот указатель содержит порядковый номер константы в блоке данных. При запуске программы указатель показывает на первую константу из блока данных.
Для присвоения значений констант из блока данных переменным используется оператор READ:
READ список переменных
В списке переменных через запятую указываются имена переменных, которым присваиваются значения констант из блока данных. Типы переменных в списке READ должны соответствовать типам констант из блока данных. Например:
READ a%, m%, t
Переменным a%, m%, t присвоятся значения 5, 25 и 19.6. Указатель перемещается на 4-ую константу. Оператор
READ c, sc%, a$
Присвоит переменным c, sc%, a$ значения 30, 12, "ABC" и указатель переместится на "BASIC" и т.д.
Как несколько раз прочитать одни и те же данные из блока данных? Для восстановления указателя блока данных используется оператор RESTORE:
RESTORE номер строки или метка
где номер строки должен указывать на оператор DATA.
Если не указан номер строки, следующий после RESTORE, READ начнет чтение с первой константы блока данных. Например:
RESTORE
READ vk%, s%
RESTORE 20
READ z1$, z2$
vk%, s% присвоятся значения 5 и 25, а переменным z1$, z2$ - значения "BASIC" и "Pascal".
Блок данных удобен в тех случаях, когда несколько раз используется одна и та же последовательность констант.
Пример.Составить программу нахождения высоты равнобедренной трапеции, у которой основания 5м и 11м, а боковая сторона 4м. Данные ввести статически.
DATA 5,11,4
READ BC,AD,AB
AE=(AD-BC)/2 'Основание треугольника
HT=SQR(AB^2-AE^2)
PRINT"Высота трапеции =";HT
END
Команды управления ходом выполнения программы
Очень часто, в зависимости от некоторых условий, приходится изменять последовательность выполнения команд действия.
Команды управления ходом выполнения программы делятся на три группы:
Команды безусловного перехода;
Команды условного перехода;
Команды организации циклов.
Безусловная передача управления
Формат:
GOTO номер строки или метка
Управление передается команде, помеченной номером строки или меткой.
Например:
GOTO W
…
W: PRINT"Решение получено"
Примечание.В среде программистов употребление GOTO принято считать дурным тоном. Чрезмерное пристрастие к GOTO запутывает программу.
Условная передача управления
Конструкцию условной передачи управления можно записать в одном из двух форматов - блочном (в несколько строк) или линейном (в одной строке).
Линейный формат:
IF логическое выражение THEN <блок команд 1> [ELSE <блок команд 2>]
Блочный формат:
IF логическое выражение THEN
<блок команд 1>
[ELSE
<блок команд 2>]
END IF
Выполнение. Если логическое выражение принимает значение "Истина", выполняется блок команд 1, если логическое выражение - "Ложь", выполняется блок команд 2. Если ELSE отсутствует, то выполняется команда, стоящая за END IF.
Пример1
INPUT "Сколько будет 2x2 ",X
IF X=4 THEN PRINT "Правильно" ELSE PRINT "Не правильно"
END
Пример2
Вычислить значение функции Y
Линейный формат:
INPUT "Введите значение аргумента Х ",X
IF X<=1 THEN Y=X-1/2*X^2+3 ELSE Y=1.05*(X-1)^2
PRINT "При значении Х=";X;" функция Y=";Y
END
Блочный формат:
INPUT "Введите значение аргумента Х ",X
IF X<=1 THEN
Y=X-1/2*X^2+3
ELSE
Y=1.05*(X-1)^2
END IF
PRINT "При значении Х=";X;" функция Y=";Y
END
Возможна вложенность одного условного оператора в другой.