|
PL11 |
문1. 다음의 자료 종류 중 BUILT-IN DATA에 관한 설명 중 잘못된 것은?
㉮ 정수형,실수형 등의 자료로 H/W적으로 고정된 크기를 갖는다.
㉯ 내부의 표현이 드러나지 않으며 변수사용상의 착오를 번역시간에 검사할 수 있다.
㉰ 논리적인 구조를 표현하는 자료로 배열등을 의미한다.
㉱ 정도(PRECISION)를 프로그래머가 선택할 수 있다.
문2. 정적기억장소 할당방법에 관한 설명으로 맞지 않는 것은 어느것인가?
㉮ 프로그램 시행동안 변수의 기억장소는 항상 확보되어 있다.
㉯ SUB-PROGRAM은 되부름이 허용되지 않는다.
㉰ 대표적인 언어에 PASCAL, C 등이 있다.
㉱ 단순하여 쉽게 구현할 수 있지만 융통성이 적어진다.
문3. 동적기억장소 할당방법에 관한 설명으로 틀린 것은?
㉮ 되부름을 가능하게 하며 효율적인 기억장소를 관리한다.
㉯ 변수들의 영역을 제한하고 프로그램을 적당한 단위 프로그램들로 나누어 작성할 수 있게 해준다.
㉰ 컴파일 중에 기억장소를 할당받는 것이 아니고 시행중에 할당받는다.
㉱ 변수의 생명시간(LIFE TIME)이 프로그램의 수행시간과 같다.
문4. BINDING이란 어떤 변수에 대해 그 변수의 성격을 부여하는 것이며 BINDING TIME이란 BINDING이 발생하는 시간을 의미한다. 다음 중 BINDING TIME이 아닌 것은?
㉮ 시행시간㉯ 대기시간㉰ 번역시간㉱ 언어정의시간
문5. 다차원배열에서 열우선형태의 언어는 어느것인가?
㉮ COBOL ㉯ FORTRAN ㉰ PL/I ㉱ PASCAL
문6. 상수와 변수의 차이점은 무엇인가?
㉮ 상수의 값은 프로그램 수행중에 변하지 않는다.㉯ 상수는 수형이 필요없다.
㉰ 변수의 수형은 필요할 때 변한다.㉱ 상수의 수형도 변한다.
문7. 자료명세표(DATA DESCRIPTOR)는 그 자료의 형을 나타내는 자료형 한정자를 반드시 포함하고 있다. 다음 중 자료형이 아닌 것은?
㉮ 정수 및 실수㉯ 바이트 및 워드㉰ 문자열㉱ 배열 및 리스트
문8. PL/I에서 한 문장의 끝을 나타내기 위하여 어떤 특수문자를 사용하는가?
㉮ :(colon)㉯ ;(semicolon)㉰ .(period)㉱ ,(comma)
문9. BASIC과 APL 언어의 공통적인 특징은?
㉮ 리스트 언어㉯ 과학용 언어㉰ 대화용 언어㉱ DB용 언어
문10. C언어의 가장 큰 특징은?
㉮ 배열의 첨자를 포인터로 표현 가능.㉯ 데이타 구조가 좋다.
㉰ 구문이 가장 조직적이다.㉱ 블록구조가 좋다.
문11. 부작용에 대한 설명으로 가장 적절한 것은?
㉮ 전역변수를 안쪽 블록에서 자주 이용할 때 생길 수 있다.
㉯ 프로그램 저장시 인접 프로그램에서 주는 영향을 말한다.
㉰ 같은 기억장소를 사용하는 경우 한 변수의 값을 변화시키면 다른 변수의 값도 변화되는 경우를 말한다.
㉱ 시분할 체제에서만 발생한다.
문12. record의 정의문법이 옳은 것은?
㉯ record A:integer;B.real end
㉰ record A:integer;B:real: end
㉱ record A:integer;B:real end:
문13. 아래의 알고리즘에서 B의 값을 CALL BY REFERENCE, CALL BY VALUE, CALL BY NAME 형식으로 각각 출력했을 때 해당되는 값은?
P:PROCEDURE
DECLARE A(3),I;
I=1;
A(1)=2;
A(2)=4;
CALL R(A(I));
END P
R:PROCEDURE(B);
A(1)=3;
I=2;
PUT LIST(B);
END R;
㉮ 2, 3, 4 ㉯ 4, 2, 3㉰ 3, 2, 4 ㉱ 2, 4, 3
문14. 다음 ALGOL 프로그램에서 n=15일 때 수행 결과로 인쇄되는 y의 값은?
integer n,y
integer procedure calc(n) :
value n: integer n:
if n=0 then calc:=1
else calc :=calc(n/2) * n;
end;
read(n);㉮ 104 ㉯ 105
y:=calc(n)㉰ 315 ㉱ 960
print(y)
문15.다음 ALGOL 언어에서 실매개 변수를 부프로그램으로 전달하는 방법으로 틀리는 문장은?
㉮ by value 방법을 프로그래머가 선택할 수 있다.
㉯ by name 방법을 프로그래머가 선택할 수 있다.
㉰ by reference 방법을 프로그래머가 선택할 수 있다.
㉱ call by value, by name은 사용할 수 있으나 call by reference는 사용할 수 없다.
문16. 다음 중 4세대 언어의 특징으로 틀린 것은?
㉮ 절차형의 언어와 같이 쓸 수도 있고 단독으로도 쓸 수 있다.
㉯ 생산성이 높다.
㉰ 비절차형의 언어로서 프로그래밍 하지않고도 사용할 수 있다.
㉱ 전문가들이 주로 사용하는 언어이다.
문17. 다음 형식으로 정의되는 자료형은 어느 것인가? TYPE 형명칭=최소상수..최대상수
㉮ SCALAR TYPE㉯ SUBRANGE TYPE
㉰ SET TYPE㉱ RECORD TYPE
문18. 다음 PASCAL program에서 matrix에 대한 설명으로 맞는 것은?
type row=array[-5..10] of integer;
var matrix: array[3..30] of row;
㉮ matrix는 28개의 요소를 갖는 배열이다.
㉯ matrix는 15*28의 2차원 배열로 정수 type이다.
㉰ matrix는 16*28의 정수 type의 2차원이다.
㉱ matrix는 row를 요소를 갖는 1차원 배열로 정수 type이다.
문19. 터미날 심볼은 소문자(a,b)로써 표시하고 대문자(A,B)와 Σ 로서 nonterminal을 표시할때 아래의 formal grammer에서 생성할 수 없는 string은?
GrammerN={A,B,Σ} T={a,b}
P:{Σ→AB} A→aA A→a B→Bb B→b
㉮ aaaab ㉯ ab ㉰ aaab ㉱ abab
문20. 터미날기호 T={a,b}, 비터미날기호 N={A,B,Σ}이고 Σ가 starting symbol일 때 아래의 문법에서 생성할 수 없는 스트링은?
P:Σ→AB, A→aAb, A→ab, B→Bb, B→b
㉮ ab ㉯ abb ㉰ aabbb ㉱ aaabbbb
PL12 |
문1. 어떤 언어의 문법이 다음 규칙들로 표시될 때 이를 무슨 문법이라 하나?
A→a A→aB
a:ternimal symbol, A,B:nonterminal symbol
㉮ context sensitive grammer㉯ context free grammer
㉰ regular grammer㉱ unrestrictive grammer
문2. BNF에 대한 설명으로 맞지 않는 것은?
㉮ context free 문법과 동일하다.㉯ Backus Naur Form의 약자이다.
㉰ 선형한계 오토마타가 이에 속한다.㉱ 구문의 정의를 위해 사용된다.
문3. 영어는 애매 모호하기 때문에 언어를 정의하는 데는 부적당한 면이 있어 언어의 정의를 식으로 나타낼 수 있는 형식론이 개발될 필요가 있다. 이 정의 언어를 무엇이라 하느냐?
㉮ Object 언어㉯ Regular 언어㉰ Syntatic meta 언어 ㉱ Formal 언어
문4. 어떤 문장의 스트링에서 순위에 가장 높은 순위를 갖는 부분이 구문에 의한 역생성을 하게되는데 이 부분을 무엇이라 하는가?
㉮ Parsing ㉯ Handle㉰ Reverse ㉱ Precedence
문5. 다음 Grammer로 생성되는 스트링은?
G=({a,b}, {S,A,B}, P,S) P={S→AB, A→aA, A→ε, B→bB, B→ε}
㉮ {ambm∣m>0}㉯ {ambm∣m≥0}㉰ {ambn∣m,n>0}㉱ {ambn∣m,n≥0}
문6. 다음은 Production을 나타낸 것이다. 무슨 방법인가?
<Σ>::=<A> <A>::=a<A>∣a
㉮ BNF ㉯ Peano ㉰ Post ㉱ Canonic system
문7. 다음 중 BNF 스트링이 아닌 것은 어느 것인가?
l::= A∣B∣C∣.......∣Z
d::= 0∣1∣2∣.......∣9㉮ 88OLIMPIC ㉯ 3CAR
(string)::= (l)∣(d)∣(string)(l)㉰ 7 ㉱ COMPUTER
문8. 부프로그램(subprogram) 혹은 서브루틴(subroutine)이라고 불리며 제어를 구조적으로 만들기 위한 보다 강력한 메커니즘을 무엇이라 하는가?
㉮ 활성화(activation)㉯ 프로시저(procedure)
㉰ 매개변수(parameter)㉱ 코루틴(coroutine)
문9. Top-down 이 아닌것은?
㉮ LL㉯ Predication㉰ Recursive㉱ Shift Reduce
문10. 시맨틱 분석으로 만든 트리 구조를 따라가면서 일련의 명령어를 만들어내는 단계는?
㉮ 구문분석 ㉯ 중간코드 생성 ㉰ 렉시칼 분석 ㉱ 코드 생성
문11. 컴파일 수행단계 중 마지막 모듈은?
㉮ LOAD MODULE㉯ LINKING MODULE
㉰ SOURCE MODULE㉱ OBJECT MODULE
문12. 인터프리터와 컴파일러의 가장 큰 차이점은?
㉮ 중간코드의 생성㉯ 가상적인 장치의 구성
㉰ 이론적 기계의 구상㉱ 목적 프로그램의 생성
문13. 기호와 식들에 의미 또는 해석을 부여하는 것을 무엇이라 하는가?
㉮ FORMULA ㉯ SEMANTICS㉰ SYNTAX ㉱ AXIOM
문14. MACRO의 사용목적으로서 합당치 않는 것은 어느것이냐?
㉮ PROGRAM READABILITY를 높임
㉯ EXECUTION TIME을 줄임
㉰ 프로그램을 조금복잡하게 하나 처리속도는 빠름
㉱ 반복되는 ROUTINE을 PARAMETER만 변경시켜 간단히 대치함
문15. 마크로를 이용한 경우의 장점이 아닌것은?
㉮ 새로운 statement를 정의하여 기본 programming language의 확장이 용이하다.
㉯ 특정한 하드웨어에 맞게 기존의 소프트웨어 변경이 쉽다.
㉰ 특별한 목적의 application language를 구현하기 쉽다.
㉱ assemble시간이 짧게 걸린다.
문16. 매크로 명령과 서브루틴의 차이점을 알맞게 설명한 것은?
㉮ 매크로는 서브루틴과는 달리 복귀 번지(return address)를 기억시켜야 한다.
㉯ 매크로는 그 명령에 해당되는 부분에 매크로 몸체(MACRO BODY)가 삽입되나 서브루틴은 그렇지 않다.
㉰ 서브루틴은 매크로와 달리 인수(ARGUMENT)를 사용한다.
㉱ 서브루틴은 분기 명령을 사용할 수 있으나 매크로는 불가능하다.
문17. 다음 중 어셈블 과정의 입력 자료에 해당되는 항목은?
㉮ 링키지 프로그램㉯ 런 프로그램㉰ 어셈블리 언어 프로그램㉱ 목적 프로그램
문18. 다음 프로그램의 선언문에서 기억장소는 총 몇 byte가 필요한가?
TYPE A=PACKED ARRAY[1..20] OF CHAR;
B=RECORD
NAME=A;
NO=INTEGER;
JUM=REAL;
VAR STU:ARRAY[1..20] OF B
단,integer=2byte
real=4byte
㉮ 60 ㉯ 400 ㉰ 520 ㉱ 1200
문19.다음 중 A컴퓨터에서 수행되면서 B컴퓨터의 목적코드를 생성하는 언어처리기는?
㉮ preprocessor㉯ interpreter㉰ simulator㉱ cross-compiler
문20. 다음 중 translator에 속하지 않은 것은?
㉮ assembler㉯ preprocessor㉰ linkage editor ㉱ interpreter
PL13 |
문1. 다음 설명중 옳은 것은?
㉮ 어셈블리 언어는 완전히 기계 종속적이다.
㉯ 고급 프로그램 언어의 등장으로 프로그램 작성시 사용되는 개념은 인간의 사고형식과 완전히 일치하게 되었다.
㉰ 프로그램 언어의 목적과 응용 분야에 따라 다양한 프로그램 언어가 개발되었다.
㉱ 고급 프로그램 언어로 작성된 프로그램이 기계어나 어셈블리 언어로 작성된 프로그램보다 일반적으로 빠르게 수행된다.
문2. 다음은 프로그램 언어에 대한 설명이다. 옳은 것은?
㉮ FORTRAN Ⅱ에서는 재귀 함수 호출이 불가능하다.
㉯ ALGOL 60은 프로그램 언어의 구조를 표현하기 위해서 형식 문법을 사용하지 않았다.
㉰ COBOL은 수치 처리를 위한 프로그램 작성에 적합하며 기계에 비종속적인 자료 기술 기법을 제안하였다.
㉱ LISP은 자료 처리용 프로그램 작성에 적합하다.
문3. 다음 설명 중 옳지 않은 것은?
㉮ LISP는 명령어 언어에 속한다.
㉯ 명령어 언어는 변수값의 수정을 프로그램 수행의 원칙으로 한다.
㉰ PL/I은 FORTRAN, COBOL, ALGOL 언어의 장점과 새로운 언어 개념을 통합하려고 시도한 언어이다.
㉱ Ada는 PASCAL 언어에 기반을 두고 있다.
문4. 다음 중 프로그램 언어 설계시 고려할 사항이 아닌 것은?
㉮ 구문의 명료성 ㉯ 문제 해결에 대한 적합성
㉰ 프로그램의 길이㉱ 기계에 대한 비 종속성
문5. 다음중 구문이 명료하게 프로그램 언어를 설계하였을 때 얻을 수 있는 장점이 아닌 것은?
㉮ 프로그램의 판독성이 높아진다.㉯ 검증이 용이한 프로그램을 작성하기가 쉽다.
㉰ 작성된 프로그램의 유지/보수가 쉽다.㉱ 기계에 독립적이다.
문6. 다음 중 프로그램 언어의 효율성을 검증하는데 사용될 수 있는 척도가 아닌 것은?
㉮ 프로그램의 유지/보수가 얼마나 쉬운가에 관한 사항
㉯ 프로그램 언어가 기계에 얼마나 독립적인가에 관한 사항
㉰ 프로그램을 번역하는데 얼마의 시간이 소모되는가에 관한 사항
㉱ 프로그램이 수행되는데 얼마의 컴퓨터 자원을 필요로 하는가에 관한 사항
문7. 프로그램 언어 설계시 컴퓨터의 구조와 관련해 고려할 사항 중 자료 제어에 대한 설명으로 옳은 것은?
㉮ 컴퓨터가 처리할 수 있는 자료의 종류㉯ 컴퓨터가 수행하는 연산의 종류
㉰ 컴퓨터가 멀티태스킹을 지원하는지의 여부㉱ 명령어의 피연산자를 지정하는 방식
문8. 가상 컴퓨터에 대한 설명으로 옳은 것은?
㉮ 물리적으로 존재하는 컴퓨터이다.
㉯ 인터프리터를 구현한 프로그램이 실행되는 컴퓨터를 말한다.
㉰ 기계 독립적인 프로그램 언어를 만들기 위해 사용되어질 수 있다.
㉱ 컴파일러에서는 사용되지 않는다.
문9. 다음 중 가상 컴퓨터 설계시 고려할 사항이 아닌 것은?
㉮ 매크로 확장 방법㉯ 변수가 차지하는 기억 장소의 크기
㉰ 스택의 구조와 관련 레지스터㉱ 함수의 반환값을 전달하기 위한 방식
문10. 다음 중 바인딩에 대한 설명으로 틀린 것은?
㉮ 바인딩이 발생하는 시간은 프로그램 언어의 특징에 영향을 준다.
㉯ 번역시간 바인딩은 번역기가 프로그램을 번역하는 동안 속성이 결정되는 것을 말한다.
㉰ 실행 시간 바인딩은 다시 모듈 시작 시간 바인딩과 명령 수행 시간 바인딩으로 구분할 수 있다.
㉱ 프로그램의 효율적인 실행을 목적으로 하는 프로그램 언어는 바인딩이 주로 실행시간에 이루어진다.
문11. 다음 중 프로그램 작성이 어려운 이유에 속하지 않는 것은?
㉮ 프로그램 개발의 특수성과 인간 특성의 불일치
㉯ 프로그램의 구조화를 잘 해야 되기 때문에
㉰ 프로그램 특성에 대한 인간의 잘못된 이해
㉱ 프로그램에 쓰이는 언어가 인간의 언어와 다르다.
문12. 다음은 파생 클래스(derived class)에 대한 설명이다. 맞는 것은?
㉮ 상속기법을 이용하여 만들어진 클래스를 말한다.
㉯ 새로운 클래스를 파생시킨 원래의 클래스를 말한다.
㉰ 파생 클래스는 베이스 클래스의 공통 부분을 엑세스 할 수 없다.
㉱ 내용을 수정 및 덧붙여서 새로운 클래스를 드는 것.
문13. 다음 중 응용 언어에 대한 설명으로 옳은 것은?
㉮ 프로그램 수행의 바탕이 되는 것은 변수의 값을 변화시키는 것이다.
㉯ LISP가 응용 언어에 속한다.
㉰ 폰 노이만 구조의 컴퓨터에 기초를 둔다.
㉱ FORTRAN언어에 기원을 둔 프로그램 언어가 이에 속한다.
문14. 다음 중 프로그램 언어의 발전 내용에 속하지 않는 것은?
㉮ 프로그램 코드의 그룹화를 지원한다.㉯ 프로그램 제어의 구조화를 지원한다.
㉰ 자료를 추상화시킬 수 있도록 지원한다.㉱ 특정 응용 문제에 대한 종속화
문15. Ada는 프로그램의 모듈화와 추상화를 지원한다고 한다. 모듈화에 대한 설명으로 옳지 않은 것은?
㉮ 모듈화란 프로그램 전체를 모듈들의 집합으로 추상화한 것이다.
㉯ 모듈화는 모듈간의 결합도가 최대가 되도록 프로그램을 작성하는 기법을 말한다.
㉰ 모듈화에서는 한 모듈을 호출하는 다른 모듈이 가능한 많도록 설계하는 것이 좋다.
㉱ 모듈의 크기는 가능한 작도록 설계하는 것이 좋다.
문16. 다음 4세대 언어에 대한 설명으로 옳은 것은?
㉮ 수행 속도가 빠른 프로그램을 개발하는 것이 목적이다.
㉯ 프로그램 언어의 제한을 최소로 하는 것을 목적으로 한다.
㉰ 프로그램 개발의 생산성을 높이는 것이 목적이다.
㉱ 번역이 용이한 프로그램을 개발하는 것이 목적이다.
문17. 다음 중 프로그램 언어 설계시 고려해야 할 사항 중 개념의 명료성에 대한 설명에 속하지 않는 것은?
㉮ 프로그램의 구문과 의미가 일치해야 한다.
㉯ 프로그램 언어가 사용하는 개념이 명료해야 한다는 것을 의미한다.
㉰ 프로그램 작성자가 설계 작업을 쉽게 할 수 있도록 도와준다.
㉱ 사용자가 프로그램 언어를 쉽게 습득할 수 있도록 해준다.
문18. 다음 중 프로그램 언어의 추상화 지원에 대한 설명이다. 틀린 것은?
㉮ 프로그램을 추상화하면 프로그램 코드의 재사용성이 증가한다.
㉯ 프로그램을 추상화하면 프로그램의 확장성이 증가한다.
㉰ Smalltalk 언어는 추상화를 지원한다.
㉱ JAVA 언어는 추상화를 지원하지 않는다.
문19. 프로그램 검증의 용이성은 프로그램 언어 설계시 고려할 사항 중 하나이다. 프로그램 검증을 용이하게 하기 위한 프로그램 방법론 중에서 구조적 프로그래밍 기법이라는 것이 있다. 다음 중 구조적 프로그램을 작성하기 위하여 사용되는 흐름 제어 명령어가 아닌 것은?
㉮ 순차 제어 명령어㉯ 선택 제어 명령어㉰ 반복 제어 명령어㉱ 단순 분기 명령어
문20. 다음 중 구조적 프로그램 기법을 사용하여 프로그램을 작성하였을 때 얻을 수 있는 장점이 아닌 것은?
㉮ 프로그램의 판독성을 높여 준다.㉯ 프로그램을 추상화하여 코드의 재사용성을 높여준다.
㉰ 디버깅이 용이한 프로그램을 작성할 수 있다.㉱ 프로그램의 유지/보수가 용이해진다.
PL14 |
문1. 다음에서 프로그램 언어의 설계 원칙 중 호환성에 대한 설명으로 옳은 것은?
㉮ 기계와 밀접한 관계를 가짐으로써 프로그램의 실행 속도를 높이는 것을 말한다.
㉯ 가능한 적은 자원을 사용함으로써 프로그램이 기계에 독립적이 되도록 하는 것이다.
㉰ 프로그램 언어의 기계 독립성과 관련된 사항이다.
㉱ JAVA 언어는 호환성이 낮은 언어 중의 하나이다.
문2. 다음 중 표기의 일치성과 관련이 없는 내용은?
㉮ 프로그램 언어의 통일성과 관련된 사항이다.
㉯ 구문과 의미가 일치해야 하는 것과 유사한 개념이다.
㉰ 연산의 의미가 같더라도 구체적인 수행 내용이 다르면 다른 표기법을 사용해야 한다.
㉱ 수식에서 사용되는 사칙 연산이 대표적인 예이다.
문3. 다음 설명 중 옳지 않은 것은?
㉮ 컴퓨터가 사용하는 기본 자료의 종류는 프로그램 언어 설계시 고려해야 할 사항 중 하나이다.
㉯ 컴퓨터가 제공하는 기본 연산의 종류는 프로그램 언어 설계시 고려해야 할 사항 중 하나이다.
㉰ 컴퓨터가 제공하는 자료 제어 방식의 종류는 프로그램 언어 설계시 고려해야 할 사항 중 하나이다.
프로그램 언어를 설계할 때에는 컴퓨터가 사용하는 ( )의 종류를 고려하여야 한다. ( )는 기본 연산과 관련되어 프로그램 언어가 어떤 형태의 자료 구조를 제공할지를 결정하는 데 중요한 요소가 된다. |
문4. 괄호 안에 적합한 단어는 무엇인가?
㉮ 기본자료 ㉯ 기본 연산
㉰ 순서제어 ㉱ 외부와의 인터페이스
문5. 다음 중 가상 컴퓨터에 대한 정의로 적당한 것은?
㉮ 미래에 기술이 발달하면 등장할 꿈의 컴퓨터를 말한다.
㉯ 가상 공간을 탐험하기 위하여 사용되는 컴퓨터를 말한다.
㉰ 가상 공간을 생성하는데 사용되는 컴퓨터를 말한다.
㉱ 개념상에서 논리적으로만 존재하는 컴퓨터를 말한다.
문6. 다음 중 가상 컴퓨터에 대한 설명으로 틀린 것은?
㉮ 가상 컴퓨터는 하드웨어와 소프트웨어가 결합된 형태로 볼 수 있다.
㉯ 가상 컴퓨터의 구조와 논리를 구현한 프로그램이 수행되는 컴퓨터 역시 가상 컴퓨터이다.
㉰ 가상 컴퓨터는 전선, 반도체 등의 물리적 형태를 가지고 있지 않을 뿐 실제 컴퓨터와 마찬가지로 프로그램
수행과 관련된 논리를 가지고 있다.
㉱ 가상 컴퓨터의 구조 및 논리는 이를 시뮬레이션하는 프로그램에 의해 구현된다.
문7. 다음 중 가상 컴퓨터를 설계하는 목적으로 볼수 없는 것은?
㉮ 인터프리터에서 사용하기 위해서㉯ 가상 공간을 빠르게 탐험할 수 있도록 하기 위해서
㉰ 컴파일러의 중간 코드 생성을 위해서㉱ 기계 독립적인 프로그램 언어를 만들기 위해서
문8. 다음 중 가상 컴퓨터에 대한 설명으로 틀린 것은?
㉮ interpreter는 가상(virtual) 컴퓨터를 바탕으로해서 원시(source) 프로그램을 시뮬레이션하는 방식으로 프로그램을 수행한다.
㉯ 컴파일러에서 중간 코드를 기계에 독립적으로 설계하기 위해서 가상 컴퓨터를 사용한다.
㉰ 가상 컴퓨터를 사용해서 기계에 독립적인 프로그램 언어를 만드는 것은 가상의 기계를 바탕으로 해서 원시 프로그램을 시뮬레이션하는 인터프리터를 존재하는 컴퓨터들에 대해서 구현함으로써 가능하다.
㉱ JAVA 프로그램 언어는 해당하는 가상 컴퓨터를 가지고 있지 않다.
문9. 다음 중 JAVA 프로그램 언어에 대한 설명으로 옳은 것은?
㉮ JAVA 프로그램 언어는 기계에 종속적인 언어이다.
㉯ JAVA는 객체 지향 프로그램 방법론을 지원하지 않는다.
㉰ JAVA는 예외 처리를 지원하지 않는다.
㉱ JAVA 컴파일러는 번역 작업의 결과로 이진 형태의 코드를 생성한다.
문10. 다음 중 가상 컴퓨터를 설계할 때 고려할 사항으로 옳지 않은 것은?
㉮ 가상 컴퓨터가 사용하는 자료가 기억 장소에서 차지하는 기억 장소의 크기
㉯ 사용 레지스터의 집합
㉰ 마이크로명령어(micro instruction)의 형태
㉱ 스택의 구조
문11. 가상 컴퓨터를 설계할 때 스택과 관련해서 고려해야 할 사항이 아닌 것은?
㉮ 재귀 함수 호출을 위해서 지역 변수가 저장되는 방법
㉯ 함수 호출시 실 매개 변수(actual parameter)를 호출된 함수의 형식 매개 변수(formal parameter)에 넘겨주기 위한 방법
㉰ 레지스터
㉱ 주소 지정 방법
문12. 다음 중 바인딩에 대한 정의로 옳은 것은?
㉮ 프로그램 언어의 문법을 형식적으로 표현하기 위해 사용하는 표기법을 말한다.
㉯ 프로그램 언어에서 나타날 수 있는 대상물에 대한 실제 속성이 결정되는 것.
㉰ 인터프리터가 프로그램 언어를 실행시킬 때 사용하는 방법
㉱ JAVA 컴파일러가 JAVA 원시 프로그램을 번역하여 생성한 코드를 말한다.
문13. 다음 중 프로그램 언어 정의 시간 바인딩에 대한 설명으로 옳지 않은 것은?
㉮ 언어 정의 시간 바인딩이란 프로그램 언어 정의시 결정되는 사항을 말한다.
㉯ 언어 정의 시간에는 프로그램 언어에서 사용되는 자료의 구조가 결정된다.
㉰ 언어 정의 시간에는 프로그램 언어에서 사용할 수 있는 순서 제어의 구조가 결정된다.
㉱ 언어 정의 시간에는 각 데이터형이 표현할 수 있는 범위가 결정된다.
문14. 다음 중 프로그램 언어 구현 시간 바인딩에 대한 설명으로 옳은 것은?
㉮ 프로그램 언어 정의시 결정되는 사항에 관한 내용이다.
㉯ 프로그램 언어가 실제 컴퓨터에 대해서 구현될 때 결정되는 사항에 관한 내용이다.
㉰ 프로그램이 컴파일러에 의해 번역될 때 결정되는 사항에 관한 내용이다.
㉱ 프로그램이 실행되는 도중에 결정되는 사항에 관한 내용이다.
문15. 다음 중 프로그램 번역 시간에 결정되는 내용이 아닌 것은?
㉮ 변수의 데이터형과 차지하는 기억 장소의 크기가 결정된다.
㉯ 변수의 초기화에 의해서 변수가 가지고 있는 실제 값이 결정된다.
㉰ 기억 장소에서 지역 변수의 위치가 결정된다.
㉱ 연산자의 수행 내용이 결정된다.
문16. 다음 중 바인딩에 대한 설명으로 옳은 것은?
㉮ 프로그램 언어 구현 시간에 발생하는 바인딩을 최소화하면 기계에 종속적인 프로그램 언어가 된다.
㉯ 프로그램 언어 구현 시간에 발생하는 바인딩을 최소화하면 그 프로그램 언어는 호환성이 떨어지게 된다.
㉰ 프로그램 언어에서 사용할 수 있는 순서 제어의 구조는 프로그램 구현 시간에 의해 결정되어진다.
㉱ 프로그램 언어 구현 시간에 발생하는 바인딩은 최소화하는 것이 좋다.
문17. 다음 중 프로그램 실행 시간에 결정되는 사항으로 옳지 않은 것은?
㉮ 각 데이터형(type)이 기억 장소에서 어떤 형태로 저장되는지가 결정된다.
㉯ 기억 장소에서 지역 변수의 위치가 결정되어 진다.
㉰ 할당문에 의해서 변수가 가지고 있는 실제값이 결정된다.
㉱ 실 매개 변수와 형식 매개 변수의 관계가 결정되어진다.
문18. 다음 중 프로그램 실행 시간 바인딩에 대한 설명으로 옳지 않은 것은?
㉮ 프로그램 실행 시간 바인딩은 모듈 시작 시간 바인딩과 명령 수행 시간 바인딩으로 구분되어진다.
㉯ 할당 명령어에 의해서 변수가 가지고 있는 실제 값이 결정되는 것은 모듈 시작 시간 바인딩에 속한다.
㉰ 모듈 시작 시간 바인딩은 모듈이 시작하는 순간에 결정되는 사항에 관한 것이다.
㉱ 명령 수행 시간 바인딩은 명령어가 수행되는 순간에 결정되는 사항에 관한 것이다.
문19. 프로그램 언어 설계시 바인딩의 고려를 중요시하는 이유로 옳은 것은?
㉮ 프로그램 언어 설계에서 바인딩이 가장 복잡한 부분이기 때문이다.
㉯ 프로그램 언어에 대한 번역기를 구현할 때 바인딩 부분에 대한 처리가 가장 어렵기 때문이다.
㉰ 바인딩에 따라 프로그램 언어에 대한 문법의 복잡성이 결정되기 때문이다.
㉱ 바인딩이 발생하는 시간에 따라 프로그램 언어가 다양한 특징을 가질 수 있기 때문이다.
문20. 다음 중 바인딩과 관련해 옳게 서술된 것은?
㉮ 번역시간 바인딩을 위주로 하는 프로그램 언어로 작성된 프로그램은 실행 시간 바인딩을 위주로 하는 프로그램 언어로 작성된 프로그램보다 실행 효율이 나쁘다.
㉯ 실행 시간 바인딩을 위주로 하는 프로그램 언어는 번역시간 바인딩을 위주로 하는 프로그램 언어보다 유연성이 나쁘다.
㉰ 프로그램의 효율적 실행을 목표로 하는 프로그램 언어는 바인딩을 주로 번역 시간에 수행한다.
㉱ 하나의 프로그램 언어가 언어의 효율성과 유연성을 동시에 갖추기 쉽다.
PL15 |
문1. 번역기에 대한 다음 설명 중 옳지 않은 것은?
㉮ 컴파일러와 인터프리터는 모두 번역기이다.
㉯ 컴파일러와 인터프리터는 모두 기계어를 생성한다.
㉰ 컴파일러가 생성한 기계어는 실행되는 실제 컴퓨터가 존재한다.
㉱ 인터프리터에 의해 프로그램이 실행되는 것보다 컴파일러가 생성한 기계어를 직접 실행하는 것이 빠르다.
문2. 다음 설명 중 옳은 것은?
㉮ 컨텍스트 프리 문법에서 생성 규칙의 왼쪽에는 비단말 기호가 두 개 나타나야 한다.
㉯ 도출은 방식에 따라 상향 도출과 하향 도출로 구분된다.
㉰ LL 문법은 상향 구문 분석기를 위한 것이다.
㉱ 컴퓨터 프로그램 언어의 구조를 표현하는 데는 BNF 표기법이 주로 사용된다.
문3. 다음 설명 중 옳지 않은 것은?
㉮ LR 구문 분석기는 원시 프로그램을 좌측에서 우측으로 입력받고 좌측 우선 도출을 한다.
㉯ 좌측 우선 도출은 하향 분석기가 사용하는 도출 방식이다.
㉰ 좌측 재귀를 갖는 문법은 해당 생성 규칙이 담당하는 구문에 대해서 좌측 연합성을 갖는다.
㉱ 우측 우선 도출은 생성 규칙의 우측에서 가장 오른쪽에 있는 비단말 기호를 먼저 도출하는 방식을 말한다.
문4. 다음 설명 중 옳은 것은?
㉮ 모호한 문법이란 좌측에 비단말 기호가 두 개 이상 나타나는 생성 규칙을 포함하고 있는 문법을 말한다.
㉯ 상속 속성이란 구문 트리의 자식 노드에서 부모 노드로 전달되는 속성을 말한다.
㉰ 구문 트리에서 아래쪽에 위치한 서브트리일수록 먼저 처리된다.
㉱ 원시 프로그램에서 주석 제거는 구문 분석기가 수행한다.
문5. 다음 설명 중 옳지 않은 것은?
㉮ 좌측 인수분해는 모호성을 제거 할 수 없다.
㉯ 모호한 문법은 도출 방법에 따라 다른 구문 트리가 생성된다.
㉰ 컴파일러에서 원시 프로그램의 문법적 오류를 검사하는 단계는 구문 분석 단계이다.
㉱ 컴파일러에서 중간 코드를 생성함으로써 얻을 수 있는 장점은 모듈의 재활용이다.
문6. 다음 설명 중 옳지 않은 것은?
㉮ 상향 분석기에서 이동은 현재 입력에 있는 기호를 스택에 푸시하고 다음 입력을 받는 작업을 말한다.
㉯ 상향 분석기에서 축소는 스택의 상단에 있는 몇 개의 기호가 문법에 있는 어떤 생성 규칙의 우측과 같은 때 해당 기호를 스택의 상단에서 제거하고 생성 규칙의 좌측 기호를 푸시하는 작업을 말한다.
㉰ 상향 구문 분석기를 위한 문법은 가급적 우측 재귀를 포함하지 않는 것이 좋다.
㉱ LL 구문 분석기의 파서 테이블은 LR 구문 분석기의 파서 테이블보다 크다.
문7. 컴파일러의 특징으로 옳지 않은 것은?
㉮ 고급 언어로 작성된 프로그램을 기계어로 번역한다.
㉯ 번역된 기계어가 실행되기 위한 실제 컴퓨터는 존재하지 않는다.
㉰ 고급 언어로 작성된 원시 프로그램은 한 번만 해석되고 실행시에는 해석의 결과물인 기계어가 사용된다.
㉱ 컴파일러가 사용되는 대표적인 언어로는 PASCAL, C, C++ 등이 있다.
문8. 다음 프로그램 언어 중 다른 형태의 번역기에 의해 번역되는 언어는?
㉮ BASIC ㉯ PASCAL㉰ C㉱ C++
문9. 다음 중 컴퓨터 언어의 구조를 표현하기 위해 주로 사용하는 표기법은?
㉮ 폰 노이만 표기법㉯ 다이크스트라 표기법㉰ BNF 표기법 ㉱ 렘포트 표기법
문10. 프로그램 언어의 문법에 대한 설명으로 옳은 것은?
㉮ 생성 규칙을 사용하여 한 문자열을 다른 문자열로 이끌어 내는 것.
㉯ 프로그래밍 언어에서 언어의 구문 형식을 정의한 규칙
㉰ 컴파일러가 원시 프로그램을 처리하기 전에 먼저 필요한 작업을 기술한 것
㉱ 기계어의 형태를 기술한 것
문11. LL 문법에 대한 설명으로 옳은 것은?
㉮ 하향 분석기에 의해 해석될 수 있는 문법이다.
㉯ 입력은 우측에서 좌측순으로 받는다.
㉰ 우측 우선 도출을 하는 구문 분석기에 의해 해석될 수 있는 문법이다.
㉱ LR 문법에 대한 구문 분석기와는 입력을 받아들이는 순서가 다르다.
문12. 다음의 설명 중 옳지 않은 것은?
㉮ 문법에서 뒤에 나오는 생성 규칙은 구문 트리에서 상대적으로 아래쪽에 나타난다.
㉯ 구문 트리에서 아래쪽에 있는 서브트리일수록 나중에 처리된다.
㉰ 좌측 재귀를 갖는 문법은 좌측 연합성을 갖는다.
㉱ 우측 재귀를 갖는 문법은 우측 연합성을 갖는다.
문13. 다음 중 모호한 문법에 대한 설명으로 옳은 것은?
㉮ 좌측 재귀를 갖는 문법은 모호한 문법이다.
㉯ 생성 규칙에서 → 기호의 우측에 같은 비단말 기호가 세 개 이상 나와야만 모호한 문법이 된다.
㉰ 모호한 문법이 되는 이유는 도출 방법에 따라 비단말 기호가 처리되는 순서가 틀려지기 때문이다.
㉱ 모호한 문법에 대해서 코너 치환을 수행하면 모호성이 제거된다.
문14. 다음 중 일반적인 컴파일러가 원시 프로그램을 번역하기 위해서 거치는 단계가 옳게 나열된 것은?
㉮ 선행 처리→구문 분석→형태소 분석→의미 분석→중간 코드 생성→코드 최적화→실행 코드 생성
㉯ 선행 처리→형태소 분석→중간 코드 생성→구문 분석→의미 분석→코드 최적화→실행 코드 생성
㉰ 선행 처리→중간 코드 생성→형태소 분석→구문 분석→의미 분석→코드 최적화→실행 코드 생성
㉱ 선행 처리→형태소 분석→구문 분석→의미 분석→중간 코드 생성→코드 최적화→실행 코드 생성
문15. 컴파일러의 선행 처리기가 수행하는 작업이 아닌 것은?
㉮ 원시 프로그램의 주석 제거㉯ 원시 프로그램의 문법적 오류 검사
㉰ 정의된 상수 치환㉱ 매크로 확장
문16. 컴파일러의 분석 단계 중 원시 프로그램을 입력으로 받아서 나머지 부분에서 필요로 하는 토큰을 만들어 주는 단계는 ?
㉮ 선행 처리 단계㉯ 형태소 분석 단계㉰ 구문 분석 단계㉱ 의미 분석 단계
문17. 자료형의 영역(Domain)은 구성원(Member)으로 구성된다. 다음 중 자료 영역의 성격이 다른 하나는?
㉮ 문자형㉯ 논리형㉰ 레코드㉱ 정수형
문18. 프로그램이 실행되면서 사용되는 자료 구조를 보면 프로그래머 정의 자료(Programmer defined data)와 시스템 정의 자료(System defined data)로 나눌 수 있다. 다음 중 그 종류가 다른 하나는?
㉮ 수(Interger)㉯ 스택(Stack)㉰ 배열(Araay)㉱ 입출력 파일(I/O file)
문19. 형 선언문이 없는 경우에서 사용된 혼합형 연산은 여러 장단점을 가질 수 있다. 그 설명이 잘못된 것은?
㉮ 많은 기억장소가 필요하다.
㉯ 프로그램의 작성이 비교적 쉽다.
㉰ 각 자료 항목들에 대한 형의 설명자를 가지고 있어야 한다.
㉱ 프로그램의 실행 시간에 효율을 높일 수 있다.
문20. 프로그램 언어에서는 형을 선언함으로써 여러 가지 장점을 가진다. 다음 중 형 선언의 장점이 아닌 것은?
㉮ 형의 변환 시간이 적게 든다.
㉯ 좀더 다양한 자료 구조의 표현이 가능하다.
㉰ 프로그램이 실행하는 동안 좀더 효율적인 주기억 장치의 관리가 가능하다.
㉱ 정적 형 검사(Static type checking)가 가능하다.
=======================================================답안==================================================
프로그래밍 언어론
PL11 |
문 1. ㉰배열등은 모임자료이다.
문 2. ㉰정적기억장소 할당방법을 사용하는 대표적인 언어로 COBOL,FORTRAN 이 있다.
문 3. ㉱생명 시간은 변수가 처음 사용되었을 때부터 마지막으로 사용된 때 까지이다.
문 4. ㉯binding time: 구현,정의,번역,링크,적재,실행
문 5. ㉯열 우선형태의 언어는 포트란이다.
문 6. ㉮
문 7. ㉯byte와 word는 기억장소의 크기이다.
문 8. ㉯
문 9. ㉰interpreter 언어는 대화용 언어로 source(원시) 프로그램을 바로 수행시킨다.
문10. ㉮C언어에서는 포인터로 선언하고 배열처럼, 배열로 선언하고 포인터로 사용할 수 있다.
문11. ㉮
문12. ㉮
문13. ㉰
문14. ㉰
문15. ㉰ALGOL에서는 call by reference는 사용하지 않는다.
문16. ㉱4GL은 주로 비전문가들이 사용한다.
문17. ㉯
문18. ㉰line은 -5부터 10까지 16개, column은 3부터 30까지 28개이다.
문19. ㉱a가 먼저, b가 나중 나와야 한다.
문20. ㉮최소한 abb는 되어야 한다.
PL12 |
문 1. ㉰type3: RG는 대문자(비종단기호)가 화살표 좌,우측에 1개 또는 없거나 한다.
문 2. ㉰BNF는 CFG(type2)에 알맞다.
문 3. ㉱
문 4. ㉯
문 5. ㉱규칙에서 ε은 공백을 의미한다.
문 6. ㉮
문 7. ㉮
문 8. ㉯
문 9. ㉱shift reduce parser는 bottom up 방식이다.
문10. ㉯semantic의 결과로 중간코드가 생성된다.
문11. ㉱컴파일은 object(목적 프로그램,기계어 형태)를 만들어 낸다.
문12. ㉱interpreter는 목적 프로그램을 생성하지 않는다.
문13. ㉯
문14. ㉰macro를 사용하면 프로그램 작성이 간결해진다.
문15. ㉱macro 확장은 번역전에 이루어진다.
문16. ㉯macro는 sourceso에 macro가 확장되지만 subroutine은 수행시 제어가 이동된다.
문17. ㉰
문18. ㉰
문19. ㉱
문20. ㉰
PL13 |
문 1. ㉰
문 2. ㉮포트란:순환불가ALGOL:형식문법, 블록구조COBOL:자료처리LISP:기호처리
문 3. ㉮LISP는 선언형 언어로 함수 또는 응용언어라고도 한다.
문 4. ㉰
문 5. ㉱구문(syntax)과 기계(H/W)와는 무관하다.
문 6. ㉯호환성: 기계독립성
문 7. ㉱피연산자(operand)는 자료와 관련한 것이다.
문 8. ㉰
문 9. ㉮
문10. ㉱효율적인 실행(주로 속도)을 목적으로 할 경우 번역시간에 바인딩이 이루어진다.
문11. ㉯
문12. ㉮
문13. ㉯명령형 언어: 변수의 값 변화,폰노이만 구조에 바탕선언형 언어: 함수언어, 응용언어
문14. ㉱
문15. ㉯모듈화에서 결합도는 최소, 응집도는 최대가 되도록 한다.
문16. ㉰4GL은 EUC(end user computing, 최종사용자 환경), 높은 프로그램의 생산성
문17. ㉮의미가 다르면 구문도 다르게 해야 한다.
문18. ㉱
문19. ㉱단순분기: goto
문20. ㉯
PL14 |
문 1. ㉰
문 2. ㉰의미가 같으면 같은 표기를 사용한다.
문 3. ㉱컴퓨터구조와 언어의 설계: 기본자료, 기본연산, 순서제어, 자료제어, 기억장소관리
문 4. ㉮
문 5. ㉱
문 6. ㉯가상컴퓨터의 구조와 논리를 구현한 프로그램은 실제 컴퓨터에서 수행된다.
문 7. ㉯
문 8. ㉱기계와 완전히 독립적인 언어가 JAVA이다.
문 9. ㉱JAVA는 byte code를 생성한다.
문10. ㉰micro 명령어는 실제 컴퓨터의 제어장치 구현에 쓰인다.
문11. ㉱
문12. ㉯문법을 형식적으로 표기하기 위한 표기법:BNF
문13. ㉱데이터형의 표현 범위가 결정되는 것은 언어 구현시간 바인딩이다.
문14. ㉯구현 시간 바인딩은 컴파일러 자체를 개발할 때이다.
문15. ㉰기억장소에서 지역변수의 위치(주소)가 결정되는 것은 실행시 운영체제의 의해서이다.
문16. ㉱구현 시간의 바인딩을 최소화하면 기계 호환성이 높아진다.
문17. ㉮각 자료형이 메모리에서 어떻게 저장(표현)되는지는 구현시간에 바인딩이 이루어진다.
문18. ㉯
문19. ㉱컴파일러 개발시 가장 어려운 부분은 구문분석 개발이다.
문20. ㉰정적 바인딩→ 효율성(적은 메모리 사용, 빠른 수행속도 등)
동적 바인딩→ 유연성(적응성, 환경 적응)
PL15 |
문 1. ㉯
문 2. ㉱
문 3. ㉮LR은 좌에서 우로 입력받고 우측우선 도출을 한다.
문 4. ㉰주석 제거는 어휘분석 단계에서 이루어진다. 모호한 문법은 우측에 비종단기호가 2개.
문 5. ㉮left factoring(좌측 인수분해)는 모호성을 제거할 수 있다. →우측에 같은 것이 두 번 나타나는
것을 제거하는 것이다.
문 6. ㉱LR 파서 테이블이 크다. 이동: shift, 축소: reduce
문 7. ㉯
문 8. ㉮BASIC은 인터프리터 방식
문 9. ㉰
문10. ㉯
문11. ㉮LL은 top down 방식이다.
문12. ㉯구문트리에서 아래쪽의 것이 먼저 처리된다.
문13. ㉰좌측재귀(left recursion)가 있으면 무한 반복에 빠질 수 있고 →우측에 같은 것이 두 번 이상 나타나면 모호한 문법이 될 수 있다. 이를 제거하는 것이 left factoring이다.
문14. ㉱
문15. ㉯
문16. ㉯어휘(형태소) 분석: 토큰으로 분류하는 작업
문17. ㉰레코드는 구조적 자료
문18. ㉯스택에 시스템 정의 자료에 사용된다.
문19. ㉱
문20. ㉮
|