Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabRabKonsPrilozh_2011.docx
Скачиваний:
207
Добавлен:
08.04.2015
Размер:
2.96 Mб
Скачать

Лабораторная работа №5

Тема: Двумерные массивы. Подпрограммы: внешние функции и процедуры.

Цель работы: овладеть навыками программирования с использованием двумерных массивов; научиться основам модульного программирования.

Задание

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)

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

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)

Вывод значений параметров 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()

End Sub

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

End Module

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]