microbik.ru
  1 ... 6 7 8 9



Организация подпрограмм
При разработке больших программ удобно разбивать программу на отдельные блоки (модули). Каждый блок (модуль) выполняет определенную функционально законченную часть программы. Новые большие программы могут быть созданы на основе ранее написанных блоков, некоторые блоки могут использоваться многократно. При отладке больших программ требуется много времени на поиск ошибок. Если же программа разделена на независимые блоки, то можно каждый из них отлаживать отдельно. Реализуется такая структура программы с помощью подпрограмм.
Создание подпрограммы
Каждая подпрограмма пишется отдельно. Для этого используется следующая конструкция:

SUB <имя подпрограммы> 'Начало подпрограммы.
<операторы подпрограммы>
END SUB 'Конец подпрограммы.

Для набора текста подпрограммы нужно открыть QB4.5, выбрать команды EDIT, затем NEW SUB…, в появившемся окне диалога ввести имя подпрограммы и нажать кл.ENTER. На экране автоматически установится режим ввода текста подпрограммы и шаблон следующего вида:

SUB
END SUB

После набора текста подпрограммы необходимо выполнить сохранение файла: выбрать команды FILE, SAVE AS… и ввести имя файла, в котором будет храниться вся программа. В подпрограмму можно вставить текст заранее подготовленной и отлаженной программы. Для этого используются стандартные средства редактирования текста (команды EDIT, COPY, PASTE).
Конструирование программы
Программа может содержать любое количество подпрограмм, но она должна иметь только одну основную часть, которая управляет выполнением и вызовом подпрограмм. Для вызова подпрограммы используется следующий оператор:

CALL <имя подпрограммы>.

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

DECLARE SUB name_1

DECLARE SUB name_2



CLS



CALL name_1



CALL name_2



END
SUB name_1



END SUB
SUB name_2



END SUB
Операторы QB 4.5


Оператор

Формат записи

Назначение, краткий комментарий

REM

REM [текст]

Комментарий к программе, невыполняемый оператор



‘[текст]

CLS

CLS

Очистка экрана (не памяти)

RANDOMIZE TIMER

RANDOMIZE TIMER

Включить генератор случайных чисел

RND

<переменная> = RND(1)*(<кон.знач.> -

<нач.знач>) + <нач.знач.>

Присвоить переменной значение случайного числа из заданного диапазона

COLOR

COLOR <цвет>

Установка экранных цветов

FOR… NEXT

FOR <переменная> = <начало> TO <конец> STEP <шаг>

<действие>

NEXT <переменная>

Оператор цикла с параметром

EXIT FOR

EXIT FOR

Досрочный выход из цикла FOR… NEXT

DO… LOOP

DO

<действие>

LOOP WHILE <условие>

Оператор цикла, будет выполняться, пока выполняется (!) условие

EXIT DO

EXIT DO

Досрочный выход из цикла DO… LOOP

IF

IF <условие> THEN <действие>


ЕСЛИ <условие> ТОГДА <действие>

IF <условие> THEN <действие> ELSE <действие>

ЕСЛИ <условие> ТОГДА <действие> ИНАЧЕ <действие>

IF <условие> THEN

<действие>

ELSE

<действие>

END IF

ЕСЛИ <условие> ТО

<действие>

ИНАЧЕ

<действие>

ЗАКОНЧИТЬ УСЛОВИЕ

EXIT IF

EXIT IF

Досрочный выход из выполнения условия

SCREEN

SCREEN <номер графического режима>

Установить графический режим

PSET

PSET (x,y), [цвет]

Точка с координатами x,y

DRAW

PSET (x,y)

DRAW “<программный код оператора>”





Пример записи кода:

U2L3G1

Рисовать от точки x,y на 2 клетки вверх, потом на 3 клетки влево, потом на 1 клетку влево-вниз
R


CIRCLE

CIRCLE (x,y), <радиус>, [цвет], [угол начальный], [угол конечный]

Рисовать окружность с центром в точке x,y, с указанным радиусом, цветом и углами (для секторов и дуг). Углы – в промежутке от 0 до 2 (в радианах)

LINE

LINE (x1,y1)-(x2,y2), [цвет]

Рисовать линию заданным цветом

LINE (x1,y1)-(x2,y2), [цвет]

LINE –(x3,y3), [цвет]

Рисовать ломаную линию

x1,y1 - x2,y2 - x3,y3


LINE (x1,y1)-(x2,y2), [цвет], B


Рисовать прямоугольник со сторонами, параллельными осям координат


LINE (x1,y1)-(x2,y2), [цвет], BF

Рисовать закрашенный прямоугольник со сторонами, параллельными осям координат

PAINT

PAINT (x,y), <цвет заливки>, <цвет границы>

Закрасить замкнутый контур цветом заливки до границы указанного цвета.

WINDOW

WINDOW (x1,y1) – (x2,y2)

Масштабирование экрана

POINT

<переменная> = POINT (x,y)

Присвоить переменной номер цвета в точке x,y

LOCATE

LOCATE <строка>, <столбец>

Переместить курсор в заданную позицию


PRINT

PRINT “Текст”

PRINT “Текст”; “Текст”

PRINT “Текст”, “Текст”

PRINT “Текст”; A; “Текст”

Текст

Текст Текст

Текст Текст

Текст <значение A> Текст


PRINT USING


PRINT USING “#####.##”; A

Вывести на экран значение переменной А по заданной маске


INPUT

INPUT A

INPUT A, B
INPUT “Введите значение A, B ”; A, B

? ▐ ‘Ввод A

? ▐ ‘Ввод A, B через запятую

Введите значение A, B ? ▐

DATA

DATA <значения >

DATA 5, 3, 7, 9, 7

Ввод значений исходных данных из блока данных


READ


READ <переменная>

Считать значение из блока данных DATA в переменную

LET

[LET] <переменная> = <выражение>

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

END

END

Окончание программы







<< предыдущая страница