Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика Экзамен.docx
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
40.01 Кб
Скачать

Задача 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)

InputVector(a, "a")

txtЖурнал.AppendText("Матрица a" & vbCrLf)

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

InputVector(b, "b")

txtЖурнал.AppendText("Матрица b" & vbCrLf)

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

Изм(a, za)

Изм(b, zb)

If za > zb Then

txtЖурнал.AppendText("В векотре А замен больше" & vbCrLf)

txtЖурнал.AppendText("Матрица a" & vbCrLf)

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

End If

If za < zb Then

txtЖурнал.AppendText("В векторе В замен больше" & vbCrLf)

txtЖурнал.AppendText("Матрица b" & vbCrLf)

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

End If

If za = zb Then

txtЖурнал.AppendText("Одинаковое колличество замен" & 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 Изм(ByRef x() As Single, ByRef числоЗамен As Single)

Dim i As Integer

For i = 1 To x.GetUpperBound(0)

If x(i) > 0 Then

x(i) = x(i) / i

числоЗамен = числоЗамен + 1

End If

Next

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(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

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

2.Public Class Form1

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

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

Dim na, nb As Integer

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

txtЖурнал.Clear()

na= InputBox _

("Задайте количество ячеек векторов а и б") nb=Inputbox("задайте количество элементов")

ReDim a(na), b(nb)

InputVector(a, "a")

InputVector(b, "b")

Упр(a, n)

Упр(b, n)

If Упр(a, na) Then

messagebox("Массив а упорядочен") else outputvector(a,textжурнал)

End If

If Упр(b, nb) Then messagebox("Массив b упорядочен") else outputvector(b,textжурнал)

End If

End Sub

Function Упр(ByVal x() As Single, ByVal nx As Integer) As Boolean Dim f as boolean

Dim i As Integer

f = True

For i = 1 To (nx - 1)

If x(i) <= x(nx(или i ?) + 1) Then

f = False

End If

Next

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

Задача 3

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

3.Public Class Form1

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

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

Dim n, h As Integer

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

txtЖурнал.Clear()

n = InputBox _

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

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

h = InputBox _

("Задайте порог")

txtЖурнал.AppendText("h= " & h & 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Журнал)

Упр(a, h)

Упр(b, h)

If Упр(a, h) Then

txtЖурнал.AppendText("Массив A" & vbCrLf)

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

ElseIf Упр(b, h) Then

txtЖурнал.AppendText("Массив B" & vbCrLf)

OutputVector(b, 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 Function Упр(ByVal x() As Single, ByVal Порог As Single) As Boolean

Dim i As Integer

Упр = True

For i = 1 To x.GetUpperBound(0)

If x(i) <= Порог Then

Упр = False

End If

Next

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

Задача 4

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