51064

Дії та їх опрацювання

Лабораторная работа

Информатика, кибернетика и программирование

Дії та їх опрацювання. Мета: Створити стратегічну гру Біржа цінних паперівяка моделює операцію інвестування щорічного капіталув акції трьох різних підприємств...

Украинкский

2014-02-10

26.17 KB

0 чел.

Розробив

Олійник Д.А.

22.03.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова

1

Змін

Арк.

№ Докум

Підпис

Дата

Практична робота №4

Тема: дії та їх опрацювання..

Мета: Створити стратегічну гру «Біржа цінних паперів»,яка моделює операцію інвестування щорічного капіталув акції трьох різних підприємств

Хід роботи

unit Unit1;

interface

uses

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

 Dialogs, StdCtrls, Grids, Buttons;

type

 TForm1 = class(TForm)

   SpeedButton1: TSpeedButton;

   SpeedButton2: TSpeedButton;

   BitBtn1: TBitBtn;

   StringGrid1: TStringGrid;

   StringGrid2: TStringGrid;

   StringGrid3: TStringGrid;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   Label9: TLabel;

   Label10: TLabel;

   Label11: TLabel;

   procedure SpeedButton1Click(Sender: TObject);

   procedure SpeedButton2Click(Sender: TObject);

   procedure Refresh;

   procedure FormCreate(Sender: TObject);

   procedure StringGrid2SetEditText(Sender: TObject; ACol, ARow: Integer;

     const Value: String);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

Розробив

Олійник Д.А.

22.03.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова

2

Змін

Арк.

№ Докум

Підпис

Дата

const

N=5;

P: array [0..N-1,1..3,1..3] of integer=

(((40,-40,30),(-20,10,10),(-10,40,-30)),   {r=(0-1)}

((50,-70,40),(-30,70,-30),(-50,20,30)),   {r=(1-2)}

((30,-70,70),(-30,70,-30),(20,10,-50)),   {r=(2-3)}

((-50,-30,70),(50,-50,70),(30,50,-70)),   {r=(3-4)}

((30,-70,70),(-30,70,-30),(40,0,-50)));   {r=(4-5)}

Prob:array[0..N-1,1..3] of integer=

((22,41,37),(27,34,39),(47,33,20),(10,53,37),(41,34,25));

var

capital,year,profit,r :integer;

money                 :array[0..2]of integer;

implementation

var i,j:integer;

     s:string;

begin

Str(capital,s);Form1.Label6.Caption:=s+'доларів';

Str(year,s);Form1.Label5.Caption:=s+'рік';

Str(profit,s);Form1.Label7.Caption:=s+'доларів';

Form1.Label8.Caption:='Введіть суму';

Form1.SpeedButton2.Enabled:=False;

Form1.SpeedButton1.Enabled:=False;

randomize;

r:=random(N);

for i:=1 to 3 do

for j:=1  to 3 do

begin

Str(P[r,j,i],s);Form1.StringGrid1.Cells[i,j]:=s+'центів';

end;

for i:=1 to 3 do

begin

Str(prob[r,i],s); Form1.StringGrid3.Cells[i,0]:=s+'%';

Form1.StringGrid2.Cells[0,i]:='';

end;

{$R *.dfm}

procedure     TForm1.SpeedButton2.Click (Sender: TObject);

varfirst,second,varant,i,code:integer;

s:integer;

begin

randomize;

variant:=random(100);

first:=Prob[r,1];

second:=first+Prob[r,2];

profit:=0;

for i:=0 to2do val(StringGrid2.Cells[0,i+1],money[i],code);

ifvariant<first then

Розробив

Олійник Д.А.

22.03.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова

3

Змін

Арк.

№ Докум

Підпис

Дата

begin

for i:=0 to 2 do

profit:=profit+money[i]*P[r,i+1,1];

Label9.Visible:=True;

Label8.Caption:='Зросло євро';

end;

if(variant>=first)and(vriant<second) then

begin

for i:=0 to 2 do

profit:=profit+money[i]*P[r,i+1,3];

Label11.Visible:=True;

Label8.Caption:='Зріс долар';

end;

profit:=round(profit/100);

Str(profit,s); Label7.Caption:=s+'доларів';

Label7.Visible:=True;

Label8.Visible:=True;

SpeedButton1.Enabled:=False;

SpedButton2.Enabled:=True;

procedure TForm1.FormCreate(Sender: TObject);

begin

capital:=1000;

year:=2000;

profit:=0;

Refresh;

StringGrid1.Cells[1,0]:='Зросте євро';

StringGrid1.Cells[2,0]:='Зросте єна';

StringGrid1.Cells[3,0]:='Зросте долар';

StringGrid1.Cells[0,1]:='Hunday';

StringGrid1.Cells[0,2]:='Philips';

StringGrid1.Cells[0,3]:='Bosh';

StringGrid2.Cells[0,0]:='Інвестиції,$';

StringGrid3.Cells[0,0]:='Ймовірність';

end;

procedure TForm1.StringGrid2SetEditText(Sender: TObject; ACol,

 ARow: Integer; const Value: String);

 var i,code:integer;s:string;

begin

for i:=0 to 1 do val(StringGrid2.Cells[0,i+1],money[i],code);

money[2]:=capital-money[0]-money[1];

Str(money[2],s);

StringGrid2.Cells[0,3]:=s;

SpeedButton1.Enabled:=True;

end;

end;

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin

Розробив

Олійник Д.А.

22.03.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова

4

Змін

Арк.

№ Докум

Підпис

Дата

year:=year+1;

Capital:=capital+profit;

profit:=0;

Refrsh;

Label9.Visible:=False;

Label10.Visible:=False;

Lablel7.Visible:=False;

end;

Висновок: Я навчився створювати програму у вигляді гри в біржу


 

А также другие работы, которые могут Вас заинтересовать

44677. Одушевленные и неодушевленные имена существительные 90.5 KB
  Одушевленные и неодушевленные имена существительные. Цель: познакомить с понятиями одушевленные и неодушевленные имена существительные. Задачи: Образовательная: закрепить умения находить в тексте имена существительные Сформировать понятие об одушевленных и неодушевленных именах существительных учить различать одушевленные и неодушевленные имена существительные; закрепить умение находить в предложениях подлежащее и сказуемое связь слов в предложении; учить приемам анализа и синтеза. Подвести к выводу: одушевленные имена...
44678. Слова,которые отвечают на вопросы кто? что? 37.5 KB
  Дети читают слова написанные на доске ставят к ним вопросы:швеязонтикмалинашумпопугайпесоксердцевосток Ирина метро. Назовите слова обозначающие изображенные предметы.Поставьте к словам вопросы.Учащиеся записывают слова классифицируя их по группам: люди животные растения.
44679. Обезмасливание гача (петролатума) кристаллизацией из растворов 20.6 KB
  Процесс обезмасливания проводится с целью выделения из гача (петролатума) жидких масляных углеводородов и низкоплавких твердых углеводородов и является головным в производстве товарных парафинов и церезинов. Процесс осуществляется кристаллизацией из раствора гача (петролатума) в растворителе