Читайте также:
|
|
Для виконання завдання курсової роботи на формі розмістили компоненти:
Label1Label8 – для виведення текстової інформації щодо змісту завдання.
Edit1- Edit2 – для виведення завдань.
StringGrid- StringGrid5 – для виведення згенерованої матриці А,B,C,Y,X,D.
Memo1-5 –Для виведення згенерованої матриці.
Аналіз результатів комп’ютерної реалізації програми
Реалізація завдання 1
Pеалізація завдання 2
Реалізація завдання 3.
Реалізація завдання 4.
Реалізація завдання 5.
Реалізація завдання 6.
Реалізація завдання 7.
Виведення результатів матриці А в текстовий файл а.txt
Висновок
Виконуючи завдання курсової роботи, я вдосконалив практичні навички роботи з структурованими типами даних. Набув представлення про можливості дій з масивами: знаходження мінімального числа, максимального. Сортування масивів різноманітними методами:
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.
Дата добавления: 2015-11-04; просмотров: 58 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Аналіз завдання та розробка методу вирішення задач | | | Лабораторная работа № 2 |