Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursova_robota_Borland_Delphi_Sosnovskogo_O.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
672.77 Кб
Скачать

4 Реалізація проекту в середовищі Borland Delphi

Для виконання завдання курсової роботи на формі розмістили компоненти:

L abel1Label8 – для виведення текстової інформації щодо змісту завдання.

Рисунок 4.1

E dit1- Edit2 – для виведення завдань.

Рисунок 4.2

StringGrid- StringGrid5 – для виведення згенерованої матриці А,B,C,Y,X,D.

M

Рисунок 4.3

emo1-5 –Для виведення згенерованої матриці.

5 Аналіз результатів комп’ютерної реалізації програми

Реалізація завдання 1

Рисунок 5.1- Завдання 1

Pеалізація завдання 2

Рисунок 5.2 – Завдання 2

Реалізація завдання 3.

Рисунок 5.3 – Завдання 3

Реалізація завдання 4.

Рисунок 5.4 – Завдання 4

Реалізація завдання 5.

Рисунок 5.5 – Завдання 5

Рисунок 5.5 – Завдання 5

Реалізація завдання 6.

Рисунок 5.6 – Завдання 6

Реалізація завдання 7.

Рисунок 5.7 – Завдання 7

В иведення результатів матриці А в текстовий файл а.txt

Рисунок 5.8

Висновок

Виконуючи завдання курсової роботи, я вдосконалив практичні навички роботи з структурованими типами даних. Набув представлення про можливості дій з масивами: знаходження мінімального числа, максимального. Сортування масивів різноманітними методами:

  1. Сортування вставкою.

  2. Сортування методом бульбашок.

  3. Сортування методом обміну.

Знаходили суму та добуток елементів. Поглибив свої знання у візуальному середовищі програмування Borland Delphi.

Використана література:

1.В.М. Долгіх Вища математика для економістів.

2.Валєєв К.Г., Джаладова І.А. Вища математика: Навч. Посібник;

3.Дарахвелидзе П.Г., Марков Е.П. Програмирование в Delphi 7 . – СПб.: БХВ\ Петербург, 2003.- 784 с .

4.Томас Кармен, Алгоритми. Побудова й аналіз. Видання друге.

5.Фленов М.Е. Біблія Delphi.

Додаток

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, Menus, StdCtrls, Math, ComCtrls, jpeg, ExtCtrls;

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

MainMenu1: TMainMenu;

N11: TMenuItem;

N21: TMenuItem;

N31: TMenuItem;

N41: TMenuItem;

N51: TMenuItem;

N61: TMenuItem;

N71: TMenuItem;

N72: TMenuItem;

Label1: TLabel;

Edit1: TEdit;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

Label3: TLabel;

Edit2: TEdit;

StringGrid4: TStringGrid;

StringGrid5: TStringGrid;

StringGrid6: TStringGrid;

N1: TMenuItem;

Label2: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label8: TLabel;

Label9: TLabel;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

Memo1: TMemo;

Memo2: TMemo;

Memo3: TMemo;

Memo4: TMemo;

Memo5: TMemo;

Label7: TLabel;

Label10: TLabel;

Image1: TImage;

procedure N31Click(Sender: TObject);

procedure N41Click(Sender: TObject);

procedure N51Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure N61Click(Sender: TObject);

procedure N71Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N72Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

const

n=7; k=22;

var

Form1: TForm1;

A:array[1..n,1..n]of integer;

B:array[1..n]of integer;

C:array[1..n]of integer;

X:array[1..n]of integer;

Y:array[1..n]of integer;

d:array[1..n,1..n] of integer;

max:integer;

S,i,j:integer;

st:string;

implementation

{$R *.dfm}

procedure TForm1.N31Click(Sender: TObject);

begin

for i:=1 to n do

for j:=1 to n do

if(a[i,j]<0) and (max<abs(a[i,j]))then max:=abs(a[i,j]);

edit1.Text:='Максимальний по модулю елемент серед відємних -'+IntToStr(max);

label3.caption:='В двовимірному масиві,що відповідає матриці A,'

+#13+ 'Максимальний по модулю елемент серед відємних'

end;

procedure TForm1.N41Click(Sender: TObject);

var

s:integer;

begin

for j:=1 to n do

begin

s:=1;

for i:=1 to n do

if A[i,j] mod 2=0 then

s:=s*A[i,j];

b[j]:=s;

StringGrid2.Cells[j-1,0]:=IntToStr(b[j]);

