Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
zada4uINFz.docx
Скачиваний:
14
Добавлен:
31.03.2015
Размер:
65 Кб
Скачать
☆

Imports System.Math

Public Class Form1

Private Sub btnПуск_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnПуск.Click

Dim A(), B() As Single

Dim n1, n2, i, z1 As Integer

Dim P, L, Разница, arifm1, arifm2 As Single

txtЖурнал.Clear()

n1 = InputBox("Введите n1")

n2 = InputBox("Введите n2")

z1 = InputBox("Введите z1")

txtЖурнал.AppendText("Разница средних значений = " & z1 & vbCrLf)

ReDim A(n1), B(n2)

InputVector(a, "a")

txtЖурнал.AppendText("Вектор A" & vbCrLf)

OutputVector(A, txtЖурнал)

InputVector(b, "b")

txtЖурнал.AppendText("Вектор b" & vbCrLf)

OutputVector(B, txtЖурнал)

Среднее(A, arifm1)

Среднее(B, arifm2)

Разница = arifm1 - arifm2

If Abs(Разница) < z1 Then

txtЖурнал.AppendText("Вектора А и B равнозначны :)" & vbCrLf)

Else

txtЖурнал.AppendText("Среднее для А = " & arifm1 & vbCrLf)

txtЖурнал.AppendText("Среднее для B = " & arifm2 & vbCrLf)

End If

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Label1.Click

End

End Sub

Private Sub InputVector(ByRef x() As Single, _

Optional ByVal ArrayName As String = "элемент")

Dim i As Integer

For i = 1 To x.GetUpperBound(0)

x(i) = InputBox(ArrayName & _

"(" & i & ") = ?")

Next

End Sub

Private Sub OutputVector(ByRef x() _

As Single, ByVal txtBx As TextBox)

Dim i As Integer

For i = 1 To x.GetUpperBound(0)

txtBx.AppendText(" " & x(i))

Next

txtBx.AppendText(vbCrLf)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Sub Среднее(ByVal x() As Single, ByRef arifm As Single)

Dim S As Single

Dim G As Integer

S = 0

G = 0

For i = 1 To x.GetUpperBound(0)

S = S + x(i)

G = G + 1

Next

arifm = S / G

End Sub

End Class

Задача 20

Imports System.Math

Public Class Form1

Private Sub btnПуск_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnПуск.Click

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

Dim n1, n2, m1, m2, H As Integer

Dim P, L As Single

txtЖурнал.Clear()

n1 = InputBox("Введите n1")

n2 = InputBox("Введите n2")

m1 = InputBox("Введите m1")

m2 = InputBox("Введите m2")

H = InputBox("Введите H")

txtЖурнал.AppendText("Граница = " & H & vbCrLf)

ReDim A(n1, m1), B(n2, m2)

InputMatrix(A, "A")

txtЖурнал.AppendText("Matrix A" & vbCrLf)

OutputMatrix(A, txtЖурнал)

InputMatrix(B, "B")

txtЖурнал.AppendText("Matrix b" & vbCrLf)

OutputMatrix(B, txtЖурнал)

P = Max(A)

L = Max(B)

txtЖурнал.AppendText("Максимальный А = " & P & vbCrLf)

txtЖурнал.AppendText("Максимальный B = " & L & vbCrLf)

If P > H Then

For j = 1 To m1

A(1, j) = Sqrt(A(1, j))

Next

Else

txtЖурнал.AppendText("Значение не предельно" & vbCrLf)

End If

OutputMatrix(A, txtЖурнал)

If L > H Then

For j = 1 To m2

B(1, j) = Sqrt(B(1, j))

Next

Else

txtЖурнал.AppendText("Значение не предельно" & vbCrLf)

End If

OutputMatrix(B, txtЖурнал)

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Label1.Click

End

End Sub

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

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

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

Dim S As Single

S = 0

For i = 1 To x.GetUpperBound(0)

For j = 1 To x.GetUpperBound(1)

If x(i, j) > S Then

S = x(i, j)

Else

j = j + 1

End If

Next

Next

Return (S)

End Function

End Class

Задача 25

Public Class Form1

Private Sub btnПуск_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnПуск.Click

Dim P(), C() As Single

Dim n1, n2, H, k, k1, k2 As Integer

