ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ОписаниС матСматичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Ρ€Π°Π·ΠΌΠ΅ΡˆΠ°Π΅ΠΌ Π΄Π²Π΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ массив ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΈΡ… ΠΌΠ΅ΡΡ‚орасполоТСния. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅ присваиваСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° Π½Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ. ΠœΠ΅Ρ‚ΠΎΠ΄ increaseWorm () ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° Π΅Π΄ΠΈΠ½Ρƒ, Ρ‚ΡƒΡ‚ присутствуСт нСсколько условий зависящиС ΠΎΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ двиТСния Π·ΠΌΠ΅ΠΉΠΊΠΈ. Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ОписаниС матСматичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠΈΠ³Ρ€Π° Π·ΠΌΠ΅ΠΉΠΊΠ° Π°ΠΏΠΏΠ»Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… классов: Worm Worm2 Main ΠΈ Shapes. Wormконструктор для ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ Π΄Π²Π° значСния x ΠΈ y Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ указания располоТСния Π·ΠΌΠ΅ΠΉΠΊΠΈ.

public class Worm {.

int x;

int y;

public Worm (int a, int b).

{.

x=a;

y=b;

}.

}.

Worm2 — конструктор для Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ.

public class Worm2 {.

int x;

int y;

public Worm2(int a, int b).

{.

x=a;

y=b;

}.

Класс Shapes ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

ΠœΠ΅Ρ‚ΠΎΠ΄ Paint () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΈ Ρ€ΠΈΡΡƒΠ΅Ρ‚ Ρ†Π²Π΅Ρ‚Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π’ Π½Π°ΡˆΠ΅ΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Ρ€ΠΈ значСния:

