Программирование на языке Quick Basic




 

Рассмотрим подробно язык программирования Quick Basic.

Алфавит данного языка содержит в себе следующие символы:

· Заглавные буквы латинского алфавита. При наборе программы, впрочем, нет нужды следить за тем, чтобы буквы были заглавными. Интерпретатор сам изменит строчные буквы на заглавные.

· Арабские цифры.

· Разделители:, (запятая),; (точка с запятой),. (точка),: (двоеточие), ` (апостроф), “ (кавычки), () (скобки), символ <Пробел>.

· Знаки арифметических операций: + (сложение), - (вычитание), * (умножение), / (деление), ^ (возведение в степень).

· Знаки операций отношений: > (больше), < (меньше), = (равно), <> (не равно), >= (больше либо равно), <= (меньше либо равно).

Для создания программ довольно часто требуются переменные, то есть такие области оперативной памяти, которые имеют имя, данное программистом, и значения, которые могут меняться. Имя переменной в ходе выполнения программы постоянно, а значение может меняться многократно. Существуют ограничения на имена переменных:

· имя переменной должно состоять не боле чем из сорока символов;

· в качестве символов можно использовать только латинские буквы и цифры;

· имя переменной не может начинаться с цифры;

· запрещены в именах символы точки, запятой, звездочки, вопросительного знака, пробела.

Переменные различаются по типу хранимой в них информации. Два наиболее крупных типа – числовой (для хранения чисел) и строковый (для хранения символов и строк). Во втором случае к имени переменной добавляется обязательный символ $.

Чтобы вычислять элементарные арифметические выражения, необходимо представить выражение в понятном для компьютера виде, а именно:

· в отличие от арифметики, выражение должно быть записано в одну строку без числителей и знаменателей;

· для записи арифметических действий допустимо использовать только перечисленные ниже знаки:

+ (сложение);

– (вычитание);

* (умножение);

/ (деление);

^ (возведение в степень);

() (скобки);

· недопустим пропуск знака умножения между коэффициентом и переменной, как это возможно в алгебре;

· дробная часть отделяется от целой точкой, а не запятой;

· допустимо опускать в записи десятичной дроби ноль, стоящий перед точкой (вместо 0.561 можно.561).

Чтобы компьютер вычислил выражение правильно, необходимо помнить о приоритете выполнения действий:

· сначала выполняются действия в скобках;

· далее вычисляются функции, если они есть;

· затем выполняется возведение в степень;

· потом умножение и деление;

· в последнюю очередь – сложение и вычитание.

Действия одинаковой очередности выполняются слева направо.

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

Числовые функции

Функция Описание
ABS (X) ATN (X) CDBL (X)   CINT (X) CLNG (X)   COS (X) CSNG (X)   EXP (X) FIX (X)   INT (X)   LOG (X) RND (X) SCN (X)     SIN (X) SQR (X) TAN (X) Возвращает абсолютное значение (модуль) аргумента Арктангенс (в радианах) Переводит числовое выражение в значение с двойной точностью Округление Округление числового выражения до длинного (4 байта) целого значения Косинус Переводит числовое выражение в значение с одинарной точностью Экспонента ех Округление выражения с плавающей запятой до его целой части Возвращает наибольшее целое, меньшее либо равное числовому выражению Натуральный логарифм числового выражения Случайное число одинарной точности между 0 и 1 Возвращает значение знака числового выражения (1, если выражение положительное; 0, если равно 0 и – 1, если отрицательно) Синус Корень квадратный Тангенс

Приведем список основных операторов языка Quick Basic.

Операторы выбора и перехода

Оператор Описание
GOTO IF … THEN … ELSE   SELECT CASE Безусловный переход на метку Переход в зависимости от истинности или ложности проверяемого условия Переход в зависимости от значения выражения

 

Операторы и функции для работы с файлами

Оператор, функция Описание
CLOSE FIELD   FILEATTR GET   INPUT # IOCTL LINE INPUT #   LOCK   OPEN PRINT # PRINT # USING PUT   RESET SEEK   UNLOCK   WRITE # Закрывает один или несколько файлов или устройств Отводит место под переменные в буфере файлов прямого доступа Возвращает информацию об открытом файле Считывает из файла в буфер прямого доступа или в переменную Считывает данные из файла Посылает управляющую строку драйверу устройства Считывает строку до 255 символов с клавиатуры или из файла Ограничивает или закрывает доступ к файлу при работе в сети Открывает файл или устройства Записывает данные в файл Записывает отформатированные данные в файл Записывает содержимое переменной или буфера прямого доступа в файл Закрывает все открытые файлы и устройства Устанавливает позицию файла для последующей записи или считывания Снимает ограничения, наложенные последним оператором LOCK Записывает данные в последовательный файл

 

Переменные

Конструкция Описание
CLEAR     CONST DATA   INPUT LET RANDOMIZE READ RESTORE SWAP Закрывает все файлы, освобождает буферы файлов, очищает все общие переменные, устанавливает числовые переменные и массивы в ноль, устанавливает строковые переменные в ноль и инициализирует стек. Кроме того, CLEAR может изменять размер стека Описывает одну или несколько символьных переменных Указывает значение данных для последующего считывания у оператора READ Считывает входные данные с клавиатуры или из файлов Присваивает значение выражения переменной Инициализирует генератор случайных чисел Считывает данные, указанные в операторе DATA Восстанавливает считанные значения в операторе DATA Обменивает значения двух переменных

Массивы

Конструкция Описание
DIM ERASE   OPTION BASE REDIM Оператор объявления массива Для статических массивов каждому элементу присваивается ноль. Для стокового – определяются строки нулевой длины. Для динамического – освобождает память, используемую массивом Устанавливает нижнюю границу индекса массива Описывает или изменяет размер динамического массива

 

Циклы

Оператор Описание
DO … LOOP   END FOR … NEXT WHILE … WEND Повторяет блок операторов, пока условие верно, или пока оно не станет верным Заканчивает программу, процедуру или блок Цикл с параметром, заранее известным числом повторений Выполняет блок операторов, пока указанное условие верно

 

Подпрограммы и функции

Оператор Описание
CALL DECLARE DEF FN FUNCTION GOSUB ON GOSUB   RETURN SUB Передает управление в процедуру типа SUB Описывает процедуру типа FUNCTION или SUB Определяет функцию Определяет процедуру FUNCTION Переходит в подпрограмму и возвращается из нее Выполняет переход к одной из нескольких подпрограмм в зависимости от выражения Возвращает из подпрограммы в основную программу Определяет процедуру SUB

Пример 1. В стене существует квадратное отверстие N х N см. Имеется кирпич с измерениями А, В и С. Определить, пройдет он в отверстие или нет, если подавать его можно только параллельно стенкам отверстия.

Решение. Понятно, что кирпич пройдет в отверстие только в случае, если хотя бы два его измерения меньше N. Программа будет выглядеть следующим образом:

INPUT «Введите сторону отверстия N»; N

1: INPUT «Введите стороны кирпича A, B и C»; A, B, C

IF A<N AND B<N OR A<N AND C<N OR B<N AND C<N THEN PRINT

«Кирпич проходит в отверстие» ELSE PRINT «Кирпич не проходит в отверстие»

INPUT «Рассмотрим еще один кирпич? 1 – да, 0 –нет»; X

IF X=1 THEN GOTO 1 ELSE PRINT «Спасибо за работу!»

Объясняется данная программа следующим образом. Если А и В меньше N, или А и С меньше N, или В и С меньше N, тогда печатать «Кирпич проходит в отверстие», иначе печатать «Кирпич не проходит в отверстие». Кроме того, в данной программе применен достаточно простой, но эффективный ход, управляющий совместной работой пользователя и программы. Чтобы каждый раз не запускать программу (если пользователь хочет рассмотреть несколько вариантов исходных данных), применен запрос с клавиатуры вариантов продолжения: либо рассматриваем еще один кирпич, либо – конец программы. Там же использовано применение безусловного перехода в условном операторе.

Пример 2. Напечатать значения y = sin x в интервале [-30°; 30°] с шагом 5°.

Решение. Начальное, конечное значения параметра и шаг указаны в задании. Примем параметр как x.

FOR X=-30 TO 30 STEP 5

Y=SIN (X*3.14/180)

PRINT «SIN («; X; »)=»; Y

NEXT X

Пример 3. Вычислить значение функции:

x3 , x < -1

y = x2, -1 £ x £ 1

x3 , x > 1

Решение:

INPUT «Введите значение X»; X

IF X < -1 OR X >= 1 THEN Y = X^3 ELSE Y = X^ 2

PRINT «Y (X) = »; Y

Пример 4. Вычислить сумму всех четных чисел от 1 до 100 включительно.

Решение:

S = 0 `Обнуление переменной, где будет накапливаться сумма`

FOR I = 2 TO 100 STEP 2

S = S + I

NEXT I

PRINT «Сумма четных чисел от 1 до 100 равна»; S



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: