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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° экспСртных систСм срСдствами языка Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³

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

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° экспСртных систСм срСдствами языка Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ

ВоронСТская государствСнная тСхнологичСская акадСмия

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° матСматичСского модСлирования

ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈ Ρ‚СхнологичСских систСм

Π ΠΠ—Π ΠΠ‘ΠžΠ’ΠšΠ Π­ΠšΠ‘ΠŸΠ•Π Π’ΠΠ«Π₯ Π‘Π˜Π‘Π’Π•Πœ Π‘Π Π•Π”Π‘Π’Π’ΠΠœΠ˜ Π―Π—Π«ΠšΠ Π’Π£Π Π‘Πž-ΠŸΠ ΠžΠ›ΠžΠ“

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ указания ΠΊ ΠΏΡ€Π°ΠΊΡ‚ичСским занятиям

ΠΏΠΎ ΠΊΡƒΡ€ΡΡƒ «ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах»

Для студСнтов ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

71 900 — «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ», ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ 654 700 — «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы»,

Π΄Π½Π΅Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ обучСния Π’ΠΎΡ€ΠΎΠ½Π΅ΠΆ 2003

Π£Π”Πš 51(075); 681.3.06

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° экспСртных систСм срСдствами языка Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³: ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ указания ΠΊ ΠΏΡ€Π°ΠΊΡ‚ичСским занятиям ΠΏΠΎ ΠΊΡƒΡ€ΡΡƒ «ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах» / Π’ΠΎΡ€ΠΎΠ½Π΅ΠΆ. гос. Ρ‚Π΅Ρ…Π½ΠΎΠ». Π°ΠΊΠ°Π΄.; Бост. И. О. Павлов, Π‘. Π’. ΠšΡƒΠ»Π°ΠΊΠΎΠ²Π°. Π’ΠΎΡ€ΠΎΠ½Π΅ΠΆ, 2003. 36 с.

Задания Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π² ΡΠΎΠΎΡ‚вСтствии с Ρ‚рСбованиями ООП ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΏΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ 654 700 — «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы», ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ 71 900 — «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ». Они ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для закрСплСния тСорСтичСских Π·Π½Π°Π½ΠΈΠΉ дисциплины Ρ†ΠΈΠΊΠ»Π° ΠžΠŸΠ”.

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

Π‘ΠΈΠ±Π»ΠΈΠΎΠ³Ρ€.: 7 Π½Π°Π·Π².

БоставитСли: Π΄ΠΎΡ†Π΅Π½Ρ‚ И.О. ΠŸΠΠ’Π›ΠžΠ’, Π΄ΠΎΡ†Π΅Π½Ρ‚ Π‘. Π’. ΠšΡƒΠ»Π°ΠΊΠΎΠ²Π° Научный Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ профСссор Π“. Π’. ΠΠ‘Π ΠΠœΠžΠ’ Π Π΅Ρ†Π΅Π½Π·Π΅Π½Ρ‚ профСссор И.Π“. АМРАΠ₯ΠžΠ’ ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ΡΡ ΠΏΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎ-ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ совСта ВоронСТской государствСнной тСхнологичСской Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ Π³ Павлов И. О.,

ΠšΡƒΠ»Π°ΠΊΠΎΠ²Π° Π‘.Π’., 2003

Π£ Π’оронСТская государствСнная ВСхнологичСская акадСмия, 2003

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»-ΠΌΠ°ΠΊΠ΅Ρ‚ Π΄Π°Π½Π½ΠΎΠ³ΠΎ издания являСтся ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ВоронСТской государствСнной тСхнологичСской Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ, Π΅Π³ΠΎ Ρ€Π΅ΠΏΡ€ΠΎΠ΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (воспроизвСдСниС) Π»ΡŽΠ±Ρ‹ΠΌ способом Π±Π΅Π· согласия Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ запрСщаСтся.

Π ΠΠ‘ΠžΠ’Π Π‘ Π‘ΠΠ—ΠΠœΠ˜ ДАННЫΠ₯ Π’ ΠžΠŸΠ•Π ΠΠ’Π˜Π’ΠΠžΠ™ ПАМЯВИ

Π‘Π°ΠΌΠ° Ρ„ΠΎΡ€ΠΌΠ° записи Ρ„Π°ΠΊΡ‚ΠΎΠ² Π² ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΌΡ‹ΡΠ»ΡŒ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π”). НапримСр, Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΊΡ‚ΠΎΠ²

student («99−231″,"Иванов Π‘.Π‘.»,"АВП").

student («99−232″,"ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² А.Π“.»,"ВСхнологичСский").

student («99−233″,"Π‘Ρ‚Π΅ΠΏΠ°Π½ΠΎΠ² И.А.»,"АВП").

student («99−234″,"Иванов А.Π’.»,"ПМА").

student («99−235″,"Π”Π΅ΠΌΠΈΠ΄ΠΎΠ² Π‘.А.»,"АВП").

Π·Π°Π΄Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²ΠΈΠ΄Π°

Π¨ΠΈΡ„Ρ€ студСнта

(Π½ΠΎΠΌΠ΅Ρ€ Π·Π°Ρ‡Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠ½ΠΈΠΆΠΊΠΈ)

Ѐамилия студСнта

Π€Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚

Π Π°Π±ΠΎΡ‚Ρƒ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π‘Π” Π»Π΅Π³ΠΊΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартными срСдствами Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π°. Π­Ρ‚ΠΈ срСдства ΡƒΠ΄ΠΎΠ±Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Ρ Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ языка ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Ρ„Π°ΠΊΡ‚ΠΎΠ² с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ значСниями извСстных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ значСния Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ.

НапримСр, Π·Π°Π΄Π°Π΄ΠΈΠΌ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… сдачи экзамСнов:

exam («99−231″ ,"Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°», 4).

exam («99−232″ ,"Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°», 5).

exam («99−231″ ,"ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°», 5).

exam («99−233″ ,"ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°», 3).

exam («99−235″ ,» Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° «, 5).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ±ΠΎ всСх студСнтах Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π° АВП, ΡΠ΄Π°Π²ΡˆΠΈΡ… экзамСн ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ с ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ 5. Для Ρ‡Π΅Π³ΠΎ Π·Π°Π΄Π°Π΄ΠΈΠΌ Ρ†Π΅Π»ΡŒ

goal

exam (Num, ,"Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°", 5), student (Num, Name, «ΠΠ’П»), write (Name), nl, fail.

ΠŸΡ€ΠΎΠ»ΠΎΠ³-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просматриваСт всС Ρ„Π°ΠΊΡ‚Ρ‹ с ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠΌ exam Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ„Π°ΠΊΡ‚ exam («99−235″ ,"Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°», 5), ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρƒ ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ свободная пСрСмСнная Num ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «99−235». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Ρ†Π΅Π»ΠΈ согласован, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° student («99−235″, Name, „АВП“). Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ имССтся Ρ„Π°ΠΊΡ‚ student („99−235″,"Π”Π΅ΠΌΠΈΠ΄ΠΎΠ² Π‘.А.“,"АВП»), ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ оказываСтся истинСн, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ пСрСмСнная Name ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «Π”Π΅ΠΌΠΈΠ΄ΠΎΠ² Π‘.А.», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΡΠΊΡ€Π°Π½ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° write (Name). ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ nl ΠΈ fail ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для просмотра ΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΡƒ списку студСнтов.

Π‘Π” Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ статичСской Π‘Π”.

Однако ΠŸΡ€ΠΎΠ»ΠΎΠ³ прСдоставляСт срСдства ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡŽ динамичСских Π‘Π”, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π‘Π”, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ записи Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΎΠΉ Π‘Π”, Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ database. Π Π°Π·Π΄Π΅Π» ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

database [- <�имя Π‘Π”>]

dbpred1(…)

dbpred2(…)

НапримСр,

database — tabel

dstudent (symbol, symbol, symbol.)

dexam (symbol, symbol, integer)

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ здСсь ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ послС подстановки Π² Π½ΠΈΡ… вмСсто ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… констант (Ρ‚. Π΅. прСвращСния ΠΈΡ… Π² Ρ„Π°ΠΊΡ‚Ρ‹) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ ΠΈ, Ссли потрСбуСтся, ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. ДСлаСтся это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартных (встроСнных Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ) ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ²: asserta, assertz, retract, save, consult, readterm, findall. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² database, ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· Π½ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя. Если имя Ρ€Π°Π·Π΄Π΅Π»Ρƒ database Π½Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ (Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π» Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½), компилятор ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ имя dbasedom.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΌΠΈ Π‘Π”

1. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ asserta заносит Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΡƒΡŽΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (рСзидСнтная Π‘Π”). Новый Ρ„Π°ΠΊΡ‚ помСщаСтся ΠΏΠ΅Ρ€Π΅Π΄ всСми ΡƒΠΆΠ΅ внСсСнными утвСрТдСниями Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ синтаксис:

asserta (<οΏ½Ρ„Π°ΠΊΡ‚>)

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π‘Π” ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅

dstudent («99−233″,"Π‘Ρ‚Π΅ΠΏΠ°Π½ΠΎΠ² И.А.»,"АВП")

ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΡΡ Ρ‚Π°ΠΌ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ

dstudent («99−234″,"Иванов А.Π’.»,"ПМА"),

стоящим Π² Π½Π°ΡΡ‚оящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ мСстС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

asserta (dstudent («99−233″,"Π‘Ρ‚Π΅ΠΏΠ°Π½ΠΎΠ² И.А.»,"АВП")).

2. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ assertz Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ asserta, заносит Π½ΠΎΠ²Ρ‹Π΅ утвСрТдСния Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Однако ΠΎΠ½ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠΈ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² Π±Π°Π·Π΅ утвСрТдСниями Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°. Бинтаксис ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅. НапримСр,

assertz (dstudent («99−235″,"Π”Π΅ΠΌΠΈΠ΄ΠΎΠ² Π‘.А.»,"АВП")).

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΈΠ½ΠΎΠ³Π΄Π° Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄Π΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ статичСской Π‘Π”; эти Π΄Π°Π½Π½Ρ‹Π΅ заносятся Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π‘Π” сразу послС Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для этой Ρ†Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ asserta ΠΈ assertz. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ статичСской Π‘Π” ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ имя, Π½ΠΎ Ρ‚Ρƒ ΠΆΠ΅ ΡΠ°ΠΌΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ динамичСской. НапримСр,

predicates

student (symbol, symbol, symbol)

database

dstudent (code, name, dep)

clauses

student («99−231″,"Иванов Π‘.Π‘.»,"АВП").

student («99−232″,"ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² А.Π“.»,"ВСхнологичСский").

student («99−233″,"Π‘Ρ‚Π΅ΠΏΠ°Π½ΠΎΠ² И.А.»,"АВП").

student («99−234″,"Иванов А.Π’.»,"ПМА").

student («99−235″,"Π”Π΅ΠΌΠΈΠ΄ΠΎΠ² Π‘.А.»,"АВП").

ВсС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° dstudent ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с student Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ лишь Π² ΠΎΠ΄Π½ΠΎΠΉ лишнСй Π±ΡƒΠΊΠ²Π΅ Ρ‚Π΅Ρ€ΠΌΠ°. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ латинской Π±ΡƒΠΊΠ²Ρ‹ d — ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ способ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ динамичСской ΠΈ ΡΡ‚атичСской Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

А ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ для занСсСния Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π‘Π” ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° student слуТит

assert_database : — student (Code, Name, Dep),

assertz (dstudent (Code, Name, Dep)), fail.

assert_database : — !.

3. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ retract удаляСт ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ· Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ Π‘Π” (Π΅Ρ‰Π΅ Ρ€Π°Π· Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ динамичСская Π‘Π” содСрТит Ρ„Π°ΠΊΡ‚Ρ‹, Π½ΠΎ Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°) Π•Π³ΠΎ синтаксис Ρ‚Π°ΠΊΠΎΠ²:

retract (<οΏ½Ρ„Π°ΠΊΡ‚>).

НапримСр ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ

del: — retract (exam (99−231,inf, 5)).

удаляСт ΠΈΠ· Π‘Π” Ρ„Π°ΠΊΡ‚ exam (99−231,inf, 5), Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ

del_all:-retract (_,_,_), fail.

удаляСт ΠΈΠ· Π½Π΅Π΅ всС Ρ„Π°ΠΊΡ‚Ρ‹.

4. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ findall позволяСт ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠΏΠΈΡΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Π΅. Бинтаксис:

findall (<�элСмСнт_списка>,<οΏ½Ρ„Π°ΠΊΡ‚>,<�список>)

Π’Π°ΠΊ, findall ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для получСния списка ΠΈΠΌΠ΅Π½ всСх студСнтов, содСрТащихся Π² Π‘Π”. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚

findall (Name, dstudent (_, Name,_), Student_list)

пСрСмСнная Student_list Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ список ΠΈΠΌΠ΅Π½ всСх студСнтов, содСрТащихся Π² Ρ„Π°ΠΊΡ‚Π°Ρ… с Ρ‚Π΅Ρ€ΠΌΠΎΠΌ dstudent.

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π” Π² Ρ†Π΅Π»ΠΎΠΌ

Для записи динамичСской Π‘Π” Π² Ρ„Π°ΠΉΠ» Π½Π° Π΄ΠΈΡΠΊ ΠΈ Π΄Π»Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ содСрТимого Ρ„Π°ΠΉΠ»Π° Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π‘Π” ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ стандартныС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ save ΠΈ consult.

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ save сохраняСт Π½Π°Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Скстовом Ρ„Π°ΠΉΠ»Π΅. Бинтаксис этого ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°

save (имя_Ρ„Π°ΠΉΠ»Π°[, имя_Π‘Π”]),

Π³Π΄Π΅ имя_Ρ„Π°ΠΉΠ»Π° Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ допустимоС Π² MS DOS ΠΈΠ»ΠΈ PC DOS имя Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ содСрТимоС Π‘Π” tabel Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ exam03.dba, трСбуСтся ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚

save («exam03.dba», tabel).

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ всС утвСрТдСния находящСйся Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти динамичСской Π‘Π” tabel Π±ΡƒΠ΄ΡƒΡ‚ записаны Π² Ρ„Π°ΠΉΠ» exam03.dba. CΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π‘Π” со ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ dbasedom ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ c: dir1f1. db ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°

save («c:\dir1\f1.db»).

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствовал Π½Π° Π΄ΠΈΡΠΊΠ΅, Ρ‚ΠΎ ΡΡ‚ΠΎΡ‚ старый Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ‚Π΅Ρ€Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ save с ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΠΉ Π΄ΠΎΠ»Π΅ΠΉ остороТности.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ», содСрТащий Ρ„Π°ΠΊΡ‚Ρ‹, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎ ΡΠΈΠ½Ρ‚аксису с ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°ΠΌΠΈ описанной Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π‘Π”, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ считан Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ (Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½) ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° consult, синтаксис ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΎΠ²:

consult (<�имя_Ρ„Π°ΠΉΠ»Π°>[,<�имя_Π‘Π”>]).

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° exam02.dba Π² Π‘Π” tabel трСбуСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

consult («exam02.dba «, tabel).

А Π΄Π»Ρ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° d: dir2f2. dbf Π² Π‘Π” со ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ dbasedom Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚

consult («d:\dir2\f2.dbf»).

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ consult Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ΅Π½, Ссли Ρ„Π°ΠΉΠ» с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ отсутствуСт Π½Π° Π΄ΠΈΡΠΊΠ΅, ΠΈΠ»ΠΈ Ссли этот Ρ„Π°ΠΉΠ» содСрТит ошибки, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡΠ»ΡƒΡ‡Π°Π΅ нСсоотвСтствия синтаксиса ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° ΠΈΠ· Ρ„Π°ΠΉΠ»Π° описаниям ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ database, ΠΈΠ»ΠΈ Ссли содСрТимоС Ρ„Π°ΠΉΠ»Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ Π²Π²ΠΈΠ΄Ρƒ отсутствия мСста.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π΅ΠΉΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти

Π›ΡŽΠ±Π°Ρ систСма систСмы управлСния Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π£Π‘Π”), ориСнтированная Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности, ΠΊΠ°ΠΊ занСсСниС Π² Π±Π°Π·Ρƒ Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…; ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π±Π°Π·Ρ‹; Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈ Π²Ρ‹Π²ΠΎΠ΄ содСрТащихся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ достаточно Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ способом. Π’Π°ΠΊΠΈΠ΅ трСбования ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ мСню.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ основныС дСйствия Π½Π°Π΄ динамичСской Π‘Π”.

database

dstudent (symbol, symbol, symbol) /*Π’Π°Π±Π»ΠΈΡ†Π° с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π°Ρ… */

dexam (symbol, symbol, integer) /* Π’Π°Π±Π»ΠΈΡ†Π° с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΡΠ΄Π°Ρ‡Π΅ экзамСнов*/

predicates

menu

reaction (char)

deldb

typerec (char)

addquation3(char)

retquation4(char)

findquation4(char)

find (integer)

findname (symbol)

findnameyes (symbol)

findexam (symbol, symbol, integer)

find4(symbol, integer)

dely

goal

makewindow (1, 10, 3, «Π‘Π” `сСссия' «, 3, 10, 19, 60, 1, -1,

" 218 191 192 217 196 192″), menu.

clauses

/*Π’Ρ‹Π²ΠΎΠ΄ мСню Π½Π° ΡΠΊΡ€Π°Π½*/

menu: — clearwindow,

write («1 — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ»), nl,

write («2 — Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ»), nl,

write («3 — Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись»), nl,

write («4 — Π½Π°ΠΉΡ‚ΠΈ запись»), nl,

write («5 — ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ запись»), nl,

write («6 — ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ»), nl,

write («7 — Π²Ρ‹Ρ…ΠΎΠ΄»), nl, readchar (N), reaction (N).

/*РСакция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ‹Π±ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню*/

reaction ('1'):-deldb, menu.

reaction ('2'):-clearwindow, write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π°»), readln (Fname),

consult (Fname), menu.

reaction ('3'):-typerec (N), addquation3(N), dely, menu.

reaction ('4'):-clearwindow, typerec (N), findquation4(N), menu.

reaction ('5'):-clearwindow, typerec (N), retquation4(N), dely, menu.

reaction ('6'):-write («Enter filename»), readln (Fname), save (Fname), menu.

reaction ('7').

reaction (_):-write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ число 1−6»), dely, menu.

/*Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ всСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π±Π°Π·Ρ‹*/

deldb:-retract (dstudent (_,_,_)), fail.

deldb:-retract (dexam (_,_,_)), fail.

deldb.

/*Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° записи (Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π‘Π”)*/

typerec (N):-clearwindow, write («1 — информация ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π°Ρ…»), nl,

write («2 — Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ сдачи экзамСнов»), nl, readchar (N).

/*Π’Π²ΠΎΠ΄ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ записи*/

addquation3('1'):-clearwindow, write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡˆΠΈΡ„Ρ€ студСнта»), nl, readln (Code),

write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ЀИО студСнта»), nl, readln (Name),

write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚»), nl, readln (D),

assertz (dstudent (Code, Name, D)), write («Π—Π°ΠΏΠΈΡΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°»), nl.

addquation3('2'):-clearwindow, write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡˆΠΈΡ„Ρ€ студСнта «), nl, readln (Code),

write («Enter course»), nl, readln (Course),

write («Enter mark»), nl, readint (Mark),

assertz (dexam (Code, Course, Mark)), write («Π—Π°ΠΏΠΈΡΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° «).

addquation3(_): — write («ΠžΡˆΠΈΠ±ΠΊΠ°!»).

/*Π£Ρ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ задания Π½Π° ΠΏΠΎΠΈΡΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ*/

findquation4('1'):-clearwindow, write («1 — ΠΈΡΠΊΠ°Ρ‚ΡŒ запись ΠΏΠΎ ΡˆΠΈΡ„Ρ€Ρƒ»), nl,

write («2 — ΠΈΡΠΊΠ°Ρ‚ΡŒ запись ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ»), nl, readint (N), find (N), dely.

findquation4('2'):-clearwindow, write («1 — ΠΈΡΠΊΠ°Ρ‚ΡŒ запись ΠΏΠΎ ΡˆΠΈΡ„Ρ€Ρƒ «), nl,

write («2 — ΠΈΡΠΊΠ°Ρ‚ΡŒ запись ΠΏΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ дисциплины «), nl,

readint (N), N2=N+2, find (N2), dely.

/*Π£Ρ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ задания Π½Π° ΠΏΠΎΠΈΡΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ */

find (1):-clearwindow, write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡˆΠΈΡ„Ρ€ «), readln (Code),

dstudent (Code, Name, D), write («Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ «), write (Name), nl,

write («ΠΎΠ±ΡƒΡ‡Π°Π΅Ρ‚ся Π½Π° Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π΅ «), write (D).

find (1):-write («Π’Π°ΠΊΠΎΠΉ записи Π² Π±Π°Π·Π΅ Π½Π΅Ρ‚»).

find (2):-clearwindow, write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя студСнта «), readln (Name),

findname (Name), findnameyes (Name).

find (2):-write («Π’Π°ΠΊΠΎΠΉ записи Π² Π±Π°Π·Π΅ Π½Π΅Ρ‚ «).

find (3):-clearwindow, write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡˆΠΈΡ„Ρ€ студСнта «), readln (Code),

dstudent (Code, Name, D), write («Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ «), write (Name), nl,

write («Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π°»), write (D), nl, findexam (Code,_,_).

find (3):-write («Π’Π°ΠΊΠΎΠΉ записи Π² Π±Π°Π·Π΅ Π½Π΅Ρ‚ «).

find (4):-clearwindow, write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ дисциплины»),

readln (Course),

write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΡ†Π΅Π½ΠΊΡƒ. Для поиска ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ 0 «),

readint (Mark), find4(Course, Mark).

/*Поиск ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΡΠ΄Π°Ρ‡Π΅ экзамСнов */

find4(Course, 0):-findexam (_, Course,_).

find4(Course, Mark):-findexam (_, Course, Mark).

/*Поиск записСй ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ студСнта*/

findname (Name):-dstudent (Code, Name, D), write («Π¨ΠΈΡ„Ρ€ студСнта «),

write (Code), nl,

write («Π€Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ «), write (D), dely, fail.

findname (_).

/*Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска записСй ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ*/

findnameyes (Name):-dstudent (_, Name,_).

/*Поиск ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΡΠ΄Π°Ρ‡Π΅ экзамСнов*/

findexam (Code, Course, Mark):-dexam (Code, Course, Mark),

write («Π¨ΠΈΡ„Ρ€»), write (Code), write (««),

write (Course), write (««), write (Mark), nl, fail.

findexam (_,_,_).

/*ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строки ΠΈΠ· Π‘Π”*/

retquation4('1'):-write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡˆΠΈΡ„Ρ€ студСнта»), nl, readln (Code),

write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя»), nl, readln (Name),

write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π°»), nl, readln (D),

retract (dstudent (Code, Name, D)), write («Π—Π°ΠΏΠΈΡΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π°»), nl.

retquation4('2'):-write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡˆΠΈΡ„Ρ€ студСнта «), nl, readln (Code),

write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ дисциплины»), nl, readln (Course),

retract (dexam (Code, Course,_)),

write («Π—Π°ΠΏΠΈΡΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π°»), nl.

retquation4(_):-write («Π’Π°ΠΊΠΎΠΉ записи Π² Π±Π°Π·Π΅ Π½Π΅Ρ‚»), nl.

/*ΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎ Π½Π°ΠΆΠ°Ρ‚ия любой клавиши*/

dely:-nl, nl, nl, write («ΠΠ°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ»), nl, readchar (_).

/* ΠšΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ */

Π ΠΠ‘ΠžΠ’Π Π‘ Π‘Π” НА Π”Π˜Π‘ΠšΠ•

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° Π²Π½Π΅ΡˆΠ½ΠΈΡ… носитСлях

Π’ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ:

deletefile (<�имя_Ρ„Π°ΠΉΠ»Π°>) — ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ» <�имя_Ρ„Π°ΠΉΠ»Π°>;

save (<�имя_Ρ„Π°ΠΉΠ»Π°>) — сохраняСт Π½Π° Π΄ΠΈΡΠΊΠ΅ утвСрТдСния динамичСской Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…;

renamefile (<�староС_имя_Ρ„Π°ΠΉΠ»Π°>,<οΏ½Π½ΠΎΠ²ΠΎΠ΅_имя_Ρ„Π°ΠΉΠ»Π°>) — ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°;

existfile (<�имя_Ρ„Π°ΠΉΠ»Π°>) — тСст Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° с Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½ Π² ΡΠ»ΡƒΡ‡Π°Π΅, Ссли Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ <�имя_Ρ„Π°ΠΉΠ»Π°>, присутствуСт Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ;

flush (<�файловая_пСрСмСнная>) — ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ сбрасываСт содСрТимоС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π°, ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ устройства записи.

disk (<οΏ½ΠΏΡƒΡ‚ΡŒ>) — Π²Ρ‹Π±ΠΎΡ€ дисковода ΠΈ ΠΏΡƒΡ‚ΠΈ доступа: Ссли ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ <οΏ½ΠΏΡƒΡ‚ΡŒ> являСтся константой ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ присвоСн ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ доступа, Ρ‚ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ становится Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ. Если ΠΆΠ΅ пСрСмСнная <οΏ½ΠΏΡƒΡ‚ΡŒ> Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π°, Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ присваиваСт Π΅ΠΉ ΠΏΡƒΡ‚ΡŒ доступа ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

dir (<οΏ½ΠΏΡƒΡ‚ΡŒ>,<�шаблон>,<�имя_Ρ„Π°ΠΉΠ»Π°>) — Π²Ρ‹Π΄Π°Ρ‡Π° списка Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ <οΏ½ΠΏΡƒΡ‚ΡŒ> Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ присвоСн ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ доступа, тСкстовая пСрСмСнная <�шаблон> Π·Π°Π΄Π°Π΅Ρ‚ шаблон Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ интСрСс. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² подходящих ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ шаблон; Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ срСди Π½ΠΈΡ… Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Enter. Имя Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ присвоСно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ <�имя_Ρ„Π°ΠΉΠ»Π°>.

Π’Π°ΠΊ, Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π” Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ reaction (6) сохранСния Π‘Π” Π² Ρ„Π°ΠΉΠ»Π΅ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ описания) ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ ΠΏΡ€Π°Π²ΠΈΠ».

reaction ('6'):-savedb, nl, menu.

savedb: — write («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π°»), readln (Fname), rwrite (Fname).

rwrite («„): — disk (Dir), dir (Dir,“ *.dba», Fname1), save (Fname1).

rwrite (Fname): — existfile (Fname), write («Π€Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт. ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ (y/n)?»), nl, readchar (Yes), rwr (Yes, Fname).

rwrite (Fname): — not (existfile (Fname)), save (Fname).

rwr ('y', Fname):-save (Fname).

rwr ('n',_): — write («Enter new filename»), readln (Fname1),

rwrite (Fname1).

rwr ('Y', Fname):-rwr ('y', Fname).

rwr ('N', Fname):-rwr ('n', Fname).

Π—Π΄Π΅ΡΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ rwrite ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для опрСдСлСния ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, ΠΈ ΡΠΎΡ…ранСния Π² Π½Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π±Π°Π·Ρ‹. ΠŸΡ€ΠΈ этом Ссли Π²Π²Π΅Π΄Π΅Π½ΠΎ имя ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π½ запрос ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠΈ с ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ rwr), Π° Π΅ΡΠ»ΠΈ имя Ρ„Π°ΠΉΠ»Π° Π²Π²Π΅Π΄Π΅Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдоставит Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° (ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ dir).

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠ΅Ρ€Π΅Π΄ созданиСм Π½ΠΎΠ²ΠΎΠΉ Π‘Π” Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ вывСсти запрос ΠΎ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Для Ρ‡Π΅Π³ΠΎ reaction (1) замСняСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€Π°Π²ΠΈΠ».

reaction ('1'): — write («Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния (y/n)?»),

readchar (Yes), nl, savequation1(Yes), nl, deldb,

menu.

savequation1('n').

savequation1('N').

savequation1('y'):-savequation1('Y').

savequation1('Y'):-savedb.

savequation1(_):-write («ΠΠ°ΠΆΠΌΠΈΡ‚Π΅, поТалуйста, y ΠΈΠ»ΠΈ n»),

readchar (Yes), nl, savequation1(Yes).

Π—Π΄Π΅ΡΡŒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ savequation1 Π·Π°Π΄Π°Π΅Ρ‚ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ Π½Π° ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° Π·Π°ΠΏΡ€ΠΎΡ ΠΎ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ запрос ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ reaction (2) ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π‘Π” ΠΈ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ reaction (7) ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

reaction ('2'): — disk (Dir), dir (Dir," *.dba", Fname),

clearwindow, write («Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния (y/n)?»),

readchar (Yes), nl, savequation1(Yes), nl,

consult (Fname), menu.

reaction ('7'): — write («Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния (y/n)?»),

readchar (Yes), nl, savequation1(Yes), nl.

Помимо пСрСчислСнных ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ² Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ чтСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, записи Π² Ρ„Π°ΠΉΠ», ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅. Однако для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π΅ ΡΠ½Π°Π±Π΄ΠΈΡ‚ΡŒ описаниСм Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°.

ОписаниС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°

ОписаниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ datafile выглядит ΠΊΠ°ΠΊ

file = datafile

Π­Ρ‚ΠΎ описаниС отличаСтся ΠΎΡ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ описания Ρ‚ΠΈΠΏΠ°

name = symbol,

Π³Π΄Π΅ name являСтся ΠΈΠΌΠ΅Π½Π΅ΠΌ Π΄ΠΎΠΌΠ΅Π½Π°, Π° symbol — стандартным Ρ‚ΠΈΠΏΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π°.

1. ΠŸΡ€ΠΈ описании Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², стандартный Ρ‚ΠΈΠΏ Π΄ΠΎΠΌΠ΅Π½Π° file задаСтся ΠΏΠΎ Π»Π΅Π²ΡƒΡŽ сторону ΠΎΡ‚ Π·Π½Π°ΠΊΠ° равСнства, Π° ΠΈΠΌΡ Π΄ΠΎΠΌΠ΅Π½Π° datafile — ΠΏΠΎ ΠΏΡ€Π°Π²ΡƒΡŽ.

2. datafile, Ρ…ΠΎΡ‚ΡŒ ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ся ΠΊΠ°ΠΊ Π΄ΠΎΠΌΠ΅Π½, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (ΠΏΡ€ΠΈ записи ΠΏΡ€Π°Π²ΠΈΠ») ΠΊΠ°ΠΊ символичСскоС имя Ρ„Π°ΠΉΠ»Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ логичСски отоТдСствлСн с Π»ΡŽΠ±Ρ‹ΠΌ DOS Ρ„Π°ΠΉΠ»ΠΎΠΌ. Π­Ρ‚ΠΎ символичСскоС имя Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ логичСским ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°.

Π’ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ file ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ нСсколько символичСских ΠΈΠΌΠ΅Π½, Π½ΠΎ ΡΠ°ΠΌΠΎ описаниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ СдинствСнным. Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ вводится нСсколько символичСских ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ (;). НапримСр,

file = datafile1; datafile2; datafile3

Π­Ρ‚ΠΎ объявлСниС Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Ρ€ΠΈ символичСских ΠΈΠΌΠ΅Π½ΠΈ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΡ… ΠΎΡ‚оТдСствлСния с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ DOS Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния-записи Π² Ρ„Π°ΠΉΠ»

Π—Π°ΠΏΠΈΡΡŒ Π² Ρ„Π°ΠΉΠ»

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π² Ρ„Π°ΠΉΠ», Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Π’ Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° openwrite. ΠŸΡ€ΠΈ этом, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π° помСщаСтся Π² Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ. Бинтаксис:

openwrite (<�символичСскоС имя Ρ„Π°ΠΉΠ»Π°>, <�имя_DOS_Ρ„Π°ΠΉΠ»Π°>).

НапримСр

openwrite (datafile1," file1. dat"),

Π³Π΄Π΅ datafile1 Π΅ΡΡ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½, Π° file1. dat — физичСскоС имя Ρ„Π°ΠΉΠ»Π° Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ устанавливаСт связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ datafile1 ΠΈ file1.dat. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ссылки Π½Π° datafile1 Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ file1.dat. Бвязь остаСтся Π² ΡΠΈΠ»Π΅ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ия Ρ„Π°ΠΉΠ»Π°.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ file1. dat ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° openwrite ΡƒΠΆΠ΅ присутствовал Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ Π΅Π³ΠΎ содСрТимоС Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‚Ρ€Π°Ρ‡Π΅Π½ΠΎ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΡΡ‚ΠΎΠΉ нСприятности, ΠΌΠΎΠΆΠ½ΠΎ сначала ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°

existfile («file1.dat»)

ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ€Ρ‹, Ссли existfile Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартныС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ write ΠΈΠ»ΠΈ writef для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ„Π°ΠΉΠ», Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ устройства записи:

writedevice (<�символичСскоС имя Ρ„Π°ΠΉΠ»Π°>).

НапримСр

writedevice (datafile1), write («Π­Ρ‚ΠΈ Ρ‚Ρ€ΠΈ строки Π±ΡƒΠ΄ΡƒΡ‚ записаны Π² Ρ„Π°ΠΉΠ» file1. dat»), nl, write («Π­Ρ‚ΠΎ вторая строка»), nl, write («Π ΡΡ‚ΠΎ — Ρ‚Ρ€Π΅Ρ‚ΡŒΡ «).

Π”ΠΎΠ·Π°ΠΏΠΈΡΡŒ Π² ΠΊΠΎΠ½Π΅Ρ† ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ½Π΅Ρ† ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠΌ openappend. Когда Ρ„Π°ΠΉΠ» открываСтся для дозаписи, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π° устанавливаСтся Π² Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ†.

openappend (<�символичСскоС имя Ρ„Π°ΠΉΠ»Π°>, <�имя_DOS_Ρ„Π°ΠΉΠ»Π°>).

НапримСр,

openappend (datafile2," file2. dat")

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° (пСрСадрСсация Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…) Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΎΠ²Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ.

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°

Для чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π° трСбуСтся:

1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° openread:

openread (<�символичСскоС имя Ρ„Π°ΠΉΠ»Π°>, <�имя_DOS_Ρ„Π°ΠΉΠ»Π°>).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

openread (datafile3," file3. dat").

2. ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» datafile3 устройством чтСния:

readdevice (<�символичСскоС имя Ρ„Π°ΠΉΠ»Π°>).

НапримСр,

readdevice (datafile1).

3. ВвСсти ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° (readint, readreal, readln ΠΈ Ρ‚. Π΄.).

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°

Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³ позволяСт ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ для чтСния ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Для этой Ρ†Π΅Π»ΠΈ слуТит ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ openmodify.

openmodify (<�символичСскоС имя Ρ„Π°ΠΉΠ»Π°>, <�имя_DOS_Ρ„Π°ΠΉΠ»Π°>).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

openmodify (datafile1," file4. dat")

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ присутствуСт Π½Π° Π΄ΠΈΡΠΊΠ΅.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊ символов. ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа опрСдСляСтся Π΅Π³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ Π² Ρ„Π°ΠΉΠ»Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½ΡƒΠ»Π΅Π²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ — ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΈ Ρ‚. Π΄. ΠŸΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ ΠΈΠ»ΠΈ Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ записан ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ символ, опрСдСляСт ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π² Π»ΡŽΠ±ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π€Π°ΠΉΠ»Ρ‹ с Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ доступа ΠΊ Ρ…ранящСйся Π² Π½Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ прямого доступа, Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ· Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° — Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° прямого доступа.

Когда Ρ„Π°ΠΉΠ» открываСтся для записи ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ помСщаСтся Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π°. Однако Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³ позволяСт ΡΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° filepos.

filepos (<�символичСскоС_имя_Ρ„Π°ΠΉΠ»Π°>, <�позиция_указатСля>, <οΏ½Ρ‚ΠΈΠΏ_смСщСния>).

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ <�позиция_указатСля> здСсь Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ присвоСно Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² Ρ„Π°ΠΉΠ»Π΅, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ считан ΠΈΠ»ΠΈ Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ записан символ (дробная Ρ‡Π°ΡΡ‚ΡŒ числа отбрасываСтся).

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ <οΏ½Ρ‚ΠΈΠΏ_смСщСния> ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ присвоСно ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: 0, 1 ΠΈΠ»ΠΈ 2. Π­Ρ‚ΠΈ значСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ <�позиция_указатСля>. Π’ Ρ‚Π°Π±Π». 1 пояснСно ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ допустимого значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° <οΏ½Ρ‚ΠΈΠΏ_смСщСния>.

Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ» диск Π’Π°Π±Π»ΠΈΡ†Π° 1

Π Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° filepos

Π’ΠΈΠΏ смСщСния

ДСйствия систСмы

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ бСрСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π°

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ бСрСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ бСрСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°

Рассмотрим, для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° filepos:

filepos (datafile1,100,0).

Π’ ΡΡ‚ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ datafile1 Π΅ΡΡ‚ΡŒ имя логичСского Ρ„Π°ΠΉΠ»Π°. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ <�позиция_указатСля> ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 100, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ символ, стоящий Π² 100-ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (101-ΠΉ символ). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° <οΏ½Ρ‚ΠΈΠΏ_смСщСния> ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сотая позиция Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π°.

Если Π² ΡΡ‚ΠΎΠΉ записи 0 Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° 1,

filepos (datafile1,100,1),

Ρ‚ΠΎ ΠΎΡ‚счСт Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ ΡƒΠΆΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ указатСля. Если Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ сдвинСтся Π΅Ρ‰Π΅ Π½Π° 100 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π²ΠΏΠ΅Ρ€Π΅Π΄.

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°

Π­Ρ‚ΠΎΠΉ Ρ†Π΅Π»ΠΈ слуТит ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚

closefile (<�символичСскоС имя Ρ„Π°ΠΉΠ»Π°>).

НапримСр,

closefile (datafile1).

Когда Ρ„Π°ΠΉΠ» Π·Π°ΠΊΡ€Ρ‹Ρ‚, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния ΠΈΠ»ΠΈ записи для Π½Π΅Π³ΠΎ нСдопустимы. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ содСрТимоС Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ… Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ манипуляций, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ лишь ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»ΠΎΠΌ Π² Ρ†Π΅Π»ΠΎΠΌ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ слСдствиСм закрытия Ρ„Π°ΠΉΠ»Π° являСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ указатСля Ρ„Π°ΠΉΠ»Π° Π² Π½Π°Ρ‡Π°Π»ΠΎ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°.

ΠŸΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°

ВстроСнный ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π° readdevice позволяСт ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ логичСскоС устройство Π²Π²ΠΎΠ΄Π°. Аналогично встроСнный ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ writedevice осущСствляСт ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ устройства Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π’Π°ΠΊ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚

readdevice (myfile)

настраиваСт устройство Π²Π²ΠΎΠ΄Π° Π½Π° Ρ„Π°ΠΉΠ» myfile, Π° ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚

writedevice (yourfile)

настраиваСт устройство Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° Ρ„Π°ΠΉΠ» yourfile.

Для настройки Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ устройства Π² Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ стандартныС ΠΈΠΌΠ΅Π½Π° screen, keyboard, printer. НапримСр, ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ

write_lines : — writedevice (screen), write («ΠŸΠ΅Ρ€Π²Π°Ρ строка «),

nl, writedevice (printer),

write («ΠŸΠ΅Ρ€Π²Π°Ρ строка»), nl,

flush (printer), writedevice (screen).

Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строку «ΠŸΠ΅Ρ€Π²Π°Ρ строка «Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°, Π° Π·Π°Ρ‚Π΅ΠΌ эту ΠΆΠ΅ строку Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ flush здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ строка Π±Ρ‹Π»Π° Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° сразу Π½Π° ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ eof ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°

eof (<�символичСскоС_имя_Ρ„Π°ΠΉΠ»Π°>)

Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса открытия Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ использования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строковых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, для Ρ‡Π΅Π³ΠΎ Π² Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ стандартный ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ concat:

concat (<�строка1>,<�строка2>, <�новая_строка>).

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π”, хранящими Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ»Π°Ρ… Π½Π° Π΄ΠΈΡΠΊΠ΅

Π‘Π£Π‘Π”, хранящиС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π΄ΠΈΡΠΊΠ΅ (Π½Π΅Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹Π΅), ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ТизнСспособными. Π’Π°ΠΊ ΠΊΠ°ΠΊ объСм внСшнСй памяти сущСствСнно большС объСма памяти ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ, систСмы Ρ‚Π°ΠΊΠΎΠ³ΠΎ класса ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° практичСских Π·Π°Π΄Π°Ρ‡.

Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³ располагаСт всСми срСдствами, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для поддСрТания Ρ‚Π°ΠΊΠΈΡ… Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π‘Π”.

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π½Π΅Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½ΠΎΠΉ Π‘Π” ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ database Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½ΠΎΠΉ.

database

Stud (symbol, symbol, symbol)

database — test

Exam (symbol, symbol, integer)

predicates

Add_stud (dbasedom)

Add_exam (test)

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π·Π°ΠΏΠΈΡΡΠΌΠΈ любой Π‘Π” ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹. И Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡŒ Π‘Π”. Π’ΠΎΠ³Π΄Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ этого Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈ описании ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя Π‘Π”. НапримСр, для добавлСния записСй Π² Π½Π΅Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½ΡƒΡŽ Π‘Π” ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

Add_stud (Term):-Write («Π’Π΅Π΄ΠΈΡ‚Π΅ ΡˆΠΈΡ„Ρ€»), readln (Code),

Write («Π’Π΅Π΄ΠΈΡ‚Π΅ имя»), readln (Name),

Write («Π’Π΅Π΄ΠΈΡ‚Π΅ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ «),

Rreadln (Dep),

Term=stud (Code, Name, Dep),

Write (Term), Asserta (Term).

Add_exam (Term):-Write («Π’Π΅Π΄ΠΈΡ‚Π΅ Π¨ΠΈΡ„Ρ€»), readln (Code),

Write («Π’Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ дисциплины»),

Readln (Course),

Write («Π’Π΅Π΄ΠΈΡ‚Π΅ ΠΎΡ†Π΅Π½ΠΊΡƒ»), readln (Mark),

Term=exam (Code, Course, Mark),

Write (Term), Asserta (Term).

Π—Π΄Π΅ΡΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Add_stud позволяСт ввСсти запись (пСрСмСнная Term) ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ Π² Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½ΡƒΡŽ Π‘Π” dbasedom. А ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Add_exam Π²Π²ΠΎΠ΄ΠΈΡ‚ запись ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ‚ ΠΎΠ΄Π½Ρƒ запись Π² Π±Π°Π·Ρƒ test.

ΠšΠΎΡ€ΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для чтСния ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², относящихся ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄ΠΎΠΌΠ΅Π½Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ readterm. Бинтаксис этого ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°

readterm (<�имя Π΄ΠΎΠΌΠ΅Π½Π° >,< Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄ΠΎΠΌΠ΅Π½Π°>).

Рассмотрим, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

readterm (test, Term)

Π—Π΄Π΅ΡΡŒ, ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½, Ссли с ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ устройства Π²Π²ΠΎΠ΄Π° Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π° строка, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰Π°Ρ ΠΏΠΎ ΡΠΈΠ½Ρ‚аксису с Π·Π°ΠΏΠΈΡΡŒΡŽ Π‘Π” test. НапримСр, exam («99−291″ ,» Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°", 3). Π’ΠΎΠ³Π΄Π° пСрСмСнная Term ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой записи. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Term=exam («99−291″,"inf», 3) истинСн.

Рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

readterm (test, exam (Code, Course, Mark))

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½ Ρ‚Π°ΠΊΠΆΠ΅, Ссли с ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ устройства Π²Π²ΠΎΠ΄Π° Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π° строка, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰Π°Ρ ΠΏΠΎ ΡΠΈΠ½Ρ‚аксису с Π·Π°ΠΏΠΈΡΡŒΡŽ Π‘Π” test, Π½ΠΎ ΡΡ‚ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ ΡƒΠΆΠ΅ опрСдСляСт значСния ΠΏΠΎΠ»Π΅ΠΉ записи, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ пСрСмСнная Code ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «99−291», пСрСмСнная Course — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°», Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Mark -3.

Π ΠΠ—Π ΠΠ‘ΠžΠ’ΠšΠ Π­ΠšΠŸΠ•Π Π’ΠΠ«Π₯ Π‘Π˜Π‘Π’Π•Πœ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° экспСртных систСм (Π­Π‘) являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠ»ΠΎΠ΄ΠΎΡ‚Π²ΠΎΡ€Π½ΠΎΠΉ быстро Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ примСнСния ΠŸΡ€ΠΎΠ»ΠΎΠ³Π°. ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ экспСртныС систСмы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, фактичСски, Π² Π»ΡŽΠ±ΠΎΠΉ области Π·Π½Π°Π½ΠΈΠΉ.

ЭкспСртная систСма — это ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ области проявляСт ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΏΠΎΠ·Π½Π°Π½ΠΈΠΉ Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½ΡƒΡŽ стСпСни познания Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°-экспСрта. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ эта ΠΎΠ±Π»Π°ΡΡ‚ΡŒ строго ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°. Однако, количСство ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ. Бюда входят ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ€Π΅Ρ‡ΠΈ, Π°Π½Π°Π»ΠΈΠ· ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· ΠΏΠΎΠ³ΠΎΠ΄Ρ‹, ΠΎΡ†Π΅Π½ΠΊΠ° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ уроТая, мСдицинская диагностика, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… схСм, финансированиС, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π΄ΡƒΡˆΠ½Ρ‹ΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ΅ΠΌ ΠΈ Ρ‚. Π΄.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° экспСртных систСм

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

1. Π‘Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ (Π‘Π—).

2. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° (ΠœΠ’).

3. БистСма ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса (БПИ).

Π‘Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ — Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ экспСртной систСмы. Она содСрТит ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ явлСния, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π·Π½Π°Π½ΠΈΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡ‚ΠΈ примСнСния систСмы. МоТно ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π±Π°Π·Ρƒ Π·Π½Π°Π½ΠΈΠΉ состоящСй ΠΈΠ· Ρ„актичСских Π·Π½Π°Π½ΠΈΠΉ ΠΈ Π·Π½Π°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ. Π£Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ «Π”ΠΆΠΎΠ½ Π€. КСннСди Π±Ρ‹Π» 35-ΠΌ ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ΠΎΠΌ Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π¨Ρ‚Π°Ρ‚ΠΎΠ²» — ΠΏΡ€ΠΈΠΌΠ΅Ρ€ фактичСского знания. «Π•ΡΠ»ΠΈ Ρƒ Π²Π°Ρ Π±ΠΎΠ»ΠΈΡ‚ Π³ΠΎΠ»ΠΎΠ²Π°, Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚Π΅ Π΄Π²Π΅ Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈ Ρ†ΠΈΡ‚Ρ€Π°ΠΌΠΎΠ½Π°» — ΠΏΡ€ΠΈΠΌΠ΅Ρ€ знания для Π²Ρ‹Π²ΠΎΠ΄Π°. Π‘Π°ΠΌΠ° Π±Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ располагаСтся Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ носитСлС.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° содСрТит ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° «Π·Π½Π°Π΅Ρ‚», ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π·Π½Π°Π½ΠΈΠΉ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΡΠΎΠ³Π»Π°ΡΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Π²Ρ‹Π²ΠΎΠ΄Ρ‹) ΠΈΠ· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, находящСйся Π² Π½Π΅ΠΉ.

Когда экспСртной систСмС задаСтся вопрос, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ способ примСнСния ΠΏΡ€Π°Π²ΠΈΠ» Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, поставлСнной Π² Π²ΠΎΠΏΡ€ΠΎΡΠ΅. ЀактичСски, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° запускаСт ΡΠΊΡΠΏΠ΅Ρ€Ρ‚Π½ΡƒΡŽ систСму Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ, опрСдСляя ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡ ΠΊ Π½ΠΈΠΌ доступ Π² Π±Π°Π·Ρƒ Π·Π½Π°Π½ΠΈΠΉ. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° выполняСт ΠΏΡ€Π°Π²ΠΈΠ»Π°, опрСдСляСт, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ интСрфСйса с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Когда вопрос Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½, Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· интСрфСйс с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ — это Ρ‡Π°ΡΡ‚ΡŒ экспСртной систСмы, которая взаимодСйствуСт с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠ°Π»ΠΎ Π·Π½Π°ΡŽΡ‚ ΠΎΠ± ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ, поэтому интСрфСйс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡΠΊΡΠΏΠ΅Ρ€Ρ‚Π½ΠΎΠΉ систСмой Π΄Π°ΠΆΠ΅, Ссли ΠΎΠ½ΠΈ Π½Π΅ Π·Π½Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π°. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ экспСртная систСма Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π’ Π½Π°ΡΡ‚оящСм ΠΈΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΡ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΌΡΡ лишь ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π‘Π— ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ стратСгиСй Π²Ρ‹Π²ΠΎΠ΄Π°. Для Ρ‡Π΅Π³ΠΎ рассмотрим Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π­Π‘ срСдствами Π’ΡƒΡ€Π±ΠΎ-ΠΏΡ€ΠΎΠ»ΠΎΠ³Π°: Π­Π‘, ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…, ΠΈ Π­Π‘, ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅.

ЭкспСртная систСма Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…

Π’ΠΎ Π²ΡΠ΅Ρ… экспСртных систСмах сущСствуСт Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ. Π’ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ сопоставлСния являСтся ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΡƒΡ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

Π’ ΡΠΈΡΡ‚Π΅ΠΌΠ΅, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉΡΡ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…, ΡƒΡ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ являСтся дСйствиСм ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ». Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ЭкспСртная систСма, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… (Π½Π° Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅) содСрТит мноТСство ΠΏΡ€Π°Π²ΠΈΠ». ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π² Π»Π΅Π²ΠΎΠΉ части ΠΏΡ€Π°Π²ΠΈΠ» ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части всСгда ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ, ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ‚Π΅Ρ… случаСв, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ просто провСряСт, находится Π»ΠΈ опрСдСлСнная информация Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, помСщаСмая Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, извлСкаСтся ΠΈΠ· ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы. ВсС ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.

ЭкспСртная систСма Ρ‚Π°ΠΊΠΆΠ΅ содСрТит ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π°. Π Π°Π±ΠΎΡ‚Ρƒ этого ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ‚Ρ€Π΅Ρ… шагов: ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ сопоставляСт ΠΎΠ±Ρ€Π°Π·Π΅Ρ† ΠΏΡ€Π°Π²ΠΈΠ»Π° с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ; Ссли ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°; ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ примСняСт Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π²ΠΎΠΏΡ€ΠΎΡ. Π­Ρ‚ΠΎΡ‚ процСсс ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ являСтся цикличСским ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся Ρ†ΠΈΠΊΠ»ΠΎΠΌ «Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅-дСйствиС» .

Рассмотрим Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° экспСртной систСмы Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… систСму для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΡ€ΠΎΠ΄ собак. Она ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ хозяину Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΡ€ΠΎΠ΄Ρƒ собаки Π² ΡΠΎΠΎΡ‚вСтствии с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ критСриями.

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

Рассмотрим Π΄Π²Π΅ ΠΏΠΎΡ€ΠΎΠ΄Ρ‹ собак, информация ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТится Π² Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ. Гончая ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ ΡˆΠ΅Ρ€ΡΡ‚ΡŒ, высоту Π² Ρ…ΠΎΠ»ΠΊΠ΅ мСньшС 57 ΡΠΌ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€. Датский Π΄ΠΎΠ³ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ ΡˆΠ΅Ρ€ΡΡ‚ΡŒ, Π½ΠΈΠ·ΠΊΠΎ посаТСнный хвост, Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΈ Π²Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 45 ΠΊΠ³.

Из ΡΡ‚ΠΎΠ³ΠΎ описания Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π΅ ΠΏΠΎΡ€ΠΎΠ΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ ΡˆΠ΅Ρ€ΡΡ‚ΡŒ, Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€. Рост Π³ΠΎΠ½Ρ‡Π΅ΠΉ мСньшС 57 ΡΠΌ Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ, ΠΊΠ°ΠΊ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎ Ρ€ΠΎΡΡ‚Π΅ Π΄ΠΎΠ³Π°. Π”ΠΎΠ³ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠ·ΠΊΠΎ посаТСнный хвост ΠΈ Π²Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 45 ΠΊΠ³ — характСристики ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ для Π³ΠΎΠ½Ρ‡Π΅ΠΉ. ОписаниС Π΄Π²ΡƒΡ… собак Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… характСристик достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΡŒ эти Π΄Π²Π΅ ΠΏΠΎΡ€ΠΎΠ΄Ρ‹, ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΡ‚ Π»ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ€ΠΎΠ΄Ρ‹ Π² Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ составлСны ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ характСристикам:

dog_is («Π“ончая»): — it_is («ΠΊΠΎΡ€ΠΎΡ‚коСрстная собака»),

positive(«Π΅Π΅» ," высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 57 см"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€"), !.

dog_is («Great Dane»): — it_is («Π΄Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚ная собака»),

positive («Ρƒ Π½Π΅Π΅» ," Π½ΠΈΠ·ΠΊΠΎ посаТСнный хвост"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€"),

positive(«Π΅Π΅» ," вСс Π±ΠΎΠ»Π΅Π΅ 45 ΠΊΠ³"), !.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… Π΄Π»ΠΈΠ½Π° ΡˆΠ΅Ρ€ΡΡ‚ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСна с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° positive Π² Π²ΠΈΠ΄Π΅:

positive («Ρƒ Π½Π΅Π΅» ," короткая ΡˆΠ΅Ρ€ΡΡ‚ΡŒ").

Но ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° it_is позволяСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ «ΠΏΡ€ΠΎΡΡ‚ранство поиска» (количСство Π΄Π°Π½Π½Ρ‹Ρ…, провСряСмых ΠΏΡ€ΠΈ поискС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ) ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ структуры, содСрТащСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡ€ΠΎΠ΄Π°Ρ… собак.

ЭкспСртная систСма, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…, позволяСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΡƒ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ Π² Π³Ρ€ΡƒΠΏΠΏΡ‹ связанныС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ Π·Π½Π°Π½ΠΈΠΉ. КаТдоС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСзависимым ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π­Ρ‚Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ Π±Π°Π·Ρƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» сСмантичСски ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ, Ρ‚. Π΅. Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°Π·Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ» позволяСт Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π·Π½Π°Π½ΠΈΠΉ, увСличивая Π΅Π΅.

Π›Π˜Π‘Π’Π˜ΠΠ“

/* ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°: экспСрт ΠΏΠΎ ΠΏΠΎΡ€ΠΎΠ΄Π°ΠΌ собак */

/* Π­Ρ‚ΠΎ продукционная систСма, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…*/

database

xpositive (symbol, symbol)

xnegative (symbol, symbol)

predicates

do_expert_job

do_consulting

ask (symbol, symbol)

dog_is (symbol)

it_is (symbol)

positive (symbol, symbol)

negative (symbol, symbol)

remember (symbol, symbol, symbol)

clear_facts

goal

do_expert_job .

clauses

/* БистСсма ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса */

do_expert_job : — makewindow (1, 7, 7, «Π­ΠšΠ‘ΠŸΠ•Π Π’ ΠŸΠž ΠŸΠžΠ ΠžΠ”ΠΠœ Π‘ΠžΠ‘ΠΠš, 1, 16, 22, 58),

nl, write («* * * * * * * * * * * * * * * * * * * * * «),

nl, write («Π”ΠžΠ‘Π Πž ΠŸΠžΠ–ΠΠ›ΠžΠ’ΠΠ’Π¬! «), nl, nl,

nl, write («ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ся идСнтификация ΠΏΠΎΡ€ΠΎΠ΄Ρ‹ «), nl, nl,

nl, write («ΠžΡ‚Π²Π΅Ρ‡Π°ΠΉΡ‚Π΅, поТалуйста, 'Π΄Π°' ΠΈΠ»ΠΈ 'Π½Π΅Ρ‚' «),

nl, write («Π° Π²ΠΎΠΏΡ€ΠΎΡΡ‹ ΠΎ ΡΠΎΠ±Π°ΠΊΠ΅, ΠΏΠΎΡ€ΠΎΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ «),

nl, write («Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ «),

nl, write (« * * * * * * * * * * * * * * * * * * * * * * «),

nl, nl, do_consulting, write («ΠΠ°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ»),

nl, readchar (_), removewindow.

do_consulting : — dog_is (X), !, nl, write («Π’Сроятно Π’Π°ΡˆΠ° собака — „, X,“ .»),

nl, clear_facts.

do_consulting : — nl, write («Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, я Π½Π΅ ΡΠΌΠΎΠ³Ρƒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π’Π°ΠΌ!»),

clear_facts.

ask (X, Y) : — write («?: — «, X, « «, Y, «? «), readln (Reply),

remember (X, Y, Reply).

/* ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° */

positive (X, Y) : — xpositive (X, Y),!.

positive (X, Y) : — not (negative (X, Y)),!, ask (X, Y).

negative (X, Y) : — xnegative (X, Y),!.

remember (X, Y, yes) : — asserta (xpositive (X, Y)).

remember (X, Y, no) : — asserta (xnegative (X, Y)), fail.

clear_facts : — retract (xpositive (_,_)), fail.

clear_facts : — retract (xnegative (_,_)), fail.

/* ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° */

dog_is («ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ Π‘ΡƒΠ»ΡŒΠ΄ΠΎΠ³») : — it_is («ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака»),

positive(«Π΅Π΅» ," высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 57 см"),

positive(«Ρƒ Π½Π΅Π΅» ," Π½ΠΈΠ·ΠΊΠΎ посаТСнный хвост"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€"),!.

dog_is («Π“ончая») : — it_is («ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака»),

positive(«Π΅Π΅» ," высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 57 см"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€"),!.

dog_is («ΠΠ΅ΠΌΠ΅Ρ†ΠΊΠΈΠΉ Π”ΠΎΠ³») : — it_is («ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака»),

positive(«Ρƒ Π½Π΅Π΅» ," Π½ΠΈΠ·ΠΊΠΎ посаТСнный хвост"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€"),

positive(«Π΅Π΅» ," вСс Π±ΠΎΠ»Π΅Π΅ 45 ΠΊΠ³"),!.

dog_is («ΠΠΌΠ΅Ρ€ΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ Ѐоксхаунд») : — it_is («ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака»),

positive(«Π΅Π΅» ," высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 77 см"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€"),!.

dog_is («ΠšΠΎΠΊΠ΅Ρ€ БпаниСль») : — it_is («Π΄Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚ная собака»),

positive(«Π΅Π΅» ," высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 57 см"),

positive(«Ρƒ Π½Π΅Π΅» ," Π½ΠΈΠ·ΠΊΠΎ посаТСнный хвост"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€"),!.

dog_is («Π˜Ρ€Π»Π°Π½Π΄ΡΠΊΠΈΠΉ Π‘Π΅Ρ‚Ρ‚Π΅Ρ€») : — it_is («Π΄Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚ная собака»),

positive(«Π΅Π΅» ," высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 77 см"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ"),!.

dog_is («ΠšΠΎΠ»Π»ΠΈ») : — it_is («Π΄Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚ная собака»),

positive(«Π΅Π΅» ," высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 77 см"),

positive(«Ρƒ Π½Π΅Π΅» ," Π½ΠΈΠ·ΠΊΠΎ посаТСнный хвост"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€"),!.

dog_is («Π‘Π΅Π½Π±Π΅Ρ€Π½Π°Ρ€») : — it_is («Π΄Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚ная собака»),

positive(«Ρƒ Π½Π΅Π΅» ," Π½ΠΈΠ·ΠΊΠΎ посаТСнный хвост"),

positive(«Ρƒ Π½Π΅Π΅» ," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€"),

positive(«Π΅Π΅» ," вСс Π±ΠΎΠ»Π΅Π΅ 45 ΠΊΠ³"),!.

it_is («ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака «) :;

positive(«ΡΡ‚ΠΎ» ," ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака «),!.

it_is («Π΄Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚ная собака «) :;

positive(«ΡΡ‚ΠΎ» ," Π΄Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака «),!.

/* ΠšΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ */

ЭкспСртныС систСмы, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° Ρ„Π°ΠΊΡ‚Π°Ρ…

Π’ ΡΠΊΡΠΏΠ΅Ρ€Ρ‚Π½Ρ‹Ρ… систСмах, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Ρ„Π°ΠΊΡ‚Π°Ρ…, Π±Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ состоит ΠΈΠ· ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ². Π’Π°ΠΊΠΈΠ΅ прСдлоТСния ΠΌΠΎΠ³ΡƒΡ‚ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, образуя Π‘Π” Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π°. ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ Π»ΠΈΠ±ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π»ΠΈΠ±ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ процСссом Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π°.

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

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ выполняСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ схСмы:

1. БистСма ΠΈΠΌΠ΅Π΅Ρ‚ прСдлоТСния Π² Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ поиском ΠΈ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ сопоставляСт эти прСдлоТСния с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

2. Если ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‚ΠΎ ΡΠΈΡΡ‚Π΅ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ возмоТности Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π° для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ/программисту Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹.

3. БистСма ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ процСсса автоматичСски, поэтому ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ Π½Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ устройство Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

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

НаиболСС Π²Π°ΠΆΠ½Ρ‹ΠΌ аспСктом для Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅, основанной Π½Π° Ρ„Π°ΠΊΡ‚Π°Ρ…, являСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ, Π΅Π΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ ΠΈΡ… ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹. Π‘Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅Π΄Π²ΡƒΡΠΌΡ‹ΡΠ»Π΅Π½Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΈ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉΡΡ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…, минимально достаточноС количСство Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ систСму. УтвСрТдСния Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ для Π³ΠΎΠ½Ρ‡Π΅ΠΉ ΠΈ Π΄ΠΎΠ³Π° выглядят Ρ‚Π°ΠΊ:

rule (1," Π‘ΠΎΠ±Π°ΠΊΠ°" ," Гончая" ,[1,2,3,4]).

rule(2," Π‘ΠΎΠ±Π°ΠΊΠ°" ," НСмСцкий Π”ΠΎΠ³" ,[1,5,3,4,6]).

cond(1," ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ").

cond(2," высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 57 см").

cond(3," Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ").

cond(4," Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€").

cond(5," Π½ΠΈΠ·ΠΊΠΎ посаТСнный хвост").

cond(6," вСс болСС 45 кг").

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ° rule ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ — Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ — Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° («ΡΠΎΠ±Π°ΠΊΠ°») ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ — ΠΏΠΎΡ€ΠΎΠ΄Π° собаки. Π’ Π½Π°ΡˆΠ΅ΠΌ случаС это гончая ΠΈΠ»ΠΈ Π΄ΠΎΠ³. Бписок Ρ†Π΅Π»Ρ‹Ρ… чисСл Π·Π°Π΄Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€Π° условий ΠΈΠ· ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° cond (условиС). ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠ° cond содСрТат всС характСристики для любой ΠΏΠΎΡ€ΠΎΠ΄Ρ‹, прСдставлСнной Π² Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ.

Бписки Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² условий слуТат для хранСния мноТСства Ρ„Π°ΠΊΡ‚ΠΎΠ², согласно ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ прСдлоТСния Ρ‚ΠΈΠΏΠ° rule. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π² ΡΠΊΡΠΏΠ΅Ρ€Ρ‚Π½ΠΎΠΉ систСмС, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉΡΡ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ эти Π½ΠΎΠΌΠ΅Ρ€Π° условий, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ простыми опСрациями (ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ retract ΠΈ assert). ЭкспСртныС систСмы, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° Ρ„Π°ΠΊΡ‚Π°Ρ…, Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π² Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ.

Π›Π˜Π‘Π’Π˜ΠΠ“

/* ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°: ЭкспСрт ΠΏΠΎ ΠΏΠΎΡ€ΠΎΠ΄Π°ΠΌ собак */

/* ΠŸΡ€ΠΈΠΌΠ΅Ρ€ экспСртной систСмы, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉΡΡ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅ */

domains

conditions = integer *

history = integer *

database

/* ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… */

rule (integer, symbol, symbol, conditions)

cond (integer, symbol)

yes (integer)

no(integer)

predicates

/* ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ систСмы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса */

do_expert_job

do_consulting

goes (symbol)

clear

/* ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄Π° */

go (history, symbol)

check (integer, history, conditions)

Inpo (history, integer, integer, symbol)

do_answer (history, integer, symbol, integer, integer)

goal

do_expert_job.

clauses

/* Π‘Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ (Π‘Π—) */

rule(1, «Π‘ΠΎΠ±Π°ΠΊΠ°», «ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака», [1]).

rule(2, «Π‘ΠΎΠ±Π°ΠΊΠ°», «Π”Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака «, [2]).

rule(3, «ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака» ," Английский Π±ΡƒΠ»ΡŒΠ΄ΠΎΠ³" ,[3,5,7]).

rule(4, «ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака» ," Гончая", [3,6,7]).

rule(5, «ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака» ," НСмСцкий Π”ΠΎΠ³", [5,6,7,8]).

rule(6, «ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака» ," АмСриканский фоксхаунд" ,

[4,6,7]).

rule(7, «Π”Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака «, «ΠšΠΎΠΊΠ΅Ρ€ спаниСль», [3,5,6,7]).

rule(8, «Π”Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака «, «Π˜Ρ€Π»Π°Π½Π΄ΡΠΊΠΈΠΉ Π‘Π΅Ρ‚Ρ‚Π΅Ρ€», [4,6]).

rule(9, «Π”Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака «, «ΠšΠΎΠ»Π»ΠΈ», [4,5,7]).

rule(10, «Π”Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ собака «, «Π‘Π΅Π½Π±Π΅Ρ€Π½Π°Ρ€», [5,7,8]).

cond(1," ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ").

cond(2," Π”Π»ΠΈΠ½Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Π°Ρ").

cond(3," Высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 57 см").

cond(4," Высота Π² Ρ…ΠΎΠ»ΠΊΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 77 см «).

cond(5," Низко посаТСнный хвост").

cond(6, «Π”Π»ΠΈΠ½Π½Ρ‹Π΅ ΡƒΡˆΠΈ»).

cond(7, «Π”Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€»).

cond(8, «Π’Сс Π±ΠΎΠ»Π΅Π΅ 45 ΠΊΠ³»).

/* БистСма ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса */

do_expert_job :;

makewindow(1,7,7," Π­ΠšΠ‘ΠŸΠ•Π Π’ ΠŸΠž ΠŸΠžΠ ΠžΠ”ΠΠœ Π‘ΠžΠ‘ΠΠš", 0, 0, 25, 80),

do_consulting, nl, nl, nl, nl, write («ΠΠ°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ»),

readchar (_), exit.

do_consulting :-goes (Mygoal), go ([], Mygoal),!.

do_consulting :-nl, write («Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, я Π½Π΅ ΡΠΌΠΎΠ³Ρƒ Π’Π°ΠΌ ΠΏΠΎΠΌΠΎΡ‡ΡŒ»), clear.

do_consulting.

goes (Mygoal) : — clear, clearwindow, nl, nl,nl, nl,

write («Π”ΠžΠ‘Π Πž ΠŸΠžΠ–ΠΠ›ΠžΠ’ΠΠ’Π¬»), nl, nl, nl,

write(«ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ся идСнтификация ΠΏΠΎΡ€ΠΎΠ΄Ρ‹»), nl,

write(«Π”ля Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ процСсс ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ,»), nl,

write(«Π²Π²Π΅Π΄ΠΈΡ‚Π΅ слово 'Π‘ΠΎΠ±Π°ΠΊΠ°'. «), nl, nl, readln (Mygoal),!.

inpo (HISTORY, RNO, BNO, TEXT) :-write («?: — «, TEXT,» ? «),

makewindow(2,7,7," Для ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π²ΠΎΠΏΡ€ΠΎΡ", 10,54,7,35),

write(«Π²Π²Π΅Π΄ΠΈΡ‚Π΅ 1, Ссли Π’Π°Ρˆ ΠΎΡ‚Π²Π΅Ρ‚ 'Π΄Π°' ,»),

write(«Π²Π²Π΅Π΄ΠΈΡ‚Π΅ 2, Ссли Π’Π°Ρˆ ΠΎΡ‚Π²Π΅Ρ‚ 'Π½Π΅Ρ‚' ,»),

write(«Π²Π²Π΅Π΄ΠΈΡ‚Π΅ 0, для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΡΡ‚Π΅ΠΌΡ‹»), nl,

readint (RESPONSE),

clearwindow, shiftwindow (1),

do_answer (HISTORY, RNO, TEXT, BNO, RESPONSE).

/* ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° */

go (HISTORY, Mygoal) :-rule (RNO, Mygoal, NY, COND),

check (RNO, HISTORY, COND),!,

go ([RNO|HISTORY], NY).

go (_, Mygoal) :-not (rule (_, Mygoal,_,_)),!,

nl, write («Π’Сроятно Π’Π°ΡˆΠ° собака — „, Mygoal,“ .»), nl, nl, nl.

check (RNO, HISTORY,[BNO|REST]) :;

yes(BNO),!, check (RNO, HISTORY, REST).

check (_,_,[BNO|_]) : — no (BNO),!, fail.

check (RNO, HISTORY,[BNO|REST]) :-cond (BNO, TEXT),

inpo (HISTORY, RNO, BNO, TEXT),

check (RNO, HISTORY, REST).

check (_,_,[]).

do_answer (_,_,_,_, 0): — exit.

do_answer (_,_,_, BNO, 1) :-assert (yes (BNO)), write (yes), nl.

do_answer (_,_,_, BNO, 2) :-assert (no (BNO)), write (no), nl, fail.

clear : — retract (yes (_)), retract (no (_)), fail,!.

clear.

/* ΠšΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ */

Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Π­Π‘

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

Π˜Ρ‚Π°ΠΊ, Ссли экспСртная систСма, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ сотни ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ», Ρ‚ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ эффСкт ΠΎΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ». Π’ Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ добавлСния ΠΏΡ€Π°Π²ΠΈΠ». Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ памяти, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ число ΠΏΡ€Π°Π²ΠΈΠ». Π’ ΡΡ‚ΠΎΠΌ случаС использованиС систСмы Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… становится ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌ. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉΡΡ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅, Π³Π΄Π΅ Π±Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ Π½Π° Π΄ΠΈΡΠΊΠ΅, ограничСния Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ся. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ систСма, основанная Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅, Π² ΡΡ‚ΠΎΠΌ случаС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅.

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

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

ΠšΠžΠΠ’Π ΠžΠ›Π¬ΠΠ«Π• Π’ΠžΠŸΠ ΠžΠ‘Π«

1. Для Ρ‡Π΅Π³ΠΎ слуТит ΠΈ Ρ‡Ρ‚ΠΎ содСрТит сСкция database?

2. КакоС имя ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π‘Π” ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

3. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ достоинства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ использования Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹Ρ… Π‘Π”.

4. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ достоинства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ использования Π½Π΅Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹Ρ… Π‘Π”.

5. Для Ρ‡Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ стандартныС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ asserta, assertz, retract, save, consult, readterm, findall.

6. ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ стандартного ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° dir. ΠŸΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

7. Для ΠΊΠ°ΠΊΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандартный ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ disk? ΠŸΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΅Π³ΠΎ использования.

8. Как Π² ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹.

9. ΠŸΡ€ΠΈΠ²Π΅ΡΡ‚ΠΈ стандартныС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹ΠΌΠΈ Π‘Π”.

10. Для Ρ‡Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ стандартныС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ openread, openwrite, openappend, openmodify, readdevice, writedevice, closefile.

ΠŸΠ ΠΠšΠ’Π˜Π§Π•Π‘ΠšΠ˜Π• Π—ΠΠ”ΠΠΠ˜Π―

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠŸΡ€ΠΎΠ»ΠΎΠ³-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½ΠΎΠΉ ΠΈ Π½Π΅Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½ΠΎΠΉ Π‘Π” Π² ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ Π·Π°Π΄Π°Ρ‡ΠΈ.

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