  • 1- рисованиС ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ происходит ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ числа «1» ΠΈΠ· Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива
  • 2- рисованиС яблока происходит ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ числа «2» ΠΈΠ· Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива
  • 3- рисованиС Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ происходит ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ числа «3» ΠΈΠ· Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива

public void paint (Graphics g).

{.

super.paint (g);

for (int i=0;i.

for (int j=0;j.

{.

if (a[i][j]==2).

{.

Graphics2D graphics2D =(Graphics2D)g; //рисованиС яблока.

graphics2D.setPaint (Color.red);

graphics2D.fill (new Ellipse2D. Double (i*20,j*20, 20, 20));

int iPoints[]={i*20+12, i*20+11, i*20+14, i*20+18, i*20+20, i*20+18, i*20+16, i*20+14}; // рисованиС листка Π½Π° ΡΠ±Π»ΠΎΠΊΠ΅.

int jPoints[]={j*20+7, j*20+3, j*20−1, j*20−2, j*20, j*20+2, j*20+4, j*20+6};

GeneralPath leave = new GeneralPath ();

leave.moveTo (iPoints[0], jPoints[0]);

for (int count=0; count.

leave.lineTo (iPoints[count], jPoints[count]);

leave.closePath ();

graphics2D.setColor (new Color (2, 161, 6));

graphics2D.fill (leave);

}.

else.

if (a[i][j]==1) //рисованиС чСрвяка.

{.

Graphics2D graphics2D =(Graphics2D)g;

graphics2D.setPaint (Color.black);

graphics2D.setStroke (new BasicStroke (1.0f));

graphics2D.fill (new Rectangle2D. Double (i*20,j*20, 20, 20));

graphics2D.setPaint (Color.orange);

graphics2D.setStroke (new BasicStroke (1.0f));

graphics2D.fill (new Rectangle2D. Double (i*20+1,j*20+1, 18, 18));

}.

else.

if (a[i][j]==3) //рисованиС чСрвяка2.

{.

Graphics2D graphics2D =(Graphics2D)g;

graphics2D.setPaint (Color.black);

graphics2D.setStroke (new BasicStroke (1.0f));

graphics2D.fill (new Rectangle2D. Double (i*20,j*20, 20, 20));

graphics2D.setPaint (Color.green);

graphics2D.setStroke (new BasicStroke (1.0f));

graphics2D.fill (new Rectangle2D. Double (i*20+1,j*20+1, 18, 18));

}.

}.

}.

ΠœΠ΅Ρ‚ΠΎΠ΄ dropBonus () Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ яблоки Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅. ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ΡΡ это ΠΏΡƒΡ‚Π΅ΠΌ создания Π΄Π²ΡƒΡ… случайных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… xBonus ΠΈ yBonus ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ появлСния яблока.

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅ присваиваСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° Π½Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ.

public void dropBonus ().

{.

int xBonus;

int yBonus;

do{.

Random rand=new Random ();

xBonus=rand.nextInt (39);

yBonus=rand.nextInt (39);

}.

while (a[xBonus][yBonus]≠0);

a[xBonus][yBonus]=2;

repaint ();

}.

ΠœΠ΅Ρ‚ΠΎΠ΄ increaseWorm () ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° Π΅Π΄ΠΈΠ½Ρƒ, Ρ‚ΡƒΡ‚ присутствуСт нСсколько условий зависящиС ΠΎΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ двиТСния Π·ΠΌΠ΅ΠΉΠΊΠΈ.

public static void increaseWorm2(Worm2 worm2[]).

{.

int n=wormLength2(worm2);

if (worm2[n-1]. x==worm2[n-2].x).

{.

if (worm2[n-1]. y>worm2[n-2].y).

{.

worm2[n]. x=worm2[n-1].x;

worm2[n]. y=worm2[n-1].y+1;

}.

else.

{.

worm2[n]. x=worm2[n-1].x;

worm2[n]. y=worm2[n-1].y-1;

}.

}.

else.

{.

if (worm2[n-1]. x>worm2[n-2].x).

{.

worm2[n]. y=worm2[n-1].y;

worm2[n]. x=worm2[n-1].x+1;

}.

else.

{.

worm2[n]. y=worm2[n-1].y;

worm2[n]. x=worm2[n-1].x-1;

}.

}.

}.

Π—Π°Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… Π·ΠΌΠ΅Π΅ΠΊ появляСтся с ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ массивов a ΠΈ b.

public int [][] a;

public int [][] b;

a=new int [40][40];

b=new int [40][40];

Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массивов Π²Ρ‹Π±Ρ€Π°Π½Π° Π½Π΅ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€ поля 800 Π½Π° 800 Π° ΠΎΠ΄Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ° поля Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 20 Π½Π° 20 пиксСлСй.

Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° опрСдСляСтся ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° Π½Π΅ΠΌ всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²ΠΈΠ΄Π½ΠΎ, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ это строчка: getContentPane ().setBackground (Color.black);

Π’ ΡΠ°ΠΌΠΎΠΌ Π½Π°Ρ‡Π°Π»Π΅ всС значСния элСмСнтов массива a ΠΎΠ±Π½ΡƒΠ»ΡΠ΅ΠΌ. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ это пригодится Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Paint () ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рисуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния 1 2 ΠΈ 3.

for (int i=0;i.

for (int j=0;j.

a[i][j]=0;

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Ρ€Π°Π·ΠΌΠ΅ΡˆΠ°Π΅ΠΌ Π΄Π²Π΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ массив ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΈΡ… ΠΌΠ΅ΡΡ‚орасполоТСния.

a[20][20]=2;

worm[0]. x=4;

worm[0]. y=20;

worm[1]. x=3;

worm[1]. y=20;

worm[2]. x=2;

worm[2]. y=20;

worm[3]. x=1;

worm[3]. y=20;

— ΠΏΠ΅Ρ€Π²Π°Ρ Π·ΠΌΠ΅ΠΉΠΊΠ°.

b[20][20]=2;

worm2[0]. x=20;

worm2[1]. y=19;

worm2[1]. x=20;

worm2[2]. y=18;

worm2[2]. x=20;

worm2[3]. y=17;

worm2[3]. x=20;

worm2[0]. y=20;

— Π²Ρ‚орая Π·ΠΌΠ΅ΠΉΠΊΠ° ПослС создания ΠΎΠ±ΠΎΠΈΡ… Π·ΠΌΠ΅Π΅ΠΊ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΌΡ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ formMatrix () Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½Π°ΡˆΠΈΠΌΠΈ Π·ΠΌΠ΅ΠΉΠΊΠ°ΠΌΠΈ. ΠŸΠ΅Ρ€Π²ΠΎΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΡΡ‚ΠΎΡ€ΠΎΠ½) ΠΈ Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Π΅ΠΌ яблока ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ dropBonus ().

Random r=new Random (); // Π·Π°Π΄Π°Π½ΠΈΠ΅ случайного направлСния двиТСния.

for (int d=0;d<30;d++).

{.

int dir=r.nextInt (3);

int dir2=r.nextInt (3);

int t=r.nextInt (6);

int t2=r.nextInt (6);

Π² ΡΡ‚ΠΎΠΉ части ΠΌΠ΅Ρ‚ΠΎΠ΄Π° происходит объявлСниС ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ случайных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° Π²Ρ‹Π±ΠΎΡ€ стороны двиТСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΈ Π΅Π΅ Π΄Π»ΠΈΠ½Ρƒ двиТСния Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Dir ΠΈ dir2 ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° Π²Ρ‹Π±ΠΎΡ€Π° направлСния ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ соотвСтствСнно, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ t ΠΈ t2 Π·Π° Π΄Π»ΠΈΠ½Ρƒ пСрСмСщСния Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… сторон ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ соотвСтствСнно.

Π”Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ матСматичСскоС описаниС двиТСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… сторон.

int n=wormLength (worm);

for (int j=0;j.

{.

if (j>19).

break;

a[worm[j]. x][worm[j].y]=1;

}.

repaint ();

tempX=worm[n-1]. x;

tempY=worm[n-1]. y;

for (int j=n-1;j>0;j—).

{.

worm[j]. x=worm[j-1].x;

worm[j]. y=worm[j-1].y;

}.

worm[0]. y—;

a[tempX][tempY]=0;

if (a[worm[0]. x][worm[0].y]==2).

{.

increaseWorm (worm);

dropBonus ();

}.

try {.

Thread.sleep (50);

} catch (InterruptedException e).

{.

// TODO Auto-generated catch block.

e.printStackTrace ();

}.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