RSS    

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

ками дуги,  то будет нарисован сектор,  т.е.  конечные точки дуги

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

     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]

     Оператор CLOSE  без параметров закрывает все открытые файлы.

     Единицей информации,  которая передается при записи  в  файл

или чтении из файла 1,   0является запись (логическая запись) 2.  0Запись

делится на поля. Каждое поле связано с одним элементом данных.

      0Могут быть созданы два типа последовательных файлов:

     1) с разделителями полей,  когда каждое  поле  автоматически

отделяется специальным символом (например, запятой). Для создания

такого файла используется оператор WRITE#,  для чтения из него  -

оператор INPUT#.

     Данные в файле хранятся в таком виде,  как если бы они наби-

рались на клавиатуре при выполнении оператора INPUT,  т.е. разде-

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

 _Оператор INPUT# . 2  0имеет вид

     INPUT # 1номер файла 0, 2   1список переменных

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

файле.

     2) поля  не разделены 1,   0и каждая запись точно такая же,  как

если бы эти данные отображались на экране или печатались на прин-

тере. Для создания такого файла используется оператор PRINT#, для

чтения из него -  операторы  INPUT$  или  LINE  INPUT#.   _Оператор

 _INPUT$ . передает из файла сразу всю строку (запись) указанной дли-

ны n в символьную переменную, например, ST$

     ST$ 2 =  0INPUT$ (n,  # 1номер файла 0)

 _Оператор LINE INPUT# . 2  0передает  в  указанную  переменную  ST$  всю

строку независимо от ее длины

     LINE INPUT # 1номер файла 0, 2  0ST$

     Пример (с разделителями полей):

     OPEN "SEQU.DAT" FOR OUTPUT AS #1

     ST$ = " ИВАНОВ "

     INT% = 1972

     FLOT! = 75.3

'теперь записываем строку в файл

     WRITE #1, ST$, INT%, FLOT!

     ST$ = " ПЕТРОВ "

     INT% = 1975

     FLOT! = 62.5

'записываем другую строку в файл


                             - 22 -

     WRITE #1, INT%, ST$, FLOT!

     CLOSE #1

     END

Созданный файл будет следующим

    " ИВАНОВ ", 1972, 75.3

    1975, " ПЕТРОВ ", 62.5

Следующая программа  читает  из  этого  файла:

     OPEN "SEQU.DAT" FOR INPUT AS #1

     ST$ = " "

     INT% = 0

     FLOT! = 0

'теперь читаем строку текста из файла

     INPUT #1, ST$,  INT%,  FLOT!

     PRINT ST$, INT%, FLOT!

     ST$ = " "

     INT% = 0

     FLOT! = 0

'читаем другую строку

     INPUT #1, INT%, ST$, FLOT!

     PRINT INT%, ST$, FLOT!

     CLOSE #1

     END

     Пример (без разделителей полей):

     OPEN "SEQUEN.DAT" FOR OUTPUT AS #1

     ST$ = " ИВАНОВ "

     INT% = 1972

     FlOT! = 73.1

'записываем строку текста в файл

     PRINT #1, ST$, INT%, FLOT!

     ST$ = " ПЕТРОВ "

     INT% = 1975

     FLOT! = 64.3

'запишем другую строку, используя оператор

     PRINT #1, USING "+####$#.##^^^^"; INT%, ST$, FLOT!

     CLOSE #1

     END

Содержание созданного файла будет таким:

     ИВАНОВ 1972 73.1

     1975 ПЕТРОВ 6.43Е+01


                             - 23 -

Следующая программа  читает  из этого файла:

     OPEN "SEQUEN.DAT" FOR INPUT AS #1

     ST$ = " "

     ST$ = INPUT$ (80,#1)

     PRINT ST$

     LINE INPUT #1, ST$

     PRINT ST$

     CLOSE #1

     END

     3.2. Файлы прямого доступа

     Файл прямого доступа состоит из записей, доступ к которым

возможен в произвольном порядке по номеру записи.

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

открытие файла  (оператор OPEN);  задание структуры записи файла,

или разметка буфера (оператор FIELD);  передача  записи  в  буфер

(операторы  LSET 2   0или RSET);  пересылка содержимого буфера в файл

(оператор PUT),  при этом если номер записи в  операторе  PUT 2   0не

указан явно, буфер помещается на место текущей записи, при откры-

тии файла указатель текущей записи равен 1, после каждой операции

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

тие файла (оператор CLOSE).

     Записи передаются в виде строк символов.  Поэтому необходимо

использовать  соответствующие  функции  преобразования  данных  в

строку символов и обратно.

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

ния.

     MKI$ (MKL$) - целое (длинное целое)  в  2-х  (4-х)  байтовую

строку;

     MKS$ (MKD$) - вещественное (вещественное двойной точности) в

4-х (8-ми) байтовую строку.

     CVI(CVL) - 2-х (4-х) байтовую строку в  целое  (длинное  це-

лое);

     CVS(CVD) - 4-x (8-ми) байтовую строку  в  вещественное  (ве-

щественное двойной точности).

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

гов:  открытие файла; разметка буфера; передача записи из файла в

буфер (оператор GET);  обработка данных буфера (переменные буфера


                             - 24 -

доступны из программы); закрытие файла.

     Если вывод в файл и ввод из  файла  осуществляются  в  одной

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

перед началом и после окончания всех операций с файлом.

      _Оператор OPEN . 2  0имеет вид

     OPEN 2  1имя файла 2  0AS # 1номер файла 2  0LEN 2  0=  1длина записи

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


Новости


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

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

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.