Лекция: РАБОТА С ФАЙЛАМИ

 

Для осуществления связи с внешними периферийными устройствами и с файловой системой операционной среды в Бейсике предусмотрена работа с файлами. В следующем фрагменте программы показаны команды для открытия внешнего файла с именем «aaa3.dat» на активном устройстве внешней памяти для записи (OPEN-FOR OUTPLT-AS ff). Запись в файл осуществляется командой PRINT или WRITE с указанием номера файла (строка 30). По завершении работы с файлом его закрытие осуществляется оператором CLOSE.

5 ' ********* работа с файлами для записи *********

10 OPEN «аааЗ.ааГ FOR OUTPUT AS ^3

20FORi=1TO10

30 PRINT #3, i:' либо эквивалентная команда WRITE #3, i

40 NEXT i

50 CLOSE #3

Аналогичные команды используют при извлечении данных из существующего файла. При этом в команде OPEN указывают служебное слово INPUT, а считывание информации происходит по команде INPUT с указанием номера файла.

' *(******** работа с файлами доя чтения **********

60 OPEN „aa3.dat“ FOR INPUT AS #2 'для чтения

70 FOR i = 1 TO 10

80 INPUT #2, a(i)

90 PRINT a(i)

100 NEXTi

110 CLOSE #2

Добавить данные в существующий файл можно, используя служебное слово APPEND.

' работа с файлами для продолжения записи в существующий файл

120 OPEN „aa3.dat“ FOR APPEND AS #1

130 WRITE #1, 13

140 CLOSE #1

Ниже приведен пример двух программ, осуществляющих передачу и прием зашифрованного послания. Текст шифруется заменой символа его порядковым номером в русском алфавите со смещением на 10. Например, код буквы „а“равен 11, буквы „б“ — 12 и т.д. Программы вполне аналогичны программам 26 на Паскале, разобранным в параграфе 3, хотя для разнообразия способ шифровки принят несколько иным.

Программа 75 (см. программу 27 sekret)

5 ' ******«-** шифровка текста **************

10 INPUT „введи текст“; а$ 23 с5 = „абвгдежзийклмнопрстуфхцчшшъыэюя “

30 х$ = » "

40 FOR i = 1 ТО LEN(a$)

50 FOR j = 1 TO LEN(c$)

60 IF MID$(a$, i, 1) — MID$(c$, j, 1) THEN k = j: GOTO 90

70 NEXT j

80 PRINT «таких символов в таблице кодов нет»: GOTO 160

90 kk = k + 10

100 x$ = x$ + STR$(kk)

110 NEXT i

120 OPEN «letter.txt» FOR OUTPUT AS #1

130 PRINT #1, x$

140 CLOSE »1

150 PRINT «шифровка — »; x$

160 END

Результатом работы программы является зашифрованный текст, записанный в файл с именем letter.txt.

Следующая программа считывает информацию из этого файла и проводит его

раскодирование, используя указанный выше ключ.

Программа 76 (см. программу 27 retsek)

5 '*********•* расшифровка текста *******•***«*»

10 OPEN «letter.txt» FOR INPUT AS #1

20 INPUT tl, a$

30 CLS

40 PRINT a$

50 c$ = «абвгдежзийклшюпрстуфхцчшщъыэюя „

60 x$ = “ „

70 FOR i = 1 TO LEM(a$) STEP 3

SO k = VAL(MID$(a$, i, 2))

90 k = k — 10

100 x$ = x$ + MID$(c$, k, 1)

110 NEXT i

120 CLOSE #1

130 PRINT “шифровка — »; x$

140 END

 

еще рефераты
Еще работы по информатике