2011-04-18 1 views
0

프롤로그에서 기본 라이브러리 관리 시스템을 만들고 싶습니다. 프로그램은 어떤 책을 어떤 학생이 발행했는지와 어떤 날짜 책이 반환되는지와 같은 질문에 대답해야합니다. 나는 (내가 프롤로그를 처음 접했을 때) 배워야 할 정확한 구성 요소가 무엇인지에 대한 지침을 원한다. 나는 그 모든 것을 배우는 시간이 없어서 빠르게 개발하고 싶다. 내가 사전에 시각 프롤로그 7.3프롤로그의 기본 라이브러리 시스템

감사를 사용하게 될 것은 MGD

+0

글쎄, 잘 됐어. –

+0

swi-prolog 및 sicstus-prolog 태그가 관련이 없으므로 제거되었습니다. 비주얼 프롤로그는 그 중 하나와 다릅니다. –

+0

코멘트를 주셔서 감사합니다 – MGD

답변

1

당신은 당신의 프로그래밍 배경이 무엇인지 생각의 우리가 많이 부여하지 않은, 그래서 아래의 코멘트 부부가 기존의 어떤 제안 보간 한 경험에 대해 묻는 Visual-Prolog 응용 프로그램의 일부를 수행하는 데 도움이 될 수 있습니다.

Visual-Prolog를 사용하면 사용자 인터페이스 디자인으로 시작해야합니다. 솔직하게 말하자면 Prolog 코딩을 사용하여 놀고 싶지는 않습니다. 원하는 "창"요소를 생각해보십시오. 아마도 사용자 이름을 입력하는 입력 필드와 도서 제목을 입력 할 다른 입력 필드가 있으며, "프로그램은 질문에 대답해야합니다"사양에서 제안하는 것처럼 "검색"을위한 버튼이 있습니다. 출력물에는 장부 체크 아웃 여부, 만기일 등에 대한 정보가 포함됩니다.

그런 다음 디자인의 기능 부분을 시작할 수 있습니다. Visual-Prolog는 도메인 (다른 언어의 데이터 유형과 동일) 및 술어 (이름 관계 및 다양한 인수가 적용되는 도메인, 대략 다른 언어의 루틴과 동일)를 선언하도록 요청합니다.

도서관 응용 프로그램은 데이터베이스, 사용자, 도서 및 그 관계 (예 :이 사용자는이 책을 체크 아웃 한 사용자)에 관한 정보가 포함 된 "지식 기반"과 유사하거나 일부 기록 언제 책을 체크 아웃했는지, 언제 돌아 왔는지).

"빠르게 개발"하기를 원할 것이므로 매우 간단한 도메인 및 조건부 집합으로 시작하는 것이 좋습니다. 아마도 "user"와 "book"이 기본 도메인이며, checkOut/2 기본 술어 (특정 사용자가 현재 특정 책을 가지고 있음을 나타냄)입니다. 그런 다음 아마 책의 반환 날짜를 저장하는 기능을 추가해야 할 것입니다. 이전에 관계형 데이터베이스 개발을 한 적이 있다면 이런 종류의 디자인이 더 쉬울 것입니다.

라이브러리 사용자 & 도서의 "지식 기반"에 사용자 인터페이스 (UI)를 연결하는 것은 UI의 시각적 요소에 대한 이벤트 처리기 역할을하는 술어를 작성하는 데 있습니다. 이것은 Visual Basic에 익숙하다면 다소 쉽습니다. 어쨌든 UI의 "룩 앤 필 (look and feel)"부분을 구축하는 동안 이벤트 핸들러를 "스텁 아웃 (stub out)"할 수 있으며, 디자인이 "지식 기반"개발로 옮겨 갈 때 실질적인 구현으로 대체 할 수 있습니다.

+0

Hardmath, 고마워요. :) ... 그것은 큰 도움이되었습니다 !!!! ... 나는 모든 조언을 고려 중이며 지금은 거의 끝내야합니다. – MGD