скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Описание языка Turbo Basic для студентов всех специальностей

     ....

     NEXT j,i

2.   DO WHILE  1условие

      1операторы

     LOOP

или

     WHILE  1условие

      1операторы

     WEND

(операторы выполняются 1, 0 пока выполняется условие)

3.   DO UNTIL  1условие

      1операторы

     LOOP

(операторы выполняются до тех пор,  пока не будет выполнено усло-

вие. Как только условие будет выполнено,  осуществляется выход из

цикла).

4.   DO

      1операторы

     LOOP

Выход из цикла в этом случае осуществляется оператором EXIT.

      _Оператор EXIT  . 1( 0выход) используется с SELECT,  DEF,  FOR, IF,

LOOP, SUB, WHILE. Например,

     EXIT FOR осуществляет выход из цикла, организованного опера-

торами FOR/NEXT до его завершения

     EXIT IF    - выход из любого места IF блока

     EXIT LOOP - выход из цикла, заканчивающегося оператором LOOP

или WEND.

Остальные случаи использования EXIT будут  рассмотрены  вместе  с

соответствующими операторами.

      _Операторы выбора . ON/GOTO и ON/GOSUB

     ON n GOTO  1метка 0 [,  1метка 0...]

n может принимать значения от 0 до 255. Переход осуществляется на

метку, определяемую значением n. Например, при n = 2 переход осу-

ществляется на вторую метку в списке. Если n = 0 или n больше ко-

личества меток в списке, то выполняется следующий по порядку опе-


                             - 12 -

ратор.

     ON n GOSUB  1метка 0 [, 1 метка 0...]

n принимает значения от 0 до 255.  Переход осуществляется к одной

из возможных подпрограмм (см.ниже),  определяемых метками в спис-

ке, в зависимости от значения n.

     После выполнения  подпрограммы возврат осуществляется к опе-

ратору, следующему за ON/GOSUB.

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

      _Подпрограмма . - помеченная последовательность операторов, за-

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

GOSUB.

     ....

     GOSUB aa

     ....

     END

     aa:

      1операторы

     RETURN

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

следующему за GOSUB.

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

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

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

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

Здесь список параметров  может  включать 1  0не более 16 параметров.

     DEF FN  1имя 0 [( 1список параметров 0)]

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

      1операторы

     [EXIT DEF]

     ....

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

     END DEF

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

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

чение.  При этом параметры заменяются их фактическими значениями.

Например 1,

     DEF FNF (x,y) = x * x + y * y


                             - 13 -

     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  1имя 0 [( 1список параметров 0)]

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

      1операторы

     [EXIT SUB]

     END SUB

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

16)  может  включать имена переменных и массивов.  Для массивов в

скобках указывается размерность.  Например,  1 - для  одномерного

массива, 2 - для двухмерного и т.д.

     В обращении к процедуре за именем фактического массива  сле-

дуют пустые скобки. Например,

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

     S = 0


                             - 14 -

     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


                             - 15 -

     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 нельзя

изменять в основной программе).


                             - 16 -

                        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 . 2   0устанавливает цвет фона экрана и палитру (из

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

цвет рамки).

     Существует две палитры цветов: 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 2  0имеет вид

     COLOR 2  0i, 2  0j[,k]


                             - 17 -

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

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

     SCREEN 1,0

     COLOR 9,0

устанавливают цветной  графический  режим при средней разрешающей

способности;  цвет фона - голубой;  последующие операторы  должны

использовать цвета из 0-й палитры.

     В графическом режиме (для получения  на  экране  неподвижных

изображений) могут использоваться следующие операторы:

     PSET 2  0(PRESET) - включает (или выключает) точку;  LINE 2  0- чер-

тит линию;  CIRCLE 2  0- чертит окружность или ее часть; PAINT 2  0- зак-

рашивает указанную часть экрана.

     Более сложные операторы для получения движущихся изображений

(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 2  0(x, y)

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

     Оператор LINE 2  0позволяет начертить отрезок прямой, указав его

начало (x1, y1), конец (x2, y2) и цвет k

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

Если начальная точка отсутствует,  то линия будет прочерчена, на-

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

     С помощью  оператора  LINE 2  0можно также чертить и закрашивать

прямоугольники

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

Точки (x1,  y1) и (x2, y2) трактуются при этом как левая нижняя и


                             - 18 -

правая верхняя вершины прямоугольника.  Если цвет k  отсутствует,

то  прямоугольник будет начерчен 3-м цветом палитры.  При наличии

параметра F площадь внутри прямоугольника будет закрашена. Напри-

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

     LINE (80, 175) - (100, 25), 2, BF закрашивает красным цветом

прямоугольник,  расположенный  между  80-ой и 100-ой позициями по

горизонтали и 175-ой и 25-ой позициями по вертикали.

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

и эллипсы.

     Оператор CIRCLE 2  0(x, 2  0y), 2  0r, 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 . 2  0позволяет закрашивать большие области экрана.

Для  закрашивания  необходимо  указать  произвольную точку внутри

закрашиваемой области (x,  y),  цвет, которым нужно закрасить об-

ласть (k1) и цвет границы, которую нельзя пересекать при закраши-

вании (k2), k1 и k2 могут совпадать. Оператор PAINT имеет вид


                             - 19 -

     PAINT (x, y), k1, k2

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

     PAINT (160, 100), 2, 2

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

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

CIRCLE.


                             - 20 -

     3. ФАЙЛЫ. РАБОТА В БЕЙСИКЕ С ФАЙЛАМИ ПОСЛЕДОВАТЕЛЬНОГО

                        И ПРЯМОГО ДОСТУПА

     Если необходимо использовать набор данных или программу мно-

гократно, то необходимо сохранить их на внешнем устройстве памяти

(например,  диске  или дискете).  Для этого создается файл.  Файл

должен иметь имя.  Имя состоит из двух частей:  собственно имя  и

расширение

      1имя 0. 1расширение

Имя может содержать до 8 символов,  расширение  1-  0до  трех.

     Могут использоваться  следующие символы

     A - z 0 - 9 ( ) { } @ # $ 1  0% ^ & ! - _ / ' ~

     Полное имя  файла  в  MS DOS содержит весь путь по дереву от

корневой директории к нужному файлу. Например,

     C:\ST\LAB\work.bas,

где C - имя диска, ST - имя директории на диске, LAB - имя подди-

ректории директории ST, work.bas -  имя программы на Бейсике.

     Далее речь пойдет только о файлах данных.

     3.1. Файлы последовательного доступа

     Последовательный файл состоит из записей,  доступ к  которым

осуществляется последовательно,  т.е.  n-я запись следует за (n -

1)-ой как при формировании файла, так и при считывании из него.

     Создание последовательного файла включает следующие шаги:

открытие файла  (оператор  OPEN),  вывод данных в файл (операторы

PRINT#,  WRITE#,  или PRINT# USING) и  закрытие  файла  (оператор

CLOSE).

     Считывание из последовательного файла включает следующие ша-

ги:  открытие  файла,  ввод  данных  из  файла (операторы INPUT#,

INPUT$, LINE INPUT#), закрытие файла.

      _Оператор OPEN . 2    0подготавливает  файл  для  чтения  из  файла

(INPUT) или записи в файл  (OUTPUT, если  создается  новый  файл,

APPEND, если добавляются записи в уже существующий файл).

                          INPUT

     OPEN  1имя файла  0FOR   OUTPUT  1  0 AS # 1номер файла

                          APPEND

      _Оператор CLOSE  .закрывает файл,  т.е. делает невозможным чте-


                             - 21 -

ние или запись.

     CLOSE [# 1номер файла 0]

Страницы: 1, 2, 3


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.