Π’ΠΎΡ‚ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° школьная Π°Π»Π³Π΅Π±Ρ€Π°

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° вопрос Β«Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°?Β» ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ «гимнастика для ΡƒΠΌΠ°Β». На ΠΌΠΎΠΉ взгляд, этого объяснСния нСдостаточно. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ выполняСт физичСскиС упраТнСния, Ρ‚ΠΎ ΠΎΠ½ Π·Π½Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏ ΠΌΡ‹ΡˆΡ†, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ этом Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ. Но Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ слишком абстрактными. КакиС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Β«ΠΌΡ‹ΡˆΡ†Ρ‹ ΡƒΠΌΠ°Β» Ρ‚Ρ€Π΅Π½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ школьной Π°Π»Π³Π΅Π±Ρ€ΠΎΠΉ? Она вСдь совсСм Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π²Π΅Π»ΠΈΠΊΠΈΠ΅ открытия. Π§Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡƒΡŽ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ?

ΠŸΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΠ΅ программирования слабым студСнтам ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ мСня ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ ΠΎΡ‚Π²Π΅Ρ‚Ρƒ Π½Π° вопрос Β«Π·Π°Ρ‡Π΅ΠΌ?Β». Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ донСсти Π΅Π³ΠΎ Π²Π°ΠΌ.

Π’ΠΎΡ‚ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° школьная Π°Π»Π³Π΅Π±Ρ€Π°
Π’ школС довольно ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ посвящаСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΡŽ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. НапримСр: 81×2+126xy+49y2 Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ (9x+7y)2.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΡ‚ ΡƒΡ‡Π΅Π½ΠΈΠΊΠ° ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ вспомнит Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° суммы

Π’ΠΎΡ‚ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° школьная Π°Π»Π³Π΅Π±Ρ€Π°

Π’ Π±ΠΎΠ»Π΅Π΅ слоТных случаях, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. НапримСр:

Π’ΠΎΡ‚ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° школьная Π°Π»Π³Π΅Π±Ρ€Π°

прСобразуСтся сначала Π²

Π’ΠΎΡ‚ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° школьная Π°Π»Π³Π΅Π±Ρ€Π°

Π° ΠΏΠΎΡ‚ΠΎΠΌ, с ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ΠΌ (a + 2b) != 0, получаСтся Ρ‚Π°ΠΊ

Π’ΠΎΡ‚ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° школьная Π°Π»Π³Π΅Π±Ρ€Π°

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΡƒΡ‡Π΅Π½ΠΈΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ Π² исходном Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹:

  • ΠšΠ²Π°Π΄Ρ€Π°Ρ‚ суммы
  • Π Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ²
  • Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΎΠ±Ρ‹ΠΊΠ½ΠΎΠ²Π΅Π½Π½ΠΎΠΉ Π΄Ρ€ΠΎΠ±ΠΈ

Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ школС Π½Π° Π°Π»Π³Π΅Π±Ρ€Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всС врСмя ΠΌΡ‹ занимались Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π’ Π’Π£Π—Π΅ Π½Π° Π²Ρ‹ΡΡˆΠ΅ΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ сущСствСнно Π½Π΅ помСнялось. Нам рассказали ΠΊΠ°ΠΊ Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ (ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Ρ‹ ΠΈ Ρ‚.ΠΏ.) ΠΈ Π²Ρ‹Π΄Π°Π»ΠΈ Ρ‚ΠΎΠ½Π½Ρƒ Π·Π°Π΄Π°Ρ‡. Π‘Ρ‹Π»ΠΎ Π»ΠΈ это ΠΏΠΎΠ»Π΅Π·Π½ΠΎ? На ΠΌΠΎΠΉ взгляд β€” Π΄Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Ρ‚Π°ΠΊΠΈΡ… ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ:

  1. ΠžΡ‚Ρ‚ΠΎΡ‡ΠΈΠ»ΡΡ Π½Π°Π²Ρ‹ΠΊ прСобразования Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.
  2. Развилась Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊ ΠΌΠ΅Π»ΠΎΡ‡Π°ΠΌ.
  3. Π‘Ρ‹Π» сформирован ΠΈΠ΄Π΅Π°Π» β€” Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ.

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

Π­Ρ‚ΠΎ практичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° Π€Π°ΡƒΠ»Π΅Ρ€Π°.

