Добавил:
salavat
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Model_1 / POKER
.PAS (**************************************************************************)
(* "Џ®ЄҐа-вҐбв" Ё«Ё "Џа®ўҐаЄ Є®¬ЎЁ жЁ©" *)
(* вҐбвЁагҐв ўбва®Ґл© ЈҐҐа в®а ђђ‘— *)
(**************************************************************************)
Program Poker_test;
uses crt;
type Pmas=array [1..7] of integer;
const N=32000; {¤«Ё ўлЎ®аЄЁ}
NN=10000;
Pet:Pmas=(3019,5045,1070,0730,0089,0046,0001); {нв «® п ўҐа®пв®бвм ¤«п d=10}
var i,f,MN:integer;
V,V_old,p_et:real;
Y: array [1..N] of integer; {еа Ёв ‘—}
P: Pmas; {еа Ёв нЄбЇҐаЁ¬Ґв «млҐ з бв®вл}
(* д-жЁп ®ЇаҐ¤Ґ«ҐЁп Є« бб -Є ⥣®аЁЁ ¤«п Є ¦¤®© Ї®б«Ґ¤®ў ⥫м®бвЁ Ё§ 5 *)
(* зЁбҐ«, Ј¤Ґ Є ¦¤®© Є ⥣®аЁЁ ᮮ⢥вбвўгҐв Є®¤: *)
(* abcde ўбҐ а §лҐ 1 *)
(* aabcd ®¤ Ї а 2 *)
(* aabbc ¤ўҐ Ї ал 3 *)
(* aaabc ваЁ ®¤®Ј® ўЁ¤ 4 *)
(* aaabb Ї®«л© Ў®а 5 *)
(* aaaab зҐвлॠ®¤®Ј® ўЁ¤ 6 *)
(* aaaaa Їпвм ®¤®Ј® ўЁ¤ 7 *)
Function kat(j:integer):integer;
var k,l,m,n,temp:integer;
t,c:array [1..5] of integer;
begin
for k:=1 to 5 do {§ Ї®¬Ё¬ 5 зЁбҐ« ў ¬ ббЁўҐ в}
begin
t[k]:=y[j+k-1];
c[k]:=0;
end;
m:=1;
for k:=1 to 5 do {®ЇаҐ¤Ґ«Ё¬, бЄ®«мЄ® а § ў ¬ ббЁўҐ в}
begin {ўбваҐз Ґвбп в® Ё«Ё Ё®Ґ зЁб«® }
for l:=1 to 5 do {१г«мв в еа Ёвбп ў ¬ ббЁўҐ б }
if t[k]=t[l] then inc(c[m]);
inc(m);
end;
{sorting C}
for k:=1 to 4 do {®вб®авЁа㥬 ¬ ббЁў ‘ }
for l:=k+1 to 5 do {Ї®б«Ґ 祣® Ї® 5-¬г н«Ґ¬Ґвг}
if c[l]<c[k] then {¬®¦® бг¤Ёвм ® ®¬ҐаҐ Є вҐ-}
begin {Ј®аЁЁ }
temp:=c[k];
c[k]:=c[l];
c[l]:=temp;
end;
{®ЇаҐ¤Ґ«ҐЁҐ Є®¤ Є ⥣®аЁЁ}
if c[5]=1 then n:=1;
if c[5]=2 then if c[3]=1 then n:=2 else n:=3;
if c[5]=3 then if c[2]=1 then n:=4 else n:=5;
if c[5]=4 then n:=6;
if c[5]=5 then n:=7;
kat:=n
end;
Begin
clrscr;
Textcolor(Yellow);
Write('‘Є®«мЄ® нЄбЇҐаЁ¬Ґв®ў Їа®ўҐбвЁ? ');
Readln(MN);
Write('-------------------------------');
Textcolor(Cyan);
While MN>0 do
begin
Writeln;
Writeln('ќЄбЇҐаЁ¬Ґв No.',MN);
Randomize; {§ Ї®«ҐЁҐ ¬ ббЁў “ ‘—, }
For i:=1 to N do Y[i]:=random(10); {ЈҐҐаЁа㥬묨 ўбва®Ґл¬ }
For i:=1 to N-4 do {Ёбб«Ґ¤®ў ЁҐ ўбҐе ў®§¬®¦ле}
begin
{ЇпвҐа®Є Ї®¤ап¤ Ё¤гйЁе зЁбҐ«}
f:=kat(i);
if f=1 then inc(p[1]);
if f=2 then inc(p[2]);
if f=3 then inc(p[3]);
if f=4 then inc(p[4]);
if f=5 then inc(p[5]);
if f=6 then inc(p[6]);
if f=7 then inc(p[7]);
end;
writeln('Є ⥣®аЁп зЁб«® з бв®в нв «®');
writeln('ўбҐ а §лҐ ',p[1]:5,' ',(p[1]/N):4:4,' ',(pet[1]/NN):4:4);
writeln('®¤ Ї а ',p[2]:5,' ',(p[2]/N):4:4,' ',(pet[2]/NN):4:4);
writeln('¤ўҐ Ї ал ',p[3]:5,' ',(p[3]/N):4:4,' ',(pet[3]/NN):4:4);
writeln('ваЁ ®¤®Ј® ўЁ¤ ',p[4]:5,' ',(p[4]/N):4:4,' ',(pet[4]/NN):4:4);
writeln('Ї®«л© Ў®а ',p[5]:5,' ',(p[5]/N):4:4,' ',(pet[5]/NN):4:4);
writeln('зҐвлॠ®¤®Ј® ўЁ¤ ',p[6]:5,' ',(p[6]/N):4:4,' ',(pet[6]/NN):4:4);
writeln('Їпвм ®¤®Ј® ўЁ¤ ',p[7]:5,' ',(p[7]/N):4:4,' ',(pet[7]/NN):4:4);
V:=0;
for i:=1 to 7 do {бзЁв Ґ¬ ¬Ґаг а §«ЁзЁп ॠ«м®Ј® }
begin {а бЇаҐ¤Ґ«ҐЁп зЁбҐ« ў ўл室 }
p_et:=pet[i]/NN; {ЈҐҐа в®а Ё нв «®®Ј® а бЇаҐ¤.}
V_old:=((p[i]-(p_et*N))*(p[i]-(p_et*N)))/(p_et*N);
p[i]:=0;
V:=V+V_old;
end;
writeln('•Ё-Єў ¤а в=',V:7:7);
V_old:=0;
Dec(MN);
Writeln('------------------------------------------');
if (MN mod 2)=0 then
begin
readkey;
clrscr;
end;
end;
end.
(* "Џ®ЄҐа-вҐбв" Ё«Ё "Џа®ўҐаЄ Є®¬ЎЁ жЁ©" *)
(* вҐбвЁагҐв ўбва®Ґл© ЈҐҐа в®а ђђ‘— *)
(**************************************************************************)
Program Poker_test;
uses crt;
type Pmas=array [1..7] of integer;
const N=32000; {¤«Ё ўлЎ®аЄЁ}
NN=10000;
Pet:Pmas=(3019,5045,1070,0730,0089,0046,0001); {нв «® п ўҐа®пв®бвм ¤«п d=10}
var i,f,MN:integer;
V,V_old,p_et:real;
Y: array [1..N] of integer; {еа Ёв ‘—}
P: Pmas; {еа Ёв нЄбЇҐаЁ¬Ґв «млҐ з бв®вл}
(* д-жЁп ®ЇаҐ¤Ґ«ҐЁп Є« бб -Є ⥣®аЁЁ ¤«п Є ¦¤®© Ї®б«Ґ¤®ў ⥫м®бвЁ Ё§ 5 *)
(* зЁбҐ«, Ј¤Ґ Є ¦¤®© Є ⥣®аЁЁ ᮮ⢥вбвўгҐв Є®¤: *)
(* abcde ўбҐ а §лҐ 1 *)
(* aabcd ®¤ Ї а 2 *)
(* aabbc ¤ўҐ Ї ал 3 *)
(* aaabc ваЁ ®¤®Ј® ўЁ¤ 4 *)
(* aaabb Ї®«л© Ў®а 5 *)
(* aaaab зҐвлॠ®¤®Ј® ўЁ¤ 6 *)
(* aaaaa Їпвм ®¤®Ј® ўЁ¤ 7 *)
Function kat(j:integer):integer;
var k,l,m,n,temp:integer;
t,c:array [1..5] of integer;
begin
for k:=1 to 5 do {§ Ї®¬Ё¬ 5 зЁбҐ« ў ¬ ббЁўҐ в}
begin
t[k]:=y[j+k-1];
c[k]:=0;
end;
m:=1;
for k:=1 to 5 do {®ЇаҐ¤Ґ«Ё¬, бЄ®«мЄ® а § ў ¬ ббЁўҐ в}
begin {ўбваҐз Ґвбп в® Ё«Ё Ё®Ґ зЁб«® }
for l:=1 to 5 do {१г«мв в еа Ёвбп ў ¬ ббЁўҐ б }
if t[k]=t[l] then inc(c[m]);
inc(m);
end;
{sorting C}
for k:=1 to 4 do {®вб®авЁа㥬 ¬ ббЁў ‘ }
for l:=k+1 to 5 do {Ї®б«Ґ 祣® Ї® 5-¬г н«Ґ¬Ґвг}
if c[l]<c[k] then {¬®¦® бг¤Ёвм ® ®¬ҐаҐ Є вҐ-}
begin {Ј®аЁЁ }
temp:=c[k];
c[k]:=c[l];
c[l]:=temp;
end;
{®ЇаҐ¤Ґ«ҐЁҐ Є®¤ Є ⥣®аЁЁ}
if c[5]=1 then n:=1;
if c[5]=2 then if c[3]=1 then n:=2 else n:=3;
if c[5]=3 then if c[2]=1 then n:=4 else n:=5;
if c[5]=4 then n:=6;
if c[5]=5 then n:=7;
kat:=n
end;
Begin
clrscr;
Textcolor(Yellow);
Write('‘Є®«мЄ® нЄбЇҐаЁ¬Ґв®ў Їа®ўҐбвЁ? ');
Readln(MN);
Write('-------------------------------');
Textcolor(Cyan);
While MN>0 do
begin
Writeln;
Writeln('ќЄбЇҐаЁ¬Ґв No.',MN);
Randomize; {§ Ї®«ҐЁҐ ¬ ббЁў “ ‘—, }
For i:=1 to N do Y[i]:=random(10); {ЈҐҐаЁа㥬묨 ўбва®Ґл¬ }
For i:=1 to N-4 do {Ёбб«Ґ¤®ў ЁҐ ўбҐе ў®§¬®¦ле}
begin
{ЇпвҐа®Є Ї®¤ап¤ Ё¤гйЁе зЁбҐ«}
f:=kat(i);
if f=1 then inc(p[1]);
if f=2 then inc(p[2]);
if f=3 then inc(p[3]);
if f=4 then inc(p[4]);
if f=5 then inc(p[5]);
if f=6 then inc(p[6]);
if f=7 then inc(p[7]);
end;
writeln('Є ⥣®аЁп зЁб«® з бв®в нв «®');
writeln('ўбҐ а §лҐ ',p[1]:5,' ',(p[1]/N):4:4,' ',(pet[1]/NN):4:4);
writeln('®¤ Ї а ',p[2]:5,' ',(p[2]/N):4:4,' ',(pet[2]/NN):4:4);
writeln('¤ўҐ Ї ал ',p[3]:5,' ',(p[3]/N):4:4,' ',(pet[3]/NN):4:4);
writeln('ваЁ ®¤®Ј® ўЁ¤ ',p[4]:5,' ',(p[4]/N):4:4,' ',(pet[4]/NN):4:4);
writeln('Ї®«л© Ў®а ',p[5]:5,' ',(p[5]/N):4:4,' ',(pet[5]/NN):4:4);
writeln('зҐвлॠ®¤®Ј® ўЁ¤ ',p[6]:5,' ',(p[6]/N):4:4,' ',(pet[6]/NN):4:4);
writeln('Їпвм ®¤®Ј® ўЁ¤ ',p[7]:5,' ',(p[7]/N):4:4,' ',(pet[7]/NN):4:4);
V:=0;
for i:=1 to 7 do {бзЁв Ґ¬ ¬Ґаг а §«ЁзЁп ॠ«м®Ј® }
begin {а бЇаҐ¤Ґ«ҐЁп зЁбҐ« ў ўл室 }
p_et:=pet[i]/NN; {ЈҐҐа в®а Ё нв «®®Ј® а бЇаҐ¤.}
V_old:=((p[i]-(p_et*N))*(p[i]-(p_et*N)))/(p_et*N);
p[i]:=0;
V:=V+V_old;
end;
writeln('•Ё-Єў ¤а в=',V:7:7);
V_old:=0;
Dec(MN);
Writeln('------------------------------------------');
if (MN mod 2)=0 then
begin
readkey;
clrscr;
end;
end;
end.