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

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

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

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

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

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

Режимы:

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

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

Рис. 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

Пример. Найти все Использование операторов OPEN, CLOSE, INPUT # и PRINT #. - student2.ru массива C(5,5)., большие по модулю 2.

Сформируем файл “data” содержащий элементы массива Использование операторов OPEN, CLOSE, INPUT # и PRINT #. - student2.ru с помощью оператора 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

Для решения нашей задачи элементы массива Использование операторов OPEN, CLOSE, INPUT # и PRINT #. - student2.ru считываем с файла “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

Подпрограммы.

Обособленную группу операторов, которую можно выполнять многократно, обращаясь к ней из различных мест программы, называют подпрограммой. Чтобы подпрограмма при обращении к ней выполнялась каждый раз с новыми данными, ее нужно составить в общем виде, а исходные данные для работы передавать в переменные подпрограммы перед обращением к ней.

Блоковая функция пользователя.

DEF FN имя [(список параметров)]

Операторы

FN имя = выражение

Операторы

END DEF

QuickBASIC - программа для примера 2:

REM LR-5-1, m=13, n=5

DEF fnf(x,y)

fnf = cos(x^2+y^2)

END DEF

REM Блоковая функция пользователя

INPUT m, n

x=m/n: y=-2*n: f1=fnf(x,y)

x=3*(m+n): y=-5.5*m: f2=fnf(x,y)

z=(f1+f2)/2/(m+n)

PRINT “z=”; z

END

Подпрограмма-функция.

FUNCTION имя [(список параметров) STATIC]

[Операторы подпрограммы]

имя = выражение

END FUNCTION

QuickBASIC - программа для примера 2:

FUNCTION f(x,y)

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

f = cos(x^2+y^2)

END FUNCTION

DECLARE FUNCTION f(x,y)

REM Подпрограмма-функция

INPUT m, n

x=m/n: y=-2*n: f1=f(x,y)

x=3*(m+n): y=-5.5*m: f2=f(x,y)

z=(f1+f2)/2/(m+n)

PRINT “z=”; z

END

Подпрограмма общего вида.

SUB имя [(список параметров)] [STATIC]

Операторы подпрограммы

END SUB

[CALL] имя подпрограммы [(список аргументов)]

QuickBASIC - программа для примера 2:

SUB c(x,y,f)

REM LR-5-3, m=13, n=5

f = cos(x^2+y^2)

END SUB

DECLARE SUB c(x,y,f)

REM Подпрограммаобщего вида

INPUT m, n

x=m/n: y=-2*n: CALL c(x,y,f1)

x=3*(m+n): y=-5.5*m: CALL c(x,y,f2)

z=(f1+f2)/2/(m+n)

PRINT “z=”; z

END

Подпрограмма GO SUB.

Обращение к подпрограмме осуществляется оператором

GOSUB N

где N - номер строки, с которой начинается подпрограмма.

Подпрограмма размещается в последовательных строках, начиная с N - й. Последним оператором, выполняемым в подпрограмме, должен быть оператор RETURN. По оператору RETURN осуществляется возврат в то место программы, из которого произошло обращение к подпрограмме, а именно к оператору, следующему за GOSUB N. Подпрограмма может содержать обращения к другим подпрограммам.

QuickBASIC - программа для примера 2:

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

INPUT m, n

x=m/n: y=-2*n: GOSUB 1: f1=f

x=3*(m+n): y=-5.5*m: GOSUB 1: f2=f

z=(f1+f2)/2/(m+n)

PRINT “z=”; z

END

1 REM ПодпрограммаGOSUB

f = cos(x^2+y^2)

RETURN

END

РЕЦЕНЗИЯ

на методические указания по курсу "Информатика" для самостоятельной работы студентов всех специальностей. Основы программирования Габбасова Ф.Г., Гатауллина И.Н.

Данные методические указания предназначены для самостоятельной работы студентов всех специальностей и используются при выполнении лабораторных и контрольных работ по курсу "Информатика" на языке QuickBASIC.

Методические указания позволяют выполнять студентам всех специальностей лабораторные и контрольные работы самостоятельно.

Считаю, что данные методические указания могут быть опубликованы.

Доктор физ.-мат. наук,

Профессор, зав. кафедрой ВМ ______________Р.Б.Салимов

Наши рекомендации