. , , ,

,,,

,

.. ( )

2009


: () :

- n; ;

- λ ;

- .

. . .

n m λ
7 3 2 4.0 1.0

1. C

1.1

1.2

1.3

1.4

1.5

1.6

1.7

2.

2.1

2.2

3.

3.1 ( )

3.2 -

3.3

3.4

1

2


, . , ().

(, , , ), . , , , . .

, , (). - . , : - ( , ), .

, ( , , ..) , .

:

- (), .. , ;

- (Q), .. , ;

- ();

- (k);

- ();

- ();

- ();

- ();

- , ;

- ;

- , ..

2 : (). , , , , (, , , ). , , , , .

. , , . . , . , .. .


1. C

1.1

, . , .

, . , .

.

, , .

.1.


. , . .1.

1.2

, .

λ , .

, .

, . , : .

, , .., , .

, , , , .

( ), , .


1.3

. , , , , . , . , , . , .. . , .

: . , , , , .

, , .1, :

.. 1 1 , , , ,

,

,

. (1.3.1)

, (1.3.1).

, .. .

1.4

( ) , , , .. . , . , , ..

, .

.. , .

, , . , , . , , ( 2).

. 2

, , , . , . 2, . :


(n+1) , . , .


,

,

.

, , .

1.5

, . :

- (), .. , ;

- (Q), .. , ;

- (), .. , ;

- (k);

- ();

- ();

- () ;

- ();

- ();

- ()

- (), .. , ;

- , ;

- ;

- , ..

, , , , () (), , ..

(1.5.1)

(1.5.2)

(1.5.1) (1.5.2) . , , , , , .. .

. 1.

1.

,

1.6

.

.

, , . , ,


(1.6.1)

, , - .

- , , - . , (1.6.1),

.

1.7

. , , . .

. , , , .

, . ( ), , ( , ). , , , . , , . , 1. 1, .

. , , ..

, . .

, , .

, , .

, :

1) . , , .

2) N , , , . , . , . N , :

, , .. ,

( ),

,

,

,

N , , .


2.

2.1

(n = 3) (m = 2). λ = 4.0 . μ = 1.0 .

9 , :

S0 , ;

S1 1 , ;

S2 2 , ;

S3 3 , ;

S4 3 , 1 ;

S5 3 , 2 ;

S0, S1, S2, , S5 0, 1, 2, , 5.

. , .

. 3


:

:

( ) Maple 8 (. 1).


- , , n=7.

(1)

. , , .

.

N (1) , .4. , . :


P0 -

P1

P2

P3

P4

P5

 

. 4

2.2

() , , , .. . , , , ..

.. 0, 0. .

Maple 8 (. 1).

:

, , ,

:

.. . , .

.

2.3

. :

1) , .. , . , 4 , (.. 3 ), S7. .. S7 7 ,

2) , .

3) , .

4) , .. . .

5)

6) :


3.

3.1 ( )

(n = 3) (m = 2). λ = 4 . μ = 1 .

. . , , , .

(). () (), ..

, (3.1.1)

(3.1.1) .

. , .

. , , :

.

, , , , , , .

. 0,001, 1000 . , , .

function sob: boolean;

var r:real;

begin

r := Random(1000)/1000;

if r <= (i_deltaT*r_Lamda) then

sob:= true

else

sob:= false;

end;

.


,

. .

function tok: real;

var r:real;

t_ob: real;

begin

r:= Random(1000)/1000;

t_ob:= -1/r_Mu*ln(1-r);

tok:= t_ob;

end;

. () dt, . ( , ), , , , .

, , , . , 4, , 4, .

, , , , . , . dt. , .., , .

3.2 -

- , , .5. .

1. . : Time ,

r_la (),

r_mu ().

, :

i_deltaT:=0.001 ;

i_post:=0;

i_otk:= 0;

i_obsl:=0;

i_och:=0;

i_tobs:=0;

t:=0 , , ;

i_obsl:=0 ;

i_tobs:=0 ;

i_post:=0 ;

i_otk:=0 , ;

i_obsl:=0 ;

sost:='s1' ( s1, .. );

for i :=1 to 3 do

begin

t_och[i] := 0;- 1, 2.

t_okonch[i] := 0; 3 0, .. ;

end;

.5.


3. . 3- 9 : s1, s2,.. s9. s1, ; s2..s7 ; s8, , ; s9 - , (och=2).

:

_sost:=1;

