"Учебник QBasic" - Автор Неизвестен
Шрифт:
Интервал:
Закладка:
Сохранить файл: Меню Файл, Сохранить.
Открыть файл, то есть считать его с диска: Меню Файл, Открыть.
Выход из QBasic: Меню Файл, Выход.
Копирование выделенного фрагмента программы в буфер (Edit,Copy) - Ctrl-Insert,
Вставка фрагмента из буфера (Edit,Paste) - Shift-Insert,
Вырезать (Edit,Cut) - Shift-Delete.
Удобно выделять и делать все указанные операции с помощью мыши. Можно выделенный фрагмент программы вставить в другой файл, если после выделения открыть его.
В QBasic 4.5 можно откомпилировать текстовый bas-файл, превратив его в двоичный exe-файл, который можно использовать отдельно, то есть без среды программирования QBasic.
Учебники: / QBasic - №03 - Переменная в программе /
Переменная - это область в памяти компьютера, где хранится некоторое значение. Каждая переменная имеет имя, значение и тип.
Имя переменной обозначается английской буквой, после которой может быть цифра, причем первой стоит буква, например: x, y, z, A1, B2. Имя переменной служит для обозначения некоторой величины в программе, которая при выполнении программы может иметь какое-либо значение, но может быть и не определена. Пример задания часто употребляемой константы: pi=3.14159.
Типы переменных: целая, вещественная, логическая, символьная, строковая и др. Если в переменной хранится число, то это числовая переменная, если в переменной хранится слово или фраза, то это строковая (символьная) переменная. В QBasic строковая переменная обозначается a$, b$ (в конце имени стоит знак доллара $). Содержимое хранится в переменной, до тех пор, пока оно не будет специально изменено.
Операция передачи новых данных в переменную называется присваиванием и обозначается в QBasic знаком "=", например, x=10.
Учебники: / QBasic - №03 - Операции ввода-вывода информации /
Для вывода (печати) информации на экран применяется оператор PRINT. Пример:
PRINT X - вывод на экран значения числа X.
PRINT "Скорость тела равна: V="; V; "м/с" - выводимый на экран текст указывается в кавычках. Вместо знака ";" можно ставить знак ",".
Просто оператор PRINT без текста и знаков даёт пустую строку на экране.
Если при работе в среде QBasic 4.5 вместо слова PRINT ставить знак вопроса "?", а затем нажать Enter, то слово PRINT само появится на экране. Это упрощает работу программиста.
Ввод данных с клавиатуры осуществляется с помощью оператора INPUT
Пример: INPUT X - ввод числа X. На экране появится знак "?" и компьютер ждёт ввода переменной Х (это приглашение ввести число).
INPUT "Введите число Х="; X - можно вводить в кавычках подсказку, она будет выводиться на экран. После подсказки можно ставить знак "," вместо знака ";", но тогда знака вопроса "?" на экране не будет, а вместо него в качестве приглашения будет мигать курсор.
Пример 1: Вычислить площадь треугольника по формуле Герона.
CLS
'Определите площадь треугольника по формуле Герона.
INPUT "Введите величину стороны a: a=", a
INPUT "Введите величину стороны b: b=", b
INPUT "Введите величину стороны c: c=", c
p = (a + b + c) / 2
S = SQR(p * (p - a) * (p - b) * (p - c))
PRINT "Ответ: площадь треугольника равна: S="; S
Пример 2 (с использованием строковых переменных). Напечатайте на экране введённые с клавиатуры фамилию, имя и класс ученика.
CLS
INPUT "Введите свою фамилию: ", f$
INPUT "Введите своё имя: ", i$
INPUT "Введите свой класс: ", k$
PRINT f$; " "; i$; ", "; k$
END
Учебники: / QBasic - №03 - Управляющие конструкции QBasic /
1. Оператор безусловного перехода GOTO N, где N-метка. В качестве N можно взять любое число, не обязательно совпадающее с номером строки, так как в QBasic 4.5 строки можно не нумеровать. Но двух одинаковых меток в одной программе не должно быть. Исполнение программы будет продолжено с той её части, которая начинается с указанной метки.
Пример:
.......
GOTO 10
.......
10 PRINT "Текст"
.......
2. Условный оператор IF...THEN...ELSE (Если...Тогда...Иначе):
IF <условие> THEN <список операторов> ELSE <список операторов>
Если заданное условие истинно, выполняется список операторов, стоящий после THEN, в противном случае выполняется список операторов, стоящий после ELSE.
Слово ELSE может и отсутствовать. Тогда происходит переход к строке, следующей за оператором IF...THEN.
Условия представляют собой логические соотношения: равенства или неравенства = равно, <> неравно, > больше, < меньше, >= больше или равно, <= меньше или равно.
При использовании сложных условий (объединении двух и более условий) применяют слова AND (И) и OR (ИЛИ): Условие1 AND (или OR) Условие2...
Условный оператор позволяет реализовать алгоритм с ветвлением.
Пример 1:
CLS
INPUT "Введите год основания Москвы: M="; M
IF M = 1147 THEN PRINT "Вы правы!" ELSE PRINT "Вы ошиблись!"
Пример 2:
CLS
PRINT "Вычислите y=1/(x-2) для всех x"
INPUT "Введите x=", x
IF x = 2 THEN PRINT "При x=2 функция не определена!": END
y = 1 / (x - 2)
PRINT "y="; y
Применяется также частный случай условного оператора - оператор условного перехода: IF <условие> GOTO N ELSE <список операторов> Число N - метка. Если условие выполняется, то происходит переход по метке N, а иначе выполняется список операторов, стоящих после ELSE. Слово ELSE может и отсутствовать. Тогда происходит переход к строке, следующей за оператором IF...GOTO.
Пример 3:
CLS
INPUT "Если хочешь каникулы, вводи 1. Если нет, любое число. n=", n
IF n = 1 THEN GOTO 10 ELSE GOTO 20
10 PRINT "Хочу каникулы!": END
20 PRINT "Хочу учиться!"
3. Оператор цикла FOR...TO...NEXT... позволяет реализовать циклический алгоритм, когда часть программы может быть выполнена много раз подряд. FOR...TO... - начало цикла, NEXT... - конец цикла.
То, что стоит между началом и концом цикла, называется телом цикла. Иногда также применяются вложенные циклы, то есть циклы могут быть вложенными один в другой.
FOR X=A TO B STEP H
...................
NEXT X
Здесь X - переменная, A - начальное значение переменной, B - конечное значение переменной, H - шаг, с которым меняется переменная. Если шаг STEP H отсутствует, то по умолчанию шаг H=1. При этом переменная X называется счётчиком цикла. Повторение участка программы с шагом H происходит до тех пор, пока X<B. Число повторений цикла равно (B-A)/H. При X=B цикл заканчивается и выполняется оператор, следующий за оператором конца цикла NEXT. Возможно, что шаг H<0, но тогда A>B.
Пример 1: Напечатать на экране текст 20 раз.
CLS
FOR X=1 TO 20
PRINT "С Новым Годом!"
NEXT X
Пример 2: Вычислить сумму n первых членов ряда S=1+1/4+1/9+...+1/n^2
CLS
INPUT "Введите число членов ряда: n=", n
FOR i = 1 TO n
S = S + 1 / i ^ 2
NEXT i
PRINT "Сумма n первых членов ряда равна: S=", S
Пример 3: Нарисуйте 15 разноцветных концентрических окружностей.
SCREEN 7
FOR i = 1 TO 15
CIRCLE (160, 100), i * 6, i
NEXT i
Пример 4: Разлинуйте экран в клеточку.
SCREEN 7
FOR i = 1 TO 32
LINE (0, 10 * i)-(320, 10 * i), 15
LINE (10 * i, 0)-(10 * i, 200), 15
NEXT i
Примеры 5,6 : Одновременное использование циклического и условного операторов. Вычисление функций, имеющих ограничения в области определения.