[PSAT 기출] 2020 5급 상황판단 나책형 19번 20번 해설 – 프로그램 명령문 cards input 중심어 명령문

개요

다음은 2020년 국가공무원 5급 상황판단영역 나책형 19번, 20번 문제 해설이다.

문제

※ 다음 글을 읽고 물음에 답하시오. [문 19.~문 20.]

○○프로그램에서 하나의 명령문은 cards, input 등의 ‘중심어’로 시작하고 반드시 세미콜론(;)으로 끝난다. 중심어에는 명령문의 지시 내용이 담겨있는데, cards는 그 다음 줄부터 input 명령문에서 이용할 일종의 자료집합인 레코드(record)가 한 줄씩 나타남을 의미한다. <프로그램 1>에서 레코드는 ‘701102’와 ‘720508’이다.

input은 레코드를 이용하여 변수에 수를 저장하는 것을 의미한다. 첫 번째 input은 첫 번째 레코드를 이용하여 명령을 수행하고, 그 다음부터의 input은 차례대로 그 다음 레코드를 이용한다. 예를 들어 <프로그램 1>에서 첫 번째 input 명령문의 변수 a에는 첫 번째 레코드 ‘701102’의 1~3번째 위치에 있는 수인 ‘701’을 저장하고, 변수 b에는 같은 레코드의 5~6번째 위치에 있는 수인 ‘02’에서 앞의 ‘0’을 빼고 ‘2’를 저장한다. 두 번째 input 명령문의 변수 c에는 두 번째 레코드 ‘720508’의 1~2번째 위치에 있는 수인 ‘72’를 저장한다. <프로그램 2>와 같이 만약 input 명령문이 하나이고 여러 개의 레코드가 있을 경우 모든 레코드를 차례대로 이용한다. 한편 input 명령문이 다수인 경우, 어느 한 input 명령문에 @가 있으면 바로 다음 input 명령문은 @가 있는 input 명령문과 같은 레코드를 이용한다. 이후 input 명령문부터는 차례대로 그 다음 레코드를 이용한다.

print는 input 명령문에서 변수에 저장한 수를 결과로 출력하라는 의미이다. 다음은 각 프로그램에서 변수 a, b, c에 저장한 수를 출력한 <결과>이다.

<프로그램 1> <프로그램 2>
cards

701102

720508

;

input a 1-3 b 5-6;

input c 1-2;

print;

<결과>

a b c
701 2 72
cards

701102

720508

;

input a 1-6 b 1-2 c 2-4;

print;

 

<결과>

a b c
701102 70 11
720508 72 205

 

문 19. 윗글을 근거로 판단할 때, <보기>에서 옳은 것만을 모두 고르면?

<보 기>
ㄱ. input 명령문은 레코드에서 위치를 지정하여 변수에 수를 저장할 수 있다.

ㄴ. 두 개의 input 명령문은 같은 레코드를 이용하여 변수에 수를 저장할 수 없다.

ㄷ. 하나의 input 명령문이 다수의 레코드를 이용하여 변수에 수를 저장할 수 있다.

① ㄴ

② ㄷ

③ ㄱ, ㄴ

④ ㄱ, ㄷ

⑤ ㄱ, ㄴ, ㄷ

 

문 20. 윗글을 근거로 판단할 때, 다음 <프로그램>의 <결과>로 출력된 수를 모두 더하면?

<프로그램>
cards

020824

701102

720508

;

input a 1-6 b 3-4;

input c 5-6@;

input d 3-4;

input e 3-5;

print;

<결과>

a b c d e

① 20895

② 20911

③ 20917

④ 20965

⑤ 20977

 

출처: 사이버국가고시센터

19번 문제 해설

ㄱ. input 명령문은 레코드에서 위치를 지정하여 변수에 수를 저장할 수 있다.

input은 레코드를 이용하여 변수에 수를 저장하는 것을 의미한다. 첫 번째 input은 첫 번째 레코드를 이용하여 명령을 수행하고, 그 다음부터의 input은 차례대로 그 다음 레코드를 이용한다. 예를 들어 <프로그램 1>에서 첫 번째 input 명령문의 변수 a에는 첫 번째 레코드 ‘701102’의 1~3번째 위치에 있는 수인 ‘701’을 저장하고, 변수 b에는 같은 레코드의 5~6번째 위치에 있는 수인 ‘02’에서 앞의 ‘0’을 빼고 ‘2’를 저장한다.

따라서 보기의 내용은 옳다.

ㄴ. 두 개의 input 명령문은 같은 레코드를 이용하여 변수에 수를 저장할 수 없다.

어느 한 input 명령문에 @가 있으면 바로 다음 input 명령문은 @가 있는 input 명령문과 같은 레코드를 이용한다.

어느 한 input 명령문에 @가 있으면 바로 다음 input 명령문과 함께 같은 레코드를 이용하여 변수에 수를 저장할 수 있다.

따라서 보기의 내용은 옳지 않다.

 

ㄷ. 하나의 input 명령문이 다수의 레코드를 이용하여 변수에 수를 저장할 수 있다.

만약 input 명령문이 하나이고 여러 개의 레코드가 있을 경우 모든 레코드를 차례대로 이용한다.

따라서 보기의 내용은 옳다.

 

정답은 ④번이다.

 

20번 문제 해설

<프로그램>
cards

020824

701102

720508

;

input a 1-6 b 3-4;

input c 5-6@;

input d 3-4;

input e 3-5;

print;

020824

input a 1-6 b 3-4;

a b c d e
020824 08
701102

input c 5-6@;

input d 3-4;

a b c d e
20824 8 02 11
720508

input e 3-5;

a b c d e
20824 8 2 11 050

20824+8+2+11+50 = 20,895

 

정답은 ①번이다.

2020 5급 PSAT 상황판단

관련 문서

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다