Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа met-2008-qb.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
267.26 Кб
Скачать

Печать t

Конец

Рис. 2.6. Блок - схема программы на обработку массивов

Пример 8. Найти сумму элементов каждой строки массива C(4,5).

QuickBASIC - программа для примера 8 (см. блок – схему циклического вычислительного процесса с применением двумерного массива на рис. 2.7.):

REM LR-4-2, m=13, n=5

DIM C(4,5), S(4)

DATA 2, 4, 6, 8, 10

DATA -1, -3.4, -6, 7, 9

DATA -2, -4, 6, -8, -10

DATA 1, 3, 5.1, 12, 15

FOR I = 1 TO 4

FOR J = 1 TO 5

READ C(I,J)

NEXT J, I

FOR I = 1 TO 4

S(I)=0

FOR J = 1 TO 5

S(I) = S(I)+C(I,J)

NEXT J

PRINT S(I);

NEXT I : PRINT

END

Использование операторов OPEN, CLOSE, INPUT # и PRINT #.

Оператор OPEN позволяет открывать файлы для чтения и записи. Общий вид:

OPEN "File.name" FOR { режим } AS { номер }

File.name - имя открываемого файла

режим - способ доступа к файлу

номер - целое число 1-255, которое потом используется, чтобы определить нужный файл для записи/чтения.

Режимы:

APPEND - последовательная запись в файл, начиная с конца файла, т.е. дополнение;

Начало

Ввод С(i,j) n

i = 1

j=j+1

да

j≤5

нет

Печать s(I)

i=i+1

да

i≤4

нет

Конец

Рис. 2.7. Блок - схема циклического вычислительного процесса с применением двумерного массива

OUTPUT - перезапись в файл;

INPUT - чтение файла;

BINARY - режим ввода/вывода.

Если вы открыли файл для дополнения, то это делается следующим образом:

OPEN "FILE.TXT" APPEND AS #1

a$="your text here"

w=344,9

PRINT #1, a$

PRINT #1, w

CLOSE #1

В результате программа допишет в файл FILE.TXT две строки, в первой - значение переменной a$, во второй - значение переменной w. Рекомендуется в конце программы ставить CLOSE, тогда она автоматически закрывает все файлы. Если не закрыть файл, то у вас не будет к нему доступа, в нем ничего не изменится и т.д., команда CLOSE закрывает все файлы и проблем не возникнет.

Для чтения из файла используется оператор INPUT #:

OPEN "FILE.TXT" FOR INPUT AS #1

INPUT #1, D$

INPUT #1, R

CLOSE #1

PRINT D$

PRINT R

CLOSE

Еще одно хорошее свойство - команда FREEFILE - указывает следующий свободный номер для файлов, когда у вас открыто несколько файлов и вы думаете какой еще придумать номер - не мучайтесь, пишите:

n=FREEFILE

open "name" for append as #n

...

close #n

Пример. Найти все массива C(5,5)., большие по модулю 2.

Сформируем файл “data” содержащий элементы массива с помощью оператора PRINT #:

DIM C(5,5)

open “data” for output as #1

FOR I = 1 TO 4

FOR J = 1 TO 5

INPUT X

PRINT #1,X

NEXT J, I

close #1

Для решения нашей задачи элементы массива считываем с файла “data” с помощью оператора INPUT #.

Результаты запишем в файл “rez”.

open “data” for input as #2

open “rez” for output as #3

FOR I = 1 TO 5

FOR J = 1 TO 5

INPUT #2, C(I,J)

IF ABS(C(I,J))>2 THEN PRINT #3 C(I,J)

NEXT J, I

CLOSE

END