ชาวนา กับ หมาป่า มี แพะ และกะหล่ำปีด้วย ตอน 3 ตอนจบ
มาต่อตอนที่ 3 ตอนจบ วันนี้มาขึ้นเรือกัน แน่นอนที่ว่าต้องมีชาวนาไปด้วย รวมกันแล้วบนเรือมีได้ 2 อย่าง มาเริ่มกันที่ชาวนาไปคนเดียวก่อน และต้องอยู่ในสถานะที่ปลอดภัยด้วย (ถ้าลืมไปอ่าน 2 ตอนก่อนหน้านี้) สถานะที่ปลอดภัยเมื่อชาวนาไปอยู่อีกฝั่งหนึ่ง ที่ตรงข้ามกับฝั่งเดิม นั่นคือ ต้องหาว่าฝั่งตรงข้ามของชาวนาคืออะไร (other-side) และของแต่ละอย่างอยู่ฝั่งไหน เมื่อชาวนาข้ามไปแล้วปลอดภัยไหม เขียนใน LISP ได้เป็น (defun farmer-with-him (side) (safe (create-side (other-side (where-farmer side)) (where-wolf side) (where-goat side) (where-cabbage side)))) มี function เพิ่มขึ้นคือ (defun create-side (f w g c) (list f w g c)) (defun other-side (side) (cond ((equal side 'w) 'e) ((equal side 'e) 'w))) ต่อมาเขียนได้ไหมว่า ให้ชาวนาพาของแต่ละอย่างข้ามฝั่ง เขียนอย่างไร มาดูเฉลย 1.เริ่มต้นต้องตรวจสอบก่อนว่าของที่จะพาไปนั้นอยู่ฝั่งเดียวกับชาวนาไหม Continue reading →
Recent Comments