본문 바로가기
연습 문제

[생능][개정7판]인공지능 시대의 컴퓨터 개론 12장 연습 문제 답안

by 알기 쉬운 코딩 사전 2023. 1. 9.
반응형

해당 컴퓨터 개론의 연습문제는 모두 제가 직접 풀어서 작성한 것이므로, 오답, 오타가 존재할 수 있습니다.

참고 부탁드립니다.

 

P.489 정오식 문제

 

1. 프로그래밍 언어란 주어진 어떤 문제를 해결하기 위해 인간과 컴퓨터 사이에서 의사소통을 가능하게 하는 인공적인 언어를 말한다.

 

[답]

(O)

 

2. 프로그래밍 언어의 특성 중 정확성(직교성)이란 엄밀하게 정의된 문법에 따라 작성된 프로그램은 정확성을 보장하며 예측 가능한 번역을 보장해주는 것을 말한다.

 

[답]

(X)

 

3. 저급 언어를 원활하게 구사하기 위해서는 하드웨어에 관한 풍부한 지식이 필요하다.

 

[답]

(O)

 

4. BASIC은 모든 사람들이 배우기 쉽도록 만든 언어로서 언어의 분류 중 고급 언어(저급 언어)에 해당한다.

 

[답]

(X)

 

5. 사용자가 작성한 프로그램을 실행할 때, 컴퓨터가 이해할 수 있는 형태로 번역하는 것을 컴파일이라고 한다.

 

[답]

(O)

 

6. Python은 1991년에 발표되었으며 C 언어보다는 초보자에게 더 친근하다.

 

[답]

(O)

 

7. Prolog와 Lisp은 둘 다 인공지능 언어에 속한다.

 

[답]

(O)

 

8. C언어 중간언어라고 불릴 정도로 고급언어와 저급언어의 양쪽 장점을 모두 가지고 있다.

 

[답]

(O)

 

9. Python과 같은 인터프리터 방식의 번역은 실행할 행 단위마다 번역한다.

 

[답]

(O)

 

10. FORTRAN, Pascal, COBOL 등은 현재에는 사용이 많이 되지 않는 편이다.(현재에도 매우 많이 사용되는 편이다.)

 

[답]

(X)

 

11. Power Builder, Delphi, Java는 모두 제4세대 언어에 속한다.

 

[답]

(O)

 

12. RAD Tool이란 마우스로 그림을 그리듯 화면을 만들고, 작업하기 원하는 부분에만 프로그램을 짜 넣으면 하나의 프로그램이 구현되는 방식을 말하며,(반복되는 부분을 최고한으로 줄이고, 코딩의 양을 최대한 줄이는 프로그래밍 언어의 종류로서,) 대표적인 RAD Tool에는 (C++,)Visual Basic, Delphi 등이 있다.

 

[답]

(X)

 

13. C++는 객체지향 프로그래밍(을 전혀 할 수 없는)언어이다.

 

[답]

(X)

 

14. Java는 운영체제나 중앙처리 장치에 관계없이 모든 플랫폼에서 사용 가능하다.(따라 실행가능 여부가 결정된다.)

 

[답]

(X)

 

15. XML(HTML)은 다목적 마크업 언어로서 SGML의 단순화된 부분집합이지만 수많은 종류의 데이터를 기술하는데 적용할 수 있다.

 

[답]

(X)

 

16. 닷넷 플랫폼은 기존의 윈도우즈 운영체제 서비스와 새로운 API를 제공하는 개발 프레임 워크이다.

 

[답]

(O)

 

단답식/선택식 문제

 

1. 고급 언어에는 FORTRAN, BASIC, C, C++ 등이 있으며, 저급 언어에는 기계어와( )가 있다.

 

[답]

어셈블리어

 

2. 주요 인공지능 언어로는(   )과 Prolog가 있다.

 

[답]

Lisp

 

3.(   )는 UNIX 운영체제의 작성을 위한 시스템 프로그래밍 언어로 설계되었고, 벨연구소에서는 이 언어를 사용하여 UNIX 운영체제를 작성하였다.

 

