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

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ задания. 
Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

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

ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ добавлСния Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ поиска. Π—Π° ΠΎΡΠ½ΠΎΠ²Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½Π½ΡƒΡŽ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ добавлСния, внСся Π² Π½Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ нСбольшиС дополнСния:Β· ΠΏΡ€ΠΈ вставкС Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ (ΠΏΠΎΠΊΠ° СдинствСнный!) ΡƒΠ·Π΅Π» Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ списка, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ поля ΠΈ ΠΏΠΎΠ»Ρ созданной Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π΄Π΅Ρ€Π΅Π²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ значСниями. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ задания. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π—Π°Π΄Π°Π½ΠΈΠ΅ 1. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² поиска. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ поиска:

  • Β· поиск Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π° с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ счСтчика числа появлСний Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°
  • Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π² ΡΠΎΠΎΡ‚вСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π΅Π΅ ΠΊΠ»ΡŽΡ‡Π° ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ счСтчика числа появлСний
  • Β· построчный Π²Ρ‹Π²ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π° Π² Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ-симмСтричного ΠΎΠ±Ρ…ΠΎΠ΄Π°
  • Β· Π²Ρ‹Π²ΠΎΠ΄ всСх Π²Π΅Ρ€ΡˆΠΈΠ½ Π² ΠΎΠ΄Π½Ρƒ строку ΠΏΠΎ ΠΏΠΎΡ€ΡΠ΄ΠΊΡƒ слСдования ΠΊΠ»ΡŽΡ‡Π΅ΠΉ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ значСния Π΅Π΅ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ° появлСний
  • Β· ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π°.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

  • Β· ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ поиска. Поиск начинаСтся с ΠΊΠΎΡ€Π½Ρ Π΄Π΅Ρ€Π΅Π²Π° ΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ сравниваСтся Π΅Π΅ ΠΊΠ»ΡŽΡ‡ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΈ совпадСнии ΠΊΠ»ΡŽΡ‡Π΅ΠΉ поиска заканчиваСтся с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ значСния счСтчика числа появлСний Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. ΠŸΡ€ΠΈ нСсовпадСнии поиск продолТаСтся Π² Π»Π΅Π²ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹
  • Β· ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ добавлСния Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ. ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΡƒΡŽ адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Если ΠΏΡ€ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ этот адрСс Ρ€Π°Π²Π΅Π½ nil, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта с ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠΎΠΉ всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС продолТаСтся поиск подходящСго мСста для Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π·Π° ΡΡ‡Π΅Ρ‚ рСкурсивного Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π°Π΄Ρ€Π΅ΡΠΎΠΌ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°. ΠŸΡ€ΠΈ совпадСнии ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π°Π΄ΠΎ просто ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика появлСний
  • Β· ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅-рСкурсивный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ добавлСния Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ. НСобходимы Π΄Π²Π΅ ссылочныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ — адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ Π°Π΄Ρ€Π΅Ρ Π΅Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Сля. Π‘Π½Π°Ρ‡Π°Π»Π° Π² Ρ†ΠΈΠΊΠ»Π΅ ищСтся подходящСС мСсто Π·Π° ΡΡ‡Π΅Ρ‚ сравнСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ. Поиск заканчиваСтся Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΠΏΡƒΡΡ‚ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ адрСса, Π»ΠΈΠ±ΠΎ Π² ΡΠ»ΡƒΡ‡Π°Π΅ совпадСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (здСсь просто увСличиваСтся счСтчик числа появлСний). ПослС окончания поиска Π»ΠΈΠ±ΠΎ создаСтся корнСвая Π²Π΅Ρ€ΡˆΠΈΠ½Π°, Π»ΠΈΠ±ΠΎ добавляСтся новая Π²Π΅Ρ€ΡˆΠΈΠ½Π° ΠΊΠ°ΠΊ Π»Π΅Π²Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹.
  • Β· ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для построчного Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π΅Ρ€Π΅Π²Π° Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ-симмСтричном порядкС. Π­Ρ‚Ρƒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • Β· ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Π²Ρ‹Π²ΠΎΠ΄Π° всСх Π²Π΅Ρ€ΡˆΠΈΠ½ Π² ΠΎΠ΄Π½Ρƒ строку Π² ΡΠΎΠΎΡ‚вСтствии с Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Основа — ΠΎΠ±Ρ…ΠΎΠ΄ Π² ΡΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΌ порядкС. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ рядом со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π° Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ выводится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. НапримСр: 5(1) 11(2) 19(5) 33(1) 34(4)…
  • Β· ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ удалСния Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹: Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, организуСтся Π΅Π΅ ΠΏΠΎΠΈΡΠΊ, ΠΏΡ€ΠΈ отсутствии Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ выводится сообщСниС, ΠΏΡ€ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ провСряСтся число Π΅Π΅ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΈ ΠΏΡ€ΠΈ нСобходимости выполняСтся поиск Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹-замСнитСля

Главная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности:

  • Β· созданиС Π΄Π΅Ρ€Π΅Π²Π° с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ числом Π²Π΅Ρ€ΡˆΠΈΠ½ со ΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ
  • Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π°
  • Β· поиск Π² Π΄Π΅Ρ€Π΅Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ
  • Β· построчный Π²Ρ‹Π²ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π° Π² Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅
  • Β· Π²Ρ‹Π²ΠΎΠ΄ всСх Π²Π΅Ρ€ΡˆΠΈΠ½ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ возрастания ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ
  • Β· ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

Π—Π°Π΄Π°Π½ΠΈΠ΅ 2. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ символичСских ΠΈΠΌΠ΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π΅Ρ€Π΅Π²Π° поиска. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ формулируСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

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

НСобходимо Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

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

