Программирование на BASIC / Visual Basic / Контрольная работа по Visual Basic / Решение к.р
..docЗадание 1
В пруду 256 рыб, из них 4 щуки, 64 карпа, остальные рыбы – пескари. Сколько информации содержится в сообщениях:
-
«из пруда выловили щуку»;
-
«из пруда выловили карпа»;
-
«из пруда выловили пескаря»;
-
«из пруда выловили не щуку»
Решение:
N=256; k – кол-во рыб определенного вида; i – кол-во информации.
-
k=4 (щука)
i===6(bit)
2) k=64 (карп)
i===2(bit)
3) k=256-64-4=188 (пескарь)
I=== = (bit)
4) k=256-4=252 (не щуки)
I== = (bit)
Задание 2
Изображение на экране содержит 256х256 точек, каждая точка может иметь один из 256 оттенков. Найти минимальный объем памяти, необходимый для хранения этого изображения.
Решение:
G*B – размер изображения; i – вес одного пикселя
Тогда объем файла
V=G*B*i,
где i= (N – кол-во оттенков точки),
Тогда
V=256*256*8= (bit) =64(kb)
Задание 3
Перевести числа:
1) 1101,11 (2);
2) 121,21 (3);
3) 341,5 (8);
4) A1F,4 (16)
в десятичную систему счисления.
Решение:
1) 1101,11 (2)
1101,11 (2)= 13,75 (10)
2) 112,21 (3)
112,21 (3) = = 15,(4) (10)
3) 341,5 (8)
341,5 (8)=192+32+1+0,+0,625=225,625(10)
4) A1F,4(16)
A1F, 4(16) =256*10+16+15+0,25=2591,25(10)
Задание 4
Составить программу, которая определяет принадлежность точки с координатами (x,y) заштрихованной области.
Решение:
Dim x As Double, y As Double, d As Double
Private Sub Command1_Click()
x = Text1.Text
y = Text2.Text
If (x > 0) And ((x * x + y * y) > 9) And ((x * x + y * y) < 25) Then
MsgBox "Tochka_prinadlejit_dannomu_promejutku"
Else
MsgBox "Tochka_ne_prinadlejit_dannomu_promejutku"
End If
End Sub
Задание 5
Составить блок-схему алгоритма решения следующей задачи и записать его в виде исходного кода на языке Visual Basic: в матрице размера 3х5 найти значение максимального элемента.
Решение:
Алгоритм решения задачи:
Генерация и создание матрицы
Максимально
Не максимально
В виде исходного кода на языке Visual Basic: Общий вид программы:
Const n = 3, m = 5
Dim matr(n, m) As Double
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdGen_Click()
Dim i As Integer, j As Integer
mfgMatrica.Rows = n + 1
mfgMatrica.Cols = m + 1
mfgMatrica.ColWidth(0) = 300
mfgMatrica.Row = 0
For i = 1 To m
mfgMatrica.Col = i
mfgMatrica.Text = Str(i)
mfgMatrica.ColWidth(i) = 400
Next i
mfgMatrica.Col = 0
For i = 1 To n
mfgMatrica.Row = i
mfgMatrica.Text = Str(i)
Next i
Randomize
For i = 1 To n
mfgMatrica.Row = i
For j = 1 To m
matr(i, j) = Int(101 * Rnd)
mfgMatrica.Col = j
mfgMatrica.Text = Str(matr(i, j))
Next j
Next i
End Sub
Private Sub cmdFind_Click()
Dim i As Double, j As Double
Dim max As Integer
max = matr(1, 1)
For i = 1 To n
For j = 1 To m
If max < matr(i, j) Then max = matr(i, j)
Next j
Next i
lstOut.Clear
lstOut.AddItem ("Maximum")
lstOut.AddItem (Str(max))
End Sub