2012-03-10 2 views
0

코스 모듈, 학생 및 참석중인 모듈에 대한 세부 정보가 포함 된 프롤로그 프로그램이 있습니다.다중 절 사용 - 프롤로그

module(42, mod_details('Vocal Skills', 'Dawn Upshaw')). 
module(53, mod_details('Physics', 'Dave Jones')). 
module(64, mod_details('Maths', 'John Richards')). 
module(75, mod_details('History', 'El Capitan')). 

student('Bruce Wayne', student_det('100', '2')). 
student('Clarke Kent', student_det('200', '3')). 
student('Scott Summers', student_det('300', '1')). 
student('Richard Kimble', student_det('400', '2')). 

attends(100, 42). 
attends(300, 42). 
attends(400, 42). 
attends(200, 53). 
attends(300, 53). 
attends(300, 64). 
attends(100, 75). 
attends(200, 75). 
attends(300, 75). 
attends(400, 75). 

print_studentnos_for_modno(ModNo):- 
     attends(SNo, ModNo), 
    write(SNo). 

print_studentnos_for_modtitle(ModTitle):- 
    module(ModNo, mod_details(ModTitle, Lect)), 
    attends(SNo, ModNo), 
    write(SNo). 

is_a_student(StudentName):- 
    student(StudentName, student_det(SNo, Year)). 

print_students_lectured_by(Lect):- 
    module(ModNo, mod_details(ModTitle, Lect)), 
    attends(SNo, ModNo), 
    student(StudentName, student_det(SNo, Year)), 
    write(StudentName), write(' '), 
    write(SNo). 

마지막 절, print_students_lectured_by (Lect)는, 자신의 학생 수에 따라 학생들의 이름을 출력하도록되어 다음과 같이 프로그램입니다. 그러나 잘못된 대답 만 제공합니다.

나는 매우 새로운 것이므로 내 절을 수정하는 방법에 대한 조언을 주시면 감사하겠습니다.

많은 감사 앤디

답변

2
student('Bruce Wayne', student_det('100', '2')) 

학생들의 나머지 부분에 대한

student('Bruce Wayne', student_det(100, 2)) 

유사해야한다.

참고 : 직접 시도하지 않았습니다.

+0

고마워요! 그 항상 나를 걸림돌이 된 실수! – user1261259