
- •Общие сведения
- •Лабораторная работа №1. Программирование с использованием встроенных функций ввода/вывода
- •Теоретические разделы для выполнения лабораторной работы
- •Лабораторная работа №2. Программирование линейных и разветвляющихся вычислительных процессов
- •Теоретические разделы для выполнения лабораторной работы
- •Структура программы.
- •Часть 1. Программирование линейных вычислительных процессов.
- •Часть 2. Программирование разветвляющихся вычислительных процессов. Вычислить выражение с учетом области допустимых значений.
- •Лабораторная работа №3. Программирование разветвляющихся вычислительных процессов с использованием операторов If и Select Case
- •Теоретические разделы для выполнения лабораторной работы
- •Часть 1. Программирование разветвляющихся вычислительных процессов с использованием логического оператора If.
- •Часть 2. Программирование разветвляющихся вычислительных процессов с использованием оператора выбора Select Case.
- •Лабораторная работа №4. Программирование циклических вычислительных процессов
- •Теоретические разделы для выполнения лабораторной работы
- •Часть 1. Программирование циклических вычислительных процессов с использованием оператора цикла For … Next.
- •Часть 2. Программирование циклических вычислительных процессов с использованием оператора цикла Do ... Loop с предусловием (Do While … Loop или Do Until … Loop).
- •Часть 3. Программирование циклических вычислительных процессов с использованием оператора цикла Do ... Loop с постусловием (Do … Loop Until или Do … Loop While).
- •Лабораторная работа №5. Программирование циклических вычислительных процессов с использованием массивов и матриц
- •Лабораторная работа №6. Программирование с использованием составных пользовательских типов данных
- •Лабораторная работа №7. Программирование с использованием файлов
- •Лабораторная работа №8. Программирование с использованием функций
- •Лабораторная работа №9. Разработка пользовательских диалоговых окон (форм)
Лабораторная работа №7. Программирование с использованием файлов
Цель: Приобрести навыки программирования с использованием файлов.
Теоретические разделы для выполнения лабораторной работы
Работа с файлами в языке Visual Basic.
Чтение и запись данных в файлы.
Задание. Выполнить задание лабораторной работы №5, часть 1 (прил. 5, часть 1). Требования к выполнению задания:
Исходные данные хранятся в файле input.txt в личной папке
Результаты записываются в файл output.txt
Замечание.
В программе должна быть предоставлена возможность выбора для ввода исходных данных с клавиатуры или файла. Например, можно воспользоваться стандартным окном вывода MsgBox.
Если источником данных является клавиатура, то после ввода исходных данных выводить запрос о записи данных в файл. Например,
Пример
Дан массив а = { а1, а2, …, аn}. Найти модуль разности между максимальным и минимальным элементами массива.
Замечание. В файле исходных данных первым значением является размер массива.
Sub lr7()
Dim a(15),min, max, mod_raz, i, n As Integer
Dim s As String, k,m As Integer
K= MsgBox ("Источником является файл? Да - файл, Нет - клавиатура" , _
vbYesNo, "Укажите источник ввода исходных данных")
S=””
if k=6 then
Open “D:\Ek_1\Petrov\input.txt” For Input As #1
Input #1,n
i=1
Do While not EOF(1)
Input #1, a(i)
S=S & A(i) & “ “
i=i+1
Loop
Close #1
Else
N= Val(InputBox(“Размер вектора”))
For i=1 to n
A(i)=Val(InputBox(“Элемент вектора”))
S=S & A(i) & “ “
Next i
M= MsgBox "Записать введенные данные в файл?", _
vbYesNo, "Запись исходных данных"
If m=6 then
Open “D:\Ek_1\Petrov\input.dat” For Output As #1
Write #1, n
For i=1 to n
Write #1, a(i)
Next i
Close #1
End If
End if
MsgBox s , , “Введенный массив”
max=a(1)
min=a(1)
For i=2 to 15
If a(i)<min Then min=a(i)
If a(i)>max Then max=a(i)
Next i
mod_raz=abs(max-min)
Open “D:\Ek_1\Petrov\output.dat” For Output As #1
Write #1, “Min = “ & min & “ Max=” & max & “Модуль разности =” & mod_raz
Close #1
End Sub
Контрольные вопросы
Общие принципы работы с файлами.
Открытие файла.
Чтение данных из файла.
Запись данных в файл.
Закрытие файла.
Лабораторная работа №8. Программирование с использованием функций
Цель: Приобрести навыки программирования с использованием функций.
Теоретические разделы для выполнения лабораторной работы
Описание процедур и функций.
Параметры процедур и функций.
Особенности вызова подпрограмм в языке Visual Basic.
Задание. Вычислить значение выражения при различных исходных данных. Вычисление функции А оформить в виде подпрограммы-функции с параметрами x, y, z. Варианты заданий указаны в приложении 8.
Пример. Вычислить значение функции y=sin(x-2)+2x
Function f(x1,z1 As Single) As Single
f=sin(x1-2)+2*x1*z1
End Function
Sub lr8()
Dim x,z,y As Single
x=Val(InputBox(“Значение x”))
z=Val(InputBox(“Значение z”))
y=f((x),(z))
MsgBox “Результат Y = ” & Y, , “Вывод результатов”
End Sub
Контрольные вопросы
Описание процедур и функций.
Отличие процедур от функций.
Вызов процедур и функций.
Аргументы подпрограмм.
Приложение 8. Варианты заданий лабораторной работы №8
Вариант |
Вид функции |
Начальные данные |
||
x |
y |
z |
||
1 |
|
0.981
-0.32 |
-2.625
-2.625
|
0.512
0.512 |
2 |
|
-1.251
8.367 |
0.827
0.827 |
5.001
5.001 |
3 |
|
0.263
3.251 |
0.328
0.328 |
0.466 0.466 |
Вариант |
Вид функции |
Начальные данные |
||
x |
y |
z |
||
4 |
|
6.002
-0.622
|
3.325
3.325 |
5.541
5.541 |
5 |
|
1.625
6.31 |
5.4
5.4 |
0.252
0.252 |
6 |
|
0.625
17.421 |
10.365
10.365 |
0.828
0.828 |
7 |
|
0.451
2.444 |
0.869
0.869 |
-0.166
-0.166 |
8 |
|
0.335
0.001 |
0.025
0.025 |
32.005
32.005 |
9 |
|
5.982
3.258 |
4.005
4.005 |
-0.666
-0.666 |
10 |
|
0.11
0.92 |
-8.251
-8.251 |
0.765
0.765 |
11 |
|
1.542
0.085 |
0.261
0.261 |
0.032
0.032 |
12 |
|
5.016
1.426 |
1.22
1.22 |
3.5
3.5 |
13 |
|
-4.5
1.62 |
0.76
0.76 |
0.845
0.845 |
14 |
|
0.025
3.741 |
-0.82
-0.82 |
0.16
0.16 |
15 |
|
0.412
-0.511 |
0.275
0.275 |
-0.486
-0.486 |
16 |
|
-15.246
3.52 |
4.642
4.642 |
2.401
2.401 |
Вариант |
Вид функции |
Начальные данные |
||
x |
y |
z |
||
17 |
|
6.55
0.08 |
2.75
2.75 |
0.15
0.15 |
18 |
|
0.465
5.15 |
6.33
6.33 |
3.25
3.25 |
19 |
|
15.331
-2.33 |
-0.823
-0.823 |
15.221
15.221 |
20 |
|
1.825
9.052 |
8.426
8.426 |
17.5
17.5 |
21 |
|
7.8
0.65 |
-5.5
-5.5 |
2.3
2.3 |
22 |
|
6.32
-0.85 |
1.25
1.25 |
0.22
0.22 |
23 |
|
7.15
0.11 |
2.55
2.55 |
0.12
0.12 |
24 |
|
1.34
4.31 |
2.981
2.981 |
3.075
3.075 |
25 |
|
3.75
0.22 |
-6.72
-6.72 |
1.05
1.05 |
26 |
|
2.65
0.032 |
0.255
0.255 |
0.88
0.88 |
27 |
|
1.86
3.05 |
2.42
2.42 |
0.75
0.75 |
28 |
|
3.64
4.83 |
4.625
4.625 |
-2.5
-2.5 |
29 |
|
0.83
0.09 |
0.318
0.318 |
6.52
6.52 |
30 |
|
0.76
3.24 |
0.92
0.92 |
0.68
0.68 |