Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kod_programm_k_ekzamenu (1).docx
Скачиваний:
3
Добавлен:
05.08.2019
Размер:
39.23 Кб
Скачать

InputVector(a, "a")

OutputVector(A, TextBox1)

TextBox1.AppendText("Вектор B" & vbCrLf)

InputVector(b, "b")

OutputVector(B, TextBox1)

TextBox1.AppendText("Вектор C" & vbCrLf)

InputVector(C, "C")

OutputVector(C, TextBox1)

P1 = Proverka(A, B)

P2 = Proverka(A, C)

P3 = Proverka(B, C)

If P1 = True Then

TextBox1.AppendText("А и В эквивалентны " & vbCrLf)

Else

TextBox1.AppendText("А и В не эквивалентны " & vbCrLf)

End If

If P2 = True Then

TextBox1.AppendText("А и С эквивалентны " & vbCrLf)

Else

TextBox1.AppendText("А и С не эквивалентны " & vbCrLf)

End If

If P3 = True Then

TextBox1.AppendText("В и С эквивалентны " & vbCrLf)

Else

TextBox1.AppendText("В и С не эквивалентны " & vbCrLf)

End If

End Sub

_____________________________________________________________________________________

Function Proverka(ByVal x() As Single, ByVal y() As Single) As Boolean

Dim i, K As Integer

K = 0

For i = 1 To x.GetUpperBound(0)

If x(i) = y(i) Then

K = K + 1

End If

If K = x.GetUpperBound(0) Then

Proverka = True

Else

Proverka = False

End If

Next

End Function

_____________________________________________________________________________________

Private Sub InputVector(ByRef x() As Single, Optional ByVal VectorName As String = "элемент")

Dim i As Integer

For i = 1 To x.GetUpperBound(0)

x(i) = InputBox(VectorName & "(" & i & ") = ?")

Next

End Sub

_____________________________________________________________________________________

Private Sub OutputVector(ByVal x() As Single, ByVal y As TextBox)

Dim i As Integer

For i = 1 To x.GetUpperBound(0)

y.AppendText(x(i) & vbTab)

Next

y.AppendText(vbCrLf)

End Sub

_____________________________________________________________________________________

End Class

7. Составьте процедуру для определения минимального элемента матрицы. Используя эту процедуру, для трех заданных матриц А, В, и С установите и выведите наибольшее значение среди их минимальных элементов.

Public Class Form1

_____________________________________________________________________________________

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

Dim A(,), B(,), C(,) As Single

Dim n, m, k As Integer

TextBox1.Clear()

n = InputBox("Количество строк и столбцов матрицы А, n = ")

m = InputBox("Количество строк и столбцов матрицы B, m = ")

k = InputBox("Количество строк и столбцов матрицы C, k = ")

ReDim A(n, n)

ReDim B(m, m)

ReDim C(k, k)

TextBox1.AppendText("Матрица А " & vbCrLf)

InputMatrix(A, "A")

OutputMatrix(A, TextBox1)

TextBox1.AppendText("Матрица В " & vbCrLf)

InputMatrix(B, "B")

OutputMatrix(B, TextBox1)

TextBox1.AppendText("Матрица С " & vbCrLf)

InputMatrix(C, "C")

OutputMatrix(C, TextBox1)

MinElement(A)

MinElement(B)

MinElement(C)

If (MinElement(A) > MinElement(B) And MinElement(A) > MinElement(C)) Then

TextBox1.AppendText("Наибольшее значение среди минимальных эл-тов матриц = " & MinElement(A) & vbCrLf)

End If

If MinElement(B) > MinElement(C) Then

TextBox1.AppendText("Наибольшее значение среди минимальных эл-тов матриц = " & MinElement(B) & vbCrLf)

Else

TextBox1.AppendText("Наибольшее значение среди минимальных эл-тов матриц = " & MinElement(C) & vbCrLf)

End If

End Sub

_____________________________________________________________________________________

Function MinElement(ByVal x(,) As Single)

Dim m, i, j As Integer

m = x(1, 1)

