자격증/정보처리기사 실기 - 기출문제

[정보처리기사 실기] 2020년 4회 07 - 프로그래밍 [JAVA]

쏠솔랄라 2025. 7. 14. 11:00

 

 

 

07 다음은 변수 n에 저장된 10진수를 2진수로 변환하여 출력하는 Java 프로그램이다. 프로그램을 분석하여 괄호(①, ②)에 들어갈 알맞은 답을 쓰시오.

public class Test {
	public static void main(String[] args) {
    	int a[] = new int[8];
        int i=0;
        int n=10;
        while((   ①   )) {
        	a[i++] = (   ②   );
            n/=2;
        }
        for(i=7; i>=0; i--)
        	System.out.print(a[i]);
    }
}

 

 

 

더보기

① n>0

② n%2

 

 

 

해설

코드 실행순서 및 해석
1 public class Test {    
2      public static void main(String[] args) {    
3           int a[] = new int[8];   자릿수가 8인 배열 a선언
4           int i=0;   정수형 변수 i를 선언하면서 0으로 초기화
5           int n=10;   정수형 변수 n을 선언하면서 10으로 초기화
-> 2진수로 변환해야 하는 10진수 값
6           while((   ①   )) {   ( )에는 반복문이 종료되는 조건을 넣어주어야 한다
-> n>0
7                a[i++] = (   ②   );   -> n%2
n을 2로 나눈 나머지 값을 a[i]에 저장
8                n/=2;  
9            }    
10           for(i=7; i>=0; i--)   i는 7부터 0이 될 때까지 출력
a[7-0]을 출력
-> 출력: 00001010
11                System.out.print(a[i]);    
12      }    
13 }    

 

3, 7.

  [0] [1] [2] [3] [4] [5] [6] [7]
a 0 1 0 1 0 0 0 0

 

6-9.

i n a[i] i++ n/=2
0 10 10%2==0 1 10/2=5
1 5 5%2==1 2 5/2=2
2 2 2%2==0 3 2/2=1
3 1 1%2==1 4 1/2=0