Π’ своСм Ρ‚Ρ€ΡƒΠ΄Π΅, Π°Π²Ρ‚ΠΎΡ€ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ (Refactoring) (сущ.): ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ Ρ†Π΅Π»ΡŒΡŽ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Π½Π΅ затрагивая наблюдаСмого повСдСния.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ (Refactor) (Π³Π»Π°Π³.): ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, примСняя ряд Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠ², Π½Π΅ затрагивая Π΅Π³ΠΎ повСдСния.

Π’ ΠΊΠ½ΠΈΠ³Π΅ Π΄Π°ΡŽΡ‚ΡΡ Β«Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ Π² исходном ΠΊΠΎΠ΄Π΅ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΡ… прСобразования.

Π’ качСствС ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ Β«Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ½ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ» ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ:

if ( (platform.toUpperCase().indexOf(β€œMAC”) > -1 ) &&
    (browser.toUpperCase().indexOf(β€œIE”) > -1 )&&
    wasInitialized() && resize > 0 ) {
    // do something
}

Части выраТСния Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ поясняСт Π΅Π³ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

final boolean isMacOS = platform.toUpperCase().indexOf(β€œMAC”) > -1;
final boolean isIEBrowser = browser.toUpperCase().indexOf(β€œIE”) > -1;
final boolean isResized = resize > 0;
if(isMacOS && isIEBrowser && wasInitialized() && isResized) {
   // do something
}

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ алгСбраичСскиС выраТСния с использованиСм Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° суммы ΠΈ разности ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ².

Как Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, смоТСт Π»ΠΈ этот Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄?

Π‘ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ понятный Π΄Ρ€ΡƒΠ³ΠΈΠΌ людям ΠΊΠΎΠ΄, Ссли Ρƒ Π½Π΅Π³ΠΎ Π½Π΅ сформирован ΠΈΠ΄Π΅Π°Π» этой самой лаконичности? На ΠΌΠΎΠΉ взгляд β€” Π½Π΅Ρ‚.

Однако Π² школС учатся всС, Π° программистами становится ΠΌΠ΅Π½ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ. ПолСзСн Π»ΠΈ Π½Π°Π²Ρ‹ΠΊ прСобразования Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… людСй? Π― Π΄ΡƒΠΌΠ°ΡŽ Π΄Π°. Волько Π½Π°Π²Ρ‹ΠΊ примСняСтся Π² Π±ΠΎΠ»Π΅Π΅ абстрактном Π²ΠΈΠ΄Π΅: Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ дальнСйшСС дСйствиС Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ†Π΅Π»ΠΈ. Π’ ΠΏΠ΅Π΄Π°Π³ΠΎΠ³ΠΈΠΊΠ΅ этот Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ называСтся пСрСнос (Π½Π°Π²Ρ‹ΠΊΠ°).

Π‘Π°ΠΌΡ‹Π΅ яркиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΌΠΎΠ½Ρ‚Π΅ ΠΏΠΎΠ΄Ρ€ΡƒΡ‡Π½Ρ‹ΠΌΠΈ срСдствами, Β«ΠΊΠΎΠ»Ρ…ΠΎΠ·Π½Ρ‹ΠΌΒ» способом. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅ самыС Β«Ρ„ΠΈΡˆΠΊΠΈΒ» ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ Π½Π° ΠšΠŸΠ”Π’. Π£ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈΠ΄Π΅ΠΈ Π±Ρ‹Π» кусок Π΄Π΅Ρ€Π΅Π²Π°, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΡˆΡƒΡ€ΡƒΠΏΠ°. Вспомнив шаблон ΠΏΠ°Ρ‚Ρ€ΠΎΠ½Π° для Π»Π°ΠΌΠΏΡ‹, ΠΎΠ½ собрал ΠΈΠ· Π½ΠΈΡ… ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ€ΠΎΠ½.

Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π΅Π·Π΄Π΅ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠΌ транспортС, Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ постоянно занимаСтся распознаваниСм шаблонов Π² ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΌ ΠΌΠΈΡ€Π΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ°Π½Π΅Π²Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ Ρ†Π΅Π»ΠΈ.

Когда Ρ‚Ρ‹ ΡƒΠΌΠ΅Ρ€, Ρ‚Ρ‹ ΠΎΠ± этом Π½Π΅ знаСшь, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ тяТСло. Π’ΠΎ ΠΆΠ΅ самоС, ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ‹ Π½Π΅ освоил матСматику…

