Студопедия — Текст Unit1
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Текст Unit1






 

unit Unit1;

//Операции над матрицами

Interface

 

Uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, Spin, Grids;

Type

TForm1 = class(TForm)

mm1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

dlgOpen1: TOpenDialog;

dlgSave1: TSaveDialog;

se1: TSpinEdit;

lbl1: TLabel;

sd1: TStringGrid;

sd11: TStringGrid;

sd12: TStringGrid;

lbl2: TLabel;

lbl3: TLabel;

procedure N4Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure sd1KeyPress(Sender: TObject; var Key: Char);

Private

{ Private declarations }

Public

{ Public declarations }

end;

tmas2= array [1..10, 1..10] of integer;

Var

Form1: TForm1;

 

Implementation

 

{$R *.dfm}

Var

a, b, c: tmas2;

n: Integer;

procedure TForm1.N9Click(Sender: TObject);

//Пункт меню " Выход"

Begin

Close;

end;

procedure TForm1.N4Click(Sender: TObject);

//Пункт меню " Выход"

Begin

Close;

end;

 

procedure TForm1.N11Click(Sender: TObject);

//Формирование StringGrid для ввода с клавиатуры

Begin

With sd1 do

Begin

n: =se1.Value;

ColCount: =n;

RowCount: =n;

Width: =n*(DefaultColWidth+2)+4;

Height: =n*(DefaultRowHeight+2)+4;

end;

With sd11 do

Begin

ColCount: =n;

RowCount: =n;

Width: =n*(DefaultColWidth+2)+4;

Height: =n*(DefaultRowHeight+2)+4;

Left: =sd1.Left+sd1.Width+24;

end;

With sd12 do

Begin

ColCount: =n;

RowCount: =n;

Width: =n*(DefaultColWidth+2)+4;

Height: =n*(DefaultRowHeight+2)+4;

Left: =sd11.Left+sd11.Width+24;

end;

lbl2.Left: =sd11.Left-22;

If Odd(n) then

lbl2.Top: =sd1.Top+(n div 2)*(sd1.DefaultRowHeight+2)

Else

lbl2.Top: =sd1.Top+(n div 2)*(sd1.DefaultRowHeight+2)-12;

lbl2.Caption: ='';

lbl3.Left: =sd12.Left-22;

If Odd(n) then

lbl3.Top: =sd11.Top+(n div 2)*(sd11.DefaultRowHeight+2)

Else

lbl3.Top: =sd11.Top+(n div 2)*(sd11.DefaultRowHeight+2)-12;

lbl3.Caption: ='=';

Form1.Width: =sd1.Left+sd1.Width+sd11.Width+sd12.Width+70;

N6.Enabled: =True;

N7.Enabled: =True;

N8.Enabled: =True;

N10.Enabled: =True;

sd1.SetFocus;

end;

 

procedure matr(var a, b: tmas2; n: Integer);

//Формирование массивов a и b

Var

i, j: Integer;

Begin

for i: =1 to n do

for j: =1 to n do

Begin

a[i, j]: =StrToInt(Form1.sd1.Cells[j-1, i-1]);

b[i, j]: =StrToInt(Form1.sd11.Cells[j-1, i-1]);

end;

end;

 

procedure res(c: tmas2; n: Integer);

//Результат-матрица C помещается в StringGrid

Var

i, j: Integer;

Begin

for i: =1 to n do

for j: =1 to n do

Form1.sd12.Cells[j-1, i-1]: =IntToStr(c[i, j]);

end;

procedure TForm1.N6Click(Sender: TObject);

//Сложение матриц

Var

i, j: Integer;

Begin

lbl2.Caption: ='+';

matr(a, b, n);

for i: =1 to n do

for j: =1 to n do

c[i, j]: =a[i, j]+b[i, j];

Res(c, n);

end;

 

procedure TForm1.N7Click(Sender: TObject);

//Вычитание матриц

Var

i, j: Integer;

Begin

lbl2.Caption: ='-';

matr(a, b, n);

for i: =1 to n do

for j: =1 to n do

c[i, j]: =a[i, j]-b[i, j];

Res(c, n);

end;

 

procedure TForm1.N8Click(Sender: TObject);

//Произведение матриц

Var

i, j, k, s: Integer;

Begin

lbl2.Caption: ='x';

matr(a, b, n);

for i: =1 to n do

for j: =1 to n do

Begin

s: =0;

for k: =1 to n do

s: =s+a[i, k]*b[k, j];

c[i, j]: =s;

end;

Res(c, n);

 

end;

 

procedure TForm1.N10Click(Sender: TObject);

//Очистка StrigGrid

Var

i, j: Integer;

Begin

for i: =1 to n do

for j: =1 to n do

Begin

Form1.sd1.Cells[j-1, i-1]: ='';

Form1.sd11.Cells[j-1, i-1]: ='';

Form1.sd12.Cells[j-1, i-1]: ='';

end;

end;

 

procedure TForm1.N2Click(Sender: TObject);

//Чтение исходных матриц из файла

Var

i, j, s: Integer;

fin: TextFile;

Begin







Дата добавления: 2014-11-10; просмотров: 547. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия