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;

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


 

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

18536. Подпрограммы (функции) 197.24 KB
  Лабораторная работа № 6 Функции Вы уже знакомы с некоторыми библиотечными функциями такими как printf scanf getchar putchar gets sin cos ... . Теперь нужно знать как создавать свои собственные функции. Функция это самостоятельная единица программы предназначенн...
18537. Символьные строки и функции обработки строк 223.01 KB
  Лабораторная работа № 7 Символьные строки и функции обработки строк Строка символов это последовательность символов произвольной длины завершающаяся нульсимволом все биты в байте нулевые. Строковые константы записываются в кавычках например: Как Ва...
18538. Программирование простейших циклов на языке Си. Работа в системе Turbo С (версия 2.0) 597.78 KB
  Лабораторная работа № 1 Программирование простейших циклов на языке Си. Работа в системе Turbo С версия 2.0 Структура программы Любая программа на языке Си состоит из одной или более функций являющихся основными модулями программы. Функция с которой начи...
18539. Обработка числовых последовательностей 77 KB
  Лабораторная работа № 2 Обработка числовых последовательностей Существует круг задач в которых необходимо както обработать заданную числовую последовательность причем для получения результата достаточно просмотреть последовательность один раз. Например чт
18540. Прицелы для прямой наводки и прицелы для непрямой наводки 15.07 KB
  Прицелы наземной артиллерии можно подразделить на два вида: прицелы для прямой наводки и прицелы для непрямой наводки. Прицелы прямой наводки могут быть использованы только для стрельбы по видимой цели. Прицелы непрямой наводки могут быть использованы для всех видов...
18541. Реактивная система залпового огня (РСЗО) 23.33 KB
  Реактивная система залпового огня РСЗО это совокупность боевой машины пускового оборудования и реактивных снарядов. Впервые РСЗО а именно БМ13 Катюша была применена 11 июля 1942 года. 122мм реактивная система залпового огня 9К51 Град предназначена для: уничтож
18543. ПРОВЕРКА НУЛЕВЫХ УСТАНОВОК МЕХАНИЧЕСКОГО ПРИЦЕЛА 12.62 KB
  ПРОВЕРКА НУЛЕВЫХ УСТАНОВОК МЕХАНИЧЕСКОГО ПРИЦЕЛА. Механический прицел считается выверенным если при горизонтальном положении контрольной площадки на казеннике орудия и при горизонтальном положении верхнего среза корзины панорамы по контрольному уровню в продольно
18544. Прибор контрольных измерений (ПКИ) 14.8 KB
  Прибор контрольных измерений ПКИ Для измерения увеличения диаметра канала ствола гладкоствольного орудия типа Т12 с целью определения отклонения начальной скорости снарядов изза износа канала ствола предназначен Прибор ПКИ рис. 2. Данные ...