for i:=0 to 3 do

begin

if t_okonch[i+1]>0 then i_temp:= 1

else i_temp:= 0;

_sost:=_sost + i_temp* round(Exp(i*ln(2)));

end;

if _sost<7 then begin Sost:= _sost; exit; end;

if (_sost= 7) and (i_och< 2) then Sost:= _sost

else

Sost := _sost+ 1;

4. 1, 2. :

if i_och > 0 then t_och[i_och]:= t_och[i_och]+i_deltaT;

9 16 , . , , , ( ), , .. .

for i:=1 to 2 do

begin

if t_okonch[i]>0 then t_okonch[i]:= t_okonch[i] - i_deltaT

else

if i_och >0 then

begin

Dec(i_och);

t_okonch[i]:=tok;

i_tobs:=i_tobs + t_okonch[i];

end;

end;

17 :

for i:=1 to 2 do

if t_okonch[i]>0 then

t_okonch[i]:= t_okonch[i] - i_deltaT;

C#.

3.3

, :

1) , .. , . , 3 , (.. 2 ). 4 .

2) , .


3) , .

4) , .. . . .

5)

6) :

7) , ,


8)

3.4

.. , . , . 20 .

,

,

( ),

,

,


,

N=20 ,

. N=20 .

.6.

.6.

, , .


2.

0,33355 0,238 0,35979
0,66645 0,64 0,761
2.66579 2,56 3,048
0,917264 0,696 0,9566
0,229316 0,1739 0,2394

2,665798 2,561 3,048

. 2 , , , , . .., , , .


.

4 , , . .

. Delphi , . , .

.


1.         .. . .: , 2004. 208 .

2.         .., .. . .: .- . .. , 2002. 435 .

3.         .., .., .. . .: .- . .. , 2000. 447 .

4.         .. . .: , 1979. 400 .

5.         .. . .: , 2004. 772 .

6.         / . .. . .: , 2004. 407 .

7.         .. . .: , 2005. 902 .

8.         .., .., .. . . : , 1997. 288 .


1

Maple 8.

> #

la:=4:

m:=1:

> usl := {m*Pf[1]-la*Pf[0] = 0,

2*m*Pf[2]-la*Pf[1] = 0,

3*m*Pf[3]-la*Pf[2] = 0,

3*m*Pf[4]-la*Pf[3] = 0,

3*m*Pf[5]-la*Pf[4] = 0,

Pf[0]+Pf[1]+Pf[2]+Pf[3]+Pf[4]+Pf[5]= 1 }:

> s:=evalf(solve(usl) ):

> for i from 0 by 1 to 5 do

Pf[i]:=subs( s, Pf[i] );

end;

>

> #

> del_t:=0.01: #

T:=10: # ,

N:=trunc(T/del_t); #

>

> #

p[i,c]:=array(0..5,0..N):

p[0,0]:=1:

for i from 1 by 1 to 5 do p[i,0]:=0 end:

> #

jj:=0:

for k from 1 to N do

v:=jj:

j:=trunc(100*v):

jj:=jj+del_t:

p[0,k] := p[0,j]+( m*p[1,j]-la*p[0,j])*del_t:

p[1,k] := p[1,j]+( la*p[0,j]+2*m*p[2,j]-p[1,j]*(m+la) )*del_t:

p[2,k] := p[2,j]+( la*p[1,j]+3*m*p[3,j]-p[2,j]*(2*m+la) )*del_t:

p[3,k] := p[3,j]+( la*p[2,j]+3*m*p[4,j]-p[3,j]*(3*m+la) )*del_t:

p[4,k] := p[4,j]+( la*p[3,j]+3*m*p[5,j]-p[4,j]*(3*m+la) )*del_t:

p[5,k] := p[5,j]+( la*p[4,j]-3*m*p[5,j] )*del_t:

end:

> for i from 0 by 1 to 5 do

P[i]=p[i,N];

end;

> # C =10, , . R-

for i from 0 by 1 to 5 do

# Pf[i]=p[i,N]:

R[i]:=abs(Pf[i]-p[i,500]);

end;

>

> #

#

p_otk:=Pf[5];

> #

Q := 1-p_otk;

> #

A := la*Q;

> #

lo := Pf[4]+2*Pf[5];

> #

t0 := lo/la;

> #

K := (la/m)*Q;

>

> #

cur[i]:=array(0..5):

for i from 0 by 1 to 5 do

