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

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

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

2017-10-11 356
Использование операторов 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.

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

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

 

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

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

 

 


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

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

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

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...



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

0.006 с.