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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π• НА Π―Π—Π«ΠšΠ• ΠŸΠ ΠžΠ›ΠžΠ“Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 15

Автор Π£ Клоксин

«Виноградная» Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ для записи списков Π½Π° Π±ΡƒΠΌΠ°Π³Π΅, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ структуру списка, Π½ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ для записи списков Ρ‚Π°ΠΊΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ запись слоТных списков с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€Π° '.' часто оказываСтся Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ, Ρ‚ΠΎ Π² ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ прСдусмотрСна другая синтаксичСская Ρ„ΠΎΡ€ΠΌΠ°, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для записи списков Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ называСмая скобочная Ρ„ΠΎΡ€ΠΌΠ° записи списка. Она прСдставляСт собой Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ элСмСнтов списка, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми. НапримСр, ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π²ΡˆΠΈΠ΅ΡΡ Π²Ρ‹ΡˆΠ΅ списки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записаны Π² скобочной Ρ„ΠΎΡ€ΠΌΠ΅ Π² Π²ΠΈΠ΄Π΅ [Π°] ΠΈ [Π°, b, с]. Бписки ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ списки ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. НапримСр, Π² ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ допустимы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ списки:

[]

[ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, [Π»ΡŽΠ±ΠΈΡ‚, Π»ΠΎΠ²ΠΈΡ‚ΡŒ, Ρ€Ρ‹Π±Ρƒ]]

[Π°, V1, b, [X, Y]]

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, входящиС Π² списки, Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ структурС. Они Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π»ΠΎΠ΅ использованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ «пустых мСст» Π² спискС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ впослСдствии ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру списков, содСрТащих Π² качСствС элСмСнтов Π΄Ρ€ΡƒΠ³ΠΈΠ΅ списки, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Β«Π²ΠΈΠ½ΠΎΠ³Ρ€Π°Π΄Π½ΡƒΡŽΒ» Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ для послСднСго ΠΈΠ· рассмотрСнных списков:

Из ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ясно Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΅Π΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ являСтся списком, состоящим ΠΈΠ· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ числа элСмСнтов. Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ прСдставляСт список, содСрТащий Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ элСмСнта, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сам являСтся списком. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, содСрТащий Π΄Π²Π° элСмСнта, прСдставляСт Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ элСмСнт списка Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня. Π Π°Π±ΠΎΡ‚Π° со списками основана Π½Π° расщСплСнии ΠΈΡ… Π½Π°Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΈ хвост списка. Π“ΠΎΠ»ΠΎΠ²Π° списка – это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€Π° '.', ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для конструирования списка. Π₯вост списка – это Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€Π° '.'. Π’ случаС ΠΊΠΎΠ³Π΄Π° для записи списка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ скобочная Ρ„ΠΎΡ€ΠΌΠ° записи, Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ списка являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π΅Π³ΠΎ элСмСнт. Π₯вост списка прСдставляСт список, состоящий ΠΈΠ· всСх элСмСнтов исходного списка, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΅Π³ΠΎ элСмСнта. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ расщСплСниС списков Π½Π° Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΈ хвост:

Бписок Π“ΠΎΠ»ΠΎΠ²Π° Π₯вост [Π°, b, с] Π° [b, с] [Π°,] Π° [] [] [[эта, кошка], сидСла] [эта, кошка] [сидСла] [эта, [кошка, сидСла]] эта [кошка, сидСла]] [эта, [кошка, сСла], Π½Π° ΠΏΠΎΠ»] эта [кошка, сСла], Π½Π° ΠΏΠΎΠ»] [X+Y, Ρ… + y] X + Y [x + y]

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ пустой список Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈ Π³ΠΎΠ»ΠΎΠ²Ρ‹, Π½ΠΈ хвоста. Π’ послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€ для структур +(Π₯, Y) ΠΈ +(Ρ…,Ρƒ).

Π’Π°ΠΊ ΠΊΠ°ΠΊ опСрация расщСплСния списка Π½Π° Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΈ хвост ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‚ΠΎ Π² ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ Π²Π²Π΅Π΄Π΅Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° для прСдставлСния списка с Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ X ΠΈ хвостом Y. Π­Ρ‚ΠΎ записываСтся ΠΊΠ°ΠΊ [X|Y], Π³Π΄Π΅ для раздСлСния X ΠΈ Y ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π°. ΠŸΡ€ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ структуры ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° X сопоставляСтся с Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ списка, a Y – с хвостом списка, ΠΊΠ°ΠΊ это ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:


p([1, 2, 3]).

p([эта, кошка, сидСла, [Π½Π°, этой, подстилкС]]).

?- p([X|Y]).

X = 1 Y=[2,3] ;

X=эта Y=[кошка, сидСла, [Π½Π°, этой, подстилкС]]

?- p([_,_,_,[_|X]]).

X=[этой, подстилкС]


НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π΅Ρ‰Π΅ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… синтаксичСских возмоТностСй записи списков, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ производится сопоставлСниС списков. Π’ этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… дСлаСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π²Π° Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… списка, конкрСтизируя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Бписок 1 Бписок 2 ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ [X, Y, Z] [Π΄ΠΆΠΎΠ½Ρƒ,нравится,Ρ€Ρ‹Π±Π°] X=Π΄ΠΆΠΎΠ½Ρƒ Y= нравится Z = Ρ€Ρ‹Π±Π° [кошка] [X| Y] X= кошка [X, Y | Z] [мэри,нравится,Π²ΠΈΠ½ΠΎ] X = мэри  Y = нравится Z = [Π²ΠΈΠ½ΠΎ] [[этот, Y]|Z] [[X, заяц], [находится, здСсь]]  X = этот Y = заяц Z = [[находится_ здСсь]] [X, Y|Z, W] (синтаксичСски нСкоррСктная конструкция списка)  [золотистый | T] [золотистый, Π½ΠΎΡ€Ρ„ΠΎΠ»ΠΊ] T= [Π½ΠΎΡ€Ρ„ΠΎΠ»ΠΊ] [лошадь, X] [бСлая, лошадь] (сопоставлСниС Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ) [бСлая | Q] [P | лошадь] P = бСлая Q = лошадь

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· послСднСго ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠΊΠΎΠ±ΠΎΡ‡Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ записи списков, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ структуры, ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π½Π° списки, Π½ΠΎ Π½Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ пустым списком. Одна ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… структур, [бСлая|лошадь], ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ структуру, Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся бСлая, Π° хвостом – лошадь. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° лошадь Π½Π΅ являСтся Π½ΠΈ списком, Π½ΠΈ пустым списком, ΠΈ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π΄Π°Π»Π΅Π΅, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊΠΈΡ… структур Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большой остороТности, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² качСствС хвоста списка.

БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния списков – это прСдставлСниС строк Π»ΠΈΡ‚Π΅Ρ€. Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² использовании строк Π»ΠΈΡ‚Π΅Ρ€ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄Π° тСкста. Если строка Π»ΠΈΡ‚Π΅Ρ€ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ρ‚ΠΎ эта строка прСдставляСтся ΠΊΠ°ΠΊ список ΠΊΠΎΠ΄ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π»ΠΈΡ‚Π΅Ρ€Π°ΠΌ строки. Для ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π»ΠΈΡ‚Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ΄ ASCII, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обсуТдался Π² Ρ€Π°Π·Π΄. 2.2. НапримСр, строка "system" прСобразуСтся Π² ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список: [115, 121, 115, 116, 101, 109].

3.3. ΠŸΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ элСмСнтов списку

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ имССтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ X ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ Π³ΠΎΠ»ΠΎΠ²Ρƒ, a Y – хвост списка. Напомним, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ список ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ: [X|Y]. Π­Ρ‚ΠΎΡ‚ список ΠΌΠΎΠ³ Π±Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ»ΠΈΡ‡ΠΊΠΈ Ρ‚Π΅Ρ… лошадСй ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΆΠ΅Ρ€Π΅Π±Ρ†Π° Coriander, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всС Π²Ρ‹ΠΈΠ³Ρ€Π°Π»ΠΈ скачки Π² Π’Π΅Π»ΠΈΠΊΠΎΠ±Ρ€ΠΈΡ‚Π°Π½ΠΈΠΈ Π² 1927 Π³ΠΎΠ΄Ρƒ:

[curragh_tip, music_star, park_mill, portland]

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, содСрТится Π»ΠΈ нСкоторая ΠΊΠ»ΠΈΡ‡ΠΊΠ° Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ спискС. Π’ ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ², совпадаСт Π»ΠΈ данная ΠΊΠ»ΠΈΡ‡ΠΊΠ° с Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ списка.

Если совпадаСт, Ρ‚ΠΎ наш список Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ успСхом. Если Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΌΡ‹ провСряСм, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ»ΠΈΡ‡ΠΊΠ° Π² хвостС исходного списка. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ снова провСряСтся Π³ΠΎΠ»ΠΎΠ²Π°, Π½ΠΎ ΡƒΠΆΠ΅ хвоста списка. Π—Π°Ρ‚Π΅ΠΌ провСряСтся Π³ΠΎΠ»ΠΎΠ²Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ хвоста списка. Если ΠΌΡ‹ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΠΌ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° списка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ пустым списком, Ρ‚ΠΎ наш поиск Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ: ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠ»ΠΈΡ‡ΠΊΠΈ Π² исходном спискС Π½Π΅Ρ‚.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всС это Π½Π° ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅, сначала Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ списком, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ, сущСствуСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ принадлСТности, прСдставляСт достаточно распространСнноС Π² повсСднСвной ΠΆΠΈΠ·Π½ΠΈ понятиС. Π’Π°ΠΊ, ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Π»ΡŽΠ΄ΡΡ…, ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ ΠΊΠ»ΡƒΠ±ΠΎΠ², ΠΈ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π²Π΅Ρ‰Π°Ρ…. Для записи этого ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚: Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚(X, Y) являСтся истинным («выполняСтся»), Ссли Ρ‚Π΅Ρ€ΠΌ, связанный с X, являСтся элСмСнтом списка, связанного с Y. Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π° условия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ для опрСдСлСния истинности ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ условиС Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ X Π±ΡƒΠ΄Π΅Ρ‚ элСмСнтом списка Y, Ссли X совпадаСт с Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ списка Y. На ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ этот Ρ„Π°ΠΊΡ‚ записываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: