본문 바로가기
Study/Algorithm_정보처리기사

[정보처리기사][알고리즘][자료구조] 석차구하기 - 바로출력

by 푸민 2015. 8. 21.
반응형



Q. 10명 학생의 국어, 수학 점수를 각각 입력 받아 총점을 계산한 후 총점 기준 오름차순으로 순위를 출력하는 순서도를 작성하시오. 단, 동점은 동석차로 하고 총점이 0인경우는 출력하지 않는다.

1. KUK(10), MAT(10), HAP(10) 배열을 선언한다.

 

2. i는 1씩 누적되며 증가하는 변수이므로 i를 0으로 초기화한다.

 

3. 자료의 수를 세기 위해 1씩 더한다.

 

4. 국어점수를 입력 받아 KUK(i)에 저장한다. 수학점수를 입력받아 MAT(i)에 저장한다.

 

5. 국어점수와 수학점수의 합계를 HAP(i)에 저장한다.

 

6. 입력 자료의 개수 i가 10보다 작으면 자료를 더 입력 받아야 하므로 Yes로 간다.

 

1) Yes일 경우, 3으로 간다.

 

2) No일 경우, 7로 간다.

 

7. 바깥쪽 반복문은 석차를 구할 점수가 있는 위치를 지정한다. 정렬과 달리 석차를 구할때의 회전은 항상 자료의 수와 같다는 것을 생각한다.

 

1) 총점 HAP(i)가 0이 아니면 Yes로 가서 석차를 구하고 아니면 다음 점수의 석차를 구하기 위해 반복문의 처음으로 간다.

 

A. No일 경우, 반복문을 체크한다.

 

B. Yes일 경우, 석차를 저장할 변수를 초기화한다. 다른사람과 비교하기 전에는 모두 1등이 될 수 있다는 것을 생각한다. 2)로 간다.

 

2) 안쪽 반복문은 비교 대상 변수가 있는 위치를 지정한다. 반복변수 J가 1에서 10이 될때까지 1씩 증가시키면서 반복한다.

 

A. 석차를 구할 점수와 비교 대상 점수를 비교한다. 어떤 경우에 석차가 증가하는지 생각한다.(단, 오름차순으로 순위를 출력한다는 것을 생각한다.)

 

A) No일 경우, 안쪽 반복문을 체크한다.

 

B) Yes일 경우, 석차를 1 증가 시키고 반복문을 체크한다.

 

3) 안쪽 반복문이 종료 되면, 번호(i), 국어점수(KUK(i)), 수학점수(MAT(i)), 합계HAP(i)), 석차(R)를 출력한다.

 

8. 바깥 반복문이 종료되면, 프로그램을 종료한다.

 

 

해당 글은 제가 만든 알고리즘 어플을 기준으로 작성되었습니다.

더 많은 정보는 알고리즘 어플을 참조해주세요.

반응형

댓글