,,,
1.
1.1.
1.2.
1.3. .
1.4.
2.
2.1.
2.2.
2.3.
2.4.
2.4.1. Delphi
2.5. 堠
.
, , , , , , , , . , . , . , , "" . , , .
.
, 80- . , . . , . , , . .
, , , . . .
, .
1.1.
, , . , , , . , .
, , .
, , , .
, () (), , , . , , , , , , , , .
:
,
(),
,
, ,
, , .
:
v , .
v : - , , , , .. . . ().
, , . , .
, .
, , , . .
. 10-20% . .
, , .
, .
:
v , ;
v ,
. , : , .
, , .
, , :
- ( );
- ( );
- ( ).
. , . , , ().
: , . , . . " " .
. , , . , , , . , , , , . ., , , . , , .
1.2.
, , : , (), , , .
1. , : , .
2. () . " ".
. - , , , , .
3. . - , . . , .
4. . ( , ..).
5. . : . , , , .
. . , , , , ..
1.3. .
. , , 23-24% , - 30%. , . , , , , , 55-60% .
, , , . .
( ), , , , . . , , , .
- . , ( ) . , . - . . .
1998 . - . ( ) .
, , , . , , , . , , , .
, , :
v ;
v , ;
v .
.
, :
Ø ,
Ø ,
Ø ,
Ø ,
Ø ,
Ø .
1990- ., , . , .
1.4.
. . : , .
(. 1).
. 1.
0 , . 0 - . . , , , 35-40% , - .
, , . , .
, . . , . , , , , - 75% , . , 1986 .
, (, ) , : , .
, . ,
-, . , , . , , 0, , T, , , .
-, , , , . , , , ? : , .
-, , , - . : , . .
. ,
2001 , 13- , , 30%. , 24%, , " " , .
, , , . (Laffer Curve) - .
, , , . , , .
, .
2.1.
. , , - . , , .
, , .
, .
2.2.
. , , . . : , .
2.3.
(1) (2) .
(1)
, 堠 (2)
BD(t) t, ;
t - , .
tf - (final)
tb - (begin) ;
PRFt - (profit), t, ./;
TXRT - (tax rate).
(3) (4) :
(3)
(4)
t ( t) (5)
(5)
2.4.
Delphi.
2.4.1. Delphi
, .
, . : = * .
. .
= + , .
.
; . , .. .
, . .
t .
( 10%) ( 20%), . .
(t=30 ) 100 .. (. . 2).
. 2.
, , .
2.6.
. , , , , , , 30 %.
: , . . , , . , , , .
, 30% .
- . : , - , . .
, , . , . .
, , . , .
, , , , , , . , , . , , , : - - - .
. , (35%), 30% ( ) 5 .
7 , ( ) 400 ./. , . 10 ( 8 ) .
. , , 12 . 9223, 967 .. , .
, , , , , , . , .
, , , , , .
, , , , , , 21 %.
: , . . , .
, , . , .
, ( ""), . , .
. , , :
à à à
1. .. Windows: . .: , 2001. 400 .
2. .., .. . .: -, 2002. 304 .
3. : . / . . . . 4- , . .: , 1998. 544 .
4. / . .. , .. , 3- . : , 2001. 544 .
5. : / . . .. . .: , 2001. 734 .
6. .. : . .: , 1997. 568 .
7. .. . . 2- ., . . .: , 2000. 560 .
8. .. . : . / .. , .. , .. ; . .. . .: , 2002. 368 .
9. ., . . . .: , 2001. 624 .
10. .., .., .. : . .: .. , ѻ, 1997. 368 .
1.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeeProcs, TeEngine, Chart, StdCtrls, Buttons, ExtCtrls,Series;
type
TForm1 = class(TForm)
Panel1: TPanel;
lbedMinNalog: TLabeledEdit;
lbedStartCapital: TLabeledEdit;
lbedMaxRent: TLabeledEdit;
lbedMinRent: TLabeledEdit;
lbedStepRent: TLabeledEdit;
BitBtn1: TBitBtn;
lbedMinPeriod: TLabeledEdit;
Chart: TChart;
lbedMaxNalog: TLabeledEdit;
lbedStepNalog: TLabeledEdit;
lbedMaxPeriod: TLabeledEdit;
lbedStepPeriod: TLabeledEdit;
Timer1: TTimer;
procedure BitBtn1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure lbedMaxNalogKeyPress(Sender: TObject; var Key: Char);
private
MaxP,MinP,Period,StepP:Integer;
function Postupleniya(Nalog,Rentab,Capital:Double;years:integer):Double;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
function TForm1.Postupleniya(Nalog, Rentab, Capital: Double;
years: integer): Double;
var
Pribil,PribilVNalog,OstPribili,Kapital:Double;
begin
Result:=0.0;
while years>0 do
begin
dec(years);
Pribil:=Capital*Rentab/100;
PribilVNalog:=Pribil*Nalog/100;
OstPribili:=Pribil-PribilVNalog;
Capital:=Capital+OstPribili;
Result:=Result+PribilVNalog;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
MinNalog,MaxNalog,StepNalog,Rent,DohodVBudget,
StavkaNaloga,NachKapital,MinRentab,
MaxRentab,StepRent:Double;
i:integer;
begin
for i:=0 to ComponentCount-1 do
if Components[i] is TLabeledEdit then
if TLabeledEdit(Components[i]).Text='' then
begin
Timer1.Enabled:=false;
Exit;
end;
MinNalog:=StrToFloat(lbedMinNalog.Text);
MaxNalog:=StrToFloat(lbedMaxNalog.Text);
StepNalog:=StrToFloat(lbedStepNalog.Text);
NachKapital:=StrToFloat(lbedStartCapital.Text);
MaxRentab:=StrToFloat(lbedMaxRent.Text);
MinRentab:=StrToFloat(lbedMinRent.Text);
StepRent:=StrToFloat(lbedStepRent.Text);
MinP:=StrToInt(lbedMinPeriod.Text);
MaxP:=StrToInt(lbedMaxPeriod.Text);
StepP:=StrToInt(lbedStepPeriod.Text);
Timer1.Enabled:=true;
with Chart do
begin
SeriesList.Clear;
Legend.LegendStyle:=lsSeries;
Title.Text.Strings[0]:=IntToStr(Period)+' ';
Rent:=MinRentab;
while Rent<=MaxRentab do
begin
AddSeries(TLineSeries.Create(Self));
Series[SeriesCount-1].Title:=FloatToStr(Rent)+'%';
StavkaNaloga:=MinNalog;
while StavkaNaloga<=MaxNalog do
begin
DohodVBudget:=Postupleniya(StavkaNaloga,Rent,NachKapital,Period);
Series[SeriesCount-1].AddXY(StavkaNaloga,DohodVBudget,'');
StavkaNaloga:=StavkaNaloga+StepNalog;
end;
Rent:=Rent+StepRent;
end;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Period<=MaxP then
begin
Period:=Period+StepP;
BitBtn1Click(Self);
end
else
Period:=MinP;
end;
procedure TForm1.lbedMaxNalogKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then BitBtn1Click(Self);
if not(Key in ['0'..'9',#8,','])then Key:=#0;
end;
end.
1. 1.1. 1.2. 1.3. . 1.4.
Copyright (c) 2025 Stud-Baza.ru , , , .