1.8. Подпрограммы, функции и процедуры

Подпрограмма - помеченная последовательность операторов, за­канчивающаяся оператором RETURN. Выполняется, когда достигнут GOSUB.

....

GOSUB aa

....

END aa: операторы RETURN

Оператор RETURN осуществляет возврат к оператору, непосредственно следующему за GOSUB.

Функция может быть определена одной строкой (оператор-функ­ция) или несколькими строками (подпрограмма-функция).

DEF FN имя [(список параметров)] = выражение

(это определение оператора-функции).

Здесь список параметров может включать не более 16 параметров. DEF FN имя [(список параметров)]

описание переменных

операторы

[EXIT DEF]

....

[FN имя = выражение]

END DEF

(это определение подпрограммы-функции).

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

DEF FNF (x,y) = x * x + y * y a = 3 : b = 4

P = FNF (a,b) или

P = FNF (3,4)

Функция возвращает одно значение, тип которого определяется име­нем функции. Определение функции может располагаться в любом месте

программы (обычно в начале или в конце). Например,

F = FNa (1.5)

PRINT F

DEF FNa (x)

FNa = x*x

END DEF

END или

F = FNa (1.5) PRINT F

END

DEF FNa (x) FNa = x*x

END DEF

В результате будет напечатано 2.25.

Список параметров оператора-функции может включать только имена переменных.

Процедура - это последовательность строк программы, располо­женная между операторами SUB и END SUB и выполняемая при обраще­нии к ней при помощи оператора CALL.

SUB имя [(список параметров)] описание переменных операторы

[EXIT SUB]

END SUB

Имя может содержать до 31 символа. Список параметров (не более

16) может включать имена переменных и массивов. Для массивов в скобках указывается размерность. Например, 1 - для одномерного массива, 2 - для двухмерного и т.д.

В обращении к процедуре за именем фактического массива сле­дуют пустые скобки. Например,

SUB SUM (x (1), n, S)

S = 0

FOR I=1 to n

S = S + x (I)

NEXT I

END SUB

DIM A (3)

A (1) = 1 : A (2) = 2 : A (3) = 4

CALL SUM ( A (), 3, S)

S = S/3

PRINT S

END

Эта программа вычисляет среднее значение элементов массива A, процедура SUM суммирует элементы массива.

Основные отличия процедуры от подпрограммы-функции :

1 - процедура не обязана возвращать значение, она не имеет типа; 2 - вызывается оператором CALL, а не из выражения.

Отдельные переменные, используемые в процедуре (или подпрог­рамме-функции), могут быть объявлены локальными, т.е. действующи­ми только в данной подпрограмме (оператор LOCAL), общими, т.е. действующими как в подпрограмме, так и в основной программе (опе­ратор SHARED) и статическими, т.е. действующими в данной подпрог­рамме как LOCAL, но сохраняющими полученные значения до следующе­го обращения (оператор STATIC). По умолчанию в подпрограмме-функ­ции переменная является SHARED, а в процедуре STATIC.

DEF FNF1

LOCAL i, S

FOR i =1 to 10

S = S + i

NEXT i

FNF1 = S

END DEF

После выхода из подпрограммы-функции переменные i и S теряют свои значения (при входе в подпрограмму всегда S = 0). Эти же имена могут использоваться в программе для обозначения других величин.

DEF FNF2

LOCAL i

SHARED S

FOR i = 1 to 10

S = S + i

NEXT i

FNF2 = S

END DEF

В этом случае S сохраняет значение после выхода из подпрограммы и имеет один и тот же смысл во всех частях программы.

DEF FNF3

LOCAL i

STATIC S

FOR i = 1 to 10

S = S + i

NEXT i

FNF3 = S

END DEF

В этом случае S сохраняет значение после выхода из подпрограммы до следующего обращения к ней, т.е. после первого обращения зна­чение функции FNF3 будет 55, после второго - 110 и т.д. (S нельзя изменять в основной программе).