Π§Ρ‚ΠΎ ΠΆΠ΅ происходит, Ссли Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ? ВрСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ я Π²Π΅Π΄Ρƒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ занятия со студСнтами, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² школС Π±Ρ‹Π»ΠΎ ΠΏΠ»ΠΎΡ…ΠΎ с ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ΠΈ Π½Π°ΠΏΡ€ΠΎΡ‡ΡŒ Π·Π°ΡΡ‚Ρ€Π΅Π²Π°ΡŽΡ‚ Π½Π° Ρ‚Π΅ΠΌΠ΅ ΠΏΡ€ΠΎ Ρ†ΠΈΠΊΠ»Ρ‹. ΠΠ°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ приходится Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Β«Π°Π»Π³Π΅Π±Ρ€ΠΎΠΉΒ», Π½ΠΎ Π½Π° языкС программирования.
Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ написании Ρ†ΠΈΠΊΠ»ΠΎΠ² основной ΠΏΡ€ΠΈΠ΅ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Допустим Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
Π“Π»Π°Π²Π° 1
Π“Π»Π°Π²Π° 2
Π“Π»Π°Π²Π° 3
Π“Π»Π°Π²Π° 4
Π“Π»Π°Π²Π° 5
Π“Π»Π°Π²Π° 6
Π“Π»Π°Π²Π° 7
Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для достиТСния этого Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выглядит Ρ‚Π°ΠΊ:

static void Main(string[] args)
{
    Console.WriteLine("Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅");
    Console.WriteLine("Π“Π»Π°Π²Π° 1");
    Console.WriteLine("Π“Π»Π°Π²Π° 2");
    Console.WriteLine("Π“Π»Π°Π²Π° 3");
    Console.WriteLine("Π“Π»Π°Π²Π° 4");
    Console.WriteLine("Π“Π»Π°Π²Π° 5");
    Console.WriteLine("Π“Π»Π°Π²Π° 6");
    Console.WriteLine("Π“Π»Π°Π²Π° 7");
    Console.WriteLine("Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅");
}

Но это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π°Π»Π°. Π‘Π½Π°Ρ‡Π°Π»Π° Π² Π½Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΡƒΡŽΡΡ Π³Ρ€ΡƒΠΏΠΏΡƒ дСйствий ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ получится Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:

static void Main(string[] args)
{
    Console.WriteLine("Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅");
    for (int i = 1; i <= 7; i++)
    {
        Console.WriteLine("Π“Π»Π°Π²Π° " + i);
    }
    Console.WriteLine("Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅");
}

Если ΠΆΠ΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π² своС врСмя Π½Π΅ освоил ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ, Ρ‚ΠΎ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ прСобразования ΠΎΠ½ Π½Π΅ смоТСт. Π£ Π½Π΅Π³ΠΎ просто Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π²Ρ‹ΠΊΠ°. ИмСнно поэтому Ρ‚Π΅ΠΌΠ° Ρ†ΠΈΠΊΠ»ΠΎΠ² β€” ΠΏΠ΅Ρ€Π²ΠΎΠ΅ прСпятствиС Π² ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… областях. Если Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΡƒΡ‡Π½Ρ‹ΠΉ инструмСнт, Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ смоТСт ΠΏΡ€ΠΎΡΠ²Π»ΡΡ‚ΡŒ Π±Ρ‹Ρ‚ΠΎΠ²ΡƒΡŽ смСкалку. Π—Π»Ρ‹Π΅ языки Π±ΡƒΠ΄ΡƒΡ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€ΡƒΠΊΠΈ Π½Π΅ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ мСста растут. На Π΄ΠΎΡ€ΠΎΠ³Π΅ это проявляСтся Π² Π½Π΅ΡƒΠΌΠ΅Π½ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠ°Π½Π΅Π²Ρ€. Π§Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ трагичСским послСдствиям.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹:

  1. Школьная ΠΈ вузовская ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΡƒΠΌΠ΅Π»ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠΈΡ€ Π»ΡƒΡ‡ΡˆΠ΅ Ρ‚Π΅ΠΌΠΈ срСдствами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ.
  2. Если Π²Ρ‹ ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈ Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ истокам β€” школьной Π°Π»Π³Π΅Π±Ρ€Π΅. Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡Π½ΠΈΠΊ для 9 класса ΠΈ ΠΏΠΎΡ€Π΅ΡˆΠ°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· Π½Π΅Π³ΠΎ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com