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

[정보처리기사][알고리즘][수학] 1의 보수, 2의 보수 구하기

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



Q. 0 또는 1로 입력되는 다섯개의 숫자를 배열에 입력받아 1의 보수와 2의 보수를 구하는 순서도를 완성하시오.


1.자료가 저장될 배열 및 변수를 선언한다. 2의 보수를 구할때 첫번째 자리올림수는 1이라는 것을 염두에 두고 생각한다.

 

2. 입력받은 자료의 수를 세기 위해 1씩 증가 시킨다.

 

3. 변환할 자료를 입력받는다.

 

4. 입력받은 자료를 1의 보수로 변환한다. 1의 보수로 변환할때는 1에서 해당 값을 뺀다는 것을 생각한다.

 

5. 입력받은 자료가 5보다 작으면 다음 자료를 입력받기 위해 Yes로 가고 아니면 No로 간다.

 

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

 

2) No일경우, 6번으로 간다.

 

6. 2의 보수를 구한다. 2의 보수는 1의 보수에 자리올림수를 더해서 구하는데, 맨 오른쪽자리부터 구한다는 것을 생각한다.

7. 구하려는 자료가 이진 데이터이므로 1보다 큰값이 있어서는 안된다. 1이하의 나머지를 발생시켜야 한다는 것을 생각한다.

 

8. 다음 자리를 계산하기 위해 자리올림수를 계산한다. 자리올림이 발생하는 경우는 현재의 자리올림수가 11이고, 배열의 현재 위치의 값이 1일 경우라는 것을 생각한다.

 

9. 다음 자리로 이동하기 위해 배열의 위치를 1씩 감소시킨다.

 

10. 종료 조건을 검사한다. i가 0이 아니면 No로가고 맞으면 Yes로 간다.

 

1) No일경우, 6으로 간다.

 

2) Yes일경우, 11로간다.

 

11. 입력받은 자료, 1의 보수, 2의 보수를 출력한다.



해당 글은 제가 만든 어플을 기준으로 작성하였습니다.

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


반응형

댓글