Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Сначала в Бейсике




Ввод-вывод записей файла

B BASICе ввод записей файла выполняется следующим оператором:

 

INPUT # n, <список ввода>

 

Этот оператор используется для файла, тип которого при открытии был задан INPUT. Списком ввода здесь являются простые переменные, записанные через запятую. Количество переменных в списке и их типы соответствуют структуре вводимой записи.

 

Для файлов типа OUTPUT, то есть выходных, используется оператор вывода записей следующего формата:

 

PRINT #n, <список вывода>

 

Особенностью файлов типа INPUT и OUTPUT является то, что оба они – текстовые, причем значения полей (реквизитов) в записи должны разделяться запятыми. Поэтому в операторе PRINT список вывода должен содержать между выводимыми значениями текстовую константу ",", например:

PRINT # 1, A, ",", B

 

Для устранения этого недостатка в Бейсик введен еще один оператор вывода в файл вида

 

WRITE #n,<список вывода>,

 

в котором не требуется константы "," между выводимыми величинами, например

 

WRITE # 1, A, B.

 

В Pascal:

чтение записи – READ (<файл переменной>, <сп. ввода>);

 

вывод записи – WRITE (<файл переменной>,<сп.вывода>)

 

 

INPUT “… for INPUT…”

PRINT “… for OUTPUT…”

WRITE “… for OUTPUT…”

 

К записям последовательных файлов в Бейсике возможен только последовательный метод доступа, т.е. записи обрабатываются по порядку с 1-й до последней. Для определения момента считывания последней записи файла используется логическая функция EOF (end of files). Её вид:

 

EOF (файловая переменная)

 

Для последовательного метода доступа в программах Бейсика организуется стандартный цикл вида:

 

WHILE NOT EOF (#n)

<чтение и обработка записи>

WEND

 

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

 

WHILE NOT EOF (<фп>) do <чтение и обработка записи>;

 

Рассмотрим возможности языков при обработке файла с прямой организацией

 

 

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

GET #n, <номер записи>, <запись>

 

т.е. адресом записи прямого файла в Бейсике является просто его номер. Номер первой записи файла в Бейсике равен 0. Для того, чтобы вывести запись прямого файла, надо использовать оператор

 

PUT #n, <номер записи>, <запись>

 

 

Примечания:

1)В операторах INPUT, PRINT и WRITE можно записывать в списке вывода только переменные простых типов. Для того, чтобы ввести и вывести запись последовательного файла, надо перчислить все поля (реквизиты) этой записи.

 

2)в файле RANDOM в качестве входного или выходного списка можно использовать переменные любого типа, в том числе и структуры. Например:

 

PUT #1,5, Stud1

 

3)Номер записи в GET, PUT может отсутствовать (стоят “), тогда PUT и GET работают с очередной записью файда.

 

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

 

SEEK #n, <номер записи>

 

Прямой файл, как уже говорилось, можно обрабатывать произвольно, можно последовательно. Приведем пример цикла последовательной обработки части прямого файла с 5-й записи до конца:

 

SEEK #1,5

WHILE NOT EOF (#1)

GET #1,,<запись>

<обработка записи>

WEND

 

Все о прямом файле в Бейсике.




Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 288; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.