Пособие Серкова1
.pdf3) Эскиз формы:
4) Таблица 23. Свойства объектов. |
|
|
|||
|
Объект |
Name |
Caption |
Text |
Visible |
|
|
|
|
|
|
|
Command1 |
Command1 |
Выполнить |
нет |
True |
|
|
|
|
|
|
|
Command1 |
Command1 |
Выход |
нет |
True |
|
|
|
|
|
|
|
TextBox1 |
Txn |
нет |
1 |
True |
|
|
|
|
|
|
|
TextBox1 |
Tmx |
нет |
нет |
True |
|
|
|
|
|
|
|
Label |
Label3 |
Размерность массива |
нет |
True |
|
|
|
|
|
|
|
ListBox |
List1 |
нет |
нет |
True |
|
|
|
|
|
|
|
Label |
Label2 |
Максимальный элемент |
нет |
True |
|
|
|
|
|
|
|
Label |
Label3 |
Исходный массив |
нет |
True |
|
|
|
|
|
|
71
5) Блок–схема алгоритма:
начало
Ввод n
i=1;10;1
a(i) = Int(Rnd * 100 - 50)
Вывод элемента
массива
|
Max = -10000 |
|
i=1;10;1 |
нет |
да |
|
a(i) > Max |
|
Max =a( i) |
Max1 = Max2
да
нет
a(i) > Max
Вывод максимального |
Вывод |
|
Max1 |
||
элемента нет |
||
|
конец
6) Программные коды процедур: Dim a() As Integer
Private Sub CommandButton1_Click() Dim srk As String
72
n = Val(Txn.Text) ReDim a(1 To n) List1.Clear
For i = 1 To n
a(i) = Int(Rnd * 100 - 50)
srk = " a(" + Str(i) + ")= " + Str(a(i)) List1.AddItem (srk)
Next i
Max = -10000
For i = 1 To n
If a(i) > Max Then Max = a(i) Next i
If Max <> a(1) Then Tmx.Text = Max Else
Tmx.Text = "максимального элемента нет " End If
End Sub
Private Sub CommandButton2_Click() End
End Sub.
7) Результаты:
Задание 2. Подсчитать значение КР – количество положительных значений в массиве X и КО – количество отрицательных значений в массиве X. Если КР будет больше КО, то вывести массив Х без изменений, иначе – заменить 1-й элемент массива Х на значение КР, а 2-й – на значение КО; массив вывести.
73
Элементы массива Х вычисляются по формуле: xi ai sin ai 1,7.
A {1.2, - 5.6, 3.17, 8.9,1.7, - 2.4, - 2.8) |
|
|
исходный массив. |
|
|
|||||||
|
|
|
|
|||||||||
|
|
Таблица 24. Используемые переменные. |
|
|
|
|
||||||
|
|
Назначение переменной |
|
|
|
|
Имя |
Тип |
|
|
||
|
|
Исходный массив |
|
|
|
|
а |
Single |
|
|
||
|
|
Полученный массив |
|
|
|
|
х |
Single |
|
|
||
|
|
Количество отрицательных элементов |
|
КО |
Integer |
|
|
|||||
|
|
количество положительных элементов |
|
КР |
Integer |
|
|
|||||
|
|
Переменная цикла |
|
|
|
|
i |
Integer |
|
|
||
4) Таблица 25. Свойства объектов. |
|
|
|
|
|
|
|
|
|
|||
|
Объект |
Name |
|
Caption |
|
|
Text |
Visible |
||||
|
|
|
|
|
|
|
|
|||||
|
CommandButton |
CommandButton1 |
|
Выполнить |
|
нет |
True |
|||||
|
|
|
|
|
|
|
|
|
||||
|
Command1 |
Command1 |
|
Выход |
|
|
нет |
True |
||||
|
|
|
|
|
|
|
|
|
||||
|
TextBox1 |
Txn |
|
нет |
|
|
1 |
True |
||||
|
|
|
|
|
|
|
|
|
||||
|
TextBox1 |
Tmx |
|
нет |
|
|
нет |
True |
||||
|
|
|
|
|
|
|
||||||
|
Label |
Label3 |
|
Размерность массива |
нет |
True |
||||||
|
|
|
|
|
|
|
|
|
||||
|
ListBox |
List1 |
|
нет |
|
|
нет |
True |
||||
|
|
|
|
|
|
|
|
|||||
|
Label |
Label2 |
|
Максимальный |
|
нет |
True |
|||||
|
|
|
|
|
элемент |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|||||
|
Label |
Label3 |
|
Исходный массив |
|
нет |
True |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
74
Блок– схема
Начало
Ввод аi; i=1..7
KP=0; KO=0
I=1;7
xi ai sinai 1,7
нет |
да |
x[i]<0
KO=KO +1
нет |
да |
x[i]>0
KP=KP + 1
нет |
да |
|
KP>KO |
|
Вывод xi |
x1=KP |
|
|
|
x2=KO
Вывод xi
конец
75
На листе Excel разместить необходимые элементы управления.
CommandButton1
Textbox1
Рисунок 11– Окно Excel
Событийная процедура кнопки Вычислить. Private Sub CommandButton1_Click()
Dim x(1 To 8) As Single, i, kp, ko As Integer Dim a(1 To 8) As Single
' Вычисление количество отрицательных и положительных элементов kp = 0
ko = 0 ListBox1.Clear For i = 1 To 7
a(i) = Cells(3 + i, 2)
x(i) = a(i) * Sin(a(i)) - 1.7
ListBox1.AddItem ("X(" + Str(i) + " )= " + Format(x(i), "0.0000")) If x(i) < 0 Then ko = ko + 1
76
If x(i) > 0 Then kp = kp + 1 Next i
TextBox1.Value = Str(ko)
TextBox2.Value = Str(kp) If kp > ko Then ListBox1.Clear
For i = 1 To 7
ListBox1.AddItem ("X(" + Str(i) + " )= " + Format(x(i), "0.0000")) Next i
Else x(1) = kp x(2) = ko
ListBox1.Clear
For i = 1 To 7
ListBox1.AddItem ("X(" + Str(i) + " )= " + Format(x(i), "0.0000")) Next i
End If End Sub.
Контрольные вопросы
1.Дайте определение массива.
2.Чем отличается массив от простой переменной?
3.Что такое статический и динамический массив? В чем их отличие?
4.Как получить доступ к элементу массива?
5.Синтаксис объявления статического и динамического массива.
6.Изменение размера динамического массива.
7.Какой тип данных можно храниться в массиве?
77
Лабораторная работа №8.
Обработка двумерных массивов.
Варианты заданий. Вариант 1.
Вычислить сумму элементов матрицы А(5,5), расположенных выше главной диагонали и удовлетворяющих условию: 1 < aij 2,5. Элементы матрицы сформировать по правилу: aij = i + 0,5j.
Вариант 2.
Построить матрицу В(5,4), каждый элемент которой находится по формуле:
b ij |
|
|
S i |
, где Si – сумма элементов i-той строки матрицы А. |
|||
|
|
a ij |
|||||
|
|
|
|
|
|
|
|
|
4 |
3 |
8 |
10 |
|
||
|
|
0.2 |
5 |
11 |
7 |
|
|
A |
|
3.5 |
0.9 |
4 |
11.2 |
|
|
|
. |
||||||
|
|
|
|
8 |
4 |
|
|
|
6.6 |
0.8 |
|||||
|
|
7 |
10 |
13 |
16 |
|
|
|
|
|
Вариант 3.
Сформировать матрицу С(5,5) по правилу: cij arctg i 28j 4( 1)i j . Найти сум-
му отрицательных элементов матрицы, расположенных ниже побочной диагонали (i, j = 1,…,5).
Вариант 4.
Сформировать матрицу В(9,9) по правилу: bij = cos(i) – sin(j). Подсчитать количество строк матрицы, начинающихся с отрицательного элемента .
Вариант 5.
Переписать первые элементы каждой строки матрицы А(7,3) в массив D, если в строке есть элемент больше 13. Если в строке нет такого элемента, то записать ноль в массив D в соответствующем месте. Вывести исходную матрицу и образованный массив на печать одновременно. Элементы матрицы А задать самостоятельно.
Вариант 6.
Определить суммы положительных элементов матрицы А для каждой строки, исключая элементы главной диагонали.
2 |
6 |
4 |
1 |
||
|
4 |
0 |
13 |
2 |
|
A |
0.5 |
2 |
14 |
|
. |
|
7.1 |
||||
|
3 |
2.5 |
0.1 |
2 |
|
|
|
78
Вариант 7.
Подсчитать количество нулевых элементов среди элементов, расположенных выше главной диагонали матрицы В(8,8), которые формируются по правилу:
bij = cos (i j) – 16, (i, j = 1,…,8).
2
Вариант 8.
Найти сумму индексов отрицательных элементов матрицы В(4,4), расположенных выше побочной диагонали.
4 |
2 |
13 |
1 |
||
|
0 |
2 |
4 |
5 |
|
B |
. |
||||
|
3 |
4 |
0 |
0 |
|
|
|
||||
|
1 |
1 |
1 |
1 |
|
|
|
|
|
|
Вариант 9. |
Найти среднее геометрическое элементов каждого чётного столбца и среднее арифметическое элементов каждого нечетного столбца матрицы.
|
2 |
2 |
3 |
1 |
3 |
1 |
|
|
|
|
4 |
5 |
2 |
0 |
8 |
3 |
|
|
|
|
||||||
B |
|
8 |
6 |
7 |
5 |
9 |
|
|
|
5 . |
|||||||
|
7 |
1 |
6 |
6 |
6 |
7 |
||
|
|
|
7 |
4 |
2 |
12 |
10 |
|
|
2 |
|
||||||
|
|
|
|
|
|
|
|
Вариант 10. |
Умножить четные строки матрицы R на m = sin(k) , где k – номер умножаемой строки. Полученную матрицу напечатать.
|
2 |
7 |
29 |
41 |
13 |
2,7 |
|
|
8 |
1,6 |
0,3 |
4 |
15 |
8,6 |
|
R |
. |
||||||
|
45 |
9,2 |
0,9 |
55 |
2,7 |
|
|
|
2,12 |
||||||
7,9 |
45 |
0,7 |
9,9 |
51 |
1,2 |
|
Вариант 11.
Дана матрица А(4,5). Из нее образовать две матрицы: в одной оставить все отрицательные элементы матрицы А (на месте положительных поставить 0), в другой матрице оставить все положительные элементы ( на месте отрицательных поставить 0). Элементы матрицы А задать самостоятельно.
79
Вариант 12.
В исходной матрице найти количество четных элементов, больших 4, и нечетных элементов, меньших 67.
|
|
1 |
7 |
2 |
3 |
4 |
5 |
|
|
|
|
|
|
31 |
15 |
27 |
16 |
|
|
|
|
30 |
13 |
||||||
Z |
|
|
|
|
|
|
8 |
1 |
|
25 21 22 7 |
. |
||||||||
|
|
|
3 |
55 |
67 |
28 |
15 |
14 |
|
|
|
11 |
12 |
17 |
13 |
69 68 |
|||
|
|
|
|
|
|
|
|
|
|
Вариант 13.
В исходной матрице заменить все элементы, по модулю меньшие 1, на 1. Подсчитать сумму элементов исходной и полученной матрицы отдельно. Отпечатать матрицу С после замены элементов.
0,1 |
8 |
9 |
0,5 |
|
|
|
7 |
0,9 |
3 |
|
|
C |
4,5 . |
||||
|
|
2 |
0,8 |
7,5 |
|
0,3 |
|
||||
|
0,4 |
5 |
7 |
0,9 |
|
Вариант 14.
В построенной матрице A(7,4) определить количество элементов, для которых выполнено условие: -0,5 < aij < 0,5. Элементы матрицы строятся по правилу: aij = sin (i + j / 2). Матрицу напечатать.
Вариант 15.
Найти произведение элементов главной диагонали и сумму элементов побочной диагонали матрицы В(6,6). Указать большее из двух найденных значений. Элементы матрицы формируются по правилу: bij = 2 i + j.
Вариант 16.
Дана матрица Z. Найти сумму элементов для каждого столбца, начинающегося с положительного элемента.
|
3 |
7 |
4 |
4 |
13 |
13 |
||
|
|
2 |
12 |
5 |
5 |
15 |
14 |
|
|
|
|
||||||
Z |
|
1 |
13 |
6 |
6 |
2 |
|
|
|
19 . |
|||||||
|
|
0 |
4 |
7 |
5 |
0 |
22 |
|
|
|
2 |
10 |
18 |
6 |
4 |
18 |
|
|
|
|
Вариант 17.
Определить сумму и количество элементов матрицы А(6,6), формирующихся по правилу: aij = cos (i + j), удовлетворяющих условию: 0.3 <= aij < 1, среди элементов, находящихся ниже побочной или выше главной диагонали.
80