Основные понятия языка программирования QBASIC
Стандартные функции QBASIC
При решении задач вычислительного характера часто приходится вычислять значения математических функций, таких как , и т.д. В языке QBASIC они вычисляются при помощи специальных подпрограмм, включённых в общую библиотеку. Такие функции не требуют дополнительного описания в программе и носят название стандартных функций. Аргументом функции может быть произвольное арифметическое выражение, численное значение или переменная.
Арифметическое выражение устанавливает порядок выполнения операций для получения числового значения на основе заданных исходных данных. В них используются константы, переменные, функции, соединённые знаками арифметических операций.
Правила вычисления арифметических выражений:
а) выполняются все операции внутри скобок, начиная с самых внутренних;
б) порядок вычисления внутри скобок определяется приоритетом операции (значение функции; возведение в степень; умножение - деление; сложение - вычитание);
в) при наличии нескольких операций одного приоритета вычисления выполняются последовательно слева направо.
назад.
Программа на QBASIC состоит из последовательности операторов. Оператор является основным элементом языка и описывает действия, которые необходимо выполнить для реализации алгоритма решения задачи. Он содержит служебное слово (имя оператора) и параметры.
Операторы записываются в строки. Нумерация строк в QBASIC не обязательна. На одной строке при необходимости может быть несколько операторов, тогда она разделяется двоеточием " : " .
Программа линейного алгоритма представляет последовательность операторов, каждый из которых выполняется один раз в порядке его следования.
Служит для присваивания переменным тех или иных значений в соответствии с алгоритмом задачи. В QBASIC оператор присваивания - " = ".
Пример:
A=35; F=3.4; L=F-1; X=X+1.
назад
STOP и END - служат для прекращения выполнения программы. STOP - логическое завершение программы; может стоять в любом месте программы и их может быть несколько. END - физическое завершение; стоит в самом конце программы.
Операторы STOP и END в программе на QBASIC могут отсутствовать.
Для ввода данных в память машины в диалоговом режиме используется оператор INPUT.
INPUT <СПИСОК ВВОДА>
При его выполнении на экране печатается "?" и машина ожидает ввода данных.
Пример:
1) INPUT A, B, C
? 2, 3, 4
2) INPUT "Введите значения A, B, C" A, B, C
Введите значения A, B, C ? 2, 3, 4
3.4.2. Операторы ввода READ И DATA
Когда в программе много исходных данных, которые не подлежат частой смене, или программа уже отлажена для ввода исходных данных, используют оператор READ. Числовые значения вводимых переменных помещаются в списке оператора DATA. Оператор DATA является неисполнимым оператором. Количество операторов DATA и READ может быть различным. Главное, чтобы общее количество переменных во всех операторах READ не превышало суммарное число значений в операторах DATA.
Пример:
. . . . . . . . . .
DATA 1, 2, 3, 4
. . . . . . . . . .
READ A, B, C
. . . . . . . . .
DATA 5, 6
. . . . . . . . . .
READ D, I, F
Числовые значения из списка DATA могут использоваться повторно и присваиваться другим переменным, если в программе поместить оператор RESTORE.
Пример:
DATA 5, 3
READ A, B
RESTORE
READ C, D
3.4.3. Оператор печати PRINT
Предназначен для вывода числовых значений и текста на экран или принтер.
Оператор PRINT может содержать числа, переменные, выражения и тексты, заключённые в кавычки. Оператор PRINT без списка вызывает печать пустой строки.
Пример:
A = 3
B = -10
PRINT 1; A, 2; B
PRINT "Сумма A+B = "; A+B
";" - обеспечивает вывод разделённых значений через один пробел (знак "+" не печатается);
"," - обозначает конец зоны из 14 позиций и следующее выводимое значение будет напечатано в начале следующей зоны.
Пример:
PRINT B; A; A+B, A*B
-10_ _ 3_ -7_ _ _ _ _-30
Каждый оператор PRINT осуществляет печать с новой строки. Однако, если в конце списка вывода есть "," или ";", то следующий оператор будет продолжать вывод на той же строке в формате, соответствующем разделителю.
3.4.4. Оператор REM или '
Используется для пояснения по тексту программы.
Пример:
1)REM Программа линейного алгоритма
2) ' Программа линейного алгоритма
3.5. Программирование разветвляющихся алгоритмов
В процессе решения большинства задач возникает необходимость в зависимости от выполнения некоторого условия производить те или другие действия, например, вести вычисления либо по одним, либо по другим формулам.
Вычислительный процесс, который в зависимости от выполнения определённых условий реализуется по одному из нескольких заранее предусмотренных направлений, называется разветвляющимся. Алгоритм такого вычислительного процесса называется алгоритмом разветвляющейся структуры. Каждое отдельное направление называется ветвью. Выбор ветви осуществляется в результате проверки некоторого логического условия, определяющего свойства исходных данных или промежуточных результатов.
Безусловный переход организуется оператором
< GOTO N>
N - метка, на которую осуществляется переход.
Пример:
. . . . . . .
GOTO 5
. . . . . . .
5: A= A+B
3.5.2. Условный оператор
Условный оператор предназначен для изменения порядка выполнения операторов после проверки некоторого условия
При выполнении условия, следующего за оператором IF, выполняется последовательность операторов S, в противном случае - последовательность S1 (при отсутствии ELSE и не выполнении условия управление передаётся за следующую после IF строку). При записи условия могут использоваться служебные слова, показывающие некоторое логическое соотношение между условиями (AND - и; OR - или)
Примеры:
1) INPUT A, B
IF A<=B THEN X=A ELSE X=B
PRINT X
2) INPUT A, B
IF A>=B THEN X=A: GOTO 1
X=B
1: PRINT X
3) INPUT A, B, C
IF A=B AND B=C THEN Y=1 ELSE Y=2
PRINT Y
3.6. Программирование циклических алгоритмов
При решении многих задач возникает необходимость многократного повторения одних и тех же действий, но над различными значениями переменных, определяющих эти действия. Такие вычислительные процессы называются циклическими, а многократно повторяемые участки - циклами.
Любой алгоритм циклической структуры в общем случае содержит следующие действия: задание начальных значений переменных; действия, выполняемые непосредственно в цикле, называемые телом цикла; изменение значений переменных цикла по некоторому закону; проверка условия продолжения или окончания цикла. Оператор цикла:
FOR V=A1 TO A2 STEP A3
операторы тела цикла
NEXT V
FOR - для; TO - до; STEP - шаг; NEXT - следующий; V - имя управляемой переменной или параметра цикла; A1, A2, A3 - выражения, определяющие соответственно начальное, конечное значения и шаг параметра цикла (значение шага по умолчанию =1).
Такая структура предписывает выполнить все операторы, расположенные между операторами FOR и NEXT, для всех значений параметра цикла V, изменяющихся от начального A1 до конечного A2 с шагом A3. Конструкция STEP A3 может быть опущена, если A3=1.
Пример:
X=1
FOR I=1 TO 10
X=X+1
PRINT X
NEXT I
Если цикл включает в себя один или несколько циклов, то содержащий внутри себя другие циклы называется внешним, а цикл, содержащийся в другом цикле - вложенным.
При программировании вложенных циклов необходимо выполнить правило: внутренний оператор цикла и принадлежащая ему область действия должны полностью содержаться внутри области внешнего цикла, таким образом внешний цикл всегда начинается раньше, а заканчивается позже, чем внутренний.
Пример:
X=1
FOR I=0 TO 1 STEP 0.1
FOR J=1 TO 3
X=X+I*J
PRINT X
NEXT J
NEXT I
Пример:
Рассчитать значения функции на диапазоне значений с шагом h.
Программа:
INPUT "Введите начальное, конечное значения Х и шаг"; Х0, ХК, H
FOR X=X0 TO XK STEP H
IF X<0 THEN PRINT "Для Х=";Х;" значение У не существует":
GOTO 1
PRINT "Для Х=";X;" значение У="; SQR(X)
1: NEXT X