label3.caption:='З масиву, що відповідає матриці А утворити одновимірний масив В '

+#13+'B[i] є добутком парних елементів і-го стовпців:';

end;

end;

procedure TForm1.N51Click(Sender: TObject);

var

t:integer;

m_in:integer;

begin

for i:=1 to n do

c[i]:=b[i];

for i:=1 to n-1 do

begin

m_in:=i;

for j:=i+1 to n do

if c[j]<c[m_in] then m_in:=j;

t:=c[i];

c[i]:=c[m_in];

c[m_in]:=t;

end;

for i:=1 to n do

StringGrid3.Cells[i-1,0]:=IntToStr(c[i]);

Label3.Caption:='Відсортувати одновимірний масив В за методом вибору.'

+#13+'Результатом сортування - масив С.';

end;

procedure TForm1.N21Click(Sender: TObject);

begin

for i:=1 to n do

for j:=1 to n do

begin

A[i,j]:=RandomRange(-10,10*k);

StringGrid1.Cells[j-1,i-1]:=IntToStr(a[i,j]);

label3.caption:='Задано квадратну матрицю А розміром n*n, де n=(k+g) mod 3+6,'

+#13+'(k-номер студента в журналі групи, g-номер групи (1 або 2)).'

+#13+'матрицz заповнюються випадковим чином з проміжку [-10g,10k]';

end;

end;

procedure TForm1.N61Click(Sender: TObject);

var

S:real;

begin

S:=0;

for i:=1 to n do

begin

S:=S+cos(C[n-i+1]-B[i]);

edit2.text:=FloatToStr(S);

label3.caption:='Використовуючи елементи масивів В та С, виконати обчислення '

+#13+'';

image1.Visible:=true;

end;

end;

procedure TForm1.N71Click(Sender: TObject);

var

s,min,t,k:integer;

begin

for i:=1 to n do

begin

s:=0;

for j:=1 to n do

if a[i,j] mod 2 <> 0 then

begin

s:=s+a[i,j];

x[i]:=s;

StringGrid4.Cells[0,i-1]:=IntToStr(x[i]);

end;

image1.Visible:=false;

end;

for i:=1 to n do

begin

y[i]:=x[i];

StringGrid6.Cells[0,i-1]:=IntToStr(x[i]);

end;

for i:=1 to n do

for j:=1 to n do

begin

d[i,j]:=a[i,j];

StringGrid5.Cells[j-1,i-1]:=IntToStr(d[i,j]);

label3.caption:='Відсортувати матрицю методом бульбашок'

end;

begin

for k:=1 to n do

for i:=1 to n-1 do

if Y[i]>Y[i+1]then

begin

t:=Y[i];

Y[i]:=Y[i+1];

Y[i+1]:=t;

for j:=1 to n do

begin

t:=D[i,j];

D[i,j]:=D[i+1,j];

D[i+1,j]:=t;

end;

end;

for i:=1 to n do

StringGrid6.Cells[0,i-1]:=IntToStr(y[i]);

for i:=1 to n do

for j:=1 to n do

StringGrid5.Cells[j-1,i-1]:=IntToStr(d[i,j]);

Label2.Caption:=('Завдання 6.'+#13+'Сортування масиву методом "Обміного сортування".');

end;

end;

procedure TForm1.N1Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N72Click(Sender: TObject);

begin

for i:=1 to n do

begin

St:=' ';

for j:=1 to n do

St:=St+#9+IntToStr(A[i,j]);

Memo1.lines.add(st)

end;

Memo1.Lines.SaveToFile('A.txt');

for i:=1 to n do

begin

St:=' ';

St:=St+#9+IntToStr(B[i]);

Memo2.lines.add(st)

end;

Memo2.Lines.SaveToFile('B.txt');

for i:=1 to n do

begin

St:=' ';

St:=St+#9+IntToStr(C[i]);

Memo3.lines.add(st)

end;

Memo3.Lines.SaveToFile('C.txt');

for i:=1 to n do

begin

St:=' ';

St:=St+#9+IntToStr(X[i]);

Memo4.lines.add(st)

end;

Memo4.Lines.SaveToFile('X.txt');

for i:=1 to n do

begin

St:=' ';

for j:=1 to n do

St:=St+#9+IntToStr(d[i,j]);

Memo5.lines.add(st)

end;

Memo5.Lines.SaveToFile('d.txt');

label3.caption:='Збереження масивів';

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]