- •Завдання на курсовий проект (роботу) студенту
- •Календарний план
- •Реферат
- •Введение
- •Постановка задачи
- •Имя: array[1..N, 1..M] of тип;
- •Разработка алгоритма
- •Структура программы
- •Инструкция оператору
- •Перечень ссылок
- •Приложение а.
- •Приложение б текст программы
- •Приложение в результаты выполнения программы
Структура программы
Каждая написанная программа на языке Lazarus состоит из заголовка программы, поля используемых модулей Uses, который может не входить в саму структуру, а также блоков описания и исполнения (начинаются составным оператором begin и заканчиваются end).
Данная программа состоит из процедур, которые выполняют задачи, поставленные при разработке алгоритма.
Описание процедур представлено ниже:
procedure Button1Click(Sender: TObject) (приложение Б, строки 60-69);
procedure Button2Click(Sender: TObject) (приложение Б, строки 71-85);
procedure Button3Click(Sender: TObject) (приложение Б, строки 87-132);
procedure Button4Click(Sender: TObject) (приложение Б, строки 134-166);
procedure Sort(a,b: integer; var M:mas) (приложение Б, строки 180-205);
procedure Multiply(M,N: mas; var P: mas) (приложение Б, строки 207-216).
Также в программе присутствует одна функция, проверяющая матрицу на наличие симметричных строк:
function Check(a,b: integer; M:mas): Boolean; (приложение Б, строки 168-177).
При вызове Button1Click(Sender: TObject) происходит создание матрицы и заполнение ее случайными действительными числами.
При вызове TForm1.Button2Click(Sender: TObject) случайным образом генерируются векторы действительных чисел, которые будут использованы для модификации матрицы.
При вызове TForm1.Button3Click(Sender: TObject) программа считывает информацию из полей ввода и создает новую матрицу на основе предыдущей, в которую вставляются после соответствующего столбца и строки векторы действительных чисел.
При вызове TForm1.Button4Click(Sender: TObject) программа анализирует обе матрицы, вызывая функцию TForm1.Check(a,b: integer; M: mas): Boolean, и в соответствии с возвращенным значением либо упорядочивает обе матрицы по убыванию произведений элементов строк с помощью процедуры TForm1.Sort(a,b: integer; var M: mas), либо создает новую матрицу, полученную умножением первой матрицы на вторую, используя процедуры TForm1.Multiply(M,N: mas; var P: mas).
Схема алгоритма программы представлена в приложении А.
На рисунке 3.1 представлена структура программы.
procedureButton4Click
function
check
procedure sort
procedure multiply
Рисунок 3.1 – структура программы.
ОПИСАНИЕ ИСХОДНЫХ ДАННЫХ, ПРАВИЛА ИХ ПОДГОТОВКИ, СВЕДЕНИЯ ОБ ОГРАНИЧЕНИЯХ НА ПРИМЕНЕНИЕ ПРОГРАММЫ
В задании дана матрица действительных чисел. По умолчанию матрица генерируется с помощью процедуры TForm1.Button1Click(Sender: TObject), но, однажды будучи сгенерированной, матрица может быть отредактирована в поле StringGrid1. При вызове дальнейших процедур изменения будут учтены, и все процедуры и функции будут оперировать измененной матрицей.
Векторы чисел an и bn генерируются случайным образом, при условии, что матрица уже создана.
Оба числа p и q, необходимые для создания измененной матрицы, должны быть заданы в текстовых полях, иначе программа будет использовать заданные по умолчанию значения.
Перед разделом Var описывается запись:
type
mas = array[1..100,1..100] of real;
vector = array[1..100] of real;
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
ListBox1: TListBox;
ListBox2: TListBox;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
StringGrid3: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
function Check(a,b: integer; M:mas): Boolean;
procedure Sort(a,b: integer; var M:mas);
procedure Multiply(M,N: mas; var P: mas);
private
{ private declarations }
public
{ public declarations }
end;
В разделе Var описываются исходный и результирующий файлы и форма программы.
var
Form1: TForm1;
Matrix1, Matrix2, Matrix3: mas;
A,B: vector;
p,q: byte;
i,j,k: integer;