오늘 나는 다른 친구와 이야기를 나눈다. 그는 논리 프로그래밍 기술을 가지고 있다고 말했다. 그래서 나는 그것에 대해 매우 궁금하다.논리 프로그래밍이란 무엇입니까? 다른 사람과 다른 점
답변
wikipedia 엔트리가 잘 설명되어 있습니다. 모든 프로그래밍에서 로직을 사용하기 때문에 표면적으로 중복 용어 인 것처럼 보입니다. 실제로는 "함수 프로그래밍"과 "객체 지향"과 같은 잘 정의 된 패러다임을 의미합니다. 프로그램 작성". 구체적
논리 프로그래밍은, 좁은 의미로 되는 것이 더 일반적이다 이해 선언적 및 절차 표현 언어 모두 같은 논리의 사용이다. 그것은 뒤로 추론 정리 - 증명이 의미의 형태로 선언적 문장에 적용한다는 사실에 을 기반으로합니다
If B1 and … and Bn then H
취급을 목표 감소 절차와 의미 :
to show/solve H, show/solve B1 and … and Bn.
언어 Prolog
(in so 나 변형 또는 다른) 아마 아직도 대중적인 논리 프로그래밍 언어이다.
"나는 if
/then
/else
문장을 프로그래밍 할 수있다"는 의미로 사용하겠다. 또는 다른 말로 표현하자면, 나는 "어떤 실제 기술로도 프로그래밍 할 수 없다"는 의미로 사용하기로했다. 나는 감동하지 않을 것이다.
간단한 Google 검색을 사용하면 가정이 거짓으로 표시됩니다. http://www.google.com/search?q = logic + programming – John
방금 검색의 첫 번째 링크를 클릭했는데 내 생각을 확인하는 것 같습니다. :// 나는 꽤 많은 개발자들이 몇몇 조건문을 함께 털어 낼 수 있어야한다고 말하고 싶다. Ands, Ors, Nots, 그들은 모두 아주 기초적이고 완벽하게 기술에 의존하지 않습니다. 이 구글 검색이 거짓이라고 내 가정을 보여주고 있다고 생각한다면 정확히 내 가정을 가정하고있는 것입니까? 나는 지난 몇 년 동안 많은 수의 사람들과 인터뷰를 해봤습니다. 그리고 나는 그들에게 "당신은 어떤 종류의 프로그래머입니까?" 그들의 대답은 "논리 프로그래머"였습니다. 인터뷰는 끝났을 것입니다. – Jaxidian
좀 더 구체적인 방식으로이 마지막 설명을 다시 말씀 드리겠습니다. 개발자는 로직 프로그래머와 잘 어울려야합니다 - 이것은 보통 최소한의 요구 사항으로 간주됩니다. 개발자는 논리에 문제가 없어야합니다. – Jaxidian
나는 보통 프롤로그를 사용한다는 것을 이해하고 싶습니다. Prolog는 술어 W 진리 값을 정의 할 수 있도록합니다. 프롤 로그 인터프리터는 표준 논리 규칙을 사용하여 추가 "진실"을 파생시킬 수 있습니다. 예를 들어, 다음의 각 행은 첫 번째와 두 번째 매개 변수 사이에 father_child
및 mother_children
관계를 설정합니다 (언급 된 사람들은 Simpsons 출신 임).
member(X, [X|_]).
member(X, [_|T]) :- member(X,T).
mother_children(marge, [bart, lisa, maggie]).
mother_children(mona, [homer, jay]).
mother_child(X, Y) :- mother_children(X, C), member(Y, C).
father_child(homer, bart).
father_child(homer, lisa).
father_child(homer, maggie).
father_child(abe, homer).
father_child(abe, herb).
father_child(abe, abbie).
sibling(X, Y) :- parent_child(Z, X), parent_child(Z, Y).
parent_child(X, Y) :- father_child(X, Y).
parent_child(X, Y) :- mother_child(X, Y).
당신이 프롤로그 인터프리터에이 프로그램을 발사 한 다음 sibling(X,Y)
을 요구하는 경우에
sibling
규칙으로 채 웁니다.
프롤로그는 80 년대, 다양한 AI 시스템 등에서 더 많이 보급되었습니다. 요즘은 유행에서 벗어났습니다 (대학에서 알지 못했을 때, 여전히 뜨거운 똥입니다).
- 1. 퍼티 세션을 다른 사람과 공유하는 방법은 무엇입니까?
- 2. UIAlertView를 닫고 다른 사람과 바꾸기
- 3. 다른 사람과 관련하여 중심 정렬
- 4. 은/다른 논리
- 5. parentView와 superView의 다른 점
- 6. 피하는 방법 ... 다른 사람과 스위치 케이스
- 7. 내 iPhone 공유 다른 사람과 인증서를
- 8. HBase를 PHP 또는 다른 사람과 연결하는 방법
- 9. 루프 기반 프로그래밍이란 무엇입니까?
- 10. 솔로 프로그래밍이란 무엇입니까?
- 11. 의심의 경우/다른-IF 논리
- 12. 문서가 파이썬과 다른 점 결정
- 13. 브로드 캐스트 수신기가 인 텐트와 다른 점
- 14. Maven 빌드를 수행 할 때 다른 사용자 계정에서 다른 점
- 15. 논리 파일을 변경하지 않고 다른 모듈을로드하십시오.
- 16. 다른 점 주위의 점을 회전시키는 함수
- 17. 다른 차원/변수를 ggplot2 점 플롯에 추가
- 18. IE7 - 절대 위치가 Firefox와 다른 점?
- 19. SQLite는이> 두 개의 서로 다른 점
- 20. Liferay Portal : Websphere Portal과 다른 점
- 21. , 다른 점 (코드 키 비트 꺼냈다)
- 22. 메서드 매개 변수에서 @modelAttribute를 사용하거나 사용하지 않는 것과 다른 점
- 23. 사람과 역할의 관계 설계하기
- 24. 다른 파일에 대해 다른 EOL을받는 이유는 무엇입니까?
- 25. 다른 코어에서 다른 스레드를 실행하는 방법은 무엇입니까?
- 26. 유창한 API가 다른 API와 다른 점은 무엇입니까?
- 27. PHP : null이 다른 null과 다른 이유는 무엇입니까
- 28. 최소 거리 합계를 사용하여 3D 점 집합을 다른 집합에 매핑
- 29. VB (MSVisualStudio 2005) 및 VBA (Excel)과 다른 점 찾기
- 30. Matlab - 두 개의 다른 점 사이의 등고선 추적
왜 물어 보지 않으시겠습니까? –
모든 프로그래밍은 논리입니다. 너의 친구는 굉장한 척하고있다. –
호기심이 좋습니다. –