Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Пособие Серкова1

.pdf
Скачиваний:
22
Добавлен:
02.03.2016
Размер:
994.9 Кб
Скачать

3) Эскиз формы:

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