프롤로그를 처음 접했을 때 처음부터 해결책을 찾아 내고 절차 적 또는 기능적 방법으로 생각하지 않는 것이 매우 어렵다는 점을 말씀드립니다.프롤로그 절차
문제의 컨텍스트는 다음과 같습니다. 초기 위치 (0,0)에서 시작하여 네 방향으로 이동해야합니다. 내가 위로 올라갈 때 내 위치를 (0,1)로, (0, -1)로, (-1,0)에서 왼쪽으로 (1, 0)으로 업데이트합니다. 어떤 시점에서 나는 나의 초기 위치로 돌아 가야한다.
내가하는 모든 동작을 암기하여 문제를 해결 한 다음 그 반대의 작업을 수행했습니다. 그래서 내가했던 움직임이 아래로 내려 간다면, 나는 서쪽으로 올라간다. 해결책은 효과가 있지만 매우 비효율적이며 바보입니다.
그래서 내가하고 싶은 건 현재 위치 (X, Y)를 취하고 위치를 업데이트하여 (0,0)에 가까워지면 네 가지 동작 중 하나를 평가하는 절차를 만드는 것입니다.
나는 약간의 코드를 작성하려고 노력했지만 사실은 프롤로그에서 문제를 생각하는 방법을 모른다. 누군가가 내게 그것을 해결할 수있는 힌트를 줄 수 있습니까? 고맙습니다!