МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Оси и плоскости тела человека Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

Подпрограммы для массива А находит сумму квадратов его значений и для массива В сумму кубов его значений.





БИЛЕТ 1

Public Class Form1

 

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

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

Dim n, h As Integer

Dim ret1, ret2 As Integer

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

 

h = InputBox("Введите значение h")

ReDim a(n), b(n)

 

InputVector(a, "a")

InputVector(b, "b")

 

Myau(a, ret1, h)

Myau(b, ret2, h)

 

If ret1 > ret2 Then MsgBox("Индекс больше в массиве A")

If ret1 < ret2 Then MsgBox("Индекс больше в массиве B")

If ret1 = ret2 Then MsgBox("Индексы равны")

End Sub

 

Private Sub Myau(ByRef y() As Single, ByRef ind As Single, ByRef r As Single)

 

Dim i As Integer

Dim min, razn As Integer

min = 99999

For i = 1 To y.GetUpperBound(0)

 

razn = Math.Abs(r - y(i))

If razn < min Then

min = razn

ind = i

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 Label1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Label1.Click

End

End Sub

 

End Class

 

БИЛЕТ 3

Public Class Form1

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

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

Dim myau1, myau2, n, m, k As Integer

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

txtЖурнал.Clear()

n = InputBox(" Введите кол-во столбцов матриц ") txtЖурнал.AppendText(" n = " & n & vbCrLf)

m = InputBox(" Введите кол-во строк матриц ")

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

ReDim a(n, m), b(n, m), c(n, m)

InputMatrix(a, "a")

InputMatrix(b, "b")

InputMatrix(c, "c")

myau1 = Myau(a, b, n, m, k)

myau2 = Myau(b, c, n, m, k)

If myau1 = True And myau2 = True Then txtЖурнал.AppendText("Объекты эквивалентны " & vbCrLf)

ElseIf myau1 = False Or myau2 = False Then

txtЖурнал.AppendText("Объекты не эквивалентны " & vbCrLf)

End If

End Sub

Private Function Myau(ByRef x(,) As Single, ByRef y(,) As Single, ByVal n As Integer, ByVal m As Integer, ByVal k As Integer)

Dim i, j As Integer

For i = 1 To n

For j = 1 To m

If x(i, j) = y(i, j) Then

k = True

ElseIf x(i, j) <> y(i, j) Then

k = False

End If

Next

Next

Myau = k

Return Myau

End Function

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

End Class

БИЛЕТ 5

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

Imports System.Math
Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnПуск.Click
1: Dim ma, mb, na, nb, t, r As Integer
Dim a(,) As Single, b(,) As Single
Dim Fa, Fb As Single
5: txtЖурнал.Clear()
ma = InputBox("Задайте количество строк матрицы а")
na = InputBox("Задайте количество столбцов матрицы а")
mb = InputBox("Задайте количество строк матрицы b")
nb = InputBox("Задайте количество столбцов матрицы b")
txtЖурнал.AppendText("Количество строк в матрице А = " & ma & vbCrLf)
txtЖурнал.AppendText("Количество строк в матрице Б = " & mb & vbCrLf)
txtЖурнал.AppendText("Количество столбцов в матрице А = " & na & vbCrLf)
txtЖурнал.AppendText("Количество cтолбцов в матрице Б = " & nb & vbCrLf)
t = InputBox("введите заданную велечину Т")
r = InputBox("Введите заданную величину R")
txtЖурнал.AppendText("Заданная величина Т = " & t & vbCrLf)
txtЖурнал.AppendText("Заданная величина R = " & r & vbCrLf)
ReDim a(ma, na)
15: ReDim b(mb, nb)
InputMatrix(a, "a")
txtЖурнал.AppendText("Матрица a" & vbCrLf)
OutputMatrix(a, txtЖурнал)
InputMatrix(b, "b")
20: txtЖурнал.AppendText("Матрица b" & vbCrLf)
OutputMatrix(b, txtЖурнал)
Fa = pog(a, ma, na, t, r)
Fb = pog(b, mb, na, t, r)
If Fa > Fb Then
txtЖурнал.AppendText("Больше элементов в матрице А = " & Fa & vbCrLf)
ElseIf Fb > Fa Then
txtЖурнал.AppendText("Больше элементов в матрице В = " & Fb & vbCrLf)
ElseIf Fb = Fa Then
txtЖурнал.AppendText("Количество таких элементов одинакого = " & Fb & vbCrLf)
End If
End Sub
Private Function pog(ByRef a(,) As Single, ByVal mm As Integer, ByVal nn As Integer, ByVal t As Integer, ByVal r As Integer) As Integer
Dim k As Single
Dim i, j As Integer
For j = 1 To nn
For i = 1 To mm
If a(i, j) > t And a(i, j) < r Then
k = k + 1
End If
Next
Next
pog = k
Return pog
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

БИЛЕТ 6

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

