ban luyen

Prolog

lo trinh thuc hanh de hoc Prolog tu con so 0

dinh nghia truoc

Prolog la gi

Prolog dung de viet chi dan chinh xac. O day ban hoc theo lo trinh thuc hanh de hoc Prolog tu con so 0. Hay bat dau voi mot mo hinh: dau vao qua cac buoc roi thanh dau ra.

thong tin chay toi thieutep main.plchay swipl -q -s main.plthoi quen hoc mot phan nho cua Prolog, go vi du toi thieu roi chay
chuong trinh

tap hop lenh duoc chay theo thu tu.

gia tri va bien

gia tri la du lieu. bien la ten de giu du lieu.

ham

mot viec nho co ten, nhan dau vao va tao ket qua.

moi truong

SWI-Prolog chay code trong main.pl.

doan code dau tien

dau ra chuong trinh

entry point output syntax writeln
writeln(42).
dau ra 42

pha he ngon ngu

cay pha he Prolog

xem Prolog den tu dau, gan voi ngon ngu nao, va nen hoc gi tiep.

goc
formal logicAI research
hien taiPrologho ham va logic
ho ngon nguho ham va logic
phu hop cho

phu hop cho lo trinh thuc hanh de hoc Prolog tu con so 0

tu con so 0

1doc mot quy tac2doan dau ra3go bang tri nho4chay kiem tra5lap lai voi mot thay doi

Ngan hang cau hoi

Tim truoc khi luyen

Chon giai doan hoac tim trong ngan hang cua ngon ngu nay roi mo bai tap.

18 ket qua
Q 1Lua chonGiai doan 1 dinh nghia

Prolog cau 1

Prolog cau 1. Chon mo ta phu hop nhat voi in mot gia tri.

Q 2Lua chonGiai doan 1 dinh nghia

Prolog cau 2

Prolog cau 2. Chon mo ta phu hop nhat voi dat ten cho gia tri.

Q 3Lua chonGiai doan 1 dinh nghia

Prolog cau 3

Prolog cau 3. Chon mo ta phu hop nhat voi ham tai su dung.

Q 4Lua chonGiai doan 1 dinh nghia

Prolog cau 4

Prolog cau 4. Chon mo ta phu hop nhat voi tap hop co ban.

Q 5Lua chonGiai doan 1 dinh nghia

Prolog cau 5

Prolog cau 5. Chon mo ta phu hop nhat voi in mot gia tri.

Q 6Lua chonGiai doan 1 dinh nghia

Prolog cau 6

Prolog cau 6. Chon mo ta phu hop nhat voi dat ten cho gia tri.

Q 7Lua chonGiai doan 1 dinh nghia

Prolog cau 7

Prolog cau 7. Chon mo ta phu hop nhat voi ham tai su dung.

Q 8Lua chonGiai doan 1 dinh nghia

Prolog cau 8

Prolog cau 8. Chon mo ta phu hop nhat voi tap hop co ban.

Q 9Lua chonGiai doan 1 dinh nghia

Prolog cau 9

Prolog cau 9. Chon mo ta phu hop nhat voi in mot gia tri.

Q 10Lua chonGiai doan 1 dinh nghia

Prolog cau 10

Prolog cau 10. Chon mo ta phu hop nhat voi dat ten cho gia tri.

Q 11Lua chonGiai doan 1 dinh nghia

Prolog cau 11

Prolog cau 11. Chon mo ta phu hop nhat voi ham tai su dung.

Q 12Lua chonGiai doan 1 dinh nghia

Prolog cau 12

Prolog cau 12. Chon mo ta phu hop nhat voi tap hop co ban.

Q 13Lua chonGiai doan 1 dinh nghia

Prolog cau 13

Prolog cau 13. Chon mo ta phu hop nhat voi in mot gia tri.

Q 14Lua chonGiai doan 1 dinh nghia

Prolog cau 14

Prolog cau 14. Chon mo ta phu hop nhat voi dat ten cho gia tri.

Q 15Lua chonGiai doan 1 dinh nghia

Prolog cau 15

Prolog cau 15. Chon mo ta phu hop nhat voi ham tai su dung.

Q 16Lua chonGiai doan 1 dinh nghia

Prolog cau 16

Prolog cau 16. Chon mo ta phu hop nhat voi tap hop co ban.

Q 17Lua chonGiai doan 1 dinh nghia

Prolog cau 17

Prolog cau 17. Chon mo ta phu hop nhat voi in mot gia tri.

Q 18Lua chonGiai doan 1 dinh nghia

Prolog cau 18

Prolog cau 18. Chon mo ta phu hop nhat voi dat ten cho gia tri.

trac nghiem

Prolog cau 1

Q 1Lua chonmoi

Prolog cau 1. Chon mo ta phu hop nhat voi in mot gia tri.

writeln(42).

tham khao

mau cho main.pl

SWI-Prologswipl -q -s main.pl
nho laidoc mot y nho roi viet lai ma khong nhin
lan theo codeghi gia tri bien tung dong truoc khi chay
tu goit copy hon go nhieu hon va sua mot loi nho

entry point output syntax writeln

dau ra chuong trinh

writeln(42).
  • Run the smallest file first
  • Print one known value
  • Check the output before adding more code

variables assignment types fact

gia tri va ten

total(42).
show :- total(X), writeln(X).
  • Give values readable names
  • Keep one idea per line while learning
  • Trace the value before changing it

function collection List

ham va tap hop

add(A, B, R) :- R is A + B.

scores([40, 2]).
show :- scores(S), length(S, N), writeln(N).
  • Keep functions small
  • Return useful values
  • Use the common collection before reaching for frameworks