Мегаобучалка Главная | О нас | Обратная связь


Спецификация программы



2019-07-03 172 Обсуждений (0)
Спецификация программы 0.00 из 5.00 0 оценок




 

Исполняемый файл программы выполнения операции над матрицами имеет название Matr.exe и расположен на компакт-диске в каталоге Matr1\Magi. Состав проекта.

 

Наименование Обозначение Примечания
Magi.res Файл ресурсов Содержит пиктограммы, графические изображения
Magi.dpr Файл проекта Связывает все файлы из которых состоит приложение
Magi.dof Файл параметров проекта Содержит текущие установки проекта: настройки компилятора и компоновщика, имена служебных каталогов, условные директивы
Magi.cfg Файл, содержащий конфигурационную информацию о проекте Содержит информацию о том какие окна открыты и в каких позициях они расположены
Unit2.pas Файл программного модуля для формы №2 Определяет функциональность формы №2
Unit2.dfm Файл формы №2 Содержит список свойств всех компонентов, включенных в форму №2
Unit2.dcu Объектный файл для Unit2.pas Откомпилированная версия Unit2.pas
Unit1.pas Файл программного модуля для формы №1 Определяет функциональность формы №1
Unit1.dfm Файл формы №1 Содержит список свойств всех компонентов, включенных в форму №1
Unit1.dcu Объектный файл для Unit1.pas Откомпилированная версия Unit2.pas

 

Текст программы

 

Листинг программы.

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.

 



2019-07-03 172 Обсуждений (0)
Спецификация программы 0.00 из 5.00 0 оценок









Обсуждение в статье: Спецификация программы

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (172)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)