РАБОТА С ФАЙЛАМИ. Для осуществления связи с внешними периферийными устройствами и с файловой системой операционной среды в Бейсике предусмотрена работа с файлами
Для осуществления связи с внешними периферийными устройствами и с файловой системой операционной среды в Бейсике предусмотрена работа с файлами. В следующем фрагменте программы показаны команды для открытия внешнего файла с именем "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
Дата добавления: 2015-10-13; просмотров: 568;