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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Delphi. Учимся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 11

Автор Π‘Π΅Ρ€Π³Π΅ΠΉ ΠŸΠ°Ρ€ΠΈΠΆΡΠΊΠΈΠΉ

  {… ΠΈ Ссли число Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Ρ‚ΠΎ ΠΎΠ½ΠΎ становится наибольшим}

  big:= temp;

end;

Рассмотрим ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΡ‹:

procedure TForm1.FormCreate(Sender: TObject);

begin

 Randomize; //Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл

 //Π·Π°Π³Π°Π΄Ρ‹Π²Π°Π΅ΠΌ случайноС число ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°

 num:= Random(StrToInt(finish.Text) – StrToInt(start.Text)) + StrToInt(start.Text);

 kolvo:= 0; //обнуляСм количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ

 big:= StrToInt(finish.Text); //самоС большоС число

 small:= StrToInt(start.Text); //самоС малСнькоС число

end;

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ случайноС число ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ устанавливаСм для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΡ‚ наимСньшСго Π΄ΠΎ наибольшСго числа. Π’ дальнСйшСм ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ постСпСнно ΡΡƒΠΆΠ°Ρ‚ΡŒ этот Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.

Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ событиС β€” Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠŸΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ для этого ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick:

procedure TForm1.Button2Click(Sender: TObject);

