Спецификация программы
Исполняемый файл программы выполнения операции над матрицами имеет название Matr.exe и расположен на компакт-диске в каталоге Matr1\Magi. Состав проекта.
Текст программы
Листинг программы. unit Unit1; interface // подключение модулей uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Menus; // описание типов type TForm1 = class(TForm) Label1: TLabel; StringGrid1: TStringGrid; Edit1: TEdit; Label2: TLabel; Label3: TLabel; Button1: TButton; Label4: TLabel; Label6: TLabel; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; procedure Label3Click (Sender: TObject); procedure FormCreate (Sender: TObject); procedure Button1Click (Sender: TObject); procedure Label6Click (Sender: TObject); procedure N1Click (Sender: TObject); procedure N2Click (Sender: TObject); private {Private declarations} public {Public declarations} end; // описание переменных var Form1: TForm1; k, s, c, i, j, n:integer; x:array [0.. 10,0..10] of integer; implementation uses Unit2; {$R *.dfm} // формирование матрицы procedure TForm1. Label3Click (Sender: TObject); begin if edit1. Text='' then showmessage ('введите размер матрицы') else randomize; n:=strtoint (edit1. Text); stringgrid1. Visible:=true; n:=n-1; StringGrid1. Height:=StringGrid1. DefaultRowHeight* (strtoint (edit1.text)+1); StringGrid1. Width:=StringGrid1. DefaultColWidth* (strtoint (edit1.text)+1); StringGrid1. ColCount:=strtoint (edit1.text); StringGrid1. RowCount:=strtoint (edit1.text); for i:=0 to n do for j:=0 to n do begin x [i, j]:=random(5)+1; end; for i:=0 to n do for j:=0 to n do begin stringgrid1. Cells [j, i]:=inttostr (x[i, j]); end; end; procedure TForm1. FormCreate (Sender: TObject); begin stringgrid1. Visible:=false; end; // основная процедура вычислении и проверки procedure TForm1. Button1Click (Sender: TObject); begin s:=0; for i:=0 to n do s:= s+x [i, i]; c:=0; for j:=n downto 0 do c:= c+x [n-j, j]; for i:=0 to n do begin x [i, n+1]:=0; for j:=0 to n do x [i, n+1]:=x [i, n+1]+x [i, j]; end; for i:=0 to n do begin x [n+1, i]:=0; for j:=0 to n do x [n+1, i]:=x [n+1, i]+x [j, i]; end; k:=0; if c=s then begin for i:=0 to n do if (c=x [n+1, i]) and (c=x [i, n+1]) then k:=k+1; end; if k=n+1 then label4.caption:='Данная матрица является магичесим квадратом' else label4.caption:='Эта матрица не является магическим квадратом'; end; // показать матрицу procedure TForm1. Label6Click (Sender: TObject); begin randomize; n:=strtoint (edit1. Text); // количество строк или столбцов stringgrid1. Visible:=true; // видимость n:=n-1; // настройка размера StringGrid StringGrid1. Height:=StringGrid1. DefaultRowHeight* (strtoint (edit1.text)+1); StringGrid1. Width:=StringGrid1. DefaultColWidth* (strtoint (edit1.text)+1); StringGrid1. ColCount:=strtoint (edit1.text); StringGrid1. RowCount:=strtoint (edit1.text); for i:=0 to n do for j:=0 to n do begin x [i, j]:=random(1)+1; // контрольная матрица end; for i:=0 to n do for j:=0 to n do begin stringgrid1. Cells [j, i]:=inttostr (x[i, j]); end; end; // запустить 2-форму procedure TForm1.N1Click (Sender: TObject); begin form2.show; end; // закрытие procedure TForm1.N2Click (Sender: TObject); begin close; end; end. // код для 2 – формы unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; private {Private declarations} public {Public declarations} end; var Form2: TForm2; implementation {$R *.dfm} end.
Описание программы
Программа предназначена для выполнения операции над матрицей. Программа написана на языке Object Pascal. Работает в среде операционных систем Widows 2000/XP. Для полноценной работы данной программы необходимы следующие ресурсы компьютера: процессор Pentium IV или Celeron 2.0Ghz. Оперативная память не менее 512 Мбайт, достаточное количество свободного места на диске – порядка 1 Гбайт. Программа запускается нажатием на файл Magi.exe. На открывающем окне формы расположен меню MainMenu, через которого можно открыть справки, помощь и закрыть программу. Ввод данных осуществляется с помощью случайных чисел. Нажатие на метку Показать вызывает процедуры формирования матрицы. Элементы матриц загружаются для отображения на форме в компонент StringGrid1. Выходная информация размещается в поле Label4. Пользователю предлагается задать количество строк. Программа загружается нажатием на файл Magi.exe из папкиmag Кусаинова. Исходные матрица описана как квадратные целочисленные, диапазон значений элементов от 0 до 5. Такое ограничение обусловливается предотврощением перегруза памяти компьютера и ошибок связанные размерностью матриц. Значения для StringGrid1. ColCount и StringGrid1. RowCount задаются в окне ObjectInspektor.
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (194)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |