Отчёт ЛР2
.docxЛАБОРАТОРНАЯ РАБОТА №2
Ввод-вывод информации, с использованием файлов. Форматирование значений данных.
1.Краткие теоретические сведения
Работа с файлами
Файл – это поименованная область памяти на внешнем носителе (например, магнитный диск), содержащая некоторые данные или программу.
При открытии файлу ставится в соответствие канал с определенным номером. Каждый открытый файл имеет свой канал. Функция FreeFile [(Range_Number)] возвращает номер свободного канала, который можно использовать для очередного открываемого файла. Параметр Range_Number необязательный, если задан равным 0, то возвращаемый файловый номер находится в диапазоне от 1до 255.
Реализуются три типа доступа к файлам: 1) последовательный (Sequential) – для чтения и записи текстовых файлов, 2) произвольный (Random) – для чтения и записи текста или структурированных двоичных файлов с записями фиксированной длины, 3) двоичный (Binary) – для чтения и записи произвольно структурированных файлов.
Файл последовательного доступа
Для открытия файла с последовательным доступом использует-ся команда
Open FILE_NAME For WORK_TYPE As #FILE_NUMBER,
где – FILE_NAME – имя с расширением и маршрутом (полным пу-тем);
WORK_TYPE: 43
1) Append: – файл открывается для помещения в него записей, если он уже содержит какие то записи, то новые помещаются в ко-нец файла;
2) Input – файл открывается для чтения из него записей;
3) Output: – файл открывается для помещения в него записей;
FILE_NUMBER – целое число между 1 и 255, предварительно определяемое с помощью функции FreeFile; обращение к файлу из процедуры выполняется под этим номером.
После того, как файл обработан, его закрывают командой
Close #FILE_NUMBER.
Доступ к файлу в процедере возможен между командами Open и Close.
Для помещения записи в файл используется команда
Print #FILE_NUMBER, VARNAME1 [, VARNAME2 ]...
Для чтения строк из файла используются следующие команды:
1) чтение одной строки:
Line Input #FILE_NUMBER, str_Varname
2) чтение всего файла в строковую переменную (strText):
strText = Input$ (LOF(FILE_NUMBER), FILE_NUMBER),
где LOF() – функция определения длины файла в байтах;
3) чтение последовательности определенного количества символов:
Input #FILE_NUMBER, ПОЛЕ_ДАННЫХ_1 [, ПО-ЛЕ_ДАННЫХ_2]...
Функция EOF(#FILE_NUMBER) возвращает логическое значение ИСТИНА (True), если достигнуто окончание файла, и значение ЛОЖЬ (False) – в противном случае. 44
Файл произвольного доступа
Открытие файла для произвольного доступа осуществляется командой
Open FILE_NAME For Random [ Acces TYPE_ACCESS ] As
#FILE_NUMBER [Len = ДЛИНА_ЗАПИСИ],
где параметр Acces задает режим доступа к файлу: Read - чтение, Write - запись, Read Write - чтение и запись (без указания параметра также чтение и запись).
Для записи используется команда
Put #FILE_NUMBER, NUMBER_RECORD, VARNAME
для считывания команда
Get #FILE_NUMBER, NUMBER_RECORD, VARNAME
Файл двоичного доступа
Открытие файла для двоичного доступа осуществляется командой
Open FILE_NAME For Binary [ Acces TYPE_ACCESS ] As
#FILE_NUMBER,
длина записи не указывается, т. к. обмен происходит побайтно; для ввода и вывода используются те же операторы Get и Put, но вместо номера записи указывается номер байта.
Хотя VBA может автоматически преобразовывать любой тип данных в строку для отображения с помощью функции MsgBox или для вставки в рабочий лист Excel, формат данных, который выбирает VBA, может не совпадать с желаемым. При преобразовании числа в строку VBA не добавляет в строку разделитель тысяч, символы доллара или другое числовое форматирование. Кроме того, если число очень большое или очень малое, VBA создает строку,
представляющую это число в экспоненциальном формате. При преобразовании дат VBA всегда использует короткий формат даты и времени, используемый операционной системой компьютера, и всегда отображает и дату, и время.
Для получения почти любого формата дат при преобразовании чисел или дат в строки можно использовать функцию Format; можно даже использовать функцию Format для форматирования строковых данных в соответствии с определенным шаблоном. Можно также создавать пользовательские экранные форматы, если вам необходимо, чтобы данные появлялись в каком-либо особом формате. Синтаксис оператора Format:
Format(Expression [, Format[, Firstdayofweek [, Firstweekofyear]]])
Expression – любое допустимое выражение (обязательный); Format – допустимое выражение именованного или определенного пользователем формата (необязательный); Firstdayofweek – константа, которая определяет первый день недели (необязательный); Firstweekofyear – константа, которая определяет первую неделю года (необязательный).
Для аргументов Firstdayofweek и Firstweekofyear в VBA имеются именованные константы, о которых можно узнать из справочной системы VBA в разделе Date Constants.
Вариант-10
y = 6.2832 / (x ^ 2 + 3.1416) X min: -3 X max: 3
Практическая часть.
Задание 1. Составить процедуру для вычисления и печати значений функции из таблицы 2.2. Вычислить 8 значений функции на заданном интервале. Исходные данные задать в файле Dat2.txt. Результат поместить в файл вывода с именем Res2.txt в заданной форме.
Dat2 -3.
-2.
-1.
0.
0.5
1.
2.
3.
Результат:
***************************************
* X= * Y=
***************************************
x= -3,0 y= 5,175E-1
x= -2,0 y= 8,798E-1
x= -1,0 y= 1,517E+0
x= ,0 y= 2,000E+0
x= ,5 y= 1,853E+0
x= 1,0 y= 1,517E+0
x= 2,0 y= 8,798E-1
Студент Серенков Дмитрий