Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ОписаниС языка PascalABC.NETΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 99

Автор W Cat

var

f1,f2: text;

f1name, f2name: string;


procedure StartExam;

var

s: string;

begin

Str(RandomN(10000, 99999), s);

f1name := 'pt1' + s + '.tst';

f2name := 'pt2' + s + '.tst';

Assign(f1, f1name);

Rewrite(f1);

Assign(f2, f2name);

Rewrite(f2);

end;


procedure EndExam;

begin

Close(f1);

Close(f2);

DataS(f1name, 3, 1);

DataS(f2name, 45, 1);

DataFileT(f1name, 1, 5);

ResultFileT(f2name, 1, 5);

end;


ΠžΠ±ΡΡƒΠ΄ΠΈΠΌ особСнности этих ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ², создаваСмых Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ StartExam, ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΈΠ΄ pt1#####.tst (для Ρ„Π°ΠΉΠ»Π° с исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ) ΠΈ pt2#####.tst (для Ρ„Π°ΠΉΠ»Π° с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ), ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π² позициях, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… символом #", Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ†ΠΈΡ„Ρ€Ρ‹, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹Π΅ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’Π΅ΠΌ самым ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС трСбования ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²: ΠΎΠ½ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .tst, ΠΈ имя Ρ„Π°ΠΉΠ»Π° с исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ всСгда отличаСтся ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Напомним, Ρ‡Ρ‚ΠΎ всС Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .tst автоматичСски ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° послС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ задания.

ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ EndExam слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ информация ΠΎ содСрТимом исходного Ρ„Π°ΠΉΠ»Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всю ΠΎΠ±Π»Π°ΡΡ‚ΡŒ исходных Π΄Π°Π½Π½Ρ‹Ρ… (строки с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎ ΠΏΡΡ‚ΡƒΡŽ -- см. Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ DataFileT) ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½Π° скрываСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС области исходных Π΄Π°Π½Π½Ρ‹Ρ… (см. Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ DataS). Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ такая рСализация Π±Ρ‹Π»Π° Π±Ρ‹ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ учащийся Π½Π΅ ΡƒΠ²ΠΈΠ΄Π΅Π» Π±Ρ‹ Π½Π° экранС ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π½Π΅ понял Π±Ρ‹, Ρ‡Ρ‚ΠΎ эти ΠΈΠΌΠ΅Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Однако Π² Π·Π°Π΄Π°Π½ΠΈΠΈ Π³Ρ€ΡƒΠΏΠΏ Exam ΠΈΠΌΠ΅Π½Π½ΠΎ такая рСализация являСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π²ΠΎΠ΄ ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ связываниС этих Ρ„Π°ΠΉΠ»ΠΎΠ² со стандартными ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° выполняСтся автоматичСски (Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ" для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ учащСгося), ΠΈ поэтому ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° экранС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π΅ слСдуСт.

Π˜Ρ‚Π°ΠΊ, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ StartExam ΠΈ EndExam позволяСт Π½Π°ΠΌ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π·Π°Π΄Π°Π½ΠΈΠΉ: послС опрСдСлСния Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ любого задания Π½Π°ΠΌ достаточно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ StartExam, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ f1 ΠΈ f2 исходными ΠΈ, соотвСтствСнно, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ EndExam.

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ ΠΊ нСпосрСдствСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти задания ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΌΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΠΈΡ… Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Exam1, снабдив Π΅Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ m: ΠΏΡ€ΠΈ m = 1 Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π° ΠΏΡ€ΠΈ m = 2 -- Π²Ρ‚ΠΎΡ€ΠΎΠ΅:


procedure Exam1(m: integer);

var

n, i: integer;

a: array[1..10] of real;

begin

CreateTask('ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ массивов');

case m of

1:

begin

TaskText('На Π²Ρ…ΠΎΠ΄ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС подаСтся Ρ†Π΅Π»ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число {N},', 0, 1);

TaskText('Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС \= массив ΠΈΠ· {N} вСщСствСнных чисСл. ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами', 0, 2);

TaskText('Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ, Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ с Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΌ, ΠΈ Ρ‚.\,Π΄. ВывСсти', 0, 3);

TaskText('ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта', 0, 4);

TaskText('ΠΎΡ‚Π²ΠΎΠ΄ΠΈΡ‚ΡŒ 7 экранных ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ.', 0, 5);

end;

2:

begin

TaskText('На Π²Ρ…ΠΎΠ΄ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС подаСтся Ρ†Π΅Π»ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число {N},', 0, 2);

TaskText('Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС \= массив ΠΈΠ· {N} вСщСствСнных чисСл. ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами', 0, 3);

TaskText('ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΈ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ элСмСнтов массива. ВывСсти ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив', 0, 4);

TaskText('Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΎΡ‚Π²ΠΎΠ΄ΠΈΡ‚ΡŒ 7 экранных ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ.', 0, 5);

end;

end;

StartExam;

n := 2 * RandomN(1, 5);

for i := 1 to n do

a[i] := RandR(-99, 99);

writeln(f1,n);

for i := 1 to n - 1 do

write(f1, a[i]:0:2, ' ');

writeln(f1, a[n]:0:2);

for i := 1 to n div 2 do

case m of

1: SwapR(a[2*i - 1], a[2*i]);

2: SwapR(a[i], a[i + n div 2]);

end;

for i := 1 to n do

write(f2, a[i]:7:2);

writeln(f2);

EndExam;

SetTestCount(3);

end;


ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ CreateTask Π΅ΠΉ пСрСдаСтся строковый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, содСрТащий имя ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏΡ‹ "ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ массивов". Π­Ρ‚ΠΎ обСспСчиваСт Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ Π² ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏΡƒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ связаны Ρ€Π°Π½Π΅Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Π½Π°ΡˆΡƒ Π³Ρ€ΡƒΠΏΠΏΡƒ задания ExamBegin71 ΠΈ ExamBegin72.

Π Π°Π·ΠΌΠ΅Ρ€ исходного массива всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ ΠΈ Π½Π΅ прСвосходящим 10; послСднСС условиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС исходныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ экранной строкС.

Π’ ΠΎΠ±ΠΎΠΈΡ… заданиях значСния элСмСнтов исходного массива ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. ΠœΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ -99 Π΄ΠΎ 99, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² этом случаС ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ чисСл с двумя Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 6 экранных ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ.

ΠŸΡ€ΠΈ записи Π² Ρ„Π°ΠΉΠ» элСмСнтов исходного массива ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ всСгда располагаСтся ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊΠΎΠΉ порядок ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ исходных Π΄Π°Π½Π½Ρ‹Ρ… принят Π²ΠΎ всСх заданиях Π³Ρ€ΡƒΠΏΠΏ ExamBegin ΠΈ ExamTaskC. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ этом ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вСщСствСнных чисСл с двумя Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²: ":0:2". ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², согласно Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ΅ задания, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚Π²ΠΎΠ΄ΠΈΡ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива ΠΏΠΎ 7 экранных ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с двумя Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ (послСднСС условиС принято ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΎ всСх заданиях Π³Ρ€ΡƒΠΏΠΏ ExamBegin ΠΈ ExamTaskC, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… вСщСствСнныС Π΄Π°Π½Π½Ρ‹Π΅). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹: ":7:2".

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Π΅ΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π½Π΅ содСрТит Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ, для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ достаточно нСбольшого числа тСстовых запусков. ΠœΡ‹ установили это число Ρ€Π°Π²Π½Ρ‹ΠΌ Ρ‚Ρ€Π΅ΠΌ, ΡƒΠΊΠ°Π·Π°Π² Π΅Π³ΠΎ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ SetTestCount.

Нам ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Exam1 (с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ 1 ΠΈ 2) Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹ InitTask, связав эти Π²Ρ‹Π·ΠΎΠ²Ρ‹ с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ задания сразу послС ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ ExamBegin71 ΠΈ ExamBegin72, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС эти задания относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏΠ΅ "ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ массивов". ΠŸΡ€ΠΈ этом Π½ΠΎΠΌΠ΅Ρ€Π° послСдних 12 Π·Π°Π΄Π°Π½ΠΈΠΉ увСличатся Π½Π° 2:


procedure InitTask(num: integer);

begin

case num of

1..2: UseTask('ExamBegin', 70 + num);

3..4: Exam1(num - 2);

5..16: UseTask('ExamTaskC', 20 + num);

end;

end;


НСобходимо Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½Π° 2 пятый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ CreateGroup, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ‰Π΅Π΅ количСство Π·Π°Π΄Π°Π½ΠΈΠΉ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это количСство Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ 16).

