ЛАБОРАТОРНАЯ РАБОТА № 6 (8 часов)
ЛАБОРАТОРНАЯ РАБОТА № 6 (8 часов)
ТЕМА: « Работа с двумерными массивами »
Необходимые технические средства:
Персональный компьютер Пентиум-4.
Необходимые программные средства:
Система программирования Турбо Паскаль.
Цель работы: Обучить студентов методам построения блок-схем и составления программ на языке Паскаль для работы с двумерными массивами.
ЗАДАНИЕ: Обработать на ПК двумерный массив в соответствии с вариантом задания, указанного в таблице.
Задания к вариантам
Варианты задания
Имя матрицы и размеры
Действия
Условия и ограни-чения
1
A(10,15)
Вычислить и запомнить сумму и число положительных элементов каждого столбца матрицы. Результаты отпечатать в виде двух строк
Aij >0
2
A(N,M)
Вычислить и запомнить суммы и числа элементов каждой строки матрицы. Результаты отпечатать в виде двух столбцов
N20
M15
3
B(N,N)
Вычислить сумму и число элементов матрицы, находящихся под главной диагональю и на ней
N 12
4
C(N,N)
Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю
cij > 0
N12
5
X(20,30)
Поменять на цифру 1 положительные элементы основной диагонали массива и вывести общий вид массива на печать
xij > 0
6
A(N,M)
Поменять элементы основной диагонали массива на элементы его первой строки и вывести общий вид массива на печать
aij > 0
7
D(K,K)
Записать на место отрицательных элементов матрицы нули и вывести её на печать в общепринятом виде
K10
8
D(10,10)
Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы. Вывести на печать нижнюю треугольную матрицу в общепринятом виде
______
9
F(N,M)
Найти наименьший элемент матрицы, его порядковый номер и вывести их на печать
N20
M10
Fij < 0
10
S(30,40)
Найти наибольший элемент матрицы, его порядковый номер и вывести их на печать
Sij > 0
11
F(10,8)
Транспортировать матрицу и вывести на печать элементы главной диагонали и диагонали, расположенной под главной. Результаты разместить в двух строках
______
12
N(10,10)
Для целочисленной матрицы найти для каждой строки число элементов, кратных пяти, и наибольший из полученных результатов
[nij/5*5]= =nij
13
P(N,N)
Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали. Отпечатать полученную матрицу в общепринятом виде
N15
14
R(K,N)
Найти наибольший и наименьший элементы матрицы и поменять их местами
K20
N10
15
S(25,30)
Найти наибольший и наименьший элементы матрицы, поряковые номера этих элементов и вывести их на печать
16
R(30,20)
Определить количество элементов и арифметическое значение положительных элементов матрицы в каждой строке
17
N(20,30)
Определить количество элементов и арифметическое значение положительных элементов матрицы в каждой строке и вывести их на печать
18
T(N,M)
Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов
N20 M15
19
K(N,M)
Переписать каждый элемент строки массива по убыванию и вывести общий вид на печать
N30 M20
20
S(10,20)
Найти наибольший элемент матрицы, его порядковый номер и вывести их на печать
Sij > 0
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
При решении задач с двумерными массивами целесообразно создавать внутренние циклы. Для организации столбцов и строк вводятся переменные i и j, где i – ecть параметр внешнего цикла, j – параметр внутреннего цикла.
Для работы с двумерными массивами в алгоритмическом языке Паскаль используется ключевое слово array. Двумерные массивы в программе выражаются в следующем виде:
a: array [n..m, k..l] of t;
где a – имя массива,
n, k и m,l - начало и конец соответственно строки и столбца элементов массива,
t – тип элементов массива .
Пример. Составить программу вычисления суммы положительных элементов массива В(50,30).
program mus (input, output);
const n=50;m=30;
var i,j,k,l: integer;
b: array[1..n,1..m] of real;
begin
readln(k,l);
s:=0;
for i:=1 to k do
for j:=1 to l do
begin
readln(a[i,j]);
if b[i,j]>0 then s:=s+b[i,j];
end;
writeln(‘s=‘,s);
if s=0 then writeln (‘положительных элементов массива нет’);
end.
Автор: Ташходжаев Султанмурат Акмалович