cur[i]:=CURVES([[0,p[i,0]],[0.05,p[i,5]],[0.07,p[i,7]],[0.1,p[i,10]],[0.15,p[i,15]],

[0.2,p[i,20]],[0.3,p[i,30]],[0.4,p[i,40]],[0.5,p[i,50]],[0.75,p[i,75]],[1,p[i,100]],

[1.25,p[i,125]],[1.5,p[i,150]],[1.75,p[i,175]],[2,p[i,200]],[2.5,p[i,250]],[3,p[i,300]],

[4,p[i,400]],[5,p[i,500]] ]):

end:

> i:=0: a[i]:=PLOT(cur[i],COLOR(RGB,0,0,0)): # P0 -

i:=1: a[i]:=PLOT(cur[i],COLOR(RGB,0,0,1)): # P1 -

i:=2: a[i]:=PLOT(cur[i],COLOR(RGB,1,0,0)): # P2 -

i:=3: a[i]:=PLOT(cur[i],COLOR(RGB,0,1,1)): # P3 -

i:=4: a[i]:=PLOT(cur[i],COLOR(RGB,1,0,1)): # P4 -

i:=5: a[i]:=PLOT(cur[i],COLOR(RGB,0,1,0)): # P5 -

> display({a[0],a[1],a[2],a[3],a[4],a[5]});


2

Delphi7.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace CMO_misiagin