Для просмотра Π½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ Π² ΠΎΠΊΠ½Π΅ Π·Π°Π΄Π°Ρ‡Π½ΠΈΠΊΠ° Π½Π°Π΄ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Task Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ символ "#" Π½Π° "?": Task('ExamDemo?').

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши [F9] ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π½Π° экранС ΠΎΠΊΠ½ΠΎ Π·Π°Π΄Π°Ρ‡Π½ΠΈΠΊΠ° Π² Π΄Π΅ΠΌΠΎ-Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС задания, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ настоящСму ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π² Π½Π°ΡˆΡƒ Π³Ρ€ΡƒΠΏΠΏΡƒ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π²ΠΈΠ΄ ΠΎΠΊΠ½Π° для задания ExamDemo4 (Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ это Π·Π°Π΄Π°Π½ΠΈΠ΅ инициализируСтся посрСдством Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Exam1 с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, Ρ€Π°Π²Π½Ρ‹ΠΌ 2):

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ слоТности

Наша Π³Ρ€ΡƒΠΏΠΏΠ° ExamDemo ΠΊ настоящСму ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ содСрТит 12 Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ слоТности, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ ExamTaskC. ВсС эти задания связаны с ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ; ΠΎΠ½ΠΈ содСрТат свСдСния ΠΎΠ± Π°Π±ΠΈΡ‚ΡƒΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ… ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΈΡ… Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ, Π½ΠΎΠΌΠ΅Ρ€Π° школ ΠΈ Π³ΠΎΠ΄Ρ‹ поступлСния Π² Π²ΡƒΠ·Ρ‹. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности, связанныС с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ Π½Π°Π±ΠΎΡ€ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ двумя Π½ΠΎΠ²Ρ‹ΠΌΠΈ заданиями ΠΈΠ· Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.

