Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ exe-ΡΠ°ΠΉΠ», ΡΠ°Π±ΠΎΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ. ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° write.
ΠΡΠΈΠΌΠ΅Ρ.
ΠΠ°Π΄Π°Π½Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ-ΡΠ°ΠΊΡΡ:
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ²Π°Π½»,"ΠΠ°ΡΡ").
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ½Π½Π°»," ΠΠ»Π΅Π³ «).
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ»Π΅Π³»,"ΠΠΈΠΌΠ°").
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ³ΠΎΡΡ»,"ΠΠ»ΡΠ³Π°").
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ»Π΅Π³»,"ΠΠΈΠΊΡΠΎΡ").
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ³ΠΎΡΡ»,"ΠΠ²Π°Π½").
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠΈΠΌΠ°»).
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠ²Π°Π½»).
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠ³ΠΎΡΡ»).
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠ»Π΅Π³»).
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠΈΠΊΡΠΎΡ»).
ΠΆΠ΅Π½ΡΠΈΠ½Π° («ΠΠ°ΡΡ»).
ΠΆΠ΅Π½ΡΠΈΠ½Π° («ΠΠ»ΡΠ³Π°»).
ΠΆΠ΅Π½ΡΠΈΠ½Π° («ΠΠ½Π½Π°»).
Π‘ΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅-ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π΅Π΄ (X, Y) ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅Π΄ΡΡΠΊΠΎΠΉ ΠΠ°ΡΠΈ. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅.
- 1. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠ΅Π΄Ρ Visual Prolog ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ (Project | New Project), Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Application Expert (ΡΠΊΡΠΏΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ).
- 2. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Primer) ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΊΡΠ΄Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, D: VPPrimer)
ΡΠΈΡ. 4. ΠΠΊΠ½ΠΎ Application Expert
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Target ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Create Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠΈΡ. 5):
ΡΠΈΡ. 5. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Target ΠΎΠΊΠ½Π° Application Expert
3. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ Compiler Options (Options | Project | Compiler Options), ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ Warnings ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠΈΡ.6):
ΡΠΈΡ. 6. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°
ΠΠ°ΠΆΠΌΠΈΡΠ΅ OK.
4. Π ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Primer.pro ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ΅Π»ΡΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Edit).
ΡΠΈΡ. 7. ΠΠΊΠ½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π€Π°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .pro ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΠΊΡΠΈΠΈ PREDICATES, GOAL, CLAUSES. ΠΠΎΠΏΠΈΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°:
DOMAINS.
ΠΈΠΌΡ=string.
PREDICATES.
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ (ΠΈΠΌΡ, ΠΈΠΌΡ) ΠΆΠ΅Π½ΡΠΈΠ½Π° (ΠΈΠΌΡ) ΠΌΡΠΆΡΠΈΠ½Π° (ΠΈΠΌΡ) Π΄Π΅Π΄ (ΠΈΠΌΡ, ΠΈΠΌΡ).
CLAUSES.
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ²Π°Π½» ," ΠΠ°ΡΡ").
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ½Π½Π°» ," ΠΠ»Π΅Π³").
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ»Π΅Π³» ," ΠΠΈΠΌΠ°").
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ³ΠΎΡΡ» ," ΠΠ»ΡΠ³Π°").
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ»Π΅Π³» ," ΠΠΈΠΊΡΠΎΡ").
ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ («ΠΠ³ΠΎΡΡ» ," ΠΠ²Π°Π½").
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠΈΠΌΠ°»).
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠ²Π°Π½»).
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠ³ΠΎΡΡ»).
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠ»Π΅Π³»).
ΠΌΡΠΆΡΠΈΠ½Π° («ΠΠΈΠΊΡΠΎΡ»).
ΠΆΠ΅Π½ΡΠΈΠ½Π° («ΠΠ°ΡΡ»).
ΠΆΠ΅Π½ΡΠΈΠ½Π° («ΠΠ»ΡΠ³Π°»).
ΠΆΠ΅Π½ΡΠΈΠ½Π° («ΠΠ½Π½Π°»).
Π΄Π΅Π΄ (X, Z):-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ (X, Y), ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ (Y, Z),.
ΠΌΡΠΆΡΠΈΠ½Π° (X).
GOAL.
Π΄Π΅Π΄ (X," ΠΠ°ΡΡ"), write (X).
5. ΠΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. (Project | Run, ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ°, ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°). Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡΡ Π² ΠΎΠΊΠ½Π΅.