2. ЦВЕТ И ГРАФИКА

В графическом режиме экран рассматривается как решетка, точ­ки в узлах которой могут быть включены (белым или другим возмож­ным цветом) или выключены. Точка идентифицируется координатами x, y; x - номер позиции по горизонтали (от 0 до 319 или до 639 в за­висимости от режима), y - номер позиции по вертикали (от 0 до 199 или до 349 в зависимости от режима). Точка с координатами 0,0 на­ходится в верхнем левом углу экрана.

Графический режим устанавливается (или отменяется) операто-

ром SCREEN.

SCREEN i[,j]

i = 0, j = 0 черно-белый текстовый режим

i = 0, j = 1 цветной текстовый режим

i = 1, j = 0 цветная графика при средней разрешающей способнос­ти (320 позиций по горизонтали, 200 по вертикали)

i = 1, j = 1 черно-белая графика при средней разрешающей спосо­бности

i = 2 черно-белая графика при высокой разрешающей спосо-

бности (640 позиций по горизонтали, 350 по верти­кали)

После выполнения оператора SCREEN точка устанавливается в середину экрана.

Оператор COLOR устанавливает цвет фона экрана и палитру (из

трех цветов) для окрашивания точек (для текстового режима - еще и

цвет рамки).

Существует две палитры цветов: 0 и 1, следующего состава: Палитра 0 Палитра 1

1 - зеленый 1 - голубой

2 - красный 2 - сиреневый

3 - желтый 3 - белый

Для фона можно выбрать один из 16 цветов (0 - черный, 1 - синий, 2 - зеленый, 3 - бирюзовый, 4 - красный, 5 - лиловый, 6 - корич­невый, 7 - белый, 8 - серый, 9 - голубой, 10 - ярко-зеленый, 11 - ярко-бирюзовый, 12 - ярко-красный, 13 - ярко-лиловый, 14 - жел­тый, 15 - ярко-белый)

Оператор COLOR имеет вид

COLOR i, j[,k]

где i - цвет фона, j - номер палитры, k - цвет рамки.

Например, операторы

SCREEN 1,0

COLOR 9,0

устанавливают цветной графический режим при средней разрешающей способности; цвет фона - голубой; последующие операторы должны использовать цвета из 0-й палитры.

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

PSET (PRESET) - включает (или выключает) точку; LINE - чер­тит линию; CIRCLE - чертит окружность или ее часть; PAINT - зак­рашивает указанную часть экрана.

Более сложные операторы для получения движущихся изображений (DRAW, GET, PUT) рассматриваются в п.4.

Оператор

PSET (x, y)

включает точку с координатами x,y.

Оператор

PSET STEP (x, y)

включает точку, отстоящую на x позиций по горизонтали и на y по­зиций по вертикали от текущей точки. Например, если в предыдущем положении точка имеет координаты (60, 75), то оператор

PSET (10, 20) определяет точку с координатами (10, 20), а оператор

PSET STEP (10, 20) определяет точку с координатами (70, 95). Операторы

PSET (x, y), 0 или

PRESET (x, y)

стирают точку (x, y) с экрана.

Оператор LINE позволяет начертить отрезок прямой, указав его начало (x1, y1), конец (x2, y2) и цвет k

LINE [(x1, y1)] - (x2, y2), k

Если начальная точка отсутствует, то линия будет прочерчена, на­чиная с точки, в которой остановился предыдущий оператор.

С помощью оператора LINE можно также чертить и закрашивать прямоугольники

LINE (x1, y1) - (x2, y2), [k], B[F]

Точки (x1, y1) и (x2, y2) трактуются при этом как левая нижняя и правая верхняя вершины прямоугольника. Если цвет k отсутствует, то прямоугольник будет начерчен 3-м цветом палитры. При наличии параметра F площадь внутри прямоугольника будет закрашена. Напри­мер, оператор

LINE (80, 175) - (100, 25), 2, BF закрашивает красным цветом прямоугольник, расположенный между 80-ой и 100-ой позициями по горизонтали и 175-ой и 25-ой позициями по вертикали.

Оператор CIRCLE позволяет строить окружности, дуги, секторы и эллипсы.

Оператор CIRCLE (x, y), r, k

чертит окружность радиуса r с центром в точке (x, y) цветом k.

После вычерчивания окружности последней использованной точкой считается ее центр.

Оператор CIRCLE (x, y), r, k, ALPHA1,ALPHA2

вычерчивает дугу, имеющую начало под углом ALPHA1 и конец - под углом ALPHA2.

Например, оператор (при PI = 3.1416)

CIRCLE (160, 100), 80, 2, PI/2, PI строит дугу от PI/2 до PI ок­ружности радиуса 80 с центром в точке (160, 100) вторым цветом палитры.

Если использовать знак " - " перед начальной и конечной точ­ками дуги, то будет нарисован сектор, т.е. конечные точки дуги будут соединены с центром. Например,

CIRCLE (160, 100), 80, 2, - PI/2, - PI

Можно изобразить сплюснутую (или наоборот вытянутую) окруж­ность, добавив в оператор CIRCLE еще один параметр. Если значение этого параметра меньше 1, то окружность будет сплюснута по верти­кали, если больше 1, то - по горизонтали. Например,

CIRCLE (160, 100), 80, 2, , , 3/4

Все параметры оператора CIRCLE задаются в определенном порядке и разделяются запятыми. Обязательными являются только параметры, указывающие положение центра и радиус окружности. Остальные пара­метры необязательны, однако, запятые должны быть оставлены, если пропущены параметры в середине списка.

Оператор PAINT позволяет закрашивать большие области экрана. Для закрашивания необходимо указать произвольную точку внутри закрашиваемой области (x, y), цвет, которым нужно закрасить об­ласть (k1) и цвет границы, которую нельзя пересекать при закраши­вании (k2), k1 и k2 могут совпадать. Оператор PAINT имеет вид

PAINT (x, y), k1, k2

Например, оператор

PAINT (160, 100), 2, 2

закрасит окружность нарисованную последним оператором CIRCLE,

красным цветом, как и цвет окружности, использованный в операторе

CIRCLE.


Информация о работе «Все о Turbo Basic»
Раздел: Информатика, программирование
Количество знаков с пробелами: 40336
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
69528
1
0

... третьих фирм имеют логотип "Featuring Microsoft Visual Basic Technology". Это заставляет задуматься над тем, что же такое BASIC - "стандартный код для начинающих" или "основной язык для ос­новной среды"... ГЛАВА3. разработка программы для расчета показателей финансового состояния предприятия. Для осуществления планирования деятельности любой фирмы на любом этапе работы осуществляются некоторые ...

Скачать
85003
5
3

... плана и состав слушателей, происходит определение стратегии курса, разрабатывается сценарий и интерактивное взаимодействие программы с пользователями. Разрабатываемый электронный справочник предназначен для самостоятельной работы студентов младших курсов по изучению Visual Basic в рамках университетского курса. Его создание имеет своей целью предоставить студентам, изучающим Visual Basic весь ...

Скачать
41799
0
0

... "тиках" (1/18 секунды) y SOUND x, y Оператор SOUND с нулевой длительностью прерывает работу пре- дыдущего оператора SOUND, даже если тот не отзвучал до конца. Ис- пользуется для специальных звуковых эффектов (сирена и пр.). 4.5. Оператор PLAY Этот оператор позволяет создавать музыку. Общий вид операто- ра PLAY  1символьное выражение - 29 - где символьное ...

Скачать
35274
1
0

... плохо защищенного от появления ошибок; ·     низкая скорость программирования; ·     невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов. Машинно-независимые системы программирования – это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от ...

0 комментариев


Наверх