НовыС задания Π±ΡƒΠ΄ΡƒΡ‚ связаны с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Π°Π±ΠΈΡ‚ΡƒΡ€ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ школам: для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡˆΠΊΠΎΠ»Ρ‹ Π½Π°Π΄ΠΎ Π½Π°ΠΉΡ‚ΠΈ связанный с Π½Π΅ΠΉ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ (ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ) Π³ΠΎΠ΄ поступлСния Π°Π±ΠΈΡ‚ΡƒΡ€ΠΈΠ΅Π½Ρ‚Π°. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΌΡ‹ услоТним, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ отсортированы ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ максимального Π³ΠΎΠ΄Π° (Π° для ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π³ΠΎΠ΄ΠΎΠ² -- ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ Π½ΠΎΠΌΠ΅Ρ€Π° ΡˆΠΊΠΎΠ»Ρ‹). ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ сдСлаСм Π±ΠΎΠ»Π΅Π΅ простым: Π² Π½Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Π΄ΠΎ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² школ.

ΠŸΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠ² исходных Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числа (Π½ΠΎΠΌΠ΅Ρ€Π° школ ΠΈ Π³ΠΎΠ΄Ρ‹ поступлСния), Π½ΠΎ ΠΈ строковыС Π΄Π°Π½Π½Ρ‹Π΅ -- Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π°Π±ΠΈΡ‚ΡƒΡ€ΠΈΠ΅Π½Ρ‚ΠΎΠ² (хотя для выполнСния этих Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ). ΠŸΡ€ΠΎΡ‰Π΅ всСго ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ массив Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ достаточно большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ элСмСнты случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² условии Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π΅ говорится ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π² исходном Π½Π°Π±ΠΎΡ€Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ, поэтому совпадСния Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ Π²ΠΏΠΎΠ»Π½Π΅ допустимы (Ссли Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ всС Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ цСлСсообразно Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ большСС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅; ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ Π½Π°Π±ΠΎΡ€Ρƒ исходных Π΄Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠ²ΠΎΠΉ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ срСди ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ элСмСнтов Π½Π°Π±ΠΎΡ€Π° отсутствуСт данная фамилия с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Π°ΠΌΠΈ).

Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ нашСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ массив Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ ΠΈΠ· 40 элСмСнтов (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ языка PascalABC.NET ΠΌΠ΅ΠΆΠ΄Ρƒ описаниСм массива ΠΈ списком ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ указываСтся Π·Π½Π°ΠΊ присваивания):