Imports System.Math
Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BtnПуск.Click
1: Dim m, zva, zvb, sra, srb, n As Integer
Dim a(,), b(,) As Single
txtЖурнал.Clear()
m = InputBox(" Введите размерность массива а = ?")
txtЖурнал.AppendText(" а = " & m & vbCrLf)
n = InputBox(" Введите размерность массива b = ?")
txtЖурнал.AppendText(" b = " & n & vbCrLf)
ReDim a(m, m), b(n, n)
InputMatrix(a, "a")
txtЖурнал.AppendText("Вектор a" & vbCrLf)
OutputMatrix(a, txtЖурнал)
InputMatrix(b, "b")
10: txtЖурнал.AppendText("Вектор b" & vbCrLf)
OutputMatrix(b, txtЖурнал)
sr(a, m, sra)
sr(b, n, srb)
zv(a, m, sra, zva)
zv(b, n, srb, zvb)
txtЖурнал.AppendText("сумма А = " & zva & vbCrLf)
txtЖурнал.AppendText("сумма d = " & zvb & vbCrLf)
If zva > zvb Then
txtЖурнал.AppendText("сумма индексов наимение отличающаяся от матрицы А = " & zva & vbCrLf)
ElseIf zvb > zva Then
txtЖурнал.AppendText("сумма индексов наимение отличающаяся от матрицы В = " & zvb & vbCrLf)
ElseIf zva = zvb Then
txtЖурнал.AppendText("сумма индексов одинакова = " & zva & 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 zv(ByRef M(,) As Single, ByVal mm As Integer, ByRef tt As Integer, ByRef pp As Integer)
Dim k, N, F As Integer
Dim i, j As Integer
k = Abs(M(1, 1) - tt)
N = 1
F = 1
For j = 1 To mm
For i = 1 To mm
If Abs(M(i, j) - tt) <= k Then
k = Abs(M(i, j) - tt)
F = i
N = j
End If
Next
Next
pp = N + F
End Sub
Private Sub sr(ByRef M(,) As Single, ByVal mm As Integer, ByRef srr As Single)
Dim k, N As Integer
Dim i, j As Integer
For j = 1 To mm
For i = 1 To mm
N = M(i, j) + N
k = k + 1
Next
Next
srr = N / k
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
End Class

БИЛЕТ 7

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

Imports System.Math
Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnПуск.Click
Dim m, kolab, kolac, kolcb As Integer
Dim a(), b(), c() As Single
txtЖурнал.Clear()
m = InputBox(" Введите размерность трех векторов = ?")

TxtЖурнал.AppendText("Pазмерность трех векторов = " & m & vbCrLf)
ReDim a(m), b(m), c(m)
InputVector(a, "a")
txtЖурнал.AppendText("Вектор a" & vbCrLf)
OutputVector(a, txtЖурнал)
InputVector(b, "b")
txtЖурнал.AppendText("Вектор b" & vbCrLf)
OutputVector(b, TxtЖурнал)
InputVector(c, "c")
TxtЖурнал.AppendText("Вектор c" & vbCrLf)
OutputVector(c, TxtЖурнал)
Kol(a, b, m, kolab)
Kol(a, c, m, kolac)
Kol(c, b, m, kolcb)
If kolab > kolac And kolab > kolcb Then
TxtЖурнал.AppendText("В Векторах А и В больше эквивалентных = " & kolab & vbCrLf)
ElseIf kolac > kolab And kolac > kolcb Then
TxtЖурнал.AppendText("В Векторах А и С больше эквивалентных = " & kolac & vbCrLf)
ElseIf kolcb > kolac And kolcb > kolab Then
TxtЖурнал.AppendText("В Векторах C и В больше эквивалентных = " & kolcb & 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 Kol(ByRef A() As Single, ByRef l() As Single, ByVal m As Integer, ByRef k As Integer)
Dim i As Integer
For i = 1 To m
If A(i) = l(i) Then
k = k + 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(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
End Class

БИЛЕТ 8

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

Public Class Form1
' В новом проекте два раза щелкни по пустой форме
' Появится окно кода
' Просто удали оттуда все и вставь этот код

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a() As Single, b() As Single
Dim n, m As Integer
Dim ret1, ret2 As Boolean
n = InputBox(“Введите N”)
ReDim a(n), b(n) «переопределим массив на N элементов»
InputVector(a, "a") «вводим»
InputVector(b, "b") «два массива»
ret1 = DoSomething(a, 3) «работаем с массивами»
ret2 = DoSomething(b, 3) «и возвращаем»
If ret1 > ret2 Then MsgBox("В а больше, чем b")
If ret1 < ret2 Then MsgBox("В b больше, чем в а")
If ret1 = ret2 Then MsgBox("В а и b одинаково")
End
End Sub
Function DoSomething(ByRef y() As Single, ByRef num As Single)
DoSomething = 0
Dim n = 0
For i = 1 To y.GetUpperBound(0) - 1
If y(i) < y(num) Then DoSomething = DoSomething + 1
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
End Class

 

БИЛЕТ 10

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

Imports System.Math
Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BtnПуск.Click
1: Dim m, zva, zvb, n, H As Integer
Dim a(), b() As Single
txtЖурнал.Clear()
m = InputBox(" Введите размерность массива а = ?")
txtЖурнал.AppendText(" а = " & m & vbCrLf)
n = InputBox(" Введите размерность массива b = ?")
txtЖурнал.AppendText(" b = " & n & vbCrLf)
H = InputBox(" Введите заданую величину H = ?")
txtЖурнал.AppendText(" H = " & H & vbCrLf)
ReDim a(m), b(n)
InputVector(a, "a")
txtЖурнал.AppendText("Вектор a" & vbCrLf)
OutputVector(a, txtЖурнал)
InputVector(b, "b")
10: txtЖурнал.AppendText("Вектор b" & vbCrLf)
OutputVector(b, txtЖурнал)
zva = zv(a, m, H)
zvb = zv(b, n, H)
If zva > zvb Then
txtЖурнал.AppendText("наибольший индекс вектора А = " & zva & vbCrLf)
ElseIf zva < zvb Then
txtЖурнал.AppendText("наибольший индекс вектора B = " & zvb & vbCrLf)
ElseIf zva = zvb Then
txtЖурнал.AppendText(" индексы равны = " & zva & 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 Function zv(ByRef M() As Single, ByVal mm As Integer, ByVal tt As Integer) As Integer
Dim k, p As Integer
k = Abs(tt - M(1))
p = 1
For i = 1 To mm
If Abs(tt - M(i)) < k Then
k = Abs(M(i) - tt)
p = i
End If
Next
zv = p
Return zv
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(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
End Class

БИЛЕТ 11

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

Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnПуск.Click
Dim ma, mb, na, nb, t, r, g, u, poga, pogb As Integer
Dim a(,) As Single, b(,) As Single
5: txtЖурнал.Clear()
ma = InputBox("Задайте количество строк матрицы а")
na = InputBox("Задайте количество столбцов матрицы а")
mb = InputBox("Задайте количество строк матрицы b")
nb = InputBox("Задайте количество столбцов матрицы b")
txtЖурнал.AppendText("Количество строк в матрице А = " & ma & vbCrLf)
txtЖурнал.AppendText("Количество строк в матрице Б = " & mb & vbCrLf)
txtЖурнал.AppendText("Количество столбцов в матрице А = " & na & vbCrLf)
txtЖурнал.AppendText("Количество cтолбцов в матрице Б = " & nb & vbCrLf)
t = InputBox("С какой строчки масиива А считать изменения")
r = InputBox("По какую строчку масиива А считать изменения")
g = InputBox("С какой строчки масиива В считать изменения")
u = InputBox("По какую строчку масиива В считать изменения")
ReDim a(ma, na)
15: ReDim b(mb, nb)
InputMatrix(a, "a")
txtЖурнал.AppendText("Матрица a" & vbCrLf)
OutputMatrix(a, txtЖурнал)
InputMatrix(b, "b")
20: txtЖурнал.AppendText("Матрица b" & vbCrLf)
OutputMatrix(b, txtЖурнал)
pog(a, t, r, na, poga)
pog(b, g, u, nb, pogb)
If poga > pogb Then
txtЖурнал.AppendText("количество замен в А = " & poga & vbCrLf)
ElseIf pogb > poga Then
txtЖурнал.AppendText("количество замен в В= " & pogb & vbCrLf)
ElseIf pogb = poga Then
txtЖурнал.AppendText("количество замен равно= " & pogb & vbCrLf)
End If
txtЖурнал.AppendText("измененная Матрица a" & vbCrLf)
OutputMatrix(a, txtЖурнал)
txtЖурнал.AppendText("измененная Матрица b" & vbCrLf)
OutputMatrix(b, txtЖурнал)
End Sub
Private Sub pog(ByRef a(,) As Single, ByVal mm As Integer, ByVal nn As Integer, ByVal rr As Integer, ByRef yy As Integer)
Dim k As Single
Dim i, j As Integer
For i = 1 To nn
For j = mm To nn
If a(i, j) < 0 Then
a(i, j) = 0
k = k + 1
End If
Next
yy = k
Next
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
End Class

БИЛЕТ 12

Public Class Form1
' В новом проекте два раза щелкни по пустой форме
' Появится окно кода
' Просто удали оттуда все и вставь этот код

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a() As Single, b() As Single
Dim n As Integer
Dim h1, h2 As Integer
Dim ret1, ret2 As Integer
n = InputBox("Vvedite N")
h1 = InputBox("Vvedite H1")
h2 = InputBox("Vvedite H2")
ReDim a(n), b(n) 'pereopredelim

massivi na N elementov
InputVector(a, "a") ' vvodim
InputVector(b, "b") ' dva massiva
ret1 = DoSomething(a, h1, h2) ' rabotaem s massivami
ret2 = DoSomething(b, h1, h2) ' i vozvrashayem
If ret1 < ret2 Then MsgBox("B")
If ret1 > ret2 Then MsgBox("A")
If ret1 = ret2 Then MsgBox("Odinakovo")
End Sub
' delaem chto-to s massivom
Function DoSomething (ByRef y() As Single, ByVal m1 As Integer, ByVal m2 As Integer) as Single
DoSomething = 0
For i = 1 To y.GetUpperBound(0)
If y(i) > m1 And y(i) < m2 Then DoSomething = DoSomething + 1
Next
End Function
' procedura dlya vvoda massiva
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
End Class

БИЛЕТ 13

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

Public Class Form1
' В новом проекте два раза щелкни по пустой форме
' Появится окно кода
' Просто удали оттуда все и вставь этот код

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a(,) As Single, b(,) As Single
Dim n, m As Integer
Dim ret1, ret2 As Boolean
n = InputBox("Vvedite N")
m = InputBox("Vvedite M")

ReDim a(n, m), b(n, m) 'pereopredelim massivi na N elementov

InputVector(a, "a") ' vvodim
InputVector(b, "b") ' tri massiva

ret1 = DoSomething(a, 2)
ret2 = DoSomething(b, 1)
If ret1 > ret2 Then MsgBox("Bolshe v A")
If ret1 < ret2 Then MsgBox("Bolshe v B")
If ret1 = ret2 Then MsgBox("Ravno")

End Sub

' delaem chto-to s massivom
Function DoSomething(ByRef y(,) As Single, ByRef st As Single) As Integer
DoSomething = 0
For i = 2 To y.GetUpperBound(0) - 1

If y(i, st) < 0 And y(i, st) < (y(i - 1, st) + y(i + 1, st)) \ 2 Then DoSomething = DoSomething + 1

Next

End Function

' procedura dlya vvoda massiva
Private Sub InputVector(ByRef x(,) As Single, Optional ByVal ArrayName As String = "элемент")
Dim i 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

End Class

БИЛЕТ 14

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

Public Class Form1
' В новом проекте два раза щелкни по пустой форме
' Появится окно кода
' Просто удали оттуда все и вставь этот код

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a() As Single, b() As Single
Dim n As Integer
Dim st As Integer
Dim ret1, ret2 As Boolean
n = InputBox("Vvedite N")

ReDim a(n), b(n) 'pereopredelim massivi na N elementov

InputVector(a, "a") ' vvodim
InputVector(b, "b") ' dva massiva

ret1 = DoSomething(a, st) ' rabotaem s massivami
ret2 = DoSomething(b, st) ' i vozvrashayem

If ret1 And ret2 Then MsgBox("2")
If ret1 And Not ret2 Then MsgBox("1")
If ret2 And Not ret1 Then MsgBox("1")
If Not ret1 And Not ret2 Then MsgBox("0")
End
End Sub

' delaem chto-to s massivom
Private Function DoSomething(ByRef y() As Single, ByVal st As Single) As Boolean

DoSomething = True
For i = 2 To y.GetUpperBound(0)

If y(i) >= y(i - 1) Or y(i) - y(i - 1) <> st Then DoSomething = False

Next
End Function

' procedura dlya vvoda massiva
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
End Class

 

 

БИЛЕТ 15

Public Class Form1

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

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

Dim n, m, max1, max2 As Integer

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

txtЖурнал.Clear()

n = InputBox(" Введите размерность матрицы А ")

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

m = InputBox(" Введите размерность матрицы В ")

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

ReDim a(n, n), b(m, m)

InputMatrix(a, "a")

InputMatrix(b, "b")

Myau(a, n, max1)

Myau(b, m, max2)

If max1 > max2 Then txtЖурнал.AppendText("А больше " & vbCrLf)

If max1 < max2 Then txtЖурнал.AppendText("В больше " & vbCrLf)

If max1 = max2 Then txtЖурнал.AppendText("Одинаково " & vbCrLf)

End Sub

Private Sub Myau(ByVal x(,) As Single, ByVal n As Integer, ByRef k As Integer)

Dim i, j, imax, jmax As Integer

k = x(i, j)

imax = 1

jmax = 1

For i = 1 To n

For j = 1 To n

If x(i, j) > k Then

k = x(i, j)

imax = i

jmax = j

End If

Next

Next

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

End Class

БИЛЕТ 16

Public Class Form1

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

Dim zva, zvb, zvc, h1, h2, n As Integer

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

txtЖурнал.Clear()

n = InputBox(" Введите размерность матриц ")

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

h1 = InputBox(" Введите нижнюю границу h1 ")

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

h2 = InputBox(" Введите верхнюю границу h2 ")

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

ReDim a(n, n), b(n, n), c(n, n)

InputMatrix(a, "a")

InputMatrix(b, "b")

InputMatrix(c, "c")

zva = zv(a, h1, h2, n)

zvb = zv(b, h1, h2, n)

zvc = zv(c, h1, h2, n) txtЖурнал.AppendText("количество удовлетворяющих элементов матрицы А = " & zva & vbCrLf) txtЖурнал.AppendText("количество удовлетворяющих элементов матрицы B = " & zvb & vbCrLf) txtЖурнал.AppendText("количество удовлетворяющих элементов матрицы C = " & zvc & vbCrLf)

End Sub

Private Function zv(ByRef x(,) As Single, ByVal h1 As Integer, ByVal h2 As Integer, ByVal n As Integer)

Dim k, i, j As Integer

For i = 1 To n

For j = 1 To n

If x(i, j) > h1 And x(i, j) <> h2 Then k = k + 1

End If

Next

Next

zv = k

Return zv

End Function

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 End Class

БИЛЕТ 18

Public Class Form1
' В новом проекте два раза щелкни по пустой форме
' Появится окно кода
' Просто удали оттуда все и вставь этот код

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a() As Single, b() As Single
Dim n As Integer
Dim h1, h2 As Integer
Dim ret1, ret2 As Integer
n = InputBox("Vvedite N")
h1 = InputBox("Vvedite H1")
h2 = InputBox("Vvedite H2")
ReDim a(n), b(n) 'pereopredelim massivi na N elementov
InputVector(a, "a") ' vvodim
InputVector(b, "b") ' dva massiva
DoSomething(a, ret1, h1, h2) ' rabotaem s massivami
DoSomething(b, ret2, h1, h2) ' i vozvrashayem
If ret1 < ret2 Then MsgBox("B")
If ret1 > ret2 Then MsgBox("A")
If ret1 = ret2 Then MsgBox("Chislo iskomih odinakovo")
End
End Sub
' delaem chto-to s massivom
Private Sub DoSomething(ByRef y() As Single, ByRef sum As Integer, ByVal m1 As Integer, ByVal m2 As Integer)
sum = 0
For i = 1 To y.GetUpperBound(0)
If y(i) > m1 And y(i) < m2 Then sum = sum + 1
Next
End Sub
' procedura dlya vvoda massiva
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
End Class

ДОП. ЗАДАЧА

Подпрограммы для массива А находит сумму квадратов его значений и для массива В сумму кубов его значений.

Sub Summ(ByRef y() As Single, ByRef pow As Single, ByRef ret As Single)

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

ret = ret + Math.Pow(y(i), pow)

 

Next

 

End Sub

это сама подпрограмма

вызов

Summ(a,2)

Summ(b,3)

 

БИЛЕТ 19

Public Class Form1

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

Dim i, j, n, m, k1, k2, l As Integer

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

txtЖурнал.Clear()

n = InputBox(" Введите размерность матрицы ") txtЖурнал.AppendText(" n = " & n & vbCrLf)

ReDim a(n, n), b(n, n)

InputMatrix(a, "a")

InputMatrix(b, "b")

m = InputBox(" Введите номер строки ")

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

Myau(a, n, m, k1)

Myau(b, n, m, k2)

If k1 = True And k2 = True Then txtЖурнал.AppendText("Упорядочен " & vbCrLf)

ElseIf k1 = False Or k2 = False Then

txtЖурнал.AppendText("2 строка матрицы А " & vbCrLf)

i = 2

For j = 1 To n txtЖурнал.AppendText( a(i, j) & vbTab)

Next

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

txtЖурнал.AppendText("1 строка матрицы B " & vbCrLf )

l = 1

For j = 1 To n

txtЖурнал.AppendText(b(l, j) & vbTab)

Next

End If

End Sub

Private Function Myau(ByRef x(,) As Single, ByVal n As Integer, ByVal m As Integer, ByRef k As Integer)

Dim i, j As Integer

i = m

For j = 1 To n - 1

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

k = True

Else : k = False

End If

Next

End Function

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 End Class

БИЛЕТ 22

Public Class Form1
' В новом проекте два раза щелкни по пустой форме
' Появится окно кода
' Просто удали оттуда все и вставь этот код

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a(,) As Single, b(,) As Single
Dim n, m As Integer
Dim ret1, ret2 As Integer
n = InputBox("Vvedite N")
m = InputBox("Vvedite M")
ReDim a(n, m), b(n, m) 'pereopredelim massivi na N elementov InputVector(a, "a") ' vvodim
InputVector(b, "b") ' dva massiva

ret1 = DoSomething(a) ' rabotaem s massivami
ret2 = DoSomething(b) ' i vozvrashayem

If ret1 > 0 And ret2 > 0 Then MsgBox("Pokazateli v norme")
If ret1 <= 0 And ret2 > 0 Then MsgBox("Obratite vnimanie na A")
If ret1 > 0 And ret2 <= 0 Then MsgBox("Obratite vnimanie na B")
If ret1 <= 0 And ret2 <= 0 Then MsgBox("Obratite vnimanie na A i B")

End Sub

' delaem chto-to s massivom
Function DoSomething(ByRef y(,) As Single) as Single

Dim i As Integer
Dim pos, neg As Integer
pos = 0 neg = 0
For i = 1 To y.GetUpperBound(0)
For j = 1 To y.GetUpperBound(1)
If y(i, j) > 0 Then pos = pos + 1
If y(i, j) <= 0 Then neg = neg + 1
Next
Next
DoSomething = pos - neg
End Sub

' procedura dlya vvoda massiva
Private Sub InputVector(ByRef x(,) As Single, Optional ByVal ArrayName As String = "элемент")
Dim i As Integer
For i = 1 To x.GetUpperBound(0)
For j = 1 To x.GetUpperBound(0)
x(i, j) = InputBox(ArrayName & "(" & i & "," & j & ") = ?")
Next
Next
End Sub
End Class

БИЛЕТ 24

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

Imports System.Math
Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BtnПуск.Click
1: Dim m, zva, zvb, n As Integer
Dim a(), b() As Single
txtЖурнал.Clear()
m = InputBox(" Введите размерность массива а = ?")
txtЖурнал.AppendText(" а = " & m & vbCrLf)
n = InputBox(" Введите размерность массива b = ?")
txtЖурнал.AppendText(" b = " & n & vbCrLf)
ReDim a(m), b(n)
InputVector(a, "a")
txtЖурнал.AppendText("Вектор a" & vbCrLf)
OutputVector(a, txtЖурнал)
InputVector(b, "b")
10: txtЖурнал.AppendText("Вектор b" & vbCrLf)
OutputVector(b, txtЖурнал)
zva = zv(a, m)
zvb = zv(b, n)
If a(zva) > b(zvb) Then
txtЖурнал.AppendText("наибольшое значение среди минимальных элементов в матрицы А = " & a(zva) & vbCrLf)
ElseIf a(zva) < b(zvb) Then
txtЖурнал.AppendText("наибольшое значение среди минимальных элементов в матрицы B = " & b(zvb) & vbCrLf)
ElseIf a(zva) = b(zvb) Then
txtЖурнал.AppendText(" Минимальные элементы массива А и В равны = " & a(zva) & 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 Function zv(ByRef M() As Single, ByVal mm As Integer) As Integer
Dim k, p As Integer
k = M(1)
p = 1
For i = 1 To mm
If Abs(M(i)) < k Then
k = Abs(M(i))
p = i
End If
Next
zv = p
Return zv
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(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
End Class

БИЛЕТ 25

Public Class Form1

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

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

Dim n, m, k1, k2, k3 As Integer

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

txtЖурнал.Clear()

n = InputBox(" Введите размерность векторов ")

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

ReDim a(n), b(n), c(n)

InputVector(a, "a")

InputVector(b, "b")

InputVector(c, "c")

m = InputBox(" Введите число кратности ")

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

Myau(a, k1, m, n)

Myau(b, k2, m, n)

Myau(c, k3, m, n)

txtЖурнал.AppendText(" количество кратных векторов = " & (-1 * (k1 + k2 + k3)) & vbCrLf)

End Sub

Private Sub Myau(ByRef x() As Single, ByRef k As Boolean, ByRef m As Single, ByVal n As Integer)

k = True

For i = 1 To n

If x(i) \ m <> x(i) / m Then k = False

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(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 Label1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Label1.Click

End

End Sub

End Class

БИЛЕТ 26

Imports System.Math
Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnПуск.Click
1: Dim ma, mb As Integer
Dim a(,), c(,) As Single, b(,) As Single
Dim pogab, pogac, pogcb As Single
5: txtЖурнал.Clear()
ma = InputBox("Задайте количество строк и столбцов матрицы а")
txtЖурнал.AppendText("Количество строк и столбцов = " & ma & vbCrLf)
ReDim a(ma, ma)
ReDim b(ma, ma)
ReDim c(ma, ma)
InputMatrix(a, "a")
txtЖурнал.AppendText("Матрица a" & vbCrLf)
OutputMatrix(a, txtЖурнал)
InputMatrix(b, "b")
20: txtЖурнал.AppendText("Матрица b" & vbCrLf)
OutputMatrix(b, txtЖурнал)
InputMatrix(c, "c")
txtЖурнал.AppendText("Матрица c" & vbCrLf)
OutputMatrix(c, txtЖурнал)
pogab = pog(a, b, ma)
pogac = pog(a, c, mb)
pogcb = pog(C, b, ma)
If pogab = pogcb = pogac Then
txtЖурнал.AppendText(" матрицы эквивалентны")
Else
txtЖурнал.AppendText(" Объекты не эквивалентны ")
End If
End Sub
Private Function pog(ByRef a(,) As Single, ByRef l(,) As Single, ByVal mm As Integer) As Integer
Dim k As Single
Dim i As Integer
For j = 1 To mm
For i = 1 To mm
If a(i, j) = l(i, j) Then
k = k + 1
End If
Next
Next
pog = k
Return pog
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

БИЛЕТ 27

Составьте подпрограмму, определяющую среднее арифметическое значение элементов(С.А.З.) одномерного массива. Если С.А.З. элементов массива А отличается от С.А.З. элементов массива В менее чем на заданную величину Е, то выведите сообщение «А и В равнозначны». В противном случае выведите С.А.З., полученное для каждого массива.

Public Class Form1
' В новом проекте два раза щелкни по пустой форме
' Появится окно кода
' Просто удали оттуда все и вставь этот код

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a() As Single, b() As Single
Dim n As Integer
Dim r As Integer 'mi ne mozhem nazvat' peremennuju E

Dim ret1, ret2 As Boolean
n = InputBox("Vvedite N")

r = InputBox("Vvedite E")
ReDim a(n), b(n) 'pereopredelim massivi na N elementov

InputVector(a, "a") ' vvodim
InputVector(b, "b") ' dva massiva

DoSomething(a, ret1) ' rabotaem s massivami
DoSomething(b, ret2) ' i vozvrashayem
If Math.Abs(ret1 - ret2) > r Then MsgBox(ret1) : MsgBox(ret2)
If Math.Abs(ret1 - ret2) <= r Then MsgBox("Massivi ravnoznachni")
End
End Sub
Private Sub DoSomething(ByRef y() As Single, ByRef ind As Single) ' podprogramma dlya raboti s massivom
ind = 0
Dim n = 0
For i = 1 To y.GetUpperBound(0)
ind = ind + y(i)
n = n + 1
Next
ind = ind \ n
End Sub
' podprogramma dlya vvoda massiva

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
End Class

 

БИЛЕТ 28

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

Public Class Form1

' В новом проекте два раза щелкни по пустой форме

' Появится окно кода

' Просто удали оттуда все и вставь этот код

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

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

Dim n, m, k, L As Integer

Dim ret1, ret2, ret3 As Integer

n = InputBox("Vvedite chislo elementov N")

m = InputBox("Vvedite chislo elementov M")

k = InputBox("Vvedite znacnenie K")

L = InputBox("Vvedite nomer stroki")

ReDim a(n, m), b(n, m), c(n, m) 'pereopredelim massivi na N elementov

 

InputVector(a, "a") ' vvodim

InputVector(b, "b") ' dva massiva

InputVector(c, "c")

 

ret1 = DoSomething(a, k, L) ' rabotaem s massivami

ret2 = DoSomething(b, k, L) ' i vozvrashayem

ret3 = DoSomething(c, k, L) ' i vozvrashayem

 

MsgBox(-1 * (ret1 + ret2 + ret3))

End

End Sub

 

Function DoSomething(ByRef x(,) As Single, ByRef r As Single, ByVal L As Integer)

DoSomething = True

For i = 1 To x.GetUpperBound(0)

 

If x(i, L) > r Then DoSomething = False

Next

End Function

' procedura dlya vvoda massiva

Private Sub InputVector(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

End Class

БИЛЕТ 29

Imports System.Math
Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnПуск.Click
1: Dim m, kola, kolb, n As Integer
Dim a(), b() As Single
txtЖурнал.Clear()
m = InputBox(" Введите размерность вектора а = ?")
n = InputBox(" Введите размерность вектора b = ?")
5: txtЖурнал.AppendText(" Pазмерность вектора а = " & m & vbCrLf)
txtЖурнал.AppendText(" Размерность вектора b = " & n & vbCrLf)
ReDim a(m), b(n)
InputVector(a, "a")
txtЖурнал.AppendText("Вектор a" & vbCrLf)
OutputVector(a, txtЖурнал)
InputVector(b, "b")
txtЖурнал.AppendText("Вектор b" & vbCrLf)
OutputVector(b, txtЖурнал)
Kolzamen(a, m, kola)
Kolzamen(b, n, kolb)
If kola > kolb Then
txtЖурнал.AppendText("В векторе А больше положительных элементов" & vbCrLf)
Else
If kola < kolb Then
txtЖурнал.AppendText("В векторе B больше положительных элементов" & vbCrLf)
Else
txtЖурнал.AppendText("Одинаковое количество положительных элементов" & vbCrLf)
End If
End If
txtЖурнал.AppendText("Измененный вектор a" & vbCrLf)
OutputVector(a, txtЖурнал)
txtЖурнал.AppendText("Измененный вектор b" & vbCrLf)
OutputVector(b, txtЖурнал)
txtЖурнал.AppendText("Количество замен в векторе а = " & kola & vbCrLf)
txtЖурнал.AppendText("Kоличество замен в векторе b = " & kolb & vbCrLf)
End Sub
Private Sub Label1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Label1.Click
End
End Sub
Private Sub Kolzamen(ByRef A() As Single, ByVal m As Integer, ByRef k As Integer)
Dim i As Integer
k = 0
For i = 1 To m
If A(i) > 0 Then
k = k + 1
A(i) = A(i) / i
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(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
End Class

БИЛЕТ 30

Сост. подпр.,проверяющую, что кол-во положит. элементов одномерного массива больше кол-ва его отриц. элементов. Если положит. элементов в каждом из двух зад. Массивах А и В больше чем отриц., выведите сообщение «Показатели в норме», иначе выведите сообщение «Обратите внимание» и выведите имена тех массивов, для которых не выполнено условие, что кол-во положит. Элементов больше кол-ва его отриц. Элементов.

Imports System.Math
Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnПуск.Click
1: Dim m, kolap, kolao, kolbp, kolbo, n As Integer
Dim a(), b() As Single
txtЖурнал.Clear()
m = InputBox(" Введите размерность вектора а = ?")
n = InputBox(" Введите размерность вектора b = ?")
5: txtЖурнал.AppendText(" Pазмерность вектора а = " & m & vbCrLf)
txtЖурнал.AppendText(" Размерность вектора b = " & n & vbCrLf)
ReDim a(m), b(n)
InputVector(a, "a")
txtЖурнал.AppendText("Вектор a" & vbCrLf)
OutputVector(a, txtЖурнал)
InputVector(b, "b")
txtЖурнал.AppendText("Вектор b" & vbCrLf)
OutputVector(b, txtЖурнал)

Kolzamen(a, m, kolap, kolao)
Kolzamen(b, n, kolbp, kolbo)
If kolap > kolao And kolbp > kolbo Then
TxtЖурнал.AppendText("Показатель в норме" & vbCrLf)
ElseIf kolap < kolao And kolbp > kolbo Then
TxtЖурнал.AppendText("Обратите внимание массив а " & vbCrLf)
ElseIf kolbp < kolbo And kolap > kolao Then
TxtЖурнал.AppendText("Обратите внимание массив В " & vbCrLf)
ElseIf kolap < kolao And kolbp < kolbo 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 Kolzamen(ByRef A() As Single, ByVal m As Integer, ByRef k As Integer, ByRef p As Integer)
Dim i As Integer
p = 0
k = 0
For i = 1 To m
If A(i) > 0 Then
k = k + 1
ElseIf A(i) < 0 Then
p = p + 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(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
End Class

НЕИЗВЕСТНЫЙ

Imports System.Math
Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnПуск.Click
1: Dim ma, mb As Integer
Dim a(,), c(,) As Single, b(,) As Single
Dim pogab, pogac, pogcb As Single
5: txtЖурнал.Clear()
ma = InputBox("Задайте количество строк и столбцов матрицы а")
txtЖурнал.AppendText("Количество строк и столбцов = " & ma & vbCrLf)
ReDim a(ma, ma)
ReDim b(ma, ma)
ReDim c(ma, ma)
InputMatrix(a, "a")
txtЖурнал.AppendText("Матрица a" & vbCrLf)
OutputMatrix(a, txtЖурнал)
InputMatrix(b, "b")
20: txtЖурнал.AppendText("Матрица b" & vbCrLf)
OutputMatrix(b, txtЖурнал)
InputMatrix(c, "c")
txtЖурнал.AppendText("Матрица c" & vbCrLf)
OutputMatrix(c, txtЖурнал)
pogab = pog(a, b, ma)
pogac = pog(a, c, mb)
pogcb = pog(C, b, ma)
If pogab = pogcb = pogac Then
txtЖурнал.AppendText(" матрицы эквивалентны")
Else
txtЖурнал.AppendText(" Объекты не эквивалентны ")
End If
End Sub
Private Function pog(ByRef a(,) As Single, ByRef l(,) As Single, ByVal mm As Integer) As Integer
Dim k As Single
Dim i As Integer
For j = 1 To mm
For i = 1 To mm
If a(i, j) = l(i, j) Then
k = k + 1
End If
Next
Next
pog = k
Return pog
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

 

Билет 12

1)) Инструкция множественного выбора Select Case.
Еще одной инструкцией VB, предназначенной для программирования разветвлений,
является Select Case (выбрать в случае), которая позволяет выполнить одну из
нескольких групп операторов в зависимости от значения некоторого выражения.
Инструкция Select Case имеет следующий синтаксис:
Select Case Проверочное_выражение
[Case Значение1
[Инструкции1]]
[Case Значение2
[Инструкции2]]
[Case Else
[ИнструкцииЗ]]
End Select
Пример:
Select Case V
Case 1
MsgBox(\"Равно 1\")
Case 2, 3
MsgBox(\"Равно 2 или 3\") Case 4 То 6
MsgBox(\"Больше или равно 4 и меньше или равно 6\")
Case Is >= 9
MsgBox(\"Больше или равно 9\")
Case Else
MsgBox(\"Ни одно из предшествующих\")
End Select
В качестве значения для блока Case можно указывать не только одно значение (4), но и
несколько, разделенных запятой (2, 3). Можно определять также области сравнения
(4 То 6) или воспользоваться относительным сравнением (Is >= 9). Вместо
непосредственного значения проверочного выражения можно использовать ключевое
слово Is.
Блок Case Else выполняется, если ни одно из предыдущих условий не является
истинным.
Если условию Select Case соответствует несколько блоков Case, то выполняется
первый из них.
2)Public Class Form1

\' В новом проекте два раза щелкни по пустой форме
\' Появится окно кода
\' Просто удали оттуда все и вставь этот код

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a() As Single, b() As Single
Dim n, h As Integer
Dim ret1, ret2 As Integer
n = InputBox(\"Vvedite chislo elementov\")
h = InputBox(\"Vvedite znacnenie H\")
ReDim a(n), b(n) \'pereopredelim massivi na N elementov

InputVector(a, \"a\") \' vvodim
InputVector(b, \"b\") \' dva massiva

DoSomething(a, ret1, h) \' rabotaem s massivami
DoSomething(b, ret2, h) \' i vozvrashayem

If ret1 > ret2 Then MsgBox(\"menshe v massive B\")
If ret1 < ret2 Then MsgBox(\"menshe v massive A\")
If ret1 = ret2 Then MsgBox(\"indeksi ravni\")

End Sub

\' delaem chto-to s massivom
Private Sub DoSomething(ByRef y() As Single, ByRef ind As Single, ByRef r As Single)

Dim i As Integer
Dim max, razn As Integer
max = 0
For i = 1 To y.GetUpperBound(0)
razn = Math.Abs(r - y(i)) \' schitaem raznicu mezhdu H i y(i) po modulyu
If razn > max Then \'esli razniza = novomu Maximumu to perepishem ee
max = razn
ind = i
End If

Next
End Sub

\' procedura dlya vvoda massiva
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

End Class

 

Билет 9

1)Стандартные математические функции.
Математические функции (углы выражаются в радианах):
Функция Visual Basic .NET Описание
Abs(x) Возвращает абсолютное значение заданного числа x
Atan(x) Возвращает значение arctg x типа Double
Cos(x) Возвращает значение cos x типа Double
Exp(x) Возвращает значение типа Double, равное числу е(основание натуральных логарифмов) в заданной степени x
Log(x) Возвращает значение типа Double, равное натуральному
логарифму заданного числа x. Может возвращать и логарифм
числа x по заданному основанию
Round(x) Возвращает значение типа Double, равное ближайшему к
заданному числу x целому значению
Sign(x) Возвращает значение (1, 0, -1)типа Integer, указывающее знак числа
Sin(x) Возвращает значение типа Double, равное sin x
Sqrt(x) Возвращает значение типа Double, равное квадратному
корню числа x
Tan(x) Возвращает значение типа Double, равное tg x
Int(x) Целая часть
Fix(x) Целая часть
Rnd Случайное число
Чтобы воспользоваться этими функциями, не указывая их полное наименование, в
проекте необходимо выполнить импорт пространства имен System.Math, добавив в
начало исходного кода строку Imports System.Math.
Обе функции Int и Fix отбрасывают дробную часть числа и возвращают
значение типа, совпадающего с типом аргумента. Различие между функциями Int и Fix
состоит в том, что для отрицательного значения аргумента число функция Int
возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, а
Fix ближайшее отрицательное целое число, большее либо равное указанному. Например,
функция Int преобразует -8.4 в -9, а функция Fix преобразует -8.4 в -8.
Функция Rnd возвращает значение типа Single, содержащее случайное число,
меньшее 1 и большее или равное нулю. Перед первым вызовом функции Rnd надо использовать инструкцию Randomize без аргумента для инициализации генератора случайных чисел.
Для получения случайных целых чисел в заданном диапазоне используйте следующую формулу:
К оглавлению CInt(Int((ВерхнееЗначение - НижнееЗначение _+ 1) * Rnd() + НижнееЗначение))
2)Public Class Form1
Private Sub btnПуск_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnПуск.Click
Dim an, bn As Integer
Dim a(), b(), h As Single
txtЖурнал.Clear()
an = InputBox(\"Задайте размерность вектора A, an = \")
txtЖурнал.AppendText(\"an = \" & an & vbCrLf)
bn = InputBox(\"Задайте размерность вектора B, bn = \")
txtЖурнал.AppendText(\"bn = \" & bn & vbCrLf)
ReDim a(an), b(bn)
InputVector(a, \"A\")
txtЖурнал.AppendText(\"Вектор A: \" & vbCrLf)
OutputVector(a, txtЖурнал)
InputVector(b, \"B\")
txtЖурнал.AppendText(\"Вектор B: \" & vbCrLf)
OutputVector(b, txtЖурнал)
h = InputBox(\"Введите H\")
txtЖурнал.AppendText(\"H = \" & h & vbCrLf)
If Проверка(a, h) = False Then
txtЖурнал.AppendText(\"Вектор A: \" & vbCrLf)
OutputVector(a, txtЖурнал)
Else
txtЖурнал.AppendText(\"Массив А упорядочен\" & vbCrLf)
End If
If Проверка(b, h) = False Then
txtЖурнал.AppendText(\"Вектор B: \" & vbCrLf)
OutputVector(b, txtЖурнал)
Else
txtЖурнал.AppendText(\"Массив В упорядочен\" & vbCrLf)
End If
End Sub
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End
End Sub
Private Function Проверка(ByVal x() As Single, ByVal h As Single) As Boolean
Dim i, n As Integer
Dim f As Boolean <




©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.