[답]

C언어

 

4.(   )는 Object Pascal을 사용하며 VCL이라는 편리한 컨트롤을 제공한다.

 

[답]

Delphi

 

5. C#은(   )기반 언어이다.

 

[답]

닷넷

 

6. 객체지향에서(   )이란 클래스 외부에서는 하나의 작업으로 생각하게 하고 내부에서는 각기 다른 방법으로 구현되는 것을 말한다.

 

[답]

다형성

 

7. (   )는 미국의 Sun사에서 가전제품들을 제어하기 위한 언어로 개발한 것이다.

 

[답]

Java

 

8. UNIX 운영체제의 작성을 위한 시스템 프로그래밍 언어로 설계된 언어는 무엇인가?

 

[답]

C언어

 

9. 프로그래밍 언어를 공부해야 하는 주된 이유가 아닌 것은?

 

[답]

④ 컴퓨터 내부 구조를 쉽게 알 수 있다.

 

10. 다음 중 프로그래밍 언어의 주요 특성들이 아닌 것은?

 

[답]

③ 가변성

 

11. 다음 중 컴파일러 방식의 언어가 아닌 것은?

 

[답]

① Lisp

 

12. 다음 중 Linux 기반의 주요 언어로 볼 수 없는 것은?

 

[답]

② ALGOL

 

13. 다음 중 객체지향 언어에 해당하는 것은 무엇인가?

 

[답]

④ Java

 

14. 다음 중 클래스의 주요 특성이 아닌 것은?

 

[답]

③ 가독성

 


15. SGML에서 비롯된 하이퍼텍스트를 표기하는 언어로서 일반적으로 인터넷에서 웹 페이지를 표시하기 위해 쓰이고, 일반 웹 브라우저를 통해 읽을 수 있는 언어는 무엇인가?

 

[답]

① HTML

 

16. 다음 중 현재 전 세계적으로 가장 많이 쓰이는 프로그래밍 언어는?

 

[답]

② C

 

17. 다음 중 웹 기반 언어가 아닌 것은?

 

[답]

④ C#

 

주관식 문제

 

1. 컴파일러 방식과 인터프리터 방식의 차이점을 번역 방법, 장점, 단점, 결과물, 적용언어 등의 관점에서 비교하시오.

 

[답]

특징 / 방식 컴파일러 방식 인터프리터 방식
번역 방법 프로그램 전체를 한꺼번에 번역 실행될 행 단위마다 번역
장점 번역 후 빠른 시간 내에 전체를 실행가능 큰 기억장치가 필요하지 않음 번역 과정이 비교적 간단함
단점 프로그램의 일부를 수정하는 경우에도 전체를 다시 컴파일해야 함 반복문이 많은 경우 번역 시간이 오래 걸림
결과물 목적 언어로 된 프로그램 실행의 결과
적용 언어 FORTRAN, Pascal, COBOL, Ada, C 등 Lisp, SNOBOL, Prolog 등

 

2. 주요 고급 언어들의 특징들을 설명하시오.

 

[답]

일상 언어에서 쓰이는 단어나 표현을 적극적으로 이용한다. 덧셈은 '+', 뺄셈은 '-' 등 우리가 통상 사용하는 일반적인 표현을 그대로 쓸 수 있습니다.데이터를 기억 장치에서 쓰거나 읽을 경우, 기억 장소의 구체적인 번지 대신에 변수 이름의 사용이 가능하다. 따라서 사용자는 기억 장소의 주소를 일일이 기억할 필요가 없습니다. 하나의 명령으로 다수의 동작을 지시할 수 있다. 예를 들어 A = B + C * D란 명령어의 경우 먼저 C와 D를 곱하고, 그 결과와 B를 더하고, 그 결과값을 A에 대입하라는 것과 같이 다수의 연산이 하나의 명령에 의해 이루어집니다.

 