txtЖурнал.Clear()

n1 = InputBox("Введите n1")

n2 = InputBox("Введите n2")

H = InputBox("Введите H")

txtЖурнал.AppendText("Граница = " & H & vbCrLf)

ReDim P(n1), C(n2)

InputVector(P, "P")

txtЖурнал.AppendText("Vector P" & vbCrLf)

OutputVector(P, txtЖурнал)

InputVector(C, "C")

txtЖурнал.AppendText("Vector C" & vbCrLf)

OutputVector(C, txtЖурнал)

Min(P, H, k1)

Min(C, H, k2)

If k1 > k2 Then

txtЖурнал.AppendText("Число замен в векторе P больше, вектор P:" & vbCrLf)

OutputVector(P, txtЖурнал)

Else

txtЖурнал.AppendText("Число замен в векторе С больше, вектор С:" & vbCrLf)

OutputVector(C, txtЖурнал)

End If

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Label1.Click

End

End Sub

Private Sub InputVector(ByRef x() As Single, _

Optional ByVal ArrayName As String = "элемент")

Dim i As Integer

For i = 1 To x.GetUpperBound(0)

x(i) = InputBox(ArrayName & _

"(" & i & ") = ?")

Next

End Sub

Private Sub OutputVector(ByRef x() _

As Single, ByVal txtBx As TextBox)

Dim i As Integer

For i = 1 To x.GetUpperBound(0)

txtBx.AppendText(" " & x(i))

Next

txtBx.AppendText(vbCrLf)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Public Sub Min(ByVal x() As Single, ByVal H As Single, ByRef k As Integer) 'Обращение будет выглядеть Min(A,H) или Min(B,H)

k = 0

For i = 1 To x.GetUpperBound(0) ' Проходим по всему массиву, от 1 элемента до последнего

If x(i) < H Then

x(i) = 0

k = k + 1

Else

i = i + 1 ' Переходим сразу к следующему элементу

End If

Next

End Sub

End Class

БИЛЕТ №30 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim n, za, zb As Integer Dim a() As Single, b() As Single txtЖурнал.Clear() n = InputBox _ ("Задайте количество ячеек векторов а и б") txtЖурнал.AppendText("n = " & n & vbCrLf) ReDim a(n), b(n) InputVector(a, "a") txtЖурнал.AppendText("Вектор a" & vbCrLf) OutputVector(a, txtЖурнал) InputVector(b, "b") txtЖурнал.AppendText("Вектор b" & vbCrLf) OutputVector(b, txtЖурнал) 'анализ колва положит и отриц элементов в массивах za = PosVsNeg(a) zb = PosVsNeg(b) 'вывод результата в текстовой удобной форме If (za = 1) And (zb = 1) Then txtЖурнал.AppendText("Показатели в норме") Else If za < 1 Then txtЖурнал.AppendText("Обратите внимание на А") End If If zb < 1 Then txtЖурнал.AppendText("Обратите внимание на B") End If End If End Sub '1 - положительных больше, -1 - отриц больше, 0 - поровну Private Function PosVsNeg(ByVal x() As Single) As Integer Dim i As Integer 'счетчик номеров элементов Dim pos As Integer 'количество положительных Dim neg As Integer 'количество отрицательных pos = 0 neg = 0 For i = 1 To x.GetUpperBound(0) 'анализируем каждый элемент If x(i) > 0 Then pos = pos + 1 'если положительный If x(i) < 0 Then neg = neg + 1 'если отрицательный Next If pos > neg Then PosVsNeg = 1 ElseIf neg > pos Then PosVsNeg = -1 Else : PosVsNeg = 0 End If End Function 'процедура ввода вектора Private Sub InputVector(ByRef x() As Single, Optional _ ByVal ArrayName As String = "элемент") Dim i As Integer For i = 1 To x.GetUpperBound(0) x(i) = InputBox(ArrayName & "(" & 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

Задача 1

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

1.Public Class Form1

Private Sub btnПуск_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnПуск.Click

Dim n, i, za, zb As Integer

Dim a() As Single, b() As Single

txtЖурнал.Clear()

n = InputBox _

("Задайте количество ячеек векторов а и б")

txtЖурнал.AppendText("n = " & n & vbCrLf)

ReDim a(n), b(n)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]