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

11 лаба

.docx
Скачиваний:
0
Добавлен:
02.01.2024
Размер:
330.82 Кб
Скачать

Федеральное агентство связи Ордена

Трудового Красного Знамени

федеральное бюджетное образовательное учреждение высшего образования

«Московский Технический Университет Связи и Информатики»

(МТУСИ)

Кафедра Информатики

Лабораторная работа № 11

Тема:

«Модульная структура приложений и стандартные модули в Visual Basic»

Вариант 00

Выполнил:

Москва 0000

Задание

Форма1

Форма2

5.1)Алгоритм решения задачи

5.2)Код

Option Strict On

Option Explicit On

Module Module1

Public n As Integer 'количество рабочих на заводе

Public x() As String 'одномерный массив фамилий

Public y() As Integer 'одномерный массив бригад

Public u() As Double ' одномерный массив с зарплатами

Public a() As Integer 'одномерный массив прохождение по группам

Public Unic() As Integer 'уникальный массив

Public Tips As Integer

End Module

------------------------------------------------------------

Option Strict On

Option Explicit On

Public Class Form1

Sub vivodMassiv(ByRef x() As String, ByRef s As String)

s = ""

For i = 0 To UBound(x)

s = s + x(i) + vbNewLine

Next

End Sub

Sub INTEGERvivodMassiv(ByRef Y() As Integer, ByRef s As String)

s = ""

For i = 0 To UBound(Y)

s = s + CStr(Y(i)) + vbNewLine

Next

End Sub

Sub DOUBLEvivodMassiv(ByRef U() As Double, ByRef s As String)

s = ""

For i = 0 To UBound(U)

s = s + CStr(U(i)) + vbNewLine

Next

End Sub

Sub unic11(ByRef y() As Integer, ByRef Unic() As Integer, ByRef Tips As Integer)

Dim i, j, f As Integer

Tips = 0

Unic(Tips) = y(0)

For i = 1 To n - 1

f = 0

For j = 0 To Tips

If y(i) = Unic(j) Then

f = 1

Exit For

End If

Next j

If f = 0 Then

Tips = Tips + 1

Unic(Tips) = y(i)

End If

Next

ReDim Preserve Unic(Tips)

End Sub

Sub vvod(ByVal n As Integer, ByVal x() As String, ByVal y() As Integer, ByRef u() As Double)

Dim i As Integer

For i = 0 To n - 1

x(i) = InputBox("Фамилия рабочего")

y(i) = CInt(InputBox("бригада"))

u(i) = CDbl(InputBox("Зарплата"))

Next i

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim s As String = ""

n = CInt(InputBox("количетсво студентов"))

ReDim x(n - 1), y(n - 1), u(n - 1), Unic(n - 1)

vvod(n, x, y, u)

vivodMassiv(x, s)

TextBox1.Text = s

INTEGERvivodMassiv(y, s)

TextBox2.Text = s

DOUBLEvivodMassiv(u, s)

TextBox3.Text = s

unic11(y, Unic, Tips)

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

End

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Form2.Show()

End Sub

End Class

------------------------------------------------------------Option Strict On

Option Explicit On

Public Class Form2

Sub sred(ByVal n As Integer, ByVal a() As Integer, ByRef u() As Double, ByRef k As Integer)

Dim i As Integer

Dim s As Double

k = 0

s = 0

For i = 0 To UBound(a)

s = s + u(a(i))

Next i

s = s / i

For i = 0 To UBound(a)

If u(a(i)) > s Then

k = k + 1

End If

Next

End Sub

Public Sub MaxMin(ByVal n As Integer, ByRef a() As Integer, ByRef u() As Double, ByRef maxid As Integer, ByRef minid As Integer)

Dim i As Integer

Dim MAX, MIN As Double

MAX = -10 ^ 8

MIN = 10 ^ 8

For i = 0 To UBound(a)

If MAX < u(a(i)) Then

MAX = u(a(i))

maxid = a(i)

End If

If MIN > u(a(i)) Then

MIN = u(a(i))

minid = a(i)

End If

Next

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim k, maxid, minid As Integer

Dim l As Integer = 0

Dim s As String = ""

Dim a(l) As Integer

For i = 0 To Tips

l = 0

For j = 0 To UBound(y)

If Unic(i) = y(j) Then

a(l) = j

l = l + 1

ReDim Preserve a(l)

End If

Next

l = l - 1

ReDim Preserve a(l)

sred(n, a, u, k)

MaxMin(n, a, u, maxid, minid)

s += CStr(Unic(i)) + Space(4) + "Ф. рабочего с Max/salary" + Space(15) + x(maxid) + Space(10) + "Ф.рабочего с min/salary" + Space(20) + x(minid) + Space(10) + "Количество >cр" + Space(10) + CStr(k) + vbNewLine

Next

TextBox1.Text = s

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

End

End Sub

End Class

Результат выполнения:

7 Проверка результатов

Соседние файлы в предмете Информатика