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

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

Текст 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; просмотров: 573. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


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


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


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

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

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

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