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

[정보처리기사 실기] 2021년 2회 07 - 프로그래밍 [Python]

쏠솔랄라 2025. 7. 16. 08:02

 

 


07 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

a = 100
result = 0
for i in range(1, 3):
	result = a >> i
    result = result + 1
print(result)

 

 

 

 

 

 

해설

코드 실행순서 및 해석
1 a = 100   a라는 변수에 초기값 100을 넣음
2 result = 0   result라는 변수에 초기값 0을 넣음
3 for i in range(1, 3):   for문 반복: i가 1부터 시작해 3보다 작을 때까지 반복
-> 1, 2 돌고 끝
4    result = a >> i   a값을 i만큼 오른쪽쉬프트해라
5     result = result + 1   1을 더함
6 print(result)    

 

a i a >> i result+1
100 1 50 51
50 2 25 26

 

4.

정수 100을 32비트로 표현하면 아래와 같다

  32 31 30 ... 8 7 6 5 4 3 2 1
100 0 0 0 ... 0 1 1 0 0 1 0 0

 

a >> i는 a값인 100을 i인 1만큼(1비트) 오른쪽 쉬프트하라는 뜻이므로 오른쪽으로 1비트씩 옮긴다

  32 31 30 ... 8 7 6 5 4 3 2 1
50 0 0 0 ... 0 0 1 1 0 0 1 0

 

i가 2일 때 오른쪽으로 1비트씩 더 옮긴다

  32 31 30 ... 8 7 6 5 4 3 2 1
25 0 0 0 ... 0 0 0 1 1 0 0 1