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

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

Public Class Form1

____________________________________________________________________________________

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

Dim n, m As Integer

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

TextBox1.Clear()

n = InputBox("Задайте длину вектора А, n = ")

m = InputBox("Задайте длину вектора B, m = ")

ReDim A(n)

ReDim B(m)

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

InputVector(A, "A")

OutputVector(A, TextBox1)

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

InputVector(B, "B")

OutputVector(B, TextBox1)

IA = Izmenenie(A)

IB = Izmenenie(B)

If IA = IB Then

TextBox1.AppendText("Число измененных элементов в векторе одинаково" & vbCrLf)

TextBox1.AppendText("Измененный вектор A " & vbCrLf)

OutputVector(A, TextBox1)

TextBox1.AppendText("Измененный вектор В " & vbCrLf)

OutputVector(B, TextBox1)

Else

If IA > IB Then

TextBox1.AppendText("Число измененных эл-тов вектора А>В" & vbCrLf)

TextBox1.AppendText("Измененный вектор A " & vbCrLf)

OutputVector(A, TextBox1)

TextBox1.AppendText("Измененный вектор В " & vbCrLf)

OutputVector(B, TextBox1)

Else

TextBox1.AppendText("Число измененных эл-тов вектора B>A" & vbCrLf)

TextBox1.AppendText("Измененный вектор A " & vbCrLf)

OutputVector(A, TextBox1)

TextBox1.AppendText("Измененный вектор В " & vbCrLf)

OutputVector(B, TextBox1)

End If

End If

End Sub

_____________________________________________________________________________________

Function Izmenenie(ByVal x() As Single) As Single

Dim i, N As Integer

N = 0

For i = 1 To x.GetUpperBound(0)

If x(i) > 0 Then

x(i) = x(i) / i

N = N + 1

End If

Next

Izmenenie = N

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

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

Public Class Form1

_____________________________________________________________________________________

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

Dim A(), B() As Single

Dim n, m As Integer

TextBox1.Clear()

n = InputBox("Задайте длину одномерного массива А")

m = InputBox("Задайте длину одномерного массива В")

ReDim A(n)

ReDim B(m)

InputVector(a, "a")

InputVector(b, "b")

If Poryadok(A) = True Then

TextBox1.AppendText("Одномерный массив А упорядочен" & vbCrLf)

Else

OutputVector1(A, TextBox1)

End If

If Poryadok(B) = True Then

TextBox1.AppendText("Одномерный массив B упорядочен" & vbCrLf)

Else

OutputVector2(B, TextBox1)

End If

End Sub

_____________________________________________________________________________________

Private Function Poryadok(ByVal x() As Single) As Boolean

Dim i, K As Integer

For i = 1 To x.GetUpperBound(0) - 1

If x(i) > x(i + 1) Then

K = K + 1

End If

Next

If K = x.GetUpperBound(0) - 1 Then

Poryadok = True

Else

Poryadok = False

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 OutputVector1(ByRef x() As Single, ByVal TextBox1 As TextBox)

Dim i As Integer

TextBox1.AppendText("Одномерный массив A =")

For i = 1 To x.GetUpperBound(0)

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

Next

TextBox1.AppendText(vbCrLf)

End Sub

_____________________________________________________________________________________

Private Sub OutputVector2(ByRef x() As Single, ByVal TextBox1 As TextBox)

Dim i As Integer

TextBox1.AppendText("Одномерный массив B =")

For i = 1 To x.GetUpperBound(0)

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

Next

TextBox1.AppendText(vbCrLf)

End Sub

_____________________________________________________________________________________

End Class

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

Public Class Form1

_____________________________________________________________________________________

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

Dim n, m As Integer

Dim h, A(), B(), PA, PB As Single

TextBox1.Clear()

n = InputBox("Задайте длину вектора А, n = ")

m = InputBox("Задайте длину вектора В, m = ")

h = InputBox("Задайте величину h = ")

ReDim A(n)

ReDim B(m)

TextBox1.AppendText("h = " & h & vbCrLf)

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