Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект_лекций_2010_год_информатика.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

7.6.4. Встроенные математические функции

Для вычисления наиболее распространенных элементарных математических функций в языке QBASIC применяют встроенные стандартные функции. Аргумент функции заключается в круглые скобки (см. табл. 7.2). Им может быть произвольное арифметическое выражение.

Таблица 7.2

Стандартные математические функции qbasic

Запись оператора QBASIC

Запись функции

Наименование функции

Запись оператора QBASIC

Запись функции

Наименование функции

SIN(X)

sin x

синус x

RND(X)

rnd x

Генерация случ. чисел от 0до 1

COS(X)

cos x

косинус x

ABS(X)

x

Абс. величина х

TAN(X)

tg x

тангенс х

ATN(X)

arctg x

арктангенс x

LOG(X)

ln x

натуральный логарифм x

EXP(a)

ea

Экспонента, a  78

SQR(X)

x^(1/2)

корень квадратный x (х>0)

SGN(X)

sign x

cигнум -функция (+1 при x>0,0при при x=0,-1 при x<0)

INT(X)

целая часть x

FN a(X)

Функция, заданная пользователем.

СINT(X)

Округление до целого

EXF(X)

Внешняя функция.

CLNG(X)

Округление до длинного целого

CSNG(X)

Действительный тип одинарной точности

CDBL(X)

Действительный тип двойной точности

FIX(X)

Целая часть действительного выражения

Примеры: sin(a+0,5b)=SIN(A+0.5*B); |lny|=ABS(LOG(Y)); INT(34.67)=34; CINT(99.3)=99; CINT(99.5)=100.

Арифметические выражения

В QBASIC существуют следующие арифметические операции, которые перечислены в порядке убывания приоритета выполнения:

1).вычисление встроенных функций 2). x^y - возвести в степень xy

3).+, - - присвоение знака числу 4). x*y - умножить;

x/y - разделить; x\y - разделить нацело (9\2=4); mod(x,y) - остаток от деления x на y (mod(17,2)=1);

5). x+y - сложить; x-y - вычесть.

Правила записи арифметических выражений:

- Все символы записываются в одну строку. Индексы запрещены.

- Два знака арифметических операций не должны стоять рядом.

- Тип выражения определяется типом результата.

- В выражении сначала выполняются операции более высокого приоритета, затем операции одного уровня слева направо.

- Скобки нарушают естественный порядок вычисления выражения. Сначала выполняются вычисления в скобках.

7.6.5. Основные операторы языка qbasic

В языке QBASIC существует пять категорий операций:

- арифметические операции; - операции отношений;

- логические операции; - функциональные операции;

- строковые операции.

7.6.5.1. Операторы для реализации линейной программы

Помимо арифметических операторов и встроенных математических функций в QBASIC для выполнения линейных вычислительных процессов предусмотрен ряд операторов.

Оператор присваивания LET

Оператор LET вычисляет значение заданного выражения и присваивает его переменной. Выражение состоит из операндов и операций. Операндами могут быть константы, переменные и обращения к функциям. Переменная и присваиваемое ей значение должны совпадать по типу данных. Ключевое слово LET можно опустить, его отсутствие упрощает запись программы. Общий вид оператора:

LET переменная = выражение

Пример.

LET A=5

LET B=2

LET A=(A+B)^2

Особенности работы оператора:

- Если X-целая, A - вещественная, то результат округляется до ближайшего целого.

- Если X - вещественная одинарной точности, A - вещественная двойной точности, то A - округляется.

Оператор ввода данных INPUT

Оператор INPUT вводит значения переменных с клавиатуры. Общий вид оператора:

INPUT [“текст” <; | ,>] список переменных

где:

“текст” — необязательная строка, отображаемая на экране перед вводом данных пользователем. Если оканчивается “;”, то на экран в конце текста выводится вопросительный знак. Если же “текст” оканчивается запятой, то вопросительный знак не выводится. В случае отсутствия “текста” на экран выводится вопросительный знак.

список переменных — одна или несколько переменных, разделенных знаками препинания (запятой);

; или , — разделители.

Если встречается оператор INPUT, выполнение программы приостанавливается. Оно будет продолжено после того, когда пользователь наберет с помощью клавиатуры необходимые данные и нажмет клавишу ВВОД (ENTER). Количество вводимых данных и их тип должны соответствовать количеству и типу переменных в списке. Если количество или тип данных не совпадают с запрашиваемыми, то выдается сообщение об ошибке. Если нажимается клавиша ВВОД (ENTER), то числовым данным присваивается 0, а символьным – пустая строка.

Примеры.

INPUT “введите число”; k

Или:

20 INPUT K

INPUT “ВВЕДИТЕ ДАННЫЕ A%, B!, С$, D$”;

A%, B!, С$, D$

Результат работы последнего оператора:

ВВЕДИТЕ ДАННЫЕ А%, B!, С$, D$ ?

Оператор вывода данных PRINT

Оператор PRINT выводит данные на экран. Общий вид оператора:

PRINT [список с разделителями], [<;|,>]

где:

список — имена переменных, констант, арифметические выражения, тексты (заключенные в “”). Если список отсутствует, то при выполнении оператора PRINT на экран выводится пустая строка.

Разделители элементов списка:

“;”- в этом случае числовые значения дополняются в конце одним пробелом.

“,”- в этом случае экран разбивается на пять колонок по 14 позиций в каждой. Очередное значение выводится в следующую зону.

Особенности оператора PRINT:

- ключевое слово PRINT можно заменить на “?”;

- может записываться без списка;

- можно использовать различные разделители;

- если несколько операторов подряд содержат в конце разделители, то они работают как один оператор. Если разделителей нет, то каждый оператор печатает с новой строки.

