Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел2-QB-лр1-8.doc
Скачиваний:
52
Добавлен:
22.05.2015
Размер:
1.19 Mб
Скачать

2 Разработка линейных программ

Структура программы

Программа на языке QBASIC состоит из строк, формат строки:

[№ строки/метка] оператор[:оператор]…[ ' комментарий]

Примечание: Элементы в квадратных скобках могут отсутствовать.

Таким образом, в каждой строке может быть № строки или метка оператора, должен быть один оператор (или несколько операторов, записанных через двоеточие) и после знака "Апостроф" ( ' ) возможен комментарий - текстовая часть строки с пояснениями, которая не

выполняется программой. Комментарий содержит пояснения для программиста. Количество строк в программе от 0 до 65533 (216).

Ввод каждой строки должен заканчиваться нажатием клавиши

[Enter], при этом выполняется перевод строки в программе, её ввод с экрана в оперативную память. Если формула введена правильно, то её запись расширяется в строке, а маленькие буквы превращаются в заглавные.

Метка может содержать буквы и цифры, должна начинаться с буквы и заканчиваться двоеточием ( например, М1:, Вариант14:).

Каждый оператор записывается в своём формате, например, операторы присваивания t = 54, x = - .356, z = 2E-09, оператор ввода INPUT x, оператор вывода PRINT alpha,у.

Запись выражений

Выражения (формулы) записываются только линейно, в одну строку, без дробей, индексов, показателей степени, пределов изменения, например:

x1-4 + e-3x → x1^ (-4) + exp(-3*x);

→sin(2*x)/((-TAN(z))^2;

→SQR (a^2 – b^2);

lgD + ln5 → LOG10(D) + log(5) и т.д.

Стандартные функции языка QB содержатся в его программе, поэтому их можно писать маленькими (строчными) буквами, после нажатия клавиши [Enter] они станут большими.

Аргумент функции обязательно берётся в скобки.

Типичные ошибки при записи выражений:

  1. Выражение cos3x, запись cos^3(x) неверна, в этом случае в третью степень возводится буква s, а не весь косинус. Правильная запись: (cos(x))^3.

  2. Выражение +ab, запись x + y / -t*z + ab неверна, т.к.:

  • на знаменатель делится только у, а не весь числитель,

  • два знака операций ("/" и "–") не могут стоять рядом,

  • пропущен знак "*" между а и b.

Правильная запись: (x + y) / (-t*z) + a*b.

  1. Выражение е, запись ЕХР^(2*х) неверна, т.к. возводится в степень не экспонента е, а буква Р. Правильная запись: ЕХР(2*х).

  2. Выражение |x|, запись abc(x) неверна, т.к. функция названа по слову "absolute", правильная запись: abs(x).

Корень n-й степени, например, вычисляется как а^(3/8), функции ctg в языке нет, поэтому его нужно определять, как 1/tg(…) или как cos(…)/sin(…) .

Приоритет выполнения арифметических операций в выражениях – cодержимое скобок, *, /, +, -, логические И, ИЛИ, НЕ.

Скобки (,) изменяют порядок вычислений.

Стандартные функции QBASIC

Наиболее часто в программах используются следующие основные функции (табл. 1)

Таблица 1

Функция

Запись или значение

SGN (X)

Функция знака.

Результат функции:

если Х – положительный аргумент, то (+1);

если Х - отрицательный аргумент, то (-1);

если Х - нулевой аргумент, то 0.

ABS (X)

|x|

INT (X)

Определяет це­лую часть аргумента X

SIN (X)

sin X

COS(X)

cos X

TAN(X)

tgX

ATN(X)

arctgX

SQR(X)

Квадратный корень положительного аргумента Х

LOG(X)

ln X

LOG10(X)

lg X

RND(X)

Генерирует псевдослучайное число или совокуп­ность чисел в интервале (0 - 1).

EXP(X)

еX, экспонента аргумента Х

CINT(a)

Округление числа а.

a MOD b

Определяет остаток от деления а на b.

Пример: Y=A MOD (B+2)

FIX(a)

Отбрасывание дробной части числа а.

Аргументы тригонометрических функций должны быть заданы в радианах, градусную меру нужно перевести в радианы (π радиан составляют 1800, 10=π/180 [рад]). Это можно сделать прямо под знаком функции, буква π в языке обозначена как PI.

Пример: cos 340 → cos(34*PI/180)

Стандартные функции могут быть вложены друг в друга, количество (глубина) вложений не ограничена.

Пример: → SQR(ABS(EXP(SIN(2*X))));

Количество открывающихся и закрываюшихся скобок должно быть одинаково.

Операторы ввода

В языке QB используются для ввода следующие операторы:

1 Оператор присваивания – присваивает значение числовой или символьной переменной, например:

а) Х = 2.14;

б) T$ = "SUMMA";

в) L = x^4 + ABS(x).

Оператор служит для присваивания переменным числовых , символьных или смешанных значений - примеры а) и б), а также для записи выражений – пример в).

2 Оператор INPUT служит для ввода данных , имеет формат

INPUT <список>

где <список> – последовательность переменных через запятую.

Пример: INPUT A,B,N,J