Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебник Информатики

.pdf
Скачиваний:
54
Добавлен:
23.02.2015
Размер:
560.16 Кб
Скачать

Формальные и фактические параметры

Формальные параметры подпрограммы – это параметры, указывающие с какими параметрами следует к подпрограмме обращаться. Они задаются в заголовке в виде списка. Операторы тела подпрограммы рассматривают список формальных параметров как своеобразное расширение раздела объявлений: допускается использовать все параметры из этого списка в любых выражениях внутри подпрограммы. Идентификаторы этих параметров могут быть любыми, в том числе совпадающими с идентификаторами объектов основной программы.

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

Работа с файлами

Способы доступа к файлам

В QBasic существуют два способа доступа к информации, хранящейся в файлах: последовательный доступ и прямой доступ. Файлы последовательного доступа наиболее просты как в организации, так и в работе с ними. В них записи обрабатываются последовательно одна за другой. Информация в таких файлах хранится в виде текста в кодах ASCII. Записи в файлах последовательного доступа легко просматриваются с экрана с помощью любого текстового редактора или в самом QBasic.

Но поскольку информация в таких файлах обрабатывается последовательно, то при больших информационных объёмах их обработка становится достаточно медленной. Поэтому в некоторых случаях целесообразно использовать так называемые файлы прямого доступа. Эти файлы хранят информацию в специальном формате, в котором каждая запись занимает строго фиксирован-

51

ную длину. Такие файлы могут занимать на диске больше места, чем файлы последовательного доступа, но это компенсируется скоростью работы с ними. Мы ограничимся рассмотрением работы с файлами последовательного доступа.

Операции над файлами

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

открытие файла,

чтение и запись обрабатываемых данных,

закрытие файла.

Можно открыть несколько файлов одновременно, чтобы считать информацию из одного файла, обработать её и записать в другой файл. Но нельзя одновременно пытаться читать и записывать информацию в открытый файл. Сначала необходимо открыть файл для чтения, считать нужную информацию, обработать её и закрыть файл. Затем открыть файл для записи, записать в него результаты и закрыть файл.

Открытие файла

Для открытия файла используется оператор OPEN, имеющий следующую форму записи:

OPEN файл$ [FOR режим] AS [#]номер файла%,

где файл$ – имя файла, режим – режим, определяющий доступ к данным файла, номер файла – целое число от 1 до 255, идентифицирующее открытый файл (предваряется необязательным символом #). В общем случае в операторе OPEN имеется ещё ряд дополнительных ключевых слов, которые уточняют способ работы с файлом. В качестве имени файла указывается строка, содержащая его имя. Если указано неполное имя, т.е. без наименования дискового устройства и каталога, то файл открывается в текущем каталоге. В качестве параметра файл$ в операторе OPEN можно использовать переменную символьного типа, кото-

52

рой присваивается имя файла. Это позволяет вводить имя файла с клавиатуры, например с помощью оператора INPUT, и использовать программу для работы с самыми различными файлами.

Режимы работы с файлами

В QBasic имеется несколько режимов работы с файлами. Рассмотрим некоторые из них.

Режим INPUT предназначен для чтения информации из файла. В случае если указывается имя несуществующего файла, возникает сообщение об ошибке («Файл не найден»).

Режим OUTPUT предназначен для записи информации в файл, обычно в новый. Если в этом режиме открывается уже существующий файл, то его содержимое будет утрачено.

Режим APPEND предназначен для добавления информации в файл, причём новая информация размещается в конце файла, за последней записью. Если в этом режиме указано имя ещё не существующего файла, то будет открыт новый файл, как это делается в режиме OUTPUT.

Режимы BINARY и RANDOM мы рассматривать не будем.

Последовательная запись данных в файл

Запись информации в файл может производиться операторами PRINT, PRINT USING и WRITE:

PRINT [#номер файла%,] [список вывода] [{; | ,}],

PRINT [#номер файла%,] USING формат$; список вывода [{; | ,}], WRITE [[#]номер файла%,] [список вывода].

В этих операторах конструкция номер файла% указывает номер файла, открытого в режимах OUTPUT или APPEND, в который будет записана информация. Если номер файла не указан, то информация выводится на экран монитора.

53

Различие между операторами PRINT [#номер файла%,] и WRITE [[#]номер файла%,] заключается в том, что первый из них выводит данные в файл точно так же, как на экран монитора, а второй – разделяет их запятыми и заключает символьные константы в двойные кавычки. Другими словами, оператор WRITE записывает данные в файл в той форме, которая может быть непосредственно считана оператором INPUT, поэтому его использование в некоторых случаях предпочтительней.

Последовательное считывание данных из файла

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

Он имеет следующую форму записи:

INPUT #номер файла%, v1, v2, ..., vn,

где конструкция #номер файла% указывает номер файла, открытого в режиме INPUT, из которого будет считана информация; v1, v2, ..., vn – список ввода.

Закрытие файлов

Ранее открытые файлы закрываются с помощью оператора CLOSE. Он имеет следующий вид:

CLOSE [[#]номер файла% [,[#]номер файла%]...].

Если номера файлов в операторе CLOSE не указаны, то закрываются все открытые файлы.

54

Библиографический список

1.Бобровский, С.И. Программирование на языке QBasic для школьников и студентов / С.И. Бобровский. – М. : Десс Ком ; Инфорком-Пресс, 2000. – 208 с.

2.Быля, Т.Р. Изучаем информатику, программируя на Бэйсике / Т.Р. Быля, О.И. Быля. – М. : Айрис ; Рольф, 1996. – 160 с.

3.Вычислительная техника и программирование : учеб. / А.В. Пет-

ров [и др.] ; под ред. А.В. Петрова. – М. : Высшая школа, 1990. – 479 с.

4.Денисов, В.П. Microsoft Visual Basic : метод. указ. / В.П. Денисов. –

Екатеринбург : Изд-во УГТУ, 1997. – Ч. 1. Ядро языка: QBasic – 44 с.

5.Сафронов, И.К. Бейсик в задачах и примерах / И.К. Сафронов. – СПб.

:БХВ-Петербург, 2000. – 216 с.

55

Учебное электронное текстовое издание

Опарин Дмитрий Всеволодович

АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ QBASIC

Редактор

Н.В. Лутова

Компьютерная вёрстка

Д.В. Опарин

Рекомендовано РИС ГОУ ВПО УГТУ-УПИ Разрешено к публикации 26.11.09.

Электронный формат – pdf Объём 2,8 уч.-изд. л.

Издательство ГОУ ВПО УГТУ-УПИ 620002, Екатеринбург, ул. Мира, 19

Информационный портал ГОУ ВПО УГТУ-УПИ http://www.ustu.ru