3. 한때 COBOL로 작성되었던 많은 프로그램들이 4GL이나 C언어에 서서히 자리를 내주었다고 한다. 그 주된 이유는 무엇인가?

 

[답]

프로그램이 길어서 프로그램 작성이 불편하고 효율이 떨어지는 단점이 있습니다.

 

4. C언어의 장점들을 설명하고 C언어의 최근 근황을 간략히 설명하시오.

 

[답]

장점 최근 근황
대부분의 운영체제에서 지원하는 기본적인 언어입니다. 요즘은 C++의 등장으로 C가 쓰이는 비율이 다소 줄었으나 아직도 C++ 프로그램에서 C 스타일로 프로그램을 작성하는 사람들이 많은 것으로 보아 상당한 기간동안은 C의 영향력이 계속 될 것으로 보입니다.
고급 언어와 저급 언어의 양쪽 장점을 모두 가지고 있습니다.
모든 실행 단위가 함수로 구성되어 있습니다.

 

5. UNIX 기반의 언어들을 나열하시오.

 

[답]

ProC

C언어

Shell 프로그래밍

 

6. 객체지향 프로그래밍 언어로 잘 알려진 C++의 주요 특징들을 서술하시오.

 

[답]

C++는 C의 유연성을 그대로 이용하면서 객체지향의 편리성을 접목시켰습니다. 이러한 점은 C++언어가 C언어의 확장이라는 점에 기인합니다.

C언어로 개발된 기존의 모든 프로그램들을 활용할 수 있습니다. 기존에 작성되어 있는 검증된 프로그램을 약간 수정하여 객체화시킴으로써 엄청난 라이브러리를 얻을 수 있습니다.

C언어에 익숙하기만 하면 금방 적응이 가능합니다. 비교적 짧은 기간의 개념 교육만으로도 기존의 C 프로그래머가 객체지향의 장점들을 쉽게 흡수할 수 있습니다.

대부분의 운영체제에서 C++를 지원합니다. C++언어는 C를 지원하는 거의 모든 운영체제에서 기본적으로 지원하는 언어가 되었습니다.

 

7. 4GL이란 무엇인가? 4GL에 속하는 프로그래밍 언어들을 나열하시오.

 

[답]

제4세대 언어라고 하며 제 4세대 컴퓨터가 사용된 시기에 개발된 프로그래밍 언어를 말합니다.

Power Builder

Delphi

Visual Basic

 

8. 객체지향 언어와 절차 중심언어의 각각의 장단점과 대표적인 언어를 설명하시오.

 

[답]

특징 / 언어 객체지향 언어 절차 중심 언어
장점 재사용성
생산성 증가
자연스러운 모델링
실행 속도가 빠름
단점 느린 개발 속도
느린 실행 속도
높은 난이도
유지보수의 어려움.
엄격하게 순서가 정해져있음
대표적인 언어 C++, Java C, Pascal

 

9. 다음의 단어들을 설명하시오.

 

(1) 객체

 

[답]

우리가 주변에서 볼 수 있는 물체나 논리적으로 생각 가능한 그 어떤 것을 의미합니다.

 

(2) 상속성

 

[답]

하나의 클래스가 정의 되고, 그 이후에 어떤 클래스라도 이 클래스의 정의 중에서 하나 이상의 정의를 물려 받을 수 있는 성질입니다. 따라서 같은 기능을 하는 클래스는 다시 작성할 필요 없이 계속 물려 받아 쓸 수 있고, 결과적으로 빠른 프로그램 개발을 보장합니다.

 

(3) 캡슐화

 

[답]

외부에서 알 필요가 없는 정보는 감추어 하나의 캡슐 상태로 유지하여 외부에서는 함부로 접근하거나 변경 등이 불가능 합니다.

 

(4) 다형성

 

[답]

외부에서는 하나의 작업처럼 보이지만 내부에서는 각기 다른 방법으로 구현 되는 것입니다.

 

10. 요즘들어 큰 관심을 받는 인공지능 언어들은 무엇인가?

 

[답]

Lisp, Prolog 등

반응형

댓글