Iуровень (варианты №№ 1- 9из Перечня вариантов)



1. Составить блок-схему выполнения задания (без подпрограмм).

2. Написать программу в соответствии с блок – схемой.

3. Выполнить программу и получить результаты.

 

IIуровень (варианты №№ 10 -26 из Перечня вариантов)

1. Составить блок-схему алгоритма преобразования матрицы двумя модулями: головным модулем и процедурой SUB, или головным модулем и модулем-функцией FUNCTION.

2. Написать программу в соответствии с блок – схемой.

3. Выполнить программу и получить результаты.

 

IIIуровень (варианты №№ 27 -30 из Перечня вариантов)

1. Составить блок-схему алгоритма преобразования матрицы тремя модулями: головным модулем, модулем-функцией FUNCTION и процедурой SUB .

2. Написать программу в соответствии с блок – схемой.

3. Выполнить программу и получить результаты.

 

Пример:

Дана матрица A(N,M).

1. Найти наибольший элемент в последней строке матрицы A.

2. Определить массив B(N), элементы которого равны суммам соответствующих строк матрицы A.

3. Определить массив D(M), элементы которого равны суммам соответствующих столбцов матрицы A.

Порядок выполнения работы (Iуровень)

1. Входные данные:

(N+1) – количество строк матрицы A, (M+1) – количество столбцов матрицы A,

A(,) – двумерный массив из (N+1)*(M+1)элементов.

Выходные данные:

AMAXN - наибольший элемент в последней строке матрицы A, B() - массив, элементы которого равны суммам соответствующих строк матрицы A, D() - массив, элементы которого равны суммам соответствующих столбцов матрицы A.

2.Блок-схема (рис. 5.1)

 

 

Да
Вывод AMAXN
1
AMAXN=A(N,i)
AMAXN <A(N,i)
Нет
AMAXN=A(N,0) – присвоить начальное значение переменной AMAXN
Ввод N, M
Начало
Ввод (N+1)*(M+1) элементов матрицы A
i= 0, M, 1

 

 

1
B(i)=0 – присвоить начальное значение элементу B(i) для накопления суммы i-ой строки матрицыA()
B(i)=B(i) + A(i, j) – увеличить значение элемента B(i) на величину A(i, j)очередного элемента i-ой строки матрицыA()
Вывод B( i )
2
i= 0, N, 1
j= 0, M, 1

 

2
D(j)=0 – присвоить начальное значение элементу D(j) для накопления суммы j-го столбца матрицыA()
D(j)=D(j) + A(i, j) – увеличить значение элемента D(j) на величину A(i,j)очередного элемента j-го столбца матрицыA()
Вывод D(j)
Конец
j= 0, M, 1
i= 0, N, 1

 


Рис. 5.1. Блок – схема программы

 

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

 

ModuleModule1

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

 

SubMain()

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

Dim N, M, I, J As Integer

DimA(,) AsSingle = {{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)

‘ Вывод значений параметров N и M

Console.WriteLine("КоличествострокматрицыAравноN+1={0}", N + 1)

Console.WriteLine("Количество столбцов матрицы A равно M+1={0}", M + 1)

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

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

Dim Z As Single

Dim AMAXN As Single

I = 0 : AMAXN = A(N, I)

‘ Параметру AMAXN присваивается начальное значение, равное значению элемента матрицы A(,), расположенному в N-ой строке и 0-ом столбце

For I = 0 To M

If AMAXN < A(N, I) Then AMAXN = A(N, I)

Next I

   Console.WriteLine("")

Console.WriteLine("НАИБОЛЬШИЙЭЛЕМЕНТПОСЛЕДНЕЙСТРОКИ AMAXN ={0}", AMAXN)

   Console.WriteLine("")

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

For I = 0 To N

       B(I) = 0

For J = 0 To M

           B(I) = B(I) + A(I, J)

Next J

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

Next I

   Console.WriteLine("")

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

For J = 0 To M

       D(J) = 0

For I = 0 To N

       D(J) = D(J) + A(I, J)

Next I

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

Next J

   Console.ReadLine()

EndSub

‘ Конец текста программы головного модуля

 

EndModule

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

 

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

 


Рис. 5.2. Скриншот результатов работы программы

 


Дата добавления: 2018-04-04; просмотров: 246; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!