Автор работы: Пользователь скрыл имя, 24 Марта 2011 в 19:51, курсовая работа
В данной курсовой работе написано решение нахождения произведения элементов некоторой квадратной матрицы через написанную функцию, что существенным образом облегчает решение пользователем этой задачи. В качестве языка программирования выбран изучаемый на занятиях по дисциплине «Алгоритмические языки и программирование» язык программирования Турбо Паскаль. К достоинством языка Турбо Паскаль следует отнести такие его характеристики, как модульность, универсальность, удобство работы с массивами и т.д.
Сумма минимальных элементов в 3-ей строке матрицы B и в 4-ом столбце матрицы A:
Sum := minA + minB;
Текст программы и ее описание
Программа для нахождения произведения элементов некоторой квадратной матрицы написанная на языке Turbo Pascal. Программа функционирует в среде Turbo Pascal.
Исходные данные, имеющие смысл значений элементов массива, вводятся произвольным образом.
В процессе получения результирующей матрицы реализованы следующие действия с массивами:
Каждая матричная операция сопровождается печатью соответствующего массива (печать значений элементов квадратной матрицы выполнена в виде подпрограммы).
После сложения двух квадратных матриц производиться нахождения минимального элемента в 3-ей строке матрицы B и 4-ом столбце матрицы A, после чего происходит сумма данных элементов.
Окончательный
вариант программы имеет
program matrix;
const
Nmatr = 5;
type
MatrixType = array[1..Nmatr, 1..Nmatr] of real;
MatrixName = string[70];
{--------------начало процедур и функций программы}
{процедура вывода матрицы на экран}
{ScreenMatrix - матрица
ScreenText - имя матрицы}
procedure screen(ScreenMatrix: MatrixType; ScreenText: MatrixName);
var
i,j: integer;
begin
writeln(ScreenText);
for i:=1 to Nmatr do
begin
for j:=1 to Nmatr do
write(ScreenMatrix[i,j]:8:2);
writeln;
end;
writeln
end;
{процедура умножения матрицы}
{AMatrix, BMatrix - матрицы
CMatrix - результат}
procedure MultiplicationMatrix(AMatrix, BMatrix: MatrixType; var CMatrix: MatrixType);
var
i,j,k: integer;
s: real;
begin
for i:=1 to Nmatr do
for j:=1 to Nmatr do
begin
s:=0;
for k:=1 to Nmatr do
s:=s+AMatrix[i,k]*BMatrix[k,j]
CMatrix[i,j]:=s;
end;
end;
{функция расчета суммы минимальных элементов}
function Normal(AMatrix, BMatrix: MatrixType): real;
var
i: integer;
minA, minB,sum: real;
begin
minA:=AMatrix[1,4];
minB:=BMatrix[3,1];
for i:=1 to NMatr do
begin
if AMatrix[i,4] < minA then
minA:=AMatrix[i,4];
if BMatrix[3,i] < minB then
minB:=BMatrix[3,i];
end;
sum:= minA+minB;
writeln('Сумма минимальных элементов матрицы A и В равна: ',sum:5:3 );
end;
{--------------конец
процедур и функций программы}
var
A, B, C, BT, BtC, BtCB: MatrixType;
i,j: integer;
minA, minB: real;
begin
{ввод матрицы С - произвольным методом}
writeln('Введите элементы матрицы С:');
for i:=1 to Nmatr do
for j:=1 to Nmatr do
C[i,j]:=random(9)+1;
{конец ввода
матрицы С}
{заполнение матрицы В - по формуле}
for i:=1 to Nmatr do
for j:=1 to Nmatr do
B[i,j]:=(1+sin(i+j))/(i+cos(i+
{конец заполнения
матрицы В}
{Вывод матрицы В на экран}
Screen(B,'Матрица В имеет следующий вид:');
{Вывод матрицы С на экран}
Screen(C,'Матрица
C имеет следующий вид:');
{транспонирование матрицы В в матрицу ВТ}
for i:=1 to Nmatr do
for j:=1 to Nmatr do
BT[i,j]:=B[j,i];
{вывод матрицы ВТ на экран}
Screen(BT,'Транспонированная
матрица ВТ имеет следующий
вид:');
{умножение транспонированной матрицы ВТ на матрицу С}
MultiplicationMatrix(BT,C,BtC)
{вывод матрицы BtC на экран}
Screen(BtC,'Результат
умножения матрицы ВT и C в
результирующую матрицу BtC:');
{умножение матрицы BtC на матрицу В}
MultiplicationMatrix(BtC,B,
{вывод матрицы BtCB на экран}
Screen(BtCB,'Результат
умножения матрицы ВtC и B в результирующую
матрицу BtCB:');
{цикл вычисляющий сложения матрицы В и матрицы BtCB}
for i:=1 to Nmatr do
for j:=1 to Nmatr do
A[i,j]:=B[i,j]+BtCB[i,j];
{вывод матрицы A на экран}
Screen(A,'Матрица
A имеет следующий вид:');
{вызов функции}
Normal(A, B);
end.
Заключение
Данная программа предназначена для нахождения минимальных элементов некоторых квадратных матриц и их суммирование. С помощью данной программы можно легко и просто рассчитать произведение матрицы, произвести транспонирование матрицы, суммировать матрицу, а так же найти минимальные элементы и произвести их суммирование. Данной программой довольно быстро и легко пользоваться. Это доступно даже простому пользователю ПЭВМ.
В заключение данной курсовой работе можно сказать, что все выше перечисленные задачи выполнены. В дальнейшем если производить модернизацию программы можно реализовать ввод размера квадратного массива вручную, а также реализовать ввод значений матрицы так же с клавиатуры.
Список литературы
Информация о работе Нахождение произведения квадратной матрицы через функцию