- •Var temp,code: integer;
- •Val(inp, out, code);
- •Var temp,code: integer;
- •Val(inp, out, code);
- •Var temp,code: integer;
- •Val(inp, out, code);
- •Var temp,code: integer;
- •Val(inp, out, code);
- •Ver: real;
- •Var temp,code: integer;
- •Val(inp, out, code);
- •Var temp,code: integer;
- •Val(inp, out, code);
- •Ver: real;
- •Var temp,code: integer;
- •Val(inp, out, code);
Val(inp, out, code);
if code=0 then
begin
fl:=true;
writeln;
end
else begin
head(hd);
writeln('Uncorrect! Please, input Number.');
write('Input: ');
fl:=false;
end;
end;
procedure semena;
const arr=10000;
hd='***Experiment s semenami***';
var sem: array [1..arr] of byte;
i,j,k,sorn,udachno: longint;
percent, ver, mid, all:real;
temp: byte;
key: char;
sr, ii, n:integer;
fl: boolean;
st:string;
begin
randomize;
repeat
head(hd);
writeln('Please, input number of experiments...');
write('Input: ');
repeat
readln(st);
verif(st,n,fl,hd);
until fl=true;
writeln('please wait...');
for i:=1 to 40 do
sem[i]:=1;
for i:=41 to arr do
sem[i]:=0;
udachno:=0;
for k:=1 to n do
begin
for i:=1 to arr do
begin
j:=random(arr)+1;
temp:=sem[j];
sem[j]:=sem[i];
sem[i]:=temp;
end;
sorn:=0;
for i:=1 to 500 do
if sem[i]=1 then sorn:=sorn+1;
if sorn=5 then udachno:=udachno+1;
end;
ver:=udachno/n;
writeln;
writeln('kuchek s 5-u sornyakami=',udachno,' iz ',n,' experimentov');
writeln;
writeln('Veroyatnost`=',ver:5:3);
writeln;
writeln('any key to continue, Esc to exit...');
key:=readkey;
until key=#27;
end;
begin
semena;
end.
Рис.6. Результат работы программы ***Experiment s semenami*** (Работа 5 (б)).
Работа 5 (в).
Текст программы:
uses crt;
procedure head(st:string);
begin
clrscr;
writeln(st);
writeln;
end;
procedure verif(inp:string;var out:integer;var fl:boolean;hd:string);
Var temp,code: integer;
begin
fl:=true;
Val(inp, out, code);
if code=0 then
begin
fl:=true;
writeln;
end
else begin
head(hd);
writeln('Uncorrect! Please, input Number.');
write('Input: ');
fl:=false;
end;
end;
procedure strelba_po_celi;
const n=300000;
var
targ: array[1..10] of byte;
i, j, hit, well, ver1:longint;
Ver: real;
k:longint;
key: char;
begin
randomize;
repeat
well:=0;
repeat
clrscr;
head('***Strelba***');
writeln('Vvedite veroyatnost` popadaniya pri 1-om vistrele (0,3 ili 0,6): ');
write('Input: 0,');
readln(ver1);
until (ver1=3)or(ver1=6);
for i:=1 to ver1 do
targ[i]:=1;
for i:=ver1+1 to 10 do
targ[i]:=0;
for k:=1 to n do
begin
hit:=0;
for i:=1 to 100 do
begin
j:=random(10)+1;
if targ[j]=1 then hit:=hit+1;
end;
if hit> 50 then well:=well+1;
end;
ver:=well/n;
write('Veroyatnost`= ');
writeln(ver:8:7 );
writeln;
writeln('any key to continue, Esc to exit...');
key:=readkey;
until key=#27;
end;
begin
strelba_po_celi;
end.
Рис.6. Результат работы программы ***Strelba*** (Работа 5 (в)) при вероятности попасть по цели 0.3.
Рис.6. Результат работы программы ***Strelba*** (Работа 5 (в)) при вероятности попасть по цели 0.6.
Работа 5 (г).
Текст программы:
uses crt;
procedure head(st:string);
begin
clrscr;
writeln(st);
writeln;
end;
procedure verif(inp:string;var out:integer;var fl:boolean;hd:string);