{

class CMO_work

{

Random R; //

public uint Max_dlina_ocheredi; //

public uint chislo_kanalov_in_system; //

public double Lamda; //

public double Mu; //

public double shag_by_time; //

public double[] t_oconch_obsl_vo_vsex_canalax; //

public double[] t_v_sostoijaniax_s_ocher; //

public double t_rab_sistem; //

public double summ_t_obsl_zaijvok; //

public uint chislo_post_zaijavok; //

public uint chislo_otkaz_zaijavok; //

public uint chislo_obslu_zaijavok; //

uint dlina_ocheredi; //

public uint Dlina_ocheredi

{

get

{ return dlina_ocheredi; }

set

{

if (value < 0)

{ dlina_ocheredi = 0; }

else if (value > 2)

{ }

else

{ dlina_ocheredi = value;}

}

}

// {,,,,,,,,+1,+2}

enum Sostoijanija_sustem { S0, S1, S2, S3, S4, S5, S6, S7, S8, S9};

Sostoijanija_sustem tekushee_sost_sustem; //

/// <summary>

/// ()

/// </summary>

/// <param name="p_chislo_kanalov_in_system"> </param>

/// <param name="p_Max_dlina_ocheredi"> </param>

/// <param name="p_Lamda"> </param>

/// <param name="p_Mu"> </param>

/// <param name="p_shag_by_time"> </param>

public CMO_work(uint p_chislo_kanalov_in_system, uint p_Max_dlina_ocheredi, double p_Lamda, double p_Mu, double p_shag_by_time)

{

SetDefaults();

R = new Random();

chislo_kanalov_in_system = p_chislo_kanalov_in_system;

Max_dlina_ocheredi = p_Max_dlina_ocheredi;

Lamda = p_Lamda;

Mu = p_Mu;

shag_by_time = p_shag_by_time;

t_oconch_obsl_vo_vsex_canalax = new double[chislo_kanalov_in_system];

t_v_sostoijaniax_s_ocher = new double[Max_dlina_ocheredi];

}

/// <summary>

///

/// </summary>

public void SetDefaults()

{

tekushee_sost_sustem = Sostoijanija_sustem.S0;

chislo_post_zaijavok = 0;

chislo_otkaz_zaijavok = 0;

chislo_obslu_zaijavok = 0;

t_rab_sistem = 0;

summ_t_obsl_zaijvok = 0;

dlina_ocheredi = 0;

for (int i = 0; i < chislo_kanalov_in_system; i++)

{ t_oconch_obsl_vo_vsex_canalax[i] = 0; }

for (int i = 0; i < Max_dlina_ocheredi; i++)

{ t_v_sostoijaniax_s_ocher[i] = 0; }

}

/// <summary>

/// ,

/// </summary>

/// <returns>true - , false = </returns>

bool prichla_li_sluchain_zaijavka()

{

double r = R.NextDouble();

if (r < (shag_by_time * Lamda))

{ return true; }

return false;

}

/// <summary>

///

/// </summary>

/// <returns> </returns>

double t_obslujivania_zaijvki()

{

double r = R.NextDouble();

return (-1/Mu*Math.Log(1-r, Math.E));

}

/// <summary>

///

/// </summary>

/// <returns> </returns>

Sostoijanija_sustem opred_tec_sost()

{

Sostoijanija_sustem _sostoijanija_sustem = Sostoijanija_sustem.S0;

int k = 0;

int zanijat_chislo_kanalov_in_system = 0;

for (int i = 0; i < chislo_kanalov_in_system; i++)

{

if (t_oconch_obsl_vo_vsex_canalax[i] > 0)

{

k = 1;

zanijat_chislo_kanalov_in_system++;

}

else

{ k = 0; }

_sostoijanija_sustem += k * (i + 1);

}

if (zanijat_chislo_kanalov_in_system > 1)

{ _sostoijanija_sustem ++; }

return _sostoijanija_sustem + (int)dlina_ocheredi;

}

/// <summary>

///

/// </summary>

public void modelirovanie_sustem()

{

t_rab_sistem += shag_by_time;

tekushee_sost_sustem = opred_tec_sost();

if (dlina_ocheredi > 0)

{

t_v_sostoijaniax_s_ocher[dlina_ocheredi - 1] += shag_by_time;

for (int i = 0; i < chislo_kanalov_in_system; i++)

{

if (t_oconch_obsl_vo_vsex_canalax[i] <= 0)

{

t_oconch_obsl_vo_vsex_canalax[i] = t_obslujivania_zaijvki();

summ_t_obsl_zaijvok += t_oconch_obsl_vo_vsex_canalax[i];

dlina_ocheredi--;

break;

}

}

}

if (prichla_li_sluchain_zaijavka())

{

chislo_post_zaijavok++;

if (dlina_ocheredi < Max_dlina_ocheredi)

{

chislo_obslu_zaijavok++;

if (tekushee_sost_sustem < Sostoijanija_sustem.S7)

{

for (int i = 0; i < chislo_kanalov_in_system; i++)

{

if (t_oconch_obsl_vo_vsex_canalax[i] <= 0)

{

t_oconch_obsl_vo_vsex_canalax[i] = t_obslujivania_zaijvki();

summ_t_obsl_zaijvok += t_oconch_obsl_vo_vsex_canalax[i];

break;

}

}

}

else

{ dlina_ocheredi++; }

}

else

{ chislo_otkaz_zaijavok++; }

}

for (int i = 0; i < chislo_kanalov_in_system; i++)

{

if (t_oconch_obsl_vo_vsex_canalax[i] > 0)

{

t_oconch_obsl_vo_vsex_canalax[i] -= shag_by_time;

}

}

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace CMO_misiagin

{

public partial class Form1 : Form

{

CMO_work work;

uint chislo_progonov;

List<double> P, Q, A, K, Lo, To, Percents_otkaz, Percents_Prin;

uint n = 3; //

uint m = 2; // MAX

public Form1()

{

InitializeComponent();

work = new CMO_work(n, m, (double)numericUpDown1.Value, (double)numericUpDown2.Value, (double)numericUpDown3.Value);

chislo_progonov = 0;

P = new List<double>();

Q = new List<double>();

A = new List<double>();

K = new List<double>();

Lo = new List<double>();

To = new List<double>();

Percents_otkaz = new List<double>();

Percents_Prin = new List<double>();

}

private void Form1_Load(object sender, EventArgs e)

{

button1.Enabled = false;

}

private void Rasschitat_Click(object sender, EventArgs e)

{

if (chislo_progonov>1) button1.Enabled = true;

richTextBox1.Clear();

richTextBox1.Text += " : \n";

work.SetDefaults();

work.chislo_kanalov_in_system = n;

work.Max_dlina_ocheredi = m;

work.Lamda = (double)numericUpDown1.Value;

work.Mu = (double)numericUpDown2.Value;

work.shag_by_time = (double)numericUpDown3.Value;

double Time = (double)numericUpDown4.Value;

while (work.t_rab_sistem < Time)

{

work.modelirovanie_sustem();

}

richTextBox1.Text += " : \t\t\t" + work.chislo_post_zaijavok.ToString() + "\n";

richTextBox1.Text += ": \t\t\t\t" + work.Dlina_ocheredi.ToString() + "\n";

richTextBox1.Text += " : \t\t\t" + work.chislo_otkaz_zaijavok.ToString() + "\n";

//

double ver_otcaza = work.t_v_sostoijaniax_s_ocher[work.Max_dlina_ocheredi - 1] / work.t_rab_sistem;

P.Add(ver_otcaza);

richTextBox1.Text += " , : \t\t\t" + ver_otcaza.ToString() + "\n";

//

double otnos_prop_spos = 1 - ver_otcaza;

Q.Add(otnos_prop_spos);

richTextBox1.Text += " , Q: \t" + otnos_prop_spos.ToString() + "\n";

//

double absol_prop_spos = work.Lamda * otnos_prop_spos;

A.Add(absol_prop_spos);

richTextBox1.Text += " , A: \t" + absol_prop_spos.ToString() +"\n";

//

double dlina_ocheredi = 0;

for (int i = 0; i < work.Max_dlina_ocheredi; i++)

{

dlina_ocheredi += (i + 1) * (work.t_v_sostoijaniax_s_ocher[i] / work.t_rab_sistem);

}

Lo.Add(dlina_ocheredi);

richTextBox1.Text += " , L\x03BF: \t\t\t" + dlina_ocheredi.ToString() + "\n";

//

double sr_t_preb_v_ocheredi = dlina_ocheredi / work.Lamda;

To.Add(sr_t_preb_v_ocheredi);

richTextBox1.Text += " - . , T\x03BF, c: \t" + sr_t_preb_v_ocheredi.ToString()+"\n";

//

double sr_chislo_zan_can_k = absol_prop_spos / work.Mu;

K.Add(sr_chislo_zan_can_k);

richTextBox1.Text += " , k: \t\t" + sr_chislo_zan_can_k.ToString() + "\n";

// %

double curPercents_otkaz = ((double)work.chislo_otkaz_zaijavok / (double)work.chislo_post_zaijavok) * 100d;

Percents_otkaz.Add(curPercents_otkaz);

richTextBox1.Text += "% : \t\t\t" + curPercents_otkaz.ToString() + "\n";

// %

double absol_prop_sposcceptedPercents = ((double)work.chislo_obslu_zaijavok / (double)work.chislo_post_zaijavok) * 100d;

Percents_Prin.Add(absol_prop_sposcceptedPercents);

richTextBox1.Text += "% : \t\t\t" + absol_prop_sposcceptedPercents.ToString() + "\n";

//

chislo_progonov++;

vivod_chisla_pasch.Text = chislo_progonov.ToString();

/* if (chislo_progonov > 1)

{ RasStatistici_Click(); }*/

}

// 222222222222222 222222222222222222222222222222222222222222222222

private void button1_Click(object sender, EventArgs e)

{

richTextBox1.Text += "\n : \n";

double sredn_Potk = 0, sredn_Q = 0, sredn_A = 0, sredn_Lo = 0, sredn_do = 0, sredn_K = 0,

sredn_Percents_otkaz = 0, sredn_Percents_Prin = 0;

double sum_Potk = 0, sum_Q = 0, sum_A = 0, sum_Lo = 0, sum_do = 0, sum_K = 0,

sum_Percents_otkaz = 0, sum_Percents_Prin = 0;

double Potk_ot = 0, Potk_do = 0, Q_ot = 0, Q_do = 0, A_ot = 0, A_do = 0,

Lo_ot = 0, Lo_do = 0, To_ot = 0, To_do = 0, K_ot = 0, K_do = 0,

Percents_otkaz_ot = 0, Percents_otkaz_do = 0,

Percents_Prin_ot = 0, Percents_Prin_do = 0;

for (int i = 0; i < chislo_progonov; i++)

{

sredn_Potk += P[i];

sredn_Q += Q[i];

sredn_A += A[i];

sredn_Lo += Lo[i];

sredn_do += To[i];

sredn_K += K[i];

sredn_Percents_otkaz += Percents_otkaz[i];

sredn_Percents_Prin += Percents_Prin[i];

}

//

sredn_Potk /= chislo_progonov;

sredn_Q /= chislo_progonov;

sredn_A /= chislo_progonov;

sredn_Lo /= chislo_progonov;

sredn_do /= chislo_progonov;

sredn_K /= chislo_progonov;

sredn_Percents_otkaz /= chislo_progonov;

sredn_Percents_Prin /= chislo_progonov;

//

for (int i = 0; i < chislo_progonov; i++)

{

sum_Potk += Math.Pow((P[i] - sredn_Potk), 2);

sum_Q += Math.Pow((Q[i] - sredn_Q), 2);

sum_A += Math.Pow((A[i] - sredn_A), 2);

sum_Lo += Math.Pow((sredn_Lo - Lo[i]), 2);

sum_do += Math.Pow((sredn_do - To[i]), 2);

sum_K += Math.Pow((K[i] - sredn_K), 2);

sum_Percents_otkaz += Math.Pow((Percents_otkaz[i] - sredn_Percents_otkaz), 2);

sum_Percents_Prin += Math.Pow((Percents_Prin[i] - sredn_Percents_Prin), 2);

}

Potk_ot = sredn_Potk - (2.093d) * (Math.Sqrt((sum_Potk / (chislo_progonov - 1)) / chislo_progonov));

Potk_do = sredn_Potk + (2.093d) * (Math.Sqrt((sum_Potk / (chislo_progonov - 1)) / chislo_progonov));

Q_ot = sredn_Q - (2.093d) * (Math.Sqrt((sum_Q / (chislo_progonov - 1)) / chislo_progonov));

Q_do = sredn_Q + (2.093d) * (Math.Sqrt((sum_Q / (chislo_progonov - 1)) / chislo_progonov));

A_ot = sredn_A - (2.093d) * (Math.Sqrt((sum_A / (chislo_progonov - 1)) / chislo_progonov));

A_do = sredn_A + (2.093d) * (Math.Sqrt((sum_A / (chislo_progonov - 1)) / chislo_progonov));

Lo_ot = sredn_Lo - (2.093d) * (Math.Sqrt((sum_Lo / (chislo_progonov - 1)) / chislo_progonov));

Lo_do = sredn_Lo + (2.093d) * (Math.Sqrt((sum_Lo / (chislo_progonov - 1)) / chislo_progonov));

To_ot = sredn_do - (2.093d) * (Math.Sqrt((sum_do / (chislo_progonov - 1)) / chislo_progonov));

To_do = sredn_do + (2.093d) * (Math.Sqrt((sum_do / (chislo_progonov - 1)) / chislo_progonov));

K_ot = sredn_K - (2.093d) * (Math.Sqrt((sum_K / (chislo_progonov - 1)) / chislo_progonov));

K_do = sredn_K + (2.093d) * (Math.Sqrt((sum_K / (chislo_progonov - 1)) / chislo_progonov));

Percents_otkaz_ot = sredn_Percents_otkaz - (2.093d) * (Math.Sqrt((sum_Percents_otkaz / (chislo_progonov - 1)) / chislo_progonov));

Percents_otkaz_do = sredn_Percents_otkaz + (2.093d) * (Math.Sqrt((sum_Percents_otkaz / (chislo_progonov - 1)) / chislo_progonov));

Percents_Prin_ot = sredn_Percents_Prin - (2.093d) * (Math.Sqrt((sum_Percents_Prin / (chislo_progonov - 1)) / chislo_progonov));

Percents_Prin_do = sredn_Percents_Prin + (2.093d) * (Math.Sqrt((sum_Percents_Prin / (chislo_progonov - 1)) / chislo_progonov));

richTextBox1.Text += " , : \t\n\t" + Potk_ot.ToString() + "\n\t" + Potk_do.ToString() + "\n";

richTextBox1.Text += " , Q: \n\t" + Q_ot.ToString() + "\n\t" + Q_do.ToString() + "\n";

richTextBox1.Text += " , A: \n\t" + A_ot.ToString() + "\n\t" + A_do.ToString() + "\n";

richTextBox1.Text += " , L\x03BF: \t\n\t" + Lo_ot.ToString() + "\n\t" + Lo_do.ToString() + "\n";

richTextBox1.Text += " - . , T\x03BF, c: \n\t" + To_ot.ToString() + "\n\t" + To_do.ToString() + "\n";

richTextBox1.Text += " , k: \n\t" + K_ot.ToString() + "\n\t" + K_do.ToString() + "\n";

richTextBox1.Text += "% : \t\n\t" + Percents_otkaz_ot.ToString() + "\n\t" + Percents_otkaz_do.ToString() + "\n";

richTextBox1.Text += "% : \t\n\t" + Percents_Prin_ot.ToString() + "\n\t" + Percents_Prin_do.ToString() + "\n";

button1.Enabled = false;

}

}

}

.. ( )

 

 

 

! , , , .
. , :