정보처리기사 실기 를 준비중인 한 학생인데요 2018년 3회 대비 모의고사 6번 문제 버블 정렬을 이영하여 배열에 자료를 내림차순으로 정렬하고, 회전 횟수를 구하는 알고리즘을 순서도로 표현해서 나타낸문제가 있습니다
답지에는 4 9 3 5 1 2 8 을 배열에 넣어서 버블정렬 내림차순으로 디버깅하면 답이 나옵니다
하지만 5 4 6 8 1 을 넣고 디버깅 했을경우 제대로 된 값이 나오질 않습니다
제대로된 순서도라면 어떠한 값을 넣더라도 정확한 값이나와야 하는데 4 9 3 5 1 2 8 은 나오고 5 4 6 8 1 값은 안나옵니다 그래서 제 생각으로는 순서도가 잘못된게 아닌가라는 생각이듭니다
순서도가 잘못된건지 아니면 제가 잘못한건지 가르쳐주세여
안녕하세요. 길벗 수험서 운영팀입니다.
예, 맞습니다.
순서도에 문제가 있는 것을 확인하였습니다.
해당 순서도에서 변수 sw의 초기화가 반복문(i) 위에 있어야 정상적으로 가동됩니다.
예시로 든 7개의 숫자 4 9 3 5 1 2 8은 매 회전의 마지막마다 교환이 존재하여 sw가 1로 반복문을 종료하여 정상적으로 가동하였으나,
5 4 6 8 1의 경우 마지막 회전에 교환이 존재하지 않아 sw가 0으로 반복문을 빠져나와 그대로 종료되게 됩니다.
해당 순서도는 즉시 수정될 것이며, 이용에 불편함을 드려 사과드립니다.
행복한 하루되세요.^^
-
*2018-10-04 16:14:54
안녕하세요. 길벗 수험서 운영팀입니다.
예, 맞습니다.
순서도에 문제가 있는 것을 확인하였습니다.
해당 순서도에서 변수 sw의 초기화가 반복문(i) 위에 있어야 정상적으로 가동됩니다.
예시로 든 7개의 숫자 4 9 3 5 1 2 8은 매 회전의 마지막마다 교환이 존재하여 sw가 1로 반복문을 종료하여 정상적으로 가동하였으나,
5 4 6 8 1의 경우 마지막 회전에 교환이 존재하지 않아 sw가 0으로 반복문을 빠져나와 그대로 종료되게 됩니다.
해당 순서도는 즉시 수정될 것이며, 이용에 불편함을 드려 사과드립니다.
행복한 하루되세요.^^