신성현님 안녕하세요? ^^
드디어 알고리즘 본 강좌를 모두 마치셨군요. 축하합니다.
데이터베이스 본 강의를 학습하시면서 알고리즘 모의고사 문제를 통해 문제를 분석하고
디버깅 하는 연습을 꾸준히 하시기 바랍니다. ^^
질문에 답변드리겠습니다.
질문하신 부분이 알고리즘에서 가장 중요한 부분입니다. 꼭 완벽히 이해를 하셔야 합니다.
P변수값이 1 , 2 , 3 , 4 , 5 의 값까지 처리가 되어야 한다고 가정한다면
선처리 후증가냐...선증가 후처리냐에 따라 부등호가 달라집니다.
또한 YES와 NO방향에 따라 달라질수도 있지요.
따라서 그 때 그 때 분석을 하고 디버깅을 해보셔야 합니다.
P의 초기값을 0으로 주고 P = P + 1 을 선증가 후 P값으로 후처리를 한다면
P < 5 가 되어야 하지요. YES이면 반복하도록 합니다.
최종적으로 P값이 4일때 반복으로 돌아갑니다.
P = P + 1 로 증가되어 5가 되고 P변수값 5가 처리되고 P < 5 분기문에서
NO 방향으로 반복을 탈출하게 됩니다.
이 때 P의 최종값은 5가 되며, 5가되면 반복을 탈출합니다.
후증가 방식을 사용한다면 P의 초기값을 1로 줍니다.
P로 선처리를 하고 P = P + 1을 후증가 시킵니다.
그러면 P <= 5 로 하여야 합니다.
왜냐하면 P = P + 1이 실행되어 최종적으로 5가 되었다고 할지라도 후증가되었기
때문에 아직 5는 처리되지 않았기 때문에 다시 돌아가야 합니다.
P값이 5일 때 , P <= 5 분기문에서 YES로 돌아가서 반복됩니다.
P변수값 5를 처리하고 P = P + 1로 후증가되어 P변수값은 6이 됩니다.
P <= 5 에서 NO방향으로 반복을 탈출하게 됩니다.
위 두가지 비교를 잘 생각해보시고 반드시 이해를 하셔야 합니다.
그래도 이해가 안되신다면 2강 강의를 다시 수강하셔야 합니다. ^^
열공하시구요.
항상 알고리즘은 기초가 중요합니다.
위 내용을 꼭 이해하시고 실제순서도에서 계속 분석하는 연습을 모의고사를 통해
하시기 바랍니다.
즐거운 하루되세요. ^^
유수쌤의 탁월한 강의로 알고리즘 부분을 무사히 완강했습니다.
부등호 기호에서 의문이 생기는데요.
예를들어
'P<5'의 경우..'P>5'의 경우에
P가 딱 5가 나왔을때 한 바퀴 더 회전시켜야 하는건 어떤 부등호 인가요ㅠ.ㅠ
또 왜 그런지 알고 싶습니다. 5라는 값은 결코 5보다 크거나 작지않은 값인데..왜 그렇게 판단하게 되는 건지요..
알고리즘 기초강의에서 설명을 해주신 것 같기도 한데..기억이 가물가물하네요.
명쾌한 답변 부탁드립니다^^ |