Для упрощСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ обрабатываСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° удовлСтворяСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π½Π΅ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ условиям:

  • Β· Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строчныС (ΠΌΠ°Π»Ρ‹Π΅) Π±ΡƒΠΊΠ²Ρ‹
  • Β· ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ
  • Β· ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ тСкстовыС константы, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ `'

НапримСр, ΠΏΡƒΡΡ‚ΡŒ исходная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

program test;

var x, y: integer;

str: string;

begin.

x:= 1;

y:= x + 2;

write (x, y);

end.

Π’ΠΎΠ³Π΄Π° для Π½Π΅Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ построСна ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠΌΠ΅Π½ ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска:

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ задания. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

1. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ описания Ρ‚ΠΈΠΏΠΎΠ² ввСсти Π΄Π²Π° ссылочных Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… для динамичСской Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π΅Ρ€Π΅Π²Π° поиска ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… списков. ΠžΠΏΠΈΡΠ°Ρ‚ΡŒ связанныС с Π½ΠΈΠΌΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ структуру Π²Π΅Ρ€ΡˆΠΈΠ½ Π΄Π΅Ρ€Π΅Π²Π° ΠΈ ΡƒΠ·Π»ΠΎΠ² списка. Π’Π΅Ρ€ΡˆΠΈΠ½Π° Π΄Π΅Ρ€Π΅Π²Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ строковоС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Π΄Π²ΡƒΡ… ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΈ Π΄Π²Π° указатСля Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ списка.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ задания. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • 3. ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ строки исходного тСкста ΠΈ Π΅Π΅ Π΄Π»ΠΈΠ½Π°, Π½ΠΎΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ символа Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ (счСтчик символов), сама тСкущая строка, Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ имя, имя исходного Ρ„Π°ΠΉΠ»Π°, файловая пСрСмСнная, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΊΠΎΡ€Π΅Π½ΡŒ Π΄Π΅Ρ€Π΅Π²Π°
  • 4. ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ добавлСния Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ поиска. Π—Π° ΠΎΡΠ½ΠΎΠ²Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½Π½ΡƒΡŽ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ добавлСния, внСся Π² Π½Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ нСбольшиС дополнСния:
    • Β· ΠΏΡ€ΠΈ вставкС Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ (ΠΏΠΎΠΊΠ° СдинствСнный!) ΡƒΠ·Π΅Π» Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ списка, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ поля ΠΈ ΠΏΠΎΠ»Ρ созданной Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π΄Π΅Ρ€Π΅Π²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ значСниями
    • Β· Π² ΡΠ»ΡƒΡ‡Π°Π΅ совпадСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½ Π΄Π΅Ρ€Π΅Π²Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Π΅Ρ† Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ списка Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΠ·Π΅Π» с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ строки, Π³Π΄Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ имя
  • 5. ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Π²Ρ‹Π²ΠΎΠ΄Π° построСнной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ возрастания ΠΈΠΌΠ΅Π½. Основа — ΠΎΠ±Ρ…ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π° Π² ΡΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΌ порядкС. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ выводится список Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² строк, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π°Π½Π½ΠΎΠ΅ имя. Для этого организуСтся ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌΡƒ списку ΠΎΡ‚ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.
  • 6. ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для построчного Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π΅Ρ€Π΅Π²Π° Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ-симмСтричном порядкС. Π­Ρ‚Ρƒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • 7. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»Π°Π²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΈΠΌΠ΅Π½ ΠΈΠ· ΡΡ‚Ρ€ΠΎΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ тСкста. Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ имя ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ String, Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚ываСтся ΠΊΠ°ΠΊ массив символов. Основной ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ формирования ΠΈΠΌΠ΅Π½ΠΈ — посимвольная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ послС Π½Π΅Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Ρ… символов распознаСтся Π±ΡƒΠΊΠ²Π°, начинаСтся Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ всСх ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… символов ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠ°Ρ строка (Ρ‚ΠΈΠΏ String) рассматриваСтся ΠΊΠ°ΠΊ массив символов. Π£Π΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ строки Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π΅Π΅ ΠΊΠΎΠ½Ρ†Π΅ символ ΠΏΡ€ΠΎΠ±Π΅Π»Π°. НомСр Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ символа задаСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-счСтчиком. Для отслСТивания символов Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° пСрСмСнная-счСтчик.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

  • Β· инициализация ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ исходного Ρ„Π°ΠΉΠ»Π° (запрос ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ для чтСния)
  • Β· Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк исходного Ρ„Π°ΠΉΠ»Π°:

ь Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ строки ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΅Π΅ Π΄Π»ΠΈΠ½Ρ‹ ь Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ† строки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ символа ΠΏΡ€ΠΎΠ±Π΅Π»Π° ь ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ счСтчика символов ь ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ цикличСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ символов строки ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ:

a. Ссли ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ символ Π΅ΡΡ‚ΡŒ Π±ΡƒΠΊΠ²Π°, Ρ‚ΠΎ:

  • Π¨ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ символ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ ΠΈΠΌΠ΅Π½ΠΈ
  • Π¨ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» просмотра ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… символов Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΠΈΠ»ΠΈ Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ, с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ этих символов ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ
  • Π¨ ΠΏΠΎΡΠ»Π΅ окончания Ρ†ΠΈΠΊΠ»Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ сформированного ΠΈΠΌΠ΅Π½ΠΈ (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ элСмСнт массива символов)
  • Π¨ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для поиска сформированного ΠΈΠΌΠ΅Π½ΠΈ Π² Π΄Π΅Ρ€Π΅Π²Π΅

b. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика символов для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ символа.

  • Β· Π²Ρ‹Π²ΠΎΠ΄ построСнной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС
  • Β· построчный Π²Ρ‹Π²ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π° поиска
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