Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
program PS;
uses Crt,WinDos;
var
t_1,t_2:longint;
i,j,diap,kol:integer;
Hour,Min,Sec,Ssec: Word;
sim:char;
mas: array [1..16000] of integer;
mas1: array [1..16000] of integer;
Procedure make;
begin
for i:= 1 to kol do
begin
mas[i]:=Random(diap);
mas1[i]:=0;
end
end;
Procedure sort;
begin
for i:=kol downto 2 do
for j:=i-1 downto 1 do
if mas[i]>mas[j] then mas1[i]:=mas1[i]+1
else mas1[j]:=mas1[j]+1;
end;
Procedure vyvod1;
begin
writeLn;
for i:= 1 to kol do
begin
write(mas[i],' ');
end
end;
Procedure vyvod2;
begin
writeLn;
for i:= 1 to kol do
begin
write(mas[i],'<',mas1[i],'> ');
end
end;
Procedure vyvod3;
begin
writeLn;
for j:=0 to kol-1 do
begin
for i:=1 to kol do
if j=mas1[i] then write(mas[i],' ');
end
end;
{ЏҐаҐў®¤Ёв ⥪г饥 ўаҐ¬п ў б®влҐ ¤®«Ё ᥪг¤л}
function Time(var Hour,Min,Sec,Ssec: Word):Longint;
begin
time:=360000*hour+6000*min+100*sec+ssec;
end;
{ЏҐаҐў®¤Ёв б®влҐ ¤®«Ё ᥪг¤л ў ॠ«м®Ґ ўаҐ¬п}
procedure Timer(t_1,t_2:Longint);
var
aa_mod,bb_mod,cc_mod:Word;
aa_int,bb_int,cc_int:Word;
aa,bb,cc:Real;
t:Word;
begin
t:=t_2-t_1;
aa:=t/360000;
aa_int:=trunc(aa);
aa_mod:=t mod 360000;
bb:=aa_mod/6000;
bb_int:=trunc(bb);
bb_mod:=aa_mod mod 6000;
cc:=bb_mod/100;
cc_int:=trunc(cc);
cc_mod:=bb_mod mod 100;
hour:=aa_int;
min:=bb_int;
sec:=cc_int;
ssec:=cc_mod;
end;
{‚бЇ®¬®Ј ⥫м п дгЄжЁп ¤«п ўлў®¤ нЄа ўаҐ¬ҐЁ}
function LeadingZero(w : Word) : String;
var
s : String;
begin
Str(w:0,s);
if Length(s) = 1 then
s := '0' + s;
LeadingZero := s;
end;
Begin
sim:='y';
ClrScr;
TextColor(2);
for i:=1 to 79-38 do
begin
gotoxy(i,1);
delay(1000);
WriteLn(' *‘®авЁа®ўЄ ¬Ґв®¬ Ї®¤бзҐв ба ўҐЁ©* ');
end;
for i:=79-38 downto 1 do
begin
gotoxy(i,1);
delay(1000);
WriteLn(' *‘®авЁа®ўЄ ¬Ґв®¬ Ї®¤бзҐв ба ўҐЁ©* ');
end;
WriteLn;
Write('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® н«Ґ¬Ґв®ў бЇЁбЄ [1..16000]: ');read(kol);
Write('‚ўҐ¤ЁвҐ ¤Ё Ї §® § 票© [0..32000]: ');read(diap);
If (kol>16000) or (kol<0) or (diap<0) or (diap>32000) then
begin
TextColor(4);
writeLn('€§ўЁЁвҐ, ® ўўҐ¤Ґ®Ґ ‚ ¬Ё зЁб«® Ґ Ї®¤¤Ґа¦Ёў Ґвбп ¤ ®© ўҐабЁҐ© Їа®Ја ¬¬л.');
writeLn('ЋЎа вЁвҐбм Є а §а Ў®взЁЄг.')
end;
Randomize;
WriteLn;
Make;
Write('‘®§¤ л© бЇЁб®Є: ');
Vyvod1;
GetTime(Hour,Min,Sec,Ssec);
t_1:=Time(Hour,Min,Sec,Ssec);
Sort;
GetTime(Hour,Min,Sec,Ssec);
t_2:=Time(Hour,Min,Sec,Ssec);
WriteLn;
WriteLn;
Write('‘ЇЁб®Є б Ё¤ҐЄб ¬Ё: ');
Vyvod2;
Timer(t_1,t_2);
WriteLn;
WriteLn;
Write('“Ї®а冷зҐл© бЇЁб®Є: ');
Vyvod3;
WriteLn;
WriteLn;
WriteLn('‚६п б®авЁа®ўЄЁ: ',LeadingZero(min),':',LeadingZero(sec),'.',LeadingZero(ssec));
WriteLn('Џа®Ја ¬¬ ЇЁб бв㤥⮬ Ја. ЊЏ-38 Њг§л祪® Њ ЄбЁ¬®¬');
Write('„«п Їа®¤®«¦ҐЁп ¦¬ЁвҐ «оЎго Є« ўЁиг');
repeat until keypressed;
end.
uses Crt,WinDos;
var
t_1,t_2:longint;
i,j,diap,kol:integer;
Hour,Min,Sec,Ssec: Word;
sim:char;
mas: array [1..16000] of integer;
mas1: array [1..16000] of integer;
Procedure make;
begin
for i:= 1 to kol do
begin
mas[i]:=Random(diap);
mas1[i]:=0;
end
end;
Procedure sort;
begin
for i:=kol downto 2 do
for j:=i-1 downto 1 do
if mas[i]>mas[j] then mas1[i]:=mas1[i]+1
else mas1[j]:=mas1[j]+1;
end;
Procedure vyvod1;
begin
writeLn;
for i:= 1 to kol do
begin
write(mas[i],' ');
end
end;
Procedure vyvod2;
begin
writeLn;
for i:= 1 to kol do
begin
write(mas[i],'<',mas1[i],'> ');
end
end;
Procedure vyvod3;
begin
writeLn;
for j:=0 to kol-1 do
begin
for i:=1 to kol do
if j=mas1[i] then write(mas[i],' ');
end
end;
{ЏҐаҐў®¤Ёв ⥪г饥 ўаҐ¬п ў б®влҐ ¤®«Ё ᥪг¤л}
function Time(var Hour,Min,Sec,Ssec: Word):Longint;
begin
time:=360000*hour+6000*min+100*sec+ssec;
end;
{ЏҐаҐў®¤Ёв б®влҐ ¤®«Ё ᥪг¤л ў ॠ«м®Ґ ўаҐ¬п}
procedure Timer(t_1,t_2:Longint);
var
aa_mod,bb_mod,cc_mod:Word;
aa_int,bb_int,cc_int:Word;
aa,bb,cc:Real;
t:Word;
begin
t:=t_2-t_1;
aa:=t/360000;
aa_int:=trunc(aa);
aa_mod:=t mod 360000;
bb:=aa_mod/6000;
bb_int:=trunc(bb);
bb_mod:=aa_mod mod 6000;
cc:=bb_mod/100;
cc_int:=trunc(cc);
cc_mod:=bb_mod mod 100;
hour:=aa_int;
min:=bb_int;
sec:=cc_int;
ssec:=cc_mod;
end;
{‚бЇ®¬®Ј ⥫м п дгЄжЁп ¤«п ўлў®¤ нЄа ўаҐ¬ҐЁ}
function LeadingZero(w : Word) : String;
var
s : String;
begin
Str(w:0,s);
if Length(s) = 1 then
s := '0' + s;
LeadingZero := s;
end;
Begin
sim:='y';
ClrScr;
TextColor(2);
for i:=1 to 79-38 do
begin
gotoxy(i,1);
delay(1000);
WriteLn(' *‘®авЁа®ўЄ ¬Ґв®¬ Ї®¤бзҐв ба ўҐЁ©* ');
end;
for i:=79-38 downto 1 do
begin
gotoxy(i,1);
delay(1000);
WriteLn(' *‘®авЁа®ўЄ ¬Ґв®¬ Ї®¤бзҐв ба ўҐЁ©* ');
end;
WriteLn;
Write('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® н«Ґ¬Ґв®ў бЇЁбЄ [1..16000]: ');read(kol);
Write('‚ўҐ¤ЁвҐ ¤Ё Ї §® § 票© [0..32000]: ');read(diap);
If (kol>16000) or (kol<0) or (diap<0) or (diap>32000) then
begin
TextColor(4);
writeLn('€§ўЁЁвҐ, ® ўўҐ¤Ґ®Ґ ‚ ¬Ё зЁб«® Ґ Ї®¤¤Ґа¦Ёў Ґвбп ¤ ®© ўҐабЁҐ© Їа®Ја ¬¬л.');
writeLn('ЋЎа вЁвҐбм Є а §а Ў®взЁЄг.')
end;
Randomize;
WriteLn;
Make;
Write('‘®§¤ л© бЇЁб®Є: ');
Vyvod1;
GetTime(Hour,Min,Sec,Ssec);
t_1:=Time(Hour,Min,Sec,Ssec);
Sort;
GetTime(Hour,Min,Sec,Ssec);
t_2:=Time(Hour,Min,Sec,Ssec);
WriteLn;
WriteLn;
Write('‘ЇЁб®Є б Ё¤ҐЄб ¬Ё: ');
Vyvod2;
Timer(t_1,t_2);
WriteLn;
WriteLn;
Write('“Ї®а冷зҐл© бЇЁб®Є: ');
Vyvod3;
WriteLn;
WriteLn;
WriteLn('‚६п б®авЁа®ўЄЁ: ',LeadingZero(min),':',LeadingZero(sec),'.',LeadingZero(ssec));
WriteLn('Џа®Ја ¬¬ ЇЁб бв㤥⮬ Ја. ЊЏ-38 Њг§л祪® Њ ЄбЁ¬®¬');
Write('„«п Їа®¤®«¦ҐЁп ¦¬ЁвҐ «оЎго Є« ўЁиг');
repeat until keypressed;
end.