Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Завдання №2

Читайте также:
  1. Блок практичного завдання
  2. Блок практичного завдання
  3. Домашнє завдання: 3 хв.
  4. Завдання
  5. Завдання
  6. Завдання
  7. Завдання

Скласти програму для обробки файла (бази) даних по заданому об’єкту

Програма повинна мати наступне меню:

- Додавання записів;

- Редагування записів;

- Вилучення запису із заданим номером;

- Перегляд усіх записів;

- Видача звіту. Для введення, редагування та перегляду записів розробити необхідні екранні форми.

Початкові дані:

Ведення обліку на елеваторі.

Вміст кожного запису:

1) Номер накладної;

2) Дата надходження;

3) Назва агрофірми;

4) Найменування зернової культури;

5) Кількість, ц;

6) Вологість, %;

7) % білка;

Об’єм бази даних повинен складати 10 – 15 записів. Звітна форма повинна виводити на екран список агрофірм, що поставляють задану зернову культуру (уводиться з клавіатури).

 

2.2 Виконання індивідуального завдання

 

Розроблюємо учбово-демонстраційну програму для дослідження алгоритмів обробки даних.

Завдання реалізоване в одній программі, котра поділена на чотири частини. Всі підпрограми пов’язані з головною формою та викликаються з меню головної форми.

 

Рис. 1 - Головна форма завдання

 

Програма містить наступні команди меню:

1 Одномірний масив

2 Матриця

3 Обробка рядів

4 Табулювання функції

Надалі запускаємо програму, вставляємо свої задані величини.

Результат на рис.2-5:

Рис. 2 – меню «Одномірний масив»

 

Рис. 3 – меню «Матриця»

Рис. 4 – меню «Обробка рядів»

 

Рис. 5 - меню «Табулювання функції»

Мною був використаний такий програмний код:

unit Unit1;

interface

uses

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

Dialogs, ComCtrls, StdCtrls, Grids, Math, TeEngine, TeeFunci, Series,

ExtCtrls, TeeProcs, Chart;

type

TForm1 = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

Label1: TLabel;

Button1: TButton;

StringGrid1: TStringGrid;

TabSheet2: TTabSheet;

Label4: TLabel;

StringGrid2: TStringGrid;

Button2: TButton;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

Label8: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Button4: TButton;

Memo1: TMemo;

Memo2: TMemo;

Button3: TButton;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Label13: TLabel;

StringGrid4: TStringGrid;

OpenDialog1: TOpenDialog;

Button5: TButton;

Label14: TLabel;

Label15: TLabel;

Edit5: TEdit;

Edit6: TEdit;

Label9: TLabel;

Label16: TLabel;

Chart1: TChart;

Series1: TFastLineSeries;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label24: TLabel;

StringGrid5: TStringGrid;

Label2: TLabel;

StringGrid3: TStringGrid;

StringGrid6: TStringGrid;

Label3: TLabel;

procedure Button1Click(Sender: TObject);

procedure TabSheet1Show(Sender: TObject);

