본문 바로가기
CS/프로그래밍언어론

프로그래밍 언어론 2019 2학기 기말고사 문제와 정답 - 방통대

by Renechoi 2023. 12. 8.

1. 다음 중 설명이 바르게 짝지어진 것은?

  1. 구문론 - 프로그램의 내용적인 효과를 정의
  2. 의미론 - 프로그램의 표면적인 구조를 정의
  3. 구문론 - 프로그램 작성시 어떤 형태로 작성해야 하는 지를 기술
  4. 의미론 - 문자들을 모아 최소한의 의미를 갖는 단어를 기술

정답: 3

 

2. 구문을 표현하는 방법과 거리가 먼 것은?

  1. BNF
  2. EBNF
  3. WORA
  4. 구문 도표

정답: 3

 

3. EBNF로 표현된 다음 구문을 실수로 BNF 표현으로 간주하고 해석하였다. EBNF일 때의 해석과 달라진 부분은?

<unsigned integer ::= <digit> { <digit> } 
  1. 〈unsigned integer〉는 비단말 기호임
  2. ::=는 정의를 나타내는 메타 기호임
  3. 〈digit〉는 비단말 기호임
  4. {는 단말 기호임

정답: 4

 

4. 파스 트리에 대한 설명으로 바른 것은?

  1. 유도를 트리 형태로 나타낸것
  2. 루트 노드는 단말 기호가 됨
  3. 단말 노드는 비단말기호가 됨
  4. 비단말 노드를 차례로 나열하면 주어진 프로그램이 됨

정답: 1

 

5. 모호한 문법에 대한 설명으로 바른 것은? (3점)

  1. 동일한 표현에 대해 동일한 파스 트리가 만들어지는 문법
  2. 동일한 표현에 대해 서로 다른 파스트리가 만들어지는 문법
  3. 주어진 표현에 대해 파스트리가 존재하지 않는 문법
  4. 서로 다른 표현에 대해 동일한 파스트리가 만들어지는 문법

정답: 2

 

6.중첩된 if문의 else 문제를 해결하기 위해 다수의 언어돝이 적용 하고 있는 방법은?

  1. else를 사용하지 못하게 함
  2. if문 개수만큼 else를 사용하게 함
  3. else문 앞에 나온 if문들 중 가장 가까운 if문과 짝이 되게 함
  4. else문 앞에 나온 if문들중 다른 else문과 짝이 되지 않은 가장 가까운 if문과 짝이 되게 함

정답: 4

7. 함수 모형으로 프로그래밍 언어 구현을 설명하였을 때,프로그래밍 언어 L의 인터프리터 IntL을 바르게 나타낸 것은? 단, PA는 언어 혹은 기계어 A로 작성된 프로그램을 뜻하며, in은 입력, out은 출력, M은 기계어를 뜻한다.

  1. IntL[[ PL ]] = PM
  2. IntL[ PL ] = (out)
  3. IntL[[ PM ]] = PL
  4. IntL[[ PL ]] (out) = (in)

정답: 2

 

8. 언어 구현에 필요한 자료구조 중 다음 설명에 해당하는 것은?

- 컴파일러 구현에 사용
- 식별자의 정보(타입, 선언 위치 등)를 저장
  1. 구문 트리
  2. 심볼 테이블
  3. 환경
  4. 실행 환경

정답: 2

 

9. 변수의 네 가지 속성에 해당하지 않는 것은?

  1. 인수
  2. 타입
  3. 주소
  4. 변수명

정답: 1

10. 다음 변수의 정의를 배런의 표기법으로 바르게 나타낸 것은?

char x = ‘A’;

정답: 4

11. 타입 바인딩에 대한 설명으로 바른 것은?

  1. 명시적 선언은 변수명으로부터 정해지는 타입으로 바인딩
  2. 묵시적 선언은 선언문에 명시된 타입으로 바인딩
  3. 동적 바인딩은 대입할 값에 맞추어 타입을 계속 변화시킴
  4. 정적 바인딩은 명시적 선언만 가능

정답: 3

 

12. 영역 규칙에 대한 설명으로 바르지 않은 것은?

  1. 영역 규칙은 변수의 참조 위치를 결정하는 방법임
  2. 정적 영역 규칙은 블록들의 문맥적 포함 관계를 이용
  3. 동적 영역 규칙은 서브프로그램의 호출 관계를 이용
  4. 동적 영역 규칙은 컴파일 시점에만 판단 가능

정답: 4

 

13. 변수의 종류와 설명이 바르게 짝지어진 것은?

  1. 지역변수 - 블록 밖에서 선언된 변수
  2. 비지역변수 - 블록 안에서 선언된 변수
  3. 자유변수 - 어떤 블록에도 포함되지 않는 곳에서 선언된 변수
  4. 전역변수 - 모든 블록에서 비지역변수임

정답: 4

 

14. 변수의 속성 중 한 가지로,데이터 집합과 연산 집합의 결합으로 나타내는 것은?

  1. 인수
  2. 타입
  3. 주소
  4. 변수명

정답: 2

 

15 언어의 타입에 대한 설명으로 바르지 않은 것은?

  1. 강타입 언어 - 타입 오류를 모두 검출하는 언어
  2. 약타입 언어 - 일부 타입 오류를 허용하는 언어
  3. 무타입 언어 - 타입 개념이 없는 언어
  4. 무타입 언어 - 타입이계속 바뀔 수 있는 언어

정답: 3

 

16. 타입 분류가 바르게 된 것은?

  1. 정수형 - 원시타입
  2. 실수형 - 사용자 정의 타입
  3. 배열 - 단순타입
  4. 열거형 - 복합타입

정답: 1

 

17. 수식에 대한 설명으로 바른 것은?

  1. 값을 나타내는 표현
  2. 하나 이상의 피연산자와 하나 이상의 연산자로 구성
  3. “abc”+“def”는 수식 이 아님
  4. 5-3과 1+1은 서로 값이 다른 수식임

정답: 1

 

18. 타입 변환에 대한 설명으로 바르지 않은 것은?

  1. 주어진 타입의 값을 다른 타입의 값으로 변환 하는 것
  2. 묵시적 타입 변환은 대부분 데이터 집합이 커지는 방향의 타입으로 확대변환
  3. 실수형 변수 A,B에 대해 A+B를 계산할때 발생
  4. 명시적 타입 변환은 프로그래머가 명시한 타입으로 변환

정답: 3

 

19. 다음 중 대입문과 거리가 만 것은

  1. A++;
  2. A = 2;
  3. A += 3;
  4. A == 4;

정답: 4

 

20. Java에서 다음과 같이 선언된 변수를 이용할 때 오류가 발생 하는 대입문은?

int i1=1, i2=2;
double d1=1.0j d2=2.0;
int x; double y;
  1. x = d1 + d2;
  2. y = d1 + d2;
  3. x = i1 i2;
  4. y = i1 + i2;

정답: 1

 

21. 제어문에 대한 설명으로 바르지 않은 것은?

  1. 프로그램의 수행 흐름을 제어함
  2. 조건문은 조건에 따라 서로 다른 처리를 하도록 제어함
  3. 반복문에는 for문, while문, do-while문 등이 있음
  4. do-while문은 필요한 문장을 0번 이상 반복 수행함

정답: 4

 

(22~23) 아래 프로그램을 예제로 문제의 해답을 구하시오.

void fun(int a, int b) { 
int temp = a;
a = b;
b = temp;
}

int main() {
int list[3] = {1, 2, 3}; 
int i = 0;
fun(i, list[i]); 
return 0;

22.값 전달 방식의 인수 전달을 가정할 때,위 프로그램에서 fun의 호출이 끝난 후 배열 list의 값은?

  1. 1, 2, 3
  2. 0, 2, 3
  3. 1, 0, 3
  4. 1, 2, 0

정답: 1

 

23. 참조 전달 방식의 인수 전달을 가정할 때,위 프로그램에서 fun의 호출이 끝난 후 배열 list의 값은?

  1. 1, 2, 3
  2. 0, 2, 3
  3. 1, 0, 3
  4. 1, 2, 0

정답: 2

 

24. 다음 Pascal 형태의 프로그램이 정적 영역 규칙을 따른다고 할 때, A 지점에서 A, B, E 의 체인 변위는?

program Main;
    A, B, C: Integer;
    procedure S1; 
        A, D: Integer;
    begin {S1}
        A:= B+C
    end;
    procedure S2(B: Integer);
        E: Integer;
        procedure S3;
            C, E: Integer;
        begin {S3}
         S1;
         E:=B+A {A 지점} 
        end;
    begin {S2}
        S3;
        A:=D+E
    end;
begin
  S2(C)
end.
  1. 0, 1, 2
  2. 1, 2, 3
  3. 2, 1, 0
  4. 2, 2, 1

정답: 3

 

25. 동적 체인에 대한 설명으로 바르지 않은 것은?

  1. 비지역변수를 찾을 때 까지 동적 링크를 거슬러 올라감
  2. 호출 순서와 무관하게 참조하는 비지역 변수가 결정됨
  3. 활성 레코드에 변수 이름을 저장해야 함
  4. 동적 체인의 길이는 정적 체인의 길이보다 길수 있음

정답: 2

 

반응형