Лабораторная работа по VBA. Ввод-вывод информации с использованием файлов

Сегодня рассмотрим простое задание из лабораторной работы по Visual Basic for Application. В задание применяется ввод-вывод информации с использованием файлов и форматированием значений данных.

Описание задания

Составить процедуру для вычисления и печати значений функции из таблицы. Вычислить 8 значений функции на заданном интервале. Исходные данные задать в файле Dat2.txt. Результат поместить в файл вывода с именем Res2.txt в заданной форме).

Функция Контрольное значение Интервал x Вариант формы вывода
x* y* xmin xmax
 y=1/e+π·|x|1/2  0.8  3.2  -2  2                                      Получено:
для заданной функции Y(…)= …
для заданной функции Y(…)= …Составил: < Ф.И.О. >

Итак, приступим к работе. Для начало нам необходимо создать документ Microsoft Word (я использовал MS Word 2016). Далее необходимо перейти в среду разработки кода. Напоминаю, сделать это легко, нажав ALT+F11 (откроется среда для отображение кода Microsoft Visual Basic).

Кстати, где расположен файл необходимо создать текстовый файл с именем dat2.txt. Его мы заполним содержимым из нашего задания.

-2
-1.5
-1
0
0.5
1
1.5
2

А вот и сам код нашей программы:

Sub lab2()
    Dim x, y As Single
    Open ThisDocument.Path & "\dat2.txt" For Input As #1 'Открытие файла для чтения
        Open ThisDocument.Path & "\res2.txt" For Output As #2 'Открытие файла для записи

        Print #2, Tab(25); "Получено: "

        Do While Not EOF(1) 'Пока не конец файла
            Input #1, x 'Получение построчно значений из каждой строки для переменной X
            y = 1 / Exp(1) + Pi * Abs(x) ^ 1 / 2 'Функция для расчета
            Print #2, Tab(5); "для заданной функции Y(1/e+pi*|" & CStr(x) & "|1/2)="; Format(y, "#.##0E+")
        Loop 'Конец файла достигнут
    
        Print #2, vbLf 'Обрыв строки
        Print #2, Tab(40); "Составил: Васильев А."
        Close #2 'Закрытие файла
    Close #1 'Закрытие файла
End Sub

Весь код содержит комментарии. В конце будет создан файл res2.txt с рассчитанными данными. Если возникнут вопросы, то пишите.

If you have found a spelling error, please, notify us by selecting that text and tap on selected text.

Добавить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: