ΠΠΠΠΠ ΠΠ’ΠΠ ΠΠΠ― Π ΠΠΠΠ’Π ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ»
Π½Π° ΡΠ΅ΠΌΡ
ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ: ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ: ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΠΈΡ
Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π°, Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠΎΠ² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ:
1. ΠΠ·ΡΡΠΈΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π²ΡΠ±ΠΎΡΠΎΠΌ, Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ. Π’Π°ΠΊ ΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΌ ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ
.
2. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°.
3. ΠΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ Π½Π°Π±ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΊ ΡΠ°Π±ΠΎΡΠ΅:
1. ΠΡΠ»ΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ Π΅Π³ΠΎ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ.
2. ΠΠ°Π±ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΡΠ»Π°Π΄ΠΈΡΡ Π΅Π΅, ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ. Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΅Π΅ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
.
Π₯ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ
1. ΠΠ°Π±ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΠ΅ΡΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
: {0,9,8,7,6,5,32,6,4,3}
ΠΡΠΎΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
: {2,4,16,23,34,45,76,91,98,100}
2. Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
PROGRAM LAB5;
PROCEDURE SORT_MAS (SIZ:WORD;a:array of byte);
VAR
S:BYTE;K, i: WORD;
BEGIN
REPEAT
S:=0;
BEGIN
FOR K:=3 downTO 1 DO
BEGIN
FOR I:=0 TO (SIZ-K) DO
BEGIN
IF (A[I]>A[I+1]) THEN
BEGIN
A[I]: =A[I]+A[I+1];
A[I+1]:=A[I]-A[I+1];
A[I]:=A[I]-A[I+1];
S:=1
END
END
END
END;
UNTIL S=0;
WRITELN ('ΠΠ°ΡΡΠΈΠ² ΠΏΠΎΡΠ»Π΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ: ');
WRITELN;
for k:=1 to SIZ do write (a[k],', ');
end;
VAR
powtor:array[1.256] of byte;
a:array[1.10 000] of byte;
SIZ, w: WORD;
q:byte;
BEGIN
WRITELN ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ');readln (siz);
WRITELN ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²:');
for w:=1to siz do
begin
write ('a[', w,']=');readln (a[w])
end;
for w:=1 to 256 do powtor[w]: =0;
for w:=1 to siz do powtor[(a[w])+1]: =powtor[(a[w])+1]+1;
w:=1;
Q:=0;
repeat
begin
if powtor[w]>1 then q:=1;;
w:=w+1
end;
until (q=1) or (w>=255);
if q=0 then sort_mas (siz, a)
ELSE
writeln ('ΠΠ°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ!')
END.
3. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΡΠΈΠΌΠ΅Ρ № 1.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²:
a[1]=0
a[2]=9
a[3]=8
a[4]=7
a[5]=6
a[6]=5
a[7]=32
a[8]=6
a[9]=4
a[10]=3
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ!
ΠΡΠΈΠΌΠ΅Ρ № 2.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²:
a[1]=100
a[2]=2
a[3]=4
a[4]=98
a[5]=76
a[6]=45
a[7]=23
a[8]=91
a[9]=34
a[10]=16
ΠΠ°ΡΡΠΈΠ² ΠΏΠΎΡΠ»Π΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ: 2,4,16,23,34,45,76,91,98,100
4. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, Π²ΡΡΠ²Π»Π΅Π½Π½ΡΡ
ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ.
ΠΡΠ²ΠΎΠ΄Ρ Π Ρ
ΠΎΠ΄Π΅ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Π»ΠΈ:
1. ΠΡΠ» ΠΈΠ·ΡΡΠ΅Π½ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π΄Π°Π½Π½ΡΡ
Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Pascal.
2. ΠΠ·ΡΡΠ΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ±ΠΎΡΠΎΠΌ, Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°. Π’Π°ΠΊ ΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΌ ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ
.
3. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°.
4. ΠΠΎΠ΄ΠΎΠ±ΡΠ°Π½Ρ Π½Π°Π±ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΠΎΠ½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ.