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

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

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

 p2.Visible:= False;

 p3.Visible:= True;

 vopr:= Random(4) + 1;

 vars(vopr);

end;


procedure TForm1.p3Click(Sender: TObject);

begin

 Label1.Caption:= 'Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ вопрос:';

 verno();

 Ρ€3.Visible:= False;

 p4.Visible:= True;

 vopr:= Random(4) + 1;

 vars(vopr);

end;

procedure TForm1.p4Click(Sender: TObject);

begin

 Label1.Caption:= 'ΠŸΡΡ‚Ρ‹ΠΉ вопрос:';

 verno();

 p4.Visible:= False;

 p5.Visible:= True;

 vopr:= Random(4) + 1;

 vars(vopr);

end;


procedure TForm1.p5Click(Sender: TObject);

begin

 //провСряСм ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° послСдний вопрос

 verno() ;

 //ΡƒΠ·Π½Π°Π΅ΠΌ, сколько Π±Π°Π»Π»ΠΎΠ² Π½Π°Π±Ρ€Π°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ

 ss:= IntToStr(balls);

 //Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ

 Memo1.Visible:= False;

 Ρ€5.Visible:= False;

 RadioGroup1.Visible:= False;

 Label1.Visible:= False;

 an1.Visible:= False;

 an2.Visible:= False;

 an3.Visible:= False;

 an4.Visible:= False;

 Label2.Visible:=True;//ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΊΡƒ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ

 Label2.Align:= alClient;//растягиваСм Π΅Π΅ Π½Π° всю Ρ„ΠΎΡ€ΠΌΡƒ

 //ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

 Label2.Caption:= 'ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²' + IntToStr(balls*(100 div 5))+'%';

end;


procedure TForm1.N4Click(Sender: TObject);

begin

 Halt; //Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

end;


procedure TForm1.p1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p1.BevelInner:= bvLowered;

 p1.BevelOuter:= bvRaised;

end;

procedure TForm1.p1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p1.BevelInner:=bvRaised;

 p1.BevelOuter:=bvLowered;

end;


procedure TForm1.p2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p2.BevelInner:= bvLowered;

 p2.BevelOuter:= bvRaised;

end;

procedure TForm1.p2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p2.BevelInner:=bvRaised;

 p2.BevelOuter:=bvLowered;

end;


procedure TForm1.p3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p3.BevelInner:= bvLowered;

 p3.BevelOuter:= bvRaised;

end;

procedure TForm1.p3MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p3.BevelInner:=bvRaised;

 p3.BevelOuter:=bvLowered;

end;


procedure TForm1.p4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p4.BevelInner:= bvLowered;

 p4.BevelOuter:= bvRaised;

end;

procedure TForm1.p4MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p4.BevelInner:=bvRaised;

 p4.BevelOuter:=bvLowered;

end;


procedure TForm1.p5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p5.BevelInner:= bvLowered;

 p5.BevelOuter:= bvRaised;

end;

procedure TForm1.p5MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p5.BevelInner:=bvRaised;

 p5.BevelOuter:=bvLowered;

end;


procedure TForm1.N1Click(Sender: TObject);

begin

 Randomize;

 ss:= zz;

 start(); //Π½Π°Ρ‡Π°Π»ΠΎ тСста

end;


procedure TForm1.FormDestroy(Sender: TObject);

begin

 DeleteFile('c:\base.bsd'); //удаляСм Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π±Π°Π·Ρƒ

end


end.

⊚ ВсС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ исполняСмый Ρ„Π°ΠΉΠ» рассмотрСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ находятся Π½Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дискС Π² ΠΏΠ°ΠΏΠΊΠ΅ Chapter_13.

Π“Π»Π°Π²Π° 14

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΡˆΡƒΡ‚ΠΎΠΊ

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ пСриодичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡˆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Delphi. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ пСриодичСскиС дСйствия, Π½Π°ΠΌ понадобится ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Timer ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ System. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ случайно Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ ΡˆΡƒΡ‚ΠΊΡƒ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ срабатывал ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ свойству Interval Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 60000. Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… свойств Π½ΠΈ для Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΈ для Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для ΡˆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, β€” ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π΅ ΠΎΡ‚ Π³Π»Π°Π· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для этого достаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Ρ„ΠΎΡ€ΠΌΡ‹ OnPaint ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

procedure TForm1.FormPaint(Sender: TObject);

begin

 Form1.Hide; //прячСм Ρ„ΠΎΡ€ΠΌΡƒ

end;

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ прорисовкС Ρ„ΠΎΡ€ΠΌΡ‹ скрываСм Π΅Π΅ ΠΈΠ· Π²ΠΈΠ΄Ρƒ. ΠŸΡ€ΠΈ этом ΠΎΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠ΄Π΅Ρ‚ скрыта Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΠΈ исчСзнСт с ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² диспСтчСрС Π·Π°Π΄Π°Ρ‡ Windows.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ дСйствиС для нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” рСализация Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ вмСстС с запуском ОБ. Для этого создайтС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ OnCreate ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

procedure TForm1.FormCreate(Sender: TObject);

var

 reg:TRegistry;//пСрСмСнная для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рССстром

 path: string;//содСрТит ΠΏΡƒΡ‚ΡŒ ΠΊ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

begin

 Randomize; //Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл

 //ΡƒΠ·Π½Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ Π΅Π΅ имя

 path:= Application.EXEname;

 reg:= TRegistry.Create;//ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ рССстр

 //Π²Π΅Ρ‚ΠΊΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

 reg.RootKey:= HKEY_CURRENT_USER;

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

 if reg.OpenKey('\Software\Microsoft\Windows\' +

  'CurrentVersion\Run', True)

 then begin

  //записываСм ссылку Π½Π° Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ

  reg.WriteString('Joker', path);

  reg.CloseKey;//Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ рССстр

  reg.Free;//освобоТдаСм ΠΏΠ°ΠΌΡΡ‚ΡŒ

 end;

end;

Π§Ρ‚ΠΎΠ±Ρ‹ это всС Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ€Π°Π·Π΄Π΅Π» uses ссылку Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Registry. Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΡˆΡƒΡ‚ΠΎΠΊ . Π‘Π½Π°Ρ‡Π°Π»Π° объявим всС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ var:

var

 Form1: TForm1;

 //для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

 Dummy: integer = 0;

 OldKbHook: HHook = 0;

 //для снятия ΠΊΠΎΠΏΠΈΠΈ экрана

 Π’ΠœΠ 1: Graphics.TBitmap;

 DC1: HDC;

 Image1: TImage;

 // для поиска случайного рисунка

 fn: TSearchRec;

 Finds: integer;

 i: integer;

 endval: integer;

 err_str: string;//Π²Ρ‹Π²ΠΎΠ΄ ошибки

 tm: TSystemTime; //ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

 reg: TRegistry; //для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рССстром

 JokeNum: shortint; //Π½ΠΎΠΌΠ΅Ρ€ ΡˆΡƒΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ

 curs: TRect; //ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

ВсС ΡˆΡƒΡ‚ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ описаны Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° OnTimer.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² этот ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

procedure TForm1.Timer1Timer(Sender: TObject);

begin

 JokeNum:= Random(10) + 1; //Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ случайный Π½ΠΎΠΌΠ΅Ρ€ ΡˆΡƒΡ‚ΠΊΠΈ

 case JokeNum of //выполняСм ΡˆΡƒΡ‚ΠΊΡƒ

 1: begin

  //ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 2:

 begin

  //ΠΊΠΎΠ΄ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 3: begin

  //ΠΊΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 4: begin

  //ΠΊΠΎΠ΄ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 5: begin

  //ΠΊΠΎΠ΄ пятой ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 6: begin

  //ΠΊΠΎΠ΄ ΡˆΠ΅ΡΡ‚ΠΎΠΉ ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 7: begin

  //ΠΊΠΎΠ΄ сСдьмой ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 8: begin

  //ΠΊΠΎΠ΄ восьмой ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 9: begin

  //ΠΊΠΎΠ΄ дСвятой ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 10: begin

  //ΠΊΠΎΠ΄ дСсятой ΡˆΡƒΡ‚ΠΊΠΈ

 end;

 end;

end;

Π­Ρ‚ΠΎ шаблон для Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΡˆΡƒΡ‚ΠΎΠΊ. Π—Π΄Π΅ΡΡŒ выбираСтся случайноС число ΠΎΡ‚ 1 Π΄ΠΎ 10, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠ· ΡˆΡƒΡ‚ΠΎΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π° этой ΠΌΠΈΠ½ΡƒΡ‚Π΅. Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ прСдставлСны Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ вмСсто коммСнтария Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ конструкции case.

Π¨ΡƒΡ‚ΠΊΠ° β„–1 β€” ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° двиТСния ΠΌΡ‹ΡˆΠΈ

Π˜Ρ‚Π°ΠΊ, пСрвая ΡˆΡƒΡ‚ΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ограничСния Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ двиТСния ΠΌΡ‹ΡˆΠΈ: