SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
program tennis_math;
function verovatnoca(x,y:real):real;
var gemx,gemy,tajbx,tajby,setxdob0,setxdob1,setxgub1,setxgub0:real;
setydob1,setydob0,setygub0,setygub1:real;
i,j,h:integer;
v:array[0..10,0..10] of real;
r:array[0..10,0..10,1..2] of real;
begin
//Racunamo verovatnoce za gemove
gemx:=-x*x*x*x*(2*x-3)*(5-8*x+4*x*x)/(1-2*x+2*x*x);
gemy:=-y*y*y*y*(2*y-3)*(5-8*y+4*y*y)/(1-2*y+2*y*y);
//Racunamo verovatnoce za tajbrejkove
for i:=0 to 7 do
for j:=0 to 7 do v[i,j]:=0;
v[0,0]:=1;
for i:=0 to 6 do
for j:=0 to 6 do
if ((i+j) mod 4 = 0) or ((i+j) mod 4 = 3) then begin
v[i+1,j]:=v[i+1,j]+v[i,j]*x;
v[i,j+1]:=v[i,j+1]+v[i,j]*(1-x);
end
else begin
v[i+1,j]:=v[i+1,j]+v[i,j]*(1-y);
v[i,j+1]:=v[i,j+1]+v[i,j]*y;
end;
tajbx:=v[6,6]*x*(1-y)/(x*(1-y)+y*(1-x));
for i:=0 to 5 do tajbx:=tajbx+v[7,i];
for i:=0 to 7 do
for j:=0 to 7 do v[i,j]:=0;
v[0,0]:=1;
for i:=0 to 6 do
for j:=0 to 6 do
if ((i+j) mod 4 = 0) or ((i+j) mod 4 = 3) then begin
v[i+1,j]:=v[i+1,j]+v[i,j]*y;
v[i,j+1]:=v[i,j+1]+v[i,j]*(1-y);
end
else begin
v[i+1,j]:=v[i+1,j]+v[i,j]*(1-x);
v[i,j+1]:=v[i,j+1]+v[i,j]*x;
end;
tajby:=v[6,6]*y*(1-x)/(x*(1-y)+y*(1-x));
for i:=0 to 5 do tajby:=tajby+v[7,i];
//Racunamo verovatnoce za setove
for i:=0 to 7 do
for j:=0 to 7 do v[i,j]:=0;
v[0,0]:=1;
for i:=0 to 5 do
for j:=0 to 5 do
if (i+j) mod 2 = 0 then begin
v[i+1,j]:=v[i+1,j]+v[i,j]*gemx;
v[i,j+1]:=v[i,j+1]+v[i,j]*(1-gemx);
end
else begin
v[i+1,j]:=v[i+1,j]+v[i,j]*(1-gemy);
v[i,j+1]:=v[i,j+1]+v[i,j]*gemy;
end;
setxdob1:=v[6,1]+v[6,3]+v[5,5]*(1-gemx-gemy+gemx*gemy*2)*tajbx;
setxdob0:=v[6,0]+v[6,2]+v[6,4]+v[5,5]*gemx*(1-gemy);
setxgub1:=v[1,6]+v[3,6]+v[5,5]*(1-gemx-gemy+gemx*gemy*2)*(1-tajbx);
setxgub0:=v[0,6]+v[2,6]+v[4,6]+v[5,5]*gemy*(1-gemx);
for i:=0 to 7 do
for j:=0 to 7 do v[i,j]:=0;
v[0,0]:=1;
for i:=0 to 5 do
for j:=0 to 5 do
if (i+j) mod 2 = 0 then begin
v[i+1,j]:=v[i+1,j]+v[i,j]*gemy;
v[i,j+1]:=v[i,j+1]+v[i,j]*(1-gemy);
end
else begin
v[i+1,j]:=v[i+1,j]+v[i,j]*(1-gemx);
v[i,j+1]:=v[i,j+1]+v[i,j]*gemx;
end;
setydob1:=v[6,1]+v[6,3]+v[5,5]*(1-gemx-gemy+gemx*gemy*2)*tajby;
setydob0:=v[6,0]+v[6,2]+v[6,4]+v[5,5]*gemy*(1-gemx);
setygub1:=v[1,6]+v[3,6]+v[5,5]*(1-gemx-gemy+gemx*gemy*2)*(1-tajby);
setygub0:=v[0,6]+v[2,6]+v[4,6]+v[5,5]*gemx*(1-gemy);
//Racunamo verovatnocu za mec
for i:=0 to 3 do
for j:=0 to 3 do begin
r[i,j,1]:=0;
r[i,j,2]:=0;
end;
r[0,0,1]:=1;
r[0,0,2]:=0;
for i:=0 to 2 do
for j:=0 to 2 do begin
r[i+1,j,1]:=r[i+1,j,1]+setxdob0*r[i,j,1]+setygub1*r[i,j,2];
r[i+1,j,2]:=r[i+1,j,2]+setxdob1*r[i,j,1]+setygub0*r[i,j,2];
r[i,j+1,1]:=r[i,j+1,1]+setxgub0*r[i,j,1]+setydob1*r[i,j,2];
r[i,j+1,2]:=r[i,j+1,2]+setxgub1*r[i,j,1]+setydob0*r[i,j,2];
end;
verovatnoca:=r[3,0,1]+r[3,0,2]+r[3,1,1]+r[3,1,2]+r[3,2,1]+r[3,2,2];
end;
var a,b:real;
begin
write('Uneti verovatnocu da prvi igrac dobije poen kad servira: ');
readln(a);
write('Uneti verovatnocu da drugi igrac dobije poen kad servira: ');
readln(b);
writeln('Verovatnoca da prvi igrac dobije mec iznosi: ',verovatnoca(a,b):0:3);
end.

Contenu connexe

Plus de Педагошко друштво информатичара Србије

Plus de Педагошко друштво информатичара Србије (20)

Takmicenje Dabar 2017 Agenda 18-02-2016 Nis
Takmicenje Dabar 2017 Agenda 18-02-2016 NisTakmicenje Dabar 2017 Agenda 18-02-2016 Nis
Takmicenje Dabar 2017 Agenda 18-02-2016 Nis
 
Forum naprednih tehnologija 2016 - Agenda
Forum naprednih tehnologija 2016 - AgendaForum naprednih tehnologija 2016 - Agenda
Forum naprednih tehnologija 2016 - Agenda
 
FNT 2016 Agenda
FNT 2016 AgendaFNT 2016 Agenda
FNT 2016 Agenda
 
Takmicenje Infomanija 2016 Poziv
Takmicenje Infomanija 2016 PozivTakmicenje Infomanija 2016 Poziv
Takmicenje Infomanija 2016 Poziv
 
EPA Konferencija - zakljicc 2016-02-24
EPA Konferencija - zakljicc 2016-02-24EPA Konferencija - zakljicc 2016-02-24
EPA Konferencija - zakljicc 2016-02-24
 
PDIS pismo podrske 2016-03-24
PDIS pismo podrske 2016-03-24PDIS pismo podrske 2016-03-24
PDIS pismo podrske 2016-03-24
 
Slobodan softver 2016 - Zbornik radova 30.01.2016.
Slobodan softver 2016 - Zbornik radova 30.01.2016.Slobodan softver 2016 - Zbornik radova 30.01.2016.
Slobodan softver 2016 - Zbornik radova 30.01.2016.
 
Onlajn nedelja 2016 saopstenje za javnost
Onlajn nedelja 2016 saopstenje za javnostOnlajn nedelja 2016 saopstenje za javnost
Onlajn nedelja 2016 saopstenje za javnost
 
Zbornik radova UPIS 2016
Zbornik radova UPIS 2016Zbornik radova UPIS 2016
Zbornik radova UPIS 2016
 
OA 2016 Uputstvo Oracle Academy
OA 2016 Uputstvo Oracle AcademyOA 2016 Uputstvo Oracle Academy
OA 2016 Uputstvo Oracle Academy
 
Forum mladih naucnika 2016 satnica
Forum mladih naucnika 2016 satnicaForum mladih naucnika 2016 satnica
Forum mladih naucnika 2016 satnica
 
Epa konferencija 2016_agenda_160224
Epa konferencija 2016_agenda_160224Epa konferencija 2016_agenda_160224
Epa konferencija 2016_agenda_160224
 
FNT 2015 Panel 2 1 Visoko obrazovanje - Prof dr Dragan Jankovic
FNT 2015 Panel 2 1 Visoko obrazovanje - Prof dr Dragan JankovicFNT 2015 Panel 2 1 Visoko obrazovanje - Prof dr Dragan Jankovic
FNT 2015 Panel 2 1 Visoko obrazovanje - Prof dr Dragan Jankovic
 
FNT 2015 Panel 2 4 Potencijali privrede - Goran Mladenovic
FNT 2015 Panel 2 4 Potencijali privrede - Goran MladenovicFNT 2015 Panel 2 4 Potencijali privrede - Goran Mladenovic
FNT 2015 Panel 2 4 Potencijali privrede - Goran Mladenovic
 
FNT 2015 Panel 2 2 Visoko strucno obrazovanje - dr Dejan Blagojevic
FNT 2015 Panel 2 2 Visoko strucno obrazovanje - dr Dejan BlagojevicFNT 2015 Panel 2 2 Visoko strucno obrazovanje - dr Dejan Blagojevic
FNT 2015 Panel 2 2 Visoko strucno obrazovanje - dr Dejan Blagojevic
 
FNT 2015 Panel 2 3 - Srednjoskolsko obrazovanje - Dragan Ilic
FNT 2015 Panel 2 3 - Srednjoskolsko obrazovanje - Dragan IlicFNT 2015 Panel 2 3 - Srednjoskolsko obrazovanje - Dragan Ilic
FNT 2015 Panel 2 3 - Srednjoskolsko obrazovanje - Dragan Ilic
 
FNT 2015 Panel 2 5 Primeri dobre prakse ICT - Feniks BB - Bratislav Blagojevic
FNT 2015 Panel 2 5 Primeri dobre prakse ICT - Feniks BB - Bratislav BlagojevicFNT 2015 Panel 2 5 Primeri dobre prakse ICT - Feniks BB - Bratislav Blagojevic
FNT 2015 Panel 2 5 Primeri dobre prakse ICT - Feniks BB - Bratislav Blagojevic
 
FNT 2015 Panel 2 7 Olimpijski tim - Ivan Stosic
FNT 2015 Panel 2 7 Olimpijski tim - Ivan StosicFNT 2015 Panel 2 7 Olimpijski tim - Ivan Stosic
FNT 2015 Panel 2 7 Olimpijski tim - Ivan Stosic
 
FNT 2015 Panel 2 6 Primeri dobre prakse ICT - Atomia i Troxo
FNT 2015 Panel 2 6 Primeri dobre prakse ICT - Atomia i TroxoFNT 2015 Panel 2 6 Primeri dobre prakse ICT - Atomia i Troxo
FNT 2015 Panel 2 6 Primeri dobre prakse ICT - Atomia i Troxo
 
Forum naprednih tehnologija - Oni su deo budućnosti
Forum naprednih tehnologija - Oni su deo budućnosti Forum naprednih tehnologija - Oni su deo budućnosti
Forum naprednih tehnologija - Oni su deo budućnosti
 

FNT 2015 CodeEU Zanimljiva informatika - 04 Ivan Damnjanovic - Tenis progam kod

  • 1. program tennis_math; function verovatnoca(x,y:real):real; var gemx,gemy,tajbx,tajby,setxdob0,setxdob1,setxgub1,setxgub0:real; setydob1,setydob0,setygub0,setygub1:real; i,j,h:integer; v:array[0..10,0..10] of real; r:array[0..10,0..10,1..2] of real; begin //Racunamo verovatnoce za gemove gemx:=-x*x*x*x*(2*x-3)*(5-8*x+4*x*x)/(1-2*x+2*x*x); gemy:=-y*y*y*y*(2*y-3)*(5-8*y+4*y*y)/(1-2*y+2*y*y); //Racunamo verovatnoce za tajbrejkove for i:=0 to 7 do for j:=0 to 7 do v[i,j]:=0; v[0,0]:=1; for i:=0 to 6 do for j:=0 to 6 do if ((i+j) mod 4 = 0) or ((i+j) mod 4 = 3) then begin v[i+1,j]:=v[i+1,j]+v[i,j]*x; v[i,j+1]:=v[i,j+1]+v[i,j]*(1-x); end else begin v[i+1,j]:=v[i+1,j]+v[i,j]*(1-y); v[i,j+1]:=v[i,j+1]+v[i,j]*y; end; tajbx:=v[6,6]*x*(1-y)/(x*(1-y)+y*(1-x)); for i:=0 to 5 do tajbx:=tajbx+v[7,i]; for i:=0 to 7 do for j:=0 to 7 do v[i,j]:=0;
  • 2. v[0,0]:=1; for i:=0 to 6 do for j:=0 to 6 do if ((i+j) mod 4 = 0) or ((i+j) mod 4 = 3) then begin v[i+1,j]:=v[i+1,j]+v[i,j]*y; v[i,j+1]:=v[i,j+1]+v[i,j]*(1-y); end else begin v[i+1,j]:=v[i+1,j]+v[i,j]*(1-x); v[i,j+1]:=v[i,j+1]+v[i,j]*x; end; tajby:=v[6,6]*y*(1-x)/(x*(1-y)+y*(1-x)); for i:=0 to 5 do tajby:=tajby+v[7,i]; //Racunamo verovatnoce za setove for i:=0 to 7 do for j:=0 to 7 do v[i,j]:=0; v[0,0]:=1; for i:=0 to 5 do for j:=0 to 5 do if (i+j) mod 2 = 0 then begin v[i+1,j]:=v[i+1,j]+v[i,j]*gemx; v[i,j+1]:=v[i,j+1]+v[i,j]*(1-gemx); end else begin v[i+1,j]:=v[i+1,j]+v[i,j]*(1-gemy); v[i,j+1]:=v[i,j+1]+v[i,j]*gemy; end; setxdob1:=v[6,1]+v[6,3]+v[5,5]*(1-gemx-gemy+gemx*gemy*2)*tajbx; setxdob0:=v[6,0]+v[6,2]+v[6,4]+v[5,5]*gemx*(1-gemy); setxgub1:=v[1,6]+v[3,6]+v[5,5]*(1-gemx-gemy+gemx*gemy*2)*(1-tajbx);
  • 3. setxgub0:=v[0,6]+v[2,6]+v[4,6]+v[5,5]*gemy*(1-gemx); for i:=0 to 7 do for j:=0 to 7 do v[i,j]:=0; v[0,0]:=1; for i:=0 to 5 do for j:=0 to 5 do if (i+j) mod 2 = 0 then begin v[i+1,j]:=v[i+1,j]+v[i,j]*gemy; v[i,j+1]:=v[i,j+1]+v[i,j]*(1-gemy); end else begin v[i+1,j]:=v[i+1,j]+v[i,j]*(1-gemx); v[i,j+1]:=v[i,j+1]+v[i,j]*gemx; end; setydob1:=v[6,1]+v[6,3]+v[5,5]*(1-gemx-gemy+gemx*gemy*2)*tajby; setydob0:=v[6,0]+v[6,2]+v[6,4]+v[5,5]*gemy*(1-gemx); setygub1:=v[1,6]+v[3,6]+v[5,5]*(1-gemx-gemy+gemx*gemy*2)*(1-tajby); setygub0:=v[0,6]+v[2,6]+v[4,6]+v[5,5]*gemx*(1-gemy); //Racunamo verovatnocu za mec for i:=0 to 3 do for j:=0 to 3 do begin r[i,j,1]:=0; r[i,j,2]:=0; end; r[0,0,1]:=1; r[0,0,2]:=0; for i:=0 to 2 do for j:=0 to 2 do begin r[i+1,j,1]:=r[i+1,j,1]+setxdob0*r[i,j,1]+setygub1*r[i,j,2]; r[i+1,j,2]:=r[i+1,j,2]+setxdob1*r[i,j,1]+setygub0*r[i,j,2];
  • 4. r[i,j+1,1]:=r[i,j+1,1]+setxgub0*r[i,j,1]+setydob1*r[i,j,2]; r[i,j+1,2]:=r[i,j+1,2]+setxgub1*r[i,j,1]+setydob0*r[i,j,2]; end; verovatnoca:=r[3,0,1]+r[3,0,2]+r[3,1,1]+r[3,1,2]+r[3,2,1]+r[3,2,2]; end; var a,b:real; begin write('Uneti verovatnocu da prvi igrac dobije poen kad servira: '); readln(a); write('Uneti verovatnocu da drugi igrac dobije poen kad servira: '); readln(b); writeln('Verovatnoca da prvi igrac dobije mec iznosi: ',verovatnoca(a,b):0:3); end.