Использование операторов OPEN, close, input # и print #. — КиберПедия 

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Использование операторов OPEN, close, input # и print #.

2017-10-11 357
Использование операторов OPEN, close, input # и print #. 0.00 из 5.00 0 оценок
Заказать работу

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

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

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

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

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

Режимы:

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

 
 

 


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

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

 

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

 

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

 

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.

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

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

 

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

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

 

 


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

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.017 с.