Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР по Информатике (2 семестр).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
840.7 Кб
Скачать

Лабораторная работа №7. Программирование с использованием файлов

Цель: Приобрести навыки программирования с использованием файлов.

Теоретические разделы для выполнения лабораторной работы

  1. Работа с файлами в языке Visual Basic.

  2. Чтение и запись данных в файлы.

Задание. Выполнить задание лабораторной работы №5, часть 1 (прил. 5, часть 1). Требования к выполнению задания:

  1. Исходные данные хранятся в файле input.txt в личной папке

  2. Результаты записываются в файл 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

Контрольные вопросы

  1. Общие принципы работы с файлами.

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

  3. Чтение данных из файла.

  4. Запись данных в файл.

  5. Закрытие файла.

Лабораторная работа №8. Программирование с использованием функций

Цель: Приобрести навыки программирования с использованием функций.

Теоретические разделы для выполнения лабораторной работы

  1. Описание процедур и функций.

  2. Параметры процедур и функций.

  3. Особенности вызова подпрограмм в языке Visual Basic.

Задание. Вычислить значение выражения при различных исходных данных. Вычисление функции А оформить в виде подпрограммы-функции с параметрами x, y, z. Варианты заданий указаны в приложении 8.

Пример. Вычислить значение функции y=sin(x-2)+2x

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

Контрольные вопросы

  1. Описание процедур и функций.

  2. Отличие процедур от функций.

  3. Вызов процедур и функций.

  4. Аргументы подпрограмм.

Приложение 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