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

Final-LabRabKonsPrilozh_2011_Word2007

.pdf
Скачиваний:
145
Добавлен:
08.04.2015
Размер:
1.83 Mб
Скачать

41

3. Текст программы.

Module Module1

Заголовок программной секции, относящейся к категории программных модулей

Sub Main()

Заголовок программной секции, относящейся к категории головного модуля программы

Dim N, M, I, J As Integer

Dim A(,) As Single = {{7,-1,2,0}, {4,5,-3,1}, {-6,11,8,-4}}

Явный способ задания двумерного массива А(,) с вещественными (Single) элементами, значения которым присваиваются после символа = построчно, то есть три строки по 4 элемента в каждой

N = A.GetUpperBound(0)

Параметру N присвоено значение верхней границы 1-ой (0) размерности двумерного массива А(,)

M = A.GetUpperBound(1)

Параметру M присвоено значение верхней границы 2-ой (1) размерности двумерного массива А(,)

Console.WriteLine("N={0}

M={1}", N, M)

 

 

Console.WriteLine("Количество

строк

матрицы

A

равно

N+1={0}", N + 1)

Console.WriteLine("Количество столбцов матрицы A равно

M+1={0}", M + 1)

‘Количество строк (K1) и столбцов (K2) матрицы A равны, соответственно, N+1 и M+1, так как стандартная нумерация элементов ведется для строк с 0 до K1-1, для столбцов – с 0

до K2-1.

Dim B(N), D(M) As Single Dim Z As Single

Z = AMAXN(N, M, A)

‘ Осуществляется обращение к процедуре – функции AMAXN(N,

M, A)

 

Console.WriteLine("")

 

Console.WriteLine("НАИБОЛЬШИЙ ЭЛЕМЕНТ ПОСЛЕДНЕЙ

СТРОКИ

AMAXN ={0}", Z)

 

Console.WriteLine("")

 

Console.WriteLine("МАССИВ ЗНАЧЕНИЙ СУММ СТРОК

МАТРИЦЫ

A():")

 

Call BSUM(N, M, A, B)

 

‘ Осуществляется обращение к процедуре BSUM(N, M, A, B)

For I = 0 To N

Console.WriteLine("B({0})={1}", I, B(I))

Next I

42

Console.WriteLine("")

Console.WriteLine("МАССИВ ЗНАЧЕНИЙ СУММ СТОЛБЦОВ МАТРИЦЫ

A():")

Call DSUM(N, M, A, D)

‘ Осуществляется обращение к процедуре DSUM(N, M, A, D) For J = D.GetLowerBound(0) To M

Console.WriteLine("D({0})={1}", J, D(J))

Next J

Console.ReadLine()

EndSub

Function AMAXN(ByRef N As Integer, ByRef M As Integer, _ ByRef A(,) As Single) As Single

Заголовок процедуры – функции AMAXN(N, M, A), при обращении к которой все аргументы (N, M, A) передаются по ссылке (ByRef), а сама функция возвращает в качестве результата вещественное число (Single)

Dim J As Integer Dim MAX As Single

MAX = A(N, 0) For J = 0 To M

If A(N, J) > MAX Then MAX = A(N, J) Next J

AMAXN = MAX

Осуществляется формирование результирующего значения функции AMAXN

EndFunction

окончание текста программы для процедуры – функции

Sub BSUM(ByRef N As Integer, ByRef M As Integer, _ ByRef A(,) As Single, ByRef B() As Single)

Заголовок процедуры BSUM(N, M, A, B), при обращении к которой все аргументы (N, M, A, B) передаются по ссылке

(ByRef)

Dim I, J As Integer Dim S As Single For I = 0 To N

S = 0

Переменной S присваивается начальное значение, равное 0.

For J = 0 To M

S = S + A(I, J)

43

Значение переменной S увеличивается на величину, равную значению элемента A(I, J)

Next J

B(I) = S

Элементу B(I) массива B() присваивается значение переменной S.

Next I EndSub

окончание текста программы для процедуры BSUM(N, M, A, B)

Sub DSUM(ByRef N As Integer, ByRef M As Integer, _ ByRef A(,) As Single, ByRef D() As Single)

Заголовок процедуры DSUM(N, M, A, D), при обращении к которой все аргументы (N, M, A, D) передаются по ссылке

(ByRef)

Dim I, J As Integer Dim S As Single

For J = A.GetLowerBound(1) To M S = 0

Переменной S присваивается начальное значение, равное 0.

For I = A.GetLowerBound(0) To N S = S + A(I, J)

Значение переменной S увеличивается на величину, равную значению элемента A(I, J)

Next I

D(J) = S

Элементу D(I) массива D() присваивается значение переменной S.

Next J EndSub

окончание текста программы для процедуры DSUM(N, M, A, D)

EndModule

‘ Конец программной секции, относящейся к категории программных модулей

4. Результаты работы программы аналогичны представленным на рис. 5.2.

44

Перечень вариантов заданий к лабораторной работе № 5

Вариант № 1

Дана матрица

10 20 13 А= 25 1 3 4 12 8

Определить количество отрицательных и положительных элементов.

Вариант № 2

Дана матрица. Определить сумму элементов, стоящих на главной и побочной диагоналях.

11

13

15

В= 12

19

14

17

19

21

Вариант № 3

Дана квадратная матрица М. Найти сумму и произведение элементов, попадающих в заданный интервал [a, b].

3

4

0

М= 1

2

8

7

4

1

Вариант № 4

Дана матрица. Найти сумму элементов первой строки и первого столбца.

18

19

28

Z= 14

13

1

222

0

17

Вариант № 5

Дана матрица В. Найти сумму элементов j-го столбца.

2 1 6 2

В=

7 1 0 4

8 1 3 0

4 1 2 0

45

Вариант № 6

Найти максимальный элемент матрицы и индексы максимального элемента.

3.415.1 19.2

Z= 12 16.3 3.1 0 18.4 5.7

Вариант № 7

Дана матрица

10 20 13 А= 22 11 5 4 12 8

Определить среднее арифметическое отрицательных и положительных элементов.

Вариант № 8

Дана матрица С. Найти сумму отрицательных элементов и количество положительных.

18

19

28

С= 14

9

10

22

0

17

Вариант № 9

Найти минимальный элемент матрицы и его индексы.

2 8 7 Z= 3 10 12 7 18 19

Вариант № 10

Дана матрица A. Получить новую матрицу В, элементы которой определяются по

 

ai, j*12 , i

j

 

1

1

8

формуле bij=

А=

 

 

 

ai, j

* 5, i

j

2

3

9

 

 

4

7

2

 

 

 

 

 

Вариант № 11

Дана квадратная матрица

46

1 2 3 4 Z= 4 5 8 10 12 3 7 1 0 0 5 0

Транспонировать матрицу, т. е. получить новую матрицу A, где столбцы матрицы Z является строками, а строки – столбцами.

Вариант № 12

Даны матрицы

7

1

1

2

8

7

X= 3

0

3

Y= 3

10

12

18

2

8

7

18

19

Получить матрицу Z, элементы которой равны zij xij yij .

Вариант № 13

Дана единичная матрица E

 

1

1

1

1

E=

1

1

1

1

 

1

1

1

1

 

1

1

1

1

Найти элементы новой матрицы B, каждый из которых определяется условием:

eij

 

 

1

 

,i

j

 

 

 

 

 

i

j

 

bij=

 

1

 

 

 

1

 

 

 

eij

*

 

 

,i

j

 

 

 

i

j

 

 

 

1

 

Вариант № 14

Дана единичная матрица

1 1 1 Е= 1 1 1 1 1 1

Получить новую матрицу Z, каждый элемент которой определяется заданным условием:

eij

i

,

i

j

 

 

 

zij= eij

 

0 ,

i

j

e

j ,

j

i

ij

 

 

 

 

47

Вариант № 15

Даны квадратные матрицы А, В, С второго порядка. Получить матрицу D, элементы которой равны dij = (aij+bij)*cij

A= 2 4

B=

1 18

C=

4 9

8

6

 

0

3

 

5

12

Вариант № 16

Дана квадратная матрица

8 4 3 1

Z=

7

11

10

0

15

31

2

9

 

12

0

5

17

Выбрать максимальный элемент в третьей строке, составить новую матрицу, каждый элемент которой равен соответствующему элементу матрицы Z, деленному на полученный максимальный элемент.

Вариант № 17

15 18 19

Дана матрица А =

10 14 28

9 2.1 13

3 17 23

Найти вектор В, каждая компонента которого совпадает с произведением элементов соответствующей строки матрицы А. Вектор B вывести на экран в строку.

Вариант № 18

 

 

 

Даны две матрицы

 

 

 

1.1

4.1

1.5

2.6

5.1

16.3

X = 2

8

0

Y = 3.1

12.4

0

3

5

17.3

4.3

13.7

18.9

Найти наибольший элемент среди элементов матриц X и Y.

Вариант № 19

Дана квадратная матрица А.

48

 

2

4

6

8

A

1

3

5

7

9

11

13

15

 

 

10

12

14

16

Получить матрицу В, элементы которой определяются как bij = aij2 – i*j. В матрице B найти минимальный элемент.

Вариант № 20

2.713 14

Дана квадратная матрица A = 1

10.1 8

6.57.2 4.1

Найти минимальный элемент, стоящий на главной диагонали (amin); получить новую матрицу В, каждый элемент которой равен bij = aij + аmin.

Вариант № 21

18 19 28

Дана матрица С = 14 9 10 22 0 17

Найти вектор К, каждая компонента которого равна количеству положительных элементов соответствующей строки матрицы С.

Вариант № 22

Дана квадратная матрица Z

13.2 10.2 4.5

Z14.2 9.3 3.3

18.7 7.5 1.1

Найти максимальный элемент первой строки (zmax) и получить новую матрицу Y, каждый элемент которой равен yij = zij - zmax.

Вариант № 23

3.415.1 19.2

Дана квадратная матрица X = 12 16.3 3.1 0 18.4 5.7

Найти вектор Y, каждая компонента которого равна количеству отрицательных элементов соответствующего столбца матрицы X.

49

Вариант № 24

Даны две матрицы X и Y

 

7

1

1

 

2

8

7

X

3

0

3

Y

3

10

12

 

18

2

8

 

7

18

19

Выбрать из них наименьший элемент.

Вариант № 25

3 5 1

Дана матрица C 8 2 6 10 0 3

Выбрать наибольший элемент (max) и получить новую матрицу В, каждый элемент которой равен bij = max - aij

Вариант № 26

4 1 - 2

Дана матрица C

12

8 3

Найти наименьший элемент матрицы (min) и

 

7

16 - 11

 

 

 

получить новую матрицу D,

каждый элемент которой равен d

ij

2 min c .

 

 

 

 

ij

Вариант № 27

Дана квадратная матрица М. Найти сумму элементов S, расположенных в заштрихованной части. Получить новую матрицу С, каждый элемент которой

сij

2 S mij

 

 

 

 

 

 

 

 

 

4

 

3

4

8

 

 

 

 

2

 

 

 

 

10

1

15

3

2

 

 

 

M

 

 

 

 

 

 

 

 

5

7

1

4

3

 

 

 

 

 

 

 

 

12

8

3

5

4

 

 

 

 

58

3

8

6

40

 

 

 

 

 

 

 

 

Вариант № 28

Дана квадратная матрица С. Найти произведение элементов, расположенных в заштрихованной части матрицы. Подсчитать сколько элементов больше 5 в заштрихованной части матрицы.

3

1

7

4

С = 2 12

5

2

 

 

8 10

18

1

6

8

3 13

 

 

 

 

 

50

Вариант № 29

Дана матрица А. Получить матрицу В, элемент bij которой равен результату деления суммы элементов матрицы A, расположенных в заштрихованной области, на aij.

 

3

28

2

1

A

10

14

3

2

17

7

4

8

 

 

24

1

8

7

Вариант № 30

Дана квадратная матрица Z. Найти сумму элементов, расположенных в заштрихованной части матрицы.

 

2

8

2

3

 

 

 

 

 

 

Z

2

14

 

5

9

 

 

 

 

 

 

 

8

 

12

13

25

 

 

 

 

 

 

 

 

 

 

 

7

1

14

19

Получить новую матрицу Y, каждый элемент которой равен разности между найденной суммой и элементом матрицы Z.