프로그래밍언어론정답(2021-04-02 / 222.8KB / 59회)
프로그래밍언어론 고 책형 1 쪽 프로그래밍언어론 문 1. 다음 그림과 같은 Visual Basic의 메뉴편집기에 대한 설명으로 옳지 않은 것은? ㉠ ㉡ ㉢ ㉣ ① Caption 항목 ㉠은 해당 메뉴항목에 나타날 문자열을 의미한다. ② Name 항목 ㉡은 코드에서 사용할 해당 메뉴항목의 이름을 의미한다. ③ Index 항목 ㉢은 해당 메뉴항목의 시각적 순서를 의미한다. ④ Shortcut 항목 ㉣은 해당 메뉴항목에 대한 단축키를 의미한다. 문 2. Java 언어의 interface에 대한 설명으로 옳지 않은 것은? ① interface는 계층 관계를 이룰 수 없다. ② interface 내부에는 메소드 구현이 포함될 수 없다. ③ interface 내부에는 인스턴스 변수 선언이 포함될 수 없다. ④ interface는 객체를 만들 수 없기 때문에 생성자를 가질 수 없다. 문 3. 다음 C 프로그램의 실행 결과는? #include void main(){ int x = 0x11; int y, z; y = x& 0x0f; z = x | 0x0f; printf("x=%d, y=%d, z=%d", x, y, z); } ① x=11, y=1, z=31 ② x=11, y=31, z=1 ③ x=17, y=1, z=31 ④ x=17, y=31, z=1 문 4. 다음 C 프로그램의 실행 결과는? #include void main() { double d_value; float f_value=5.65; int n; d_value=f_value; d_value=d_value+0.5; n=(int)d_value; printf("%3.1f, %d ", d_value, n); } ① 6.1, 5 ② 6.1, 6 ③ 6.2, 5 ④ 6.2, 6 문 5. 현대 프로그래밍 언어들은 대부분 블록(block) 구조를 가지고 있다. 블록구조의 특징으로 옳지 않은 것은? ① 블록이 있음으로써 전역 변수를 위한 메모리를 정적으로 할당할 수 없는 단점이 있다. ② 프로그램을 여러 개의 블록으로 분할하여 작성할 수 있으므로 일의 복잡도가 낮아진다. ③ 블록 내 지역 변수를 위한 메모리는 프로그램의 실행이 그 블록을 벗어나면 반환될 수 있으므로 메모리 관리가 효율적이다. ④ 블록 내에서만 국지적으로 사용하는 변수를 블록 내에서 선언함 으로써 이름 충돌(name conflict)을 피할 수 있어 보다 자유롭게 변수 이름을 정할 수 있다. 문 6. Java 프로그램에서 사용하는 GUI 컴포넌트 및 레이아웃이 들어 있는 패키지를 사용하기 위한 import문으로 옳은 것은? ① import java.awt.*; ② import java.applet.*; ③ import java.lang.String; ④ import java.awt.Graphics; 문 7. 웹브라우저에서 HTML문서 실행 시 이미지 위에 마우스가 위치하면 그림에 대한 설명이 표현되도록 하려고 한다. 태그에 사용 하는 속성으로 옳은 것은? ① ALT ② SRC ③ DESC ④ COMMENT 문 8. 다음 Java 프로그램의 실행 결과는? class X { int i ; X(){ i = 10; } void print() { System.out.print(i+","); } } class Y extends X { int i = 15; int j = 10; Y(){ j = 20; } void print() { System.out.print(j+","); } void superprint() {super.print();} } class Z extends Y { int k ; Z(){ super(); k = 30; } void print() {System.out.print(k+",");} void test(){ print(); super.superprint(); System.out.print(super.j+","); System.out.println(i); } public static void main(String args[]) { Z z = new Z(); z.test(); } } ① 10, 20, 20, 15 ② 30, 10, 10, 10 ③ 30, 10, 20, 10 ④ 30, 10, 20, 15 프로그래밍언어론 고 책형 2 쪽 문 9. 다음 C++ 프로그램의 실행 결과는? #include int main() { int x; for ( x = 1; x 제목장르제작년도 Avatar SF Movie 2009 ㉠ ㉡ ㉢ ① table tr td ② table td tr ③ td table th ④ table th tr 문 12. 다형성(Polymorphism)을 지원하는 프로그래밍 언어로 적절하지 않은 것은? ① C++ ② Java ③ Pascal ④ Smalltalk-80 문 13. 원시프로그램을 컴파일하는 과정은 몇 단계로 구분된다. 이 단계들 중 파스 트리(parse tree)라는 계층적 구조를 생성하는 단계는? ① 최적화 단계 ② 어휘분석 단계 ③ 구문분석 단계 ④ 중간코드생성 단계 문 14. 순환함수(recursive function)와 순환자료형(recursive data type)에 대한 설명으로 옳은 것은? ① 이진탐색 알고리즘은 순환함수로 구현할 수 없다. ② 순환함수에서 각 호출을 위한 인자와 변수는 스택을 통해 관리 된다. ③ 순환자료형인 구조체 변수 x의 선언은 다음과 같이 할 수 있다. struct list { int inf; struct list next; } x; ④ 다음 순환함수에서 매개변수 n의 값이 5일 때 반환되는 s의 결과 값은 100이다. int recursive(int n) { int s; if(n==0) s=1; else s=n*recursive(n-1); printf("%d, ", n); return s; } 문 15. 화면을 분할하여 여러 개의 HTML 문서를 표시하기 위해 프레임 레이아웃을 사용하고자 한다. 다음과 같이 분할하기 위해 작성하는 HTML 구문으로 옳은 것은? (단, 분할된 화면의 모양만을 고려하고 각 분할의 크기는 고려하지 않으며, a.html, b.html, c.html, d.html 파일은 같은 폴더에 존재한다고 가정한다) a.html b.html c.html d.html ① ② ③ ④ 프로그래밍언어론 고 책형 3 쪽 문 16. 일정한 시간이 지날 때마다 이벤트(event)를 발생시켜 이미지가 왼쪽에서 오른쪽으로 움직이는 Visual Basic 프로그램을 작성하려고 한다. 필요한 컨트롤의 속성으로 옳은 것은? ① 이미지(Image) 컨트롤의 Autosize 속성 ② 쉐이프(Shape) 컨트롤의 Picture 속성 ③ 타이머(Timer) 컨트롤의 Interval 속성 ④ 픽쳐박스(PictureBox) 컨트롤의 Stretch 속성 문 17. 다음 Visual Basic 프로그램의 실행 결과는? Sub Calc(n) n = 2 * n End Sub Private Sub Form_Activate() a = 10 Call Calc(a) Print a Call Calc(a) Print a End Sub ① 10 ② 10 10 20 ③ 20 ④ 20 20 40 문 18. 다음 Visual Basic 프로그램 실행 후 Command1 컨트롤을 두 번째 클릭했을 때 수행 결과는? (단, Command1은 CommandButton 컨트롤이다) Private Sub Command1_Click() Static Sum As Integer Dim I As Integer Cls I = I + 5 Sum = Sum + I Print I, Sum End Sub ① 5, 5 ② 5, 10 ③ 10, 10 ④ 10, 15 문 19. 다음은 배열 a(1,1) = 1, a(1,2) = 2, ..., a(1,10) = 10, a(2,1) = 11, a(2,2) = 12, ..., a(2,10) = 20, ..., a(10,1) = 91, a(10,2) = 92, ..., a(10,10) = 100이 저장되도록 하는 Visual Basic 프로그램의 프로시저이다. ㉠, ㉡에 들어갈 내용으로 옳은 것은? Private a(1 To 10, 1 To 10) As Integer ′모듈변수 Private Sub InitArray() For i = 1 To 100 ( ㉠ ) ( ㉡ ) a(j, k) = i Next i End Sub ㉠ ㉡ ① j = i / 10 + 1 k = i Mod 10 ② j = i / 10 + 1 k = i Mod 10 + 1 ③ j = Int(i / 10) + 1 k = i Mod 10 + 1 ④ j = Int((i - 1) / 10) + 1 k = (i - 1) Mod 10 + 1 문 20. 다음 C++ 프로그램의 실행 결과는? #include class A { public: int n; A(): n(0) {} int getn() { ++n; return n; } void print(int i) { coutprint(p->getn()); } ① A:print 0 ② A:print 1 ③ B:print 0 ④ B:print 1