Пример.

input "a=";a

input "b=";b

input "c=";c

let s = a + b + c

p = a * b * c

print "сумма =";s

print "произведение=";p

Функция TAB

Функция TAB в операторе PRINT служит для вывода значения определенной позиции экрана. Общий вид:

TAB (колонка),

где:

колонка целое число от 1 до 80.

Функция TAB устанавливает позицию курсора на определенной колонке экрана. Вывод информации, содержащейся в операторе PRINT, будет начинаться с установленной позиции. Эту функцию удобно применять, когда требуется выровнять данные на определенную границу.

Пример.

PRINT “Завтрак”; TAB(20); “7.30”

PRINT “Обед”; TAB(20); “12.00”

PRINT “Полдник”; TAB(20); “16.00”

PRINT “Ужин”; TAB(20); “19.00”

Результат.

Завтрак 7.30

Обед 12.00

Полдник 16.00

Ужин 19.00

Вывод на печатающее устройство: LPRINT аналогичен оператору PRINT, в том числе использование функции TAB.

Функция LOCATE

Перемещает курсор на указанную позицию активной страницы экрана. Общий вид:

LOCATE [строка] [,[колонка] [,[курсор] [,[начало] [,[конец]]]]

где:

строка – номер строки (текстовой – не путать с графической) экрана в диапазоне от 1 до N (N=25, 43, 60 в зависимости от текстового режима);

колонка – номер горизонтальной позиции текстового символа (знакоместа) на экране в диапазоне от 1 до 40 или от 1 до 80 в зависимости от выбранного текстового режима;

курсор – двоичная величина, задающая характер отображения курсора на экране: при ненулевом аргументе – курсор видимый; при нулевом аргументе – невидимый;

начало и конец – начальная и конечная строки сканирования позиции символа соответственно в диапазоне от0 до 31.

Оператор PRINT, следующий за оператором LOCATE, выводит символы на экран, начиная с указанной позиции.

Пример.

‘Перемещение курсора в левый верхний угол

LOCATE 1,1

‘Курсор видимый

LOCATE ,,1

Функция SPC

Функция SPC позволяет разделять результаты вывода пробелами. Общий вид:

SPC (количество пробелов)

где: количество пробелов целое число от 1 до 80. Параметр количество пробелов указывает число пробелов, вставляемых между значениями при выводе результата на экран.

Пример.

PRINT SPC (20); “Расписание занятий”

PRINT SPC(28); “11 января 1999”

PRINT SPC(12);”8.30”; SPC(10);”Консультация”

PRINT SPC(12);”10.00”; SPC(10);”Редактирование лекций”

PRINT SPC(12);”12.00” SPC(10);”Оформление текущей документации”

PRINT SPC(12); “14.00” SPC(10);”Работа на компьютере”

Результат:

Расписание занятий

11 января 1999

8.30 Консультация

10.00 Редактирование лекций

10.00 Оформление текущей документации

10.00 Работа на компьютере

Операторы ввода данных из списка DATA / READ, RESTORE

Оператор READ считывает в ячейки памяти данные, перечисленные в программе в строке DATA. После выполнения оператора RESTORE оператор READ начинает чтение данных с первого элемента оператора DATA (если нет номера строки в операторе RESTORE). Общий вид операторов:

DATA c1 [, c2,...ci,...cn ]

READ x1 [ x2,...xi,...xn ]

RESTORE [номер строки]

где:

xi - имя переменной или элемента массива;

ci - константа (числовая или текстовая);

номер строки - номер строки действия оператора RESTORE.

Работа операторов: последовательно каждой величине xi оператора READ присваивается значение ci из оператора DATA, т.е. действие операторов равносильно выполнению следующих операций: x1=c1; x2=c2;...xn=cn

Особенности записи и размещения операторов:

- тип и длина ci должны соответствовать типу и длине xi ;

- оператор DATA обычно помещается в начале программы и должен быть единственным в строке;

  • возможно использование нескольких операторов DATA (READ), они работают так же, как один оператор с общим списком;

  • лишние константы игнорируются;

  • при недостаточном количестве данных в DATA выдается сообщение.

Пример.

DATA 10,20,30,40

READ A, B

RESTORE

READ C,D

Результат выполнения программы:

A, B, C, D получают значения 10, 20, 10, 20

Оператор CLS

Оператор CLS очищает экран, стирая все предыдущие результаты выполнения программы. При этом курсор помещается в левый верхний угол экрана. Этот оператор обычно располагают в начале программы.

Оператор STOP

Оператор STOP прерывает выполнение программы и выдает сообщение ОСТАНОВ В СТРОКЕ n. Его можно поместить в любой строке программы, а использовать удобно при отладке. В QBASIC STOP выделяется ярким цветом. Для продолжения работы с точки прерывания нужно выполнить команду /RUN/СONTINUE.

Оператор END

Оператор END завершает выполнение программы, закрывает все используемые в ней файлы. Он может быть использован неоднократно в любом месте программы, где согласно логике программируемого алгоритма должно завершаться выполнение программы. Наличие оператора END после в последней строке программы необязательно.

Оператор REM

Оператор REM предназначен для ввода комментариев в программу. Относится к невыполняемым операторам и не влияет на порядок выполнения программы. В этом операторе можно использовать буквы русского алфавита и специальные символы. Вместо ключевого слова REM можно использовать апостроф (‘). Общий вид оператора:

REM текст

Примеры.

REM сортировка данных

REM РЕШЕНИЕ СИСТЕМЫ УРАВНЕНИЙ

Или:

‘сортировка данных

‘РЕШЕНИЕ СИСТЕМЫ УРАВНЕНИЙ