procedure TabSheet2Show(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure TabSheet4Show(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

i, iParn, iNeParn: integer;

begin

iParn:= 0;

iNeParn:= 0;

for i:= 0 to 19 do

if StrToInt(StringGrid1.Cells[i, 0]) mod 2 = 0

then begin

StringGrid5.Cells[iParn, 0]:= StringGrid1.Cells[i, 0];

inc(iParn);

end

else begin

StringGrid6.Cells[iNeParn, 0]:= StringGrid1.Cells[i, 0];

inc(iNeParn);

end;

end;

procedure TForm1.TabSheet1Show(Sender: TObject);

var

i: integer;

begin

for i:= 0 to 19 do

StringGrid1.Cells[i, 0]:= IntToStr(random(20) - 10);

end;

procedure TForm1.Button2Click(Sender: TObject);

var

i, j, iMax, jMax, max: integer;

buf: string;

begin

iMax:= 0;

jMax:= 0;

max:= StrToInt(StringGrid2.Cells[0, 0]);

for i:= 0 to 5 do

for j:= 0 to 5 do

begin

StringGrid3.Cells[i, j]:= StringGrid2.Cells[i, j];

if StrToInt(StringGrid2.Cells[i, j]) > max

then begin

iMax:= i;

jMax:= j;

max:= StrToInt(StringGrid2.Cells[i, j]);

end;

end;

buf:= StringGrid3.Cells[5, 5];

StringGrid3.Cells[5, 5]:= StringGrid3.Cells[iMax, jMax];

StringGrid3.Cells[iMax, jMax]:= buf;

end;

procedure TForm1.TabSheet2Show(Sender: TObject);

var

i, j: integer;

begin

randomize;

for i:= 0 to 5 do

begin

for j:= 0 to 5 do

StringGrid2.Cells[i, j]:= IntToStr(random(10));

stringGrid3.Rows[i].Clear;

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

if OpenDialog1.Execute then

memo1.Lines.LoadFromFile(openDialog1.FileName);

memo2.Lines.Clear;

end;

procedure TForm1.Button3Click(Sender: TObject);

var

i: integer;

begin

memo2.Lines.Clear;

for i:= 0 to memo1.Lines.Count - 1 do

if pos(' ', memo1.Lines[i]) = 0

then memo2.Lines.Add(memo1.Lines[i]);

end;

procedure TForm1.TabSheet4Show(Sender: TObject);

begin

stringGrid4.ColCount:= 1;

stringGrid4.Cells[0,0]:= 'X';

stringGrid4.Cells[0,1]:= 'Y';

chart1.Series[0].Clear;

label22.Caption:= '';

label23.Caption:= '';

label24.Caption:= '';

end;

procedure TForm1.Button5Click(Sender: TObject);

var

i, cellsCount: integer;

x0, x1, xCur, dx, y, a, b: double;

sry, min, max: double;

first: bool;

begin

chart1.Series[0].Clear;

if (edit2.text <> '') and (edit3.Text <> '') and (edit4.Text <> '')

and (edit5.Text <> '') and (edit6.Text <> '') and (StrToFloat(edit4.Text) > 0)

then begin

x0:= strToFloat(edit2.Text);

x1:= strToFloat(edit3.Text);

dx:= strToFloat(edit4.Text);

a:= strToFloat(edit5.Text);

b:= strToFloat(edit6.Text);

xCur:= x0;

cellsCount:= 1;

i:= 1;

first:= true;

repeat

inc(cellsCount);

stringGrid4.ColCount:= cellsCount;

stringGrid4.Cells[i, 0]:= FloatToStr(xCur);

if xCur > ln (a)

then begin

if a >= 0

then begin

y:= power (a/(a+xCur*xCur),1/3);

stringGrid4.Cells[i, 1]:= FloatToStr(y);

chart1.Series[0].AddXY(xCur, y, '', 545);

if first

then begin

max:= y;

min:= y;

sry:= sry + y;

first:= false;

end

else begin

if y > max

then max:= y;

if y < min

then min:= y;

sry:= sry + y;

first:= false;

end;

end

else stringGrid4.Cells[i, 1]:= 'NaN';

end

else begin

y:=(10* exp(-b*xCur))+ power(ln (a/xCur),2);

stringGrid4.Cells[i, 1]:= FloatToStr(y);

chart1.Series[0].AddXY(xCur, y, '', 545);

if first

then begin

max:= y;

min:= y;

sry:= sry + y;

first:= false;

end

else begin

if y > max

then max:= y;

if y < min

then min:= y;

sry:= sry + y;

first:= false;

end;

end;

xCur:= xCur + dx;

inc(i);

until (xCur >= x1);

sry:= sry / i;

label22.Caption:= FloatToStr(min);

label23.Caption:= FloatToStr(max);

label24.Caption:= FloatToStr(sry);

end;

end;

end.

 

 

 

 


Дата добавления: 2015-07-16; просмотров: 39 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Системні вимоги Borland Delphi| Иван III Васильевич

mybiblioteka.su - 2015-2024 год. (0.02 сек.)