For i = 1 To x.GetUpperBound(0)

For j = 1 To x.GetUpperBound(1)

If m > x(i, j) Then

m = x(i, j)

End If

Next

Next

MinElement = m

End Function

_____________________________________________________________________________________

Private Sub InputMatrix(ByRef x(,) As Single, Optional ByVal ArrayName As String = "элемент")

Dim i, j As Integer

For i = 1 To x.GetUpperBound(0)

For j = 1 To x.GetUpperBound(1)

x(i, j) = InputBox(ArrayName & "(" & i & "," & j & ") = ?")

Next

Next

End Sub

_____________________________________________________________________________________

Private Sub OutputMatrix(ByVal x(,) As Single, _

ByVal y As TextBox)

Dim i, j As Integer

For i = 1 To x.GetUpperBound(0)

For j = 1 To x.GetUpperBound(1)

y.AppendText(x(i, j) & vbTab)

Next

y.AppendText(vbCrLf)

Next

End Sub

_____________________________________________________________________________________

End Class

8. Составьте процедуру для определения индексов элемента матрицы, значение которого наименее отличается от среднего значения элементов этой же матрицы. Используя эту процедуру установите, в какой из двух заданных матриц А или В сумма этих индексов имеет наибольшее значение.

Imports System.Math

____________________________________________________________________________________

Public Class Form1

____________________________________________________________________________________

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

Dim m, n As Integer

Dim A(,), B(,), InA, InB As Single

TextBox1.Clear()

n = InputBox("Количество строк и столбцов матрицы А, n = ")

m = InputBox("Количество строк и столбцов матрицы B, m = ")

ReDim A(n, n)

ReDim B(m, m)

TextBox1.AppendText("Марица А" & vbCrLf)

InputMatrix(A, "A")

OutputMatrix(A, TextBox1)

InA = Index(A)

TextBox1.AppendText("Марица B" & vbCrLf)

InputMatrix(B, "B")

OutputMatrix(B, TextBox1)

InB = Index(B)

TextBox1.AppendText("Index A = " & InA & vbCrLf)

TextBox1.AppendText("Index B = " & InB & vbCrLf)

If InA > InB Then

TextBox1.AppendText("Сумма индексов матрицы А имеет наибольшее значение = " & InA & vbCrLf)

Else

TextBox1.AppendText("Сумма индексов матрицы B имеет наибольшее значение = " & InB & vbCrLf)

End If

End Sub

____________________________________________________________________________________

Function Index(ByVal x(,) As Single) As Single

Dim i, j, ii, jj As Integer

Dim Srednee, S, K, D As Single

ii = 1

jj = 1

S = 0

For i = 1 To x.GetUpperBound(0)

For j = 1 To x.GetUpperBound(1)

S = S + x(i, j)

Next

Next

Srednee = S / (x.GetUpperBound(0) * x.GetUpperBound(0))

K = Abs(Srednee - x(1, 1))

For i = 1 To x.GetUpperBound(0)

For j = 1 To x.GetUpperBound(1)

D = Abs(Srednee - x(i, j))

If D < K Then

K = D

ii = i

jj = j

End If

Next

Next

TextBox1.AppendText("Среднее значение матрицы = " & Srednee & vbCrLf)

Index = ii + jj

End Function

____________________________________________________________________________________

Private Sub InputMatrix(ByRef x(,) As Single, Optional ByVal ArrayName As String = "элемент")

Dim i, j As Integer

For i = 1 To x.GetUpperBound(0)

For j = 1 To x.GetUpperBound(1)

x(i, j) = InputBox(ArrayName & "(" & i & "," & j & ") = ?")

Next

Next

End Sub

____________________________________________________________________________________

Private Sub OutputMatrix(ByVal x(,) As Single, _

ByVal y As TextBox)

Dim i, j As Integer

For i = 1 To x.GetUpperBound(0)

For j = 1 To x.GetUpperBound(1)

y.AppendText(x(i, j) & vbTab)

Next

y.AppendText(vbCrLf)

Next

End Sub

____________________________________________________________________________________

End Class