begin

 //ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ

 kolvo:= kolvo + 1;

 if not comp.Checked then //Ссли ΠΈΠ΄Π΅Ρ‚ ΠΈΠ³Ρ€Π° с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ

 begin

  if pl1.Enabled then begin //Ссли Ρ…ΠΎΠ΄ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°

  //Ссли Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ большС Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа, ставим Π·Π½Π°ΠΊ >

  if StrToInt(ch1.Text) > num then znak1.Caption:= '>';

  //Ссли Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ мСньшС Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа, ставим Π·Π½Π°ΠΊ <

  if StrToInt(ch1.Text) < num then znak1.Caption:= '<';

  if StrToInt(ch1.Text) = num then //Ссли число ΡƒΠ³Π°Π΄Π°Π½ΠΎ

  begin

   znak1.Caption:= '='; //ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π·Π½Π°ΠΊ Π½Π° "="

   //вмСсто Π·Π½Π°ΠΊΠ° "X" ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ΅ число

   Ρ….Caption:= IntToStr(num);

   //Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сообщСниС ΠΎ ΠΏΠΎΠ±Π΅Π΄Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°

   ShowMessage('ПобСдил ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠΊ!' + #13#10 + 'Число ΡƒΠ³Π°Π΄Π°Π½ΠΎ Π·Π° ' + IntToStr(kolvo) + ' ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ')

  end;

  //ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Ρ…ΠΎΠ΄ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ³Ρ€ΠΎΠΊΡƒ

  pl1.Enabled:= False;

  ch1.Enabled:= False;

  ch2.Enabled:= True;

  pl2.Enabled:= True;

  Exit; //ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

 end;

 if pl2.Enabled then begin //Ссли Ρ…ΠΎΠ΄ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°

  {сравниваСм Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ΅ число с Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΈ ставим ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π½Π°ΠΊ}

  if StrToInt(ch2.Text) > num then znak2.Caption:= '>';

  if StrToInt(ch2.Text) < num then znak2.Caption := '<';

   if StrToInt(ch2.Text) = num then begin

    znak2.Caption := '=';

    x.Caption:= IntToStr(num);

    ShowMessage('ПобСдил Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΊ!' + #13#10 + 'Число ΡƒΠ³Π°Π΄Π°Π½ΠΎ Π·Π° ' + IntToStr(kolvo) + ' ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ')

   end;

  end;

  //ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Ρ…ΠΎΠ΄ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΈΠ³Ρ€ΠΎΠΊΡƒ

  Ρ€l2.Enabled:= False;

  ch2.Enabled:= False;

  ch1.Enabled:= True;

  pl1.Enabled:= True;

  Exit;

 end;

 if comp.Checked then begin //Ссли ΠΈΠ³Ρ€Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°

  {провСряСм Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΈ ставим ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π½Π°ΠΊ}

  if StrToInt(ch1.Text) > num then znak1.Caption:= '>';

  if StrToInt(ch1.Text) < num then znak1.Caption:= '<';

  if StrToInt(ch1.Text) = num then begin

   znak1.Caption:= '=';

   x.Caption:= IntToStr(num);

   ShowMessage('Π’Ρ‹ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»ΠΈ!' + #13#10 + 'Число ΡƒΠ³Π°Π΄Π°Π½ΠΎ Π·Π° ' + IntToStr(kolvo) + ' ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ');

   Exit;

  end;

  //Ссли Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ° большС Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа

  if znak1.Caption = '>' then begin

   maximum[kolvo]:= StrToInt(ch1.Text); {добавляСм Π² массив Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΡ… чисСл Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°}

   max();

   //ΠΈΡ‰Π΅ΠΌ наибольшСС число

  end;

  //Ссли Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ° мСньшС Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа

  if znak1.Caption = '<' then begin

   minimum[kolvo]:= StrToInt(ch1.Text); {добавляСм число Π² массив Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΡ… чисСл, Π²Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ}

   min();//ΠΈΡ‰Π΅ΠΌ наимСньшСС число

   end;

   //послС всСх расчСтов, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π²Ρ‹Π΄Π°Π΅Ρ‚ свой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

   ch2.Text:= IntToStr(Random(big– small)+ small);

  end;

  //провСряСм Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ставим ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π½Π°ΠΊ

  if StrToInt(ch2.Text) > num then znak2.Caption:= '>';

  if StrToInt(ch2.Text) < num then znak2.Caption:= '<';

  if StrToInt(ch2.Text) = num then begin znak2.Caption:= '=' ;

  x.Caption:= IntToStr(num);

  ShowMessage('Π’Ρ‹ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π»ΠΈ!' + #13#10 + 'Π’ этот Ρ€Π°Π· ΠΏΠΎΠ±Π΅Π΄ΠΈΠ» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€!' + #13#10 + ' Число ΡƒΠ³Π°Π΄Π°Π½ΠΎ Π·Π° ' + IntToStr(kolvo) + ' ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ');

 end;

end;

По Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠŸΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΡ‹ провСряСм, ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠ³Ρ€Ρ‹ установлСн: с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Если ΠΌΡ‹ ΠΈΠ³Ρ€Π°Π΅ΠΌ с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Ρ‚ΠΎ Π΄Π°Π»Π΅Π΅ осущСствляСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: ΠΊΡ‚ΠΎ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² Π²Ρ‹Π΄Π°Π» свой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Если это Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠΊ, Ρ‚ΠΎ ΠΌΡ‹ сравниваСм Π΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° с Π·Π°Π³Π°Π΄Π°Π½Π½Ρ‹ΠΌ числом ΠΈ послС этого ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π½Π°ΠΊ ΠΈΠ»ΠΈ сообщаСм ΠΎ ΠΏΠΎΠ±Π΅Π΄Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°, Ссли числа Ρ€Π°Π²Π½Ρ‹. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ Π²Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ ввСсти число Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ³Ρ€ΠΎΠΊΡƒ.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΊ Π²Ρ‹Π΄Π°Π» свой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΌΡ‹ выполняСм Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΈ, Ссли число Π½Π΅ ΡƒΠ³Π°Π΄Π°Π½ΠΎ, вновь Π΄Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ΅ число ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΈΠ³Ρ€ΠΎΠΊΡƒ. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² Π΄Π°Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΌΡ‹ пополняСм счСтчик kolvo, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ, сколько ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ использовалось, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ число.

Если ΠΈΠ³Ρ€Π° ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ Π²Π²ΠΎΠ΄ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π²ΠΎΠΎΠ±Ρ‰Π΅. Π’Π°ΠΌ просто Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, ΠΎΠ½ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π²Ρ‹Π΄Π°Π½Π½Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ. Если Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ° большС Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа, Ρ‚ΠΎ ΠΌΡ‹ добавляСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π² массив Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΡ… чисСл. Π’ этом массивС ищСтся самоС малСнькоС число срСди Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΡ….

Если Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ° мСньшС Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа, Ρ‚ΠΎ ΠΌΡ‹ добавляСм Π΅Π³ΠΎ Π² массив Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΡ… чисСл. Π’ этом массивС ищСтся самоС большоС число срСди Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΡ…. Π’Π΅ΠΌ самым ΠΌΡ‹ постоянно сокращаСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ВсС это продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΈΠ³Ρ€ΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π΅ ΡƒΠ³Π°Π΄Π°Π΅Ρ‚ Π·Π°Π³Π°Π΄Π°Π½Π½ΠΎΠ΅ число.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ ΠΈΠ³Ρ€Ρ‹ "с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ" ΠΈ "ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°", создадим ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick для Ρ„Π»Π°ΠΆΠΊΠ° comp:

procedure TForm1.compClick(Sender: TObject);

begin

 if comp.Checked then begin //Ссли Ρ„Π»Π°ΠΆΠΎΠΊ установлСн

  //Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ Π²Π²ΠΎΠ΄ ΠΎΡ‚ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°

  ch2.Enabled:= False;

  Ρ€l2.Enabled:= False;

  //Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π²Π²ΠΎΠ΄ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°

  ch1.Enabled:= True;

  pl1.Enabled:= True;

 end

 else begin

  //Ссли ΠΈΠ³Ρ€Π° ΠΈΠ΄Π΅Ρ‚ с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Ρ‚ΠΎ

  //Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π²Π²ΠΎΠ΄ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°

  ch2.Enabled:= True;

  Ρ€l2.Enabled:= True;

 end;

end;

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Новая ΠΈΠ³Ρ€Π°:

procedure TForm1.Button1Click(Sender: TObject);

begin

 if ((StrToInt(finish.Text) > StrToInt(start.Text)) and (StrToInt(start.Text) > 0) and (StrToInt(finish.Text) < 60000))

 then {провСряСм, Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ число Π·Π° допустимыС ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹}

  {Π·Π°Π³Π°Π΄Π°Π΅ΠΌ случайноС число Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅}

  num:= Random(StrToInt(finish.Text) – StrToInt(start.Text)) + StrToInt(start.Text)

 else ShowMessage('НСвСрный Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½!');

 //обнуляСм всС, ΠΈ ΠΏΡ€ΠΈΠ΄Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄

 znak1.Caption:= '';

 znak2.Caption:= '';

 ch1.Enabled:= True;

 ch2.Enabled:= False;

 pl1.Enabled:= True;

 pl2.Enabled:= False;

 x.Caption:= 'X';

 ch1.Text:= '0';

 ch2.Text:= '0';

 //очистим массивы Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΡ… чисСл

 for i:= 1 to kolvo+1 do begin

  minimum[i]:= 0;

  maximum[i]:= 0;

  big:= StrToInt(finish.Text); //наибольшСС число

  small:= StrToInt(start.Text); //наимСньшСС число

 end;

 kolvo:= 0; //количСство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ

end;

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ случайноС число, ΠΌΡ‹ провСряСм, Π½Π΅ являСтся Π»ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мСньшС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅, Π½Π΅ являСтся Π»ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мСньшС нуля ΠΈ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π»ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 60000. Если всС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ Π·Π°Π³Π°Π΄Ρ‹Π²Π°Π΅ΠΌ число Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. ПослС этого обнуляСм всС значСния ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ.