프로그래밍언어론워크북.hwp

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "프로그래밍언어론워크북.hwp"

Transcription

1 << 프로그래밍 언어론 >> 제 1 장 프로그래밍 언어의 소개 1.1 프로그래밍 언어란 무엇인가 * 프로그래밍 언어 - 컴퓨터에 프로그래머의 의사를 전달하는 방법 - 프로그램을 작성하는 형식 - 프로그래머가 컴퓨터를 어떻게 추상화해야 하는가에 영향 미침 - 컴퓨터가 읽을 수 있고 사람이 읽을 수 있는 형식으로 계산을 서술하는 표기체계 * 프로그램 - 컴퓨터와 사람이 동시에 이해할 수 있는 형식으로 작성된 글 프로그래밍 언어에서의 추상화 * 추상화(abstraction) - 속성들의 특징적인 일부분만을 가지고 주어진 작업이나 객체를 표현하고, 그들의 공통 점을 추출하여 표현하는 방법 * 자료추상화 - 문자열, 수, 탐색 트리와 같은 계산의 주체가 되는 자료의 특성을 추상화 하는 것 * 제어추상화 - 알고리듬 추상화 - 현 상황에 따라 실행 순서의 수정을 위한 제어의 특성을 추상화 하는 것 * 기본적 추상화(basic abstraction) - 가장 국지적인 기계정보를 수집한 추상화 * 구조적 추상화(structured abstraction) - 프로그램의 구조에 대한 보다 전역적인 정보에 관한 추상화 * 단위추상화(unit abstraction) - 단위 프로그램 전체 정보에 관한 추상화 계산 전형 * 명령형 언어(imperative language) - 절차 언어(procedural language) - 순차적인 명령의 수행을 기본개념으로 하는 언어 * 함수형 언어 - 함수 개념에 기반을 둔 언어 - 계산기술이 함수의 평가, 즉 알려진 값을 함수에 적용하는 것에 기반 - 적용형 언어(application language) - 1 -

2 * 논리형 언어 - 기호논리학에 기반을 둔 언어 - 계산 내용만 선언하듯이 기술 - 선언적 언어(declarative language) * 객체지향언어 - 객체에 기반을 두고 있는 언어 언어 정의 * 구문론(syntax) - 형식화가 많이 되어 있는 부분 - 언어의 표면적인 구조만을 정의 - 대부분의 언어가 문맥자유(context free) 문법 사용 * 토큰(token) - 프로그래밍 언어의 어휘 구조 * 의미론(semantics) - 프로그램 실행 시 어떠한 일이 일어나는가를 기술 1.1 프로그래밍 언어란 무엇인가 기출문제 [2009 기말] 51. 프로그래밍 언어론을 배워야 하는 이유로 알맞지 않은 것은? 1 현재 사용하고 있는 언어를 더욱 잘 이해할 수 있다. 2 유용한 프로그래밍을 구사할 수 있는 능력을 증대시킨다. 3 프로그래밍 언어를 선택할 수 있는 능력을 증대시킨다. 4 언제, 어디에 있든지 컴퓨터의 지원을 받을 수 있는 능력을 증대시킨다. 프로그래밍 언어론을 배워야 하는 이유는 다음과 같다. (1) 현재 사용하고 있는 언어를 더욱 잘 이해할 수 있다. (2) 유용한 프로그래밍을 구사할 수 있는 능력을 증대시킨다. (3) 프로그래밍 언어를 선택할 수 있는 능력을 증대시킨다. (4) 새로운 프로그래밍 언어를 배우기 쉽게 해 준다. (5) 새로운 프로그래밍 언어를 설계하기 쉽게 해 준다. 보기 4번의 내용은 해당되지 않다. 그러므로 정답은 4번이다. [2009 중간] 1. 프로그래밍 언어의 전형(계산 전형) 4가지에 대해서 설명하시오. 1. 명령형 언어(imperative language) 또는 절차언어(procedural language) - 2 -

3 : 명령의 순차적 실행(중앙처리장치의 순차적 연산 수행), 기억장소 위치를 표현하는 변수의 사용(기억장치에 대한 읽기 수행), 변수의 값을 변경하기 위한 할당문의 사용(기억장치에 대 한 쓰기 수행) 등으로 구성되며, 이것은 실제로 컴퓨터 구조나 컴퓨터 적동과 밀접한 관련 이 있다. 이렇게 순차적인 명령의 수행을 기본개념으로 하는 언어를 의미한다. 2. 함수형 언어 또는 적응형 언어(applicative language) : 계산기술이 함수의 평가, 즉 알려진 값을 함수에 적용하는 것에 기반을 두고 있다. 함수형 프로그래밍 언어는 함수의 평가 및 호출 방법을 제공한다. 함수형 언어는 변수나 변수에 대 한 할당문이 없다. 또한 반복적인 연산이 반복문에 의해 기술되지 않고, 재귀적 함수 이론 이라는 수학적 이론에 바탕을 두고 있다. 3. 논리형 언어 또는 선언적 언어(declarative language) : 기호논리학에 기반을 둔 언어이다. 논리형 언어에서는 계산을 실행하는 순서를 기술하는 대신에 무엇을 하려고 하는가를 기술함으로써 프로그램 하게 된다. 순수한 논리형 프로그램 은 반복이나 선택문을 필요로 하지 않는다. 논리형 언어에서는 계산 내용만 선언하듯이 기 술한다. 4. 객체지향 언어 : 객체에 기반을 두고 있는데, 객체는 실세계에 존재하는 모든 유형 및 무형의 대상이 될 수 있다. 객체는 특정값을 저장하는 기억장소와 그 기억장소의 값을 변경할 수 있는 연산으 로 이루어진 개념이라고 할 수 있다. 많은 객체지향 언어에서 객체는 클래스로 표현되며, 클래스는 C언어나 Pascal에서 자료형이 선언되는 방법과 유사하게 선언된다. 하지만 클래 스의 선언에는 연산에 대한 추가적인 설명이나 선언이 필요하다. [2008 기말] 37. 언어의 정의에 대한 설명으로 옳은 것은? 1 프로그래밍 언어의 시맨틱스는 자연 언어의 문법과 많은 부분에서 유사하며, 언어 구성 요소의 외부적인 형태에 관한 것이다. 2 시맨틱스는 언어 구성 요소의 외부적인 형태에 관한 것으로, 언어의 구성 요소들을 결합 하여 다른 요소를 만드는 방법을 설명한 것이다. 3 프로그래밍 언어의 어휘 구조는 언어에서 사용할 수 있는 단어의 구조를 나타내준다. 4 신택스를 공식적으로 정의할 수 있는 방법으로 널리 인정받고 있는 것은 아직은 없다. 1번 해설 : 시맨틱스에 대한 설명이 아니라 신택스(구문론)에 관한 설명이다. 2번 해설 : 시맨틱스의 경우 형식화가 잘 이루어져 있지 않다. 3번 해설 : 구문과 밀접한 관련이 있는 것이 어휘구조(lexical structure)인데 자연어의 맞춤법과 유사하다. 프로그래밍 언어의 어휘 구조는 보통 토큰(token)이라고 한다. 4번 해설 : 언어의 구문에 관한 부분은 형식화가 많이 되어 있는 부분으로 오늘날 대부 분의 언어가 문맥자유(context free) 문법을 사용하고 있다. 그러므로 정답은 3번이다. 63. 다음 중 언어의 분류에 관한 설명으로 옳은 것은? 1 함수언어는 폰노이만 구조에 개념적 기초를 두고 있다

4 2 논리언어는 술어논리에 기초하고 있으며, 술어논리는 공리와 규칙으로 구성된다. 3 명령형 언어는 적용형 언어라고도 한다. 4 객체 지향 언어는 선언형 프로그래밍이라 불리우며, 객체들이 모여서 하나의 프로그램이 되는 것으로 간주한다. 1번 해설 : 폰노이만 구조에 개념적 기초를 두고 만들어진 언어는 명령형 언어이다. 2번 해설 : 논리형 언어는 기호논리학에 기반을 두고 있다. 3번 해설 : 명령형 언어는 절차언어라고도 하며, 적용형 언어는 함수형 언어와 같은 개 념이다. 4번 해설 : 선언형 프로그래밍이라 불리우는 것은 논리형 언어와 관련이 있다. 그러므로 정답은 2번이다. [2008 중간] 2. 시맨틱스와 신택스의 정의를 쓰고, 차이점에 대해 설명하시오. 1. 구문론(syntax) : 프로그램이 언어의 구문은 많은 면에서 자연어와 유사하다. 언어의 구문에 관한 부분은 형식화가 많이 되어 있는 부분으로 오늘날 대부분의 언어가 문맥자유(context free)문법을 사용하고 있다. 구문과 밀접한 관련이 있는 것이 어휘구조(lexical structure)인데 자연어의 맞춤법과 유사하다. 프로그래밍 언어의 어휘 구조는 보통 토큰(token)이라고 한다. 2. 의미론(semantics) : 언어의 구문은 언어의 표면적인 구조만을 정의한다. 하지만 의미론은 이보다 훨씬 복잡하 다. 의미론은 프로그램 실행 시 어떠한 일이 일어나는가를 기술한다. if문과 같은 예의 경우 조건문이 거짓으로 판명되었을 때, else문 이하가 존재하지 않는 경우와 같은 많은 예외적 인 경우에 대한 정의가 있어야만 한다. 하지만 언어의 구문과는 달리 의미론의 경우, 형식 화가 잘 이루어져 있지 않다. [2007 기말] 68. 프로그래밍 언어 전형과 해당 언어의 연결이 옳지 않은 것은? 1 명령형 언어 - Scheme 2 함수언어 - LISP 3 논리 언어 - Prolog 4 객체지향언어 - Smalltalk 1번 해설 : Common LISP와 Scheme 등은 모두 LISP의 후예로 오늘날 인공지능 분야에 서 폭넓게 사용되고 있다. 일반적인 리스트 구조와 함수의 응용을 기본으로 하는 언어로 명령형 언어가 아닌 함수형 언어이다. 그러므로 정답은 1번이다. 70. 프로그래밍 언어의 신택스를 정의하는데 이용되는 문법은? 1 문맥의존형 문법 2 무제한 문법 3 문맥자유 문법 4 정규문법 - 4 -

5 프로그래밍 언어의 구문은 많은 면에서 자연어와 유사하다. 언어의 구문에 관한 부분은 형 식화가 많이 되어 있는 부분으로 오늘날 대부분의 언어가 문맥자유(context free) 문법을 사용하고 있다. 그러므로 정답은 3번이다. [2006 기말] 37. 프로그래밍 언어의 전형에 포함되지 않는 것은? (3번) 1 명령형 언어 3 추상 언어 2 논리 언어 4 객체지향 언어 프로그래밍 언어의 계산 전형에 해당하는 것은 다음과 같다. (1) 명령형 언어(imperative language) 또는 절차언어(procedural language) (2) 함수형 언어 또는 적용형 언어(applicative language) (3) 논리형 언어 또는 선언적 언어(declarative language) (4) 객체지향 언어 추상 언어는 해당되지 않는다. 그러므로 정답은 3번이다. [2006 하계계절] 2. 다음 중 프로그래밍 언어의 전형에 대한 설명으로 틀린 것은? 1 함수 언어는 적용적 언어라고도 한다. 2 논리 언어는 공리, 사실, 추론 규칙, 증명할 정리나 질의로 구성된다. 3 객체 지향 프로그래밍에서는 객체들이 모여 하나의 프로그램이 되는 것으로 간주한다. 4 명령형 언어를 선언형 프로그래밍이라고도 한다. 4번 해설 : 선언형 프로그래밍이라 불리우는 것은 논리형 언어와 관련이 있다. 명령형 언어는 절차언어라고도 한다. 그러므로 정답은 4번이다 39. 다음 언어의 정의에 관한 설명 중 틀린 것은? (1번) 1 언어의 정의는 신택스와 시맨틱스, 그리고 컴파일러에 의해 정의된다. 2 신택스는 언어 구성 요소의 외부적인 형태에 관한 것으로, 언어의 구성 요소들을 결합하 여 다른 요소를 만드는 방법이다. 3 언어의 시맨틱스는 프로그램이 무엇을 어떻게 수행할지 나타낸다. 4 신택스는 대부분 문맥 무관형 문법으로 정의된다. 1번 해설 : 프로그래밍 언어의 형식 정의는 프로그램 설계 과정을 규격화할 때도 필요하 - 5 -

6 다. 언어의 정의는 두 가지 부분으로 나누어지는데, 하나는 구문론(syntax)에 관한 것이고 다른 하나는 의미론(semantics)에 관한 것이다. 그러므로 정답은 1번이다. [2005 기말] 46. 다음 중 언어의 분류에 관한 설명으로 틀린 것은? 1 함수언어는 함수 언어계산을 수행하는 주된 방법이 매개변수에 함수를 적용하는 것이다. 2 논리언어는 명령문을 순서대로 나열한 것이다. 3 명령형 언어는 폰노이만 구조에 개념적 기초를 두고 있다. 4 객체 지향 언어는 객체들이 모여서 하나의 프로그램이 되는 것으로 간주한다. 해설) 2번 해설 : 명령문을 순서대로 나열하는 것은 명령형 언어 또는 절차언어라고 한다. 논리언어는 계산을 실행하는 순서를 기술하는 대신에 무엇을 하려고 하는가 를 기술함으로써 프로그램 하게 된다. 그러므로 정답은 2번이다. 70. 다음 언어의 정의에 관한 설명 중 틀린 것은? 1 프로그래밍 언어의 신택스는 언어 구성 요소의 외부적인 형태에 관한 것이다. 2 프로그래밍 언어의 신택스는 언어의 구성 요소들을 결합하여 다른 요소를 만드는 방법을 설명한 것이다. 3 프로그래밍 언어의 시맨틱스는 어휘 구조를 이용하여 사용할 수 있는 단어의 구조를 표 현한다. 4 시맨틱스의 공식적인 정의에 대한 접근 방법으로 실행적 방법, 함수적 방법, 공리적 방 법이 대표적이다. 3번 해설 : 구문과 밀접한 관련이 있는 것이 어휘구조(lexical structure)인데 자연어의 맞춤법과 유사하다. 프로그래밍 언어의 어휘 구조는 보통 토큰(token)이라고 한다. 어휘구조와 관련이 있는 것은 시맨틱스가 아닌 구문론(신택스)이다. 그러므로 정답은 3번이다

7 1.2 프로그래밍 언어의 역사 디지털 컴퓨터 이전의 언어 * 찰스 배비지(Charles Babbage : 1792~1871) - 수치계산을 처리하기 위해 차분 엔진과 분석 엔진 설계 - 분석 엔진은 오늘날의 컴퓨터와 구조가 매우 유사 * 오거스타(Ada Augusta) - 세계 최초의 프로그래머로 인식 년대 : 최초의 프로그래밍 언어 * 저급언어 - 기계의존적인 이진수 개념이거나 자연언어와 차이가 많은 언어 - 사람이 이해하기보다는 컴퓨터의 내부구조에 의존적인 언어 * Fortran(FORmula TRANslation) - 최초의 고급언어 - 응용과학 분야에서 우위를 차지하고 있음 * Cobol(COmmon Business-Oriented Language) - 미 국방성에서 해군 그레이스 호퍼가 이끈 팀에 의해 만들어짐 - 은행이나 대규모 회사에서 서류처리와 같은 사무처리를 위해 재빨리 채택됨 * Alglo 60(ALGOrithmic Language 60) - 알로리듬을 기술하기 위한 일반적인 표현언어 * LISP(LISt Processor) - 일반적인 리스트 구조와 함수의 응용을 기본으로 한 언어 * APL(Automatic Programming Language) - 배열과 행렬을 포함하는 수학적 연산을 쉽게 프로그램이 하기 위한 언어 - IBM에서 제작 년대 : 다양한 프로그래밍 언어의 출현 * Simula 67 - 노르웨이 컴퓨터 센터에서 뉘고르(Kristen Nygaard)와 달(Ole-John Dahl)에 의해 탄생 - 시뮬레이션을 위해 디자인 됨 - 객체지향언어의 기본이 되는 클래스 개념 도입 * Basic(Beginners All-purpose Symbolic Instruction Code) - 다트머스(Dartmouth) 대학교의 존 케머니(John Kemeny)와 토머스 커츠(Thomas Kurtz)가 개발 - 새로운 시분할 시스템을 위한 간단한 언어로 개발 년대 : 간결성, 추상화 그리고 효율성 * C언어 - 벨연구소의 데니스 리치(Dennis Ritchie)에 의해 고안 - 컴퓨터 구조에 대한 접근을 제공해 주는 개념 - 7 -

8 - 중급 프로그래밍 언어로 부르기도 함 * Pascal - Algol의 개념 도입 - 복잡하거나 교육적 목적에 부합되지 않는 주요 기능은 생략 - 교육용으로뿐만 아니라 상업적으로도 높은 기능성 갖춤 년대 : 통합과 새로운 방향 * Ada 년대를 대표할 수 있는 중요한 프로그래밍 언어 - 미국 국방성의 주도로 탄생 - J. 이치바이어(J. Ichbiah)가 이끈 개발자들은 자료추상화, 타입 메커니즘(package), 병 행처리(task)와 예외처리기 등의 특징을 처음 도입 * Modula-2 - 니클라우스 워스(Niklaus Wirth)가 개발 - 운영체제를 구축하기 위해 고안된 Modula라는 언어를 기본으로 한 언어 - 추상화와 부분적 동시처리 개념과 내장형 시스템 프로그래밍을 목적으로 하드웨어에 쉽게 접근할 수 있는 기능도 추가한 다목적 언어 * ML(Meta Language) - 에든버러(Edinburgh) 대학교의 로빈 밀너(Robin Milner)가 개발 - 문법과 타입 검사가 훨씬 유연함 * Prolog - A. 콜메로에르(A. Colmerauer)가 이끄는 그룹에 의해 마르세유에서 개발 - 인공지능 분야에서 많이 쓰이고 있고 모범적인 언어로 인식됨 * Smalltalk - 제록스사의 팰로앨토 연구소에서 앨런 케이(Alan Kay), 댄 인갈스(Dan Ingalls)와 다른 연구자에 의해 개발 - 객체지향 접근방식으로 일관된 객체지향언어의 순수한 모범 케이스 * C++ - C언어를 확장한 개념 - 비야네 스트롭스트룹(Bjarne Stroustrup)이 개발 년대 : World Wide Web 프로그래밍(Java) * Java 년대 가장 특징적인 프로그래밍 언어 - 월드 와이드 웹 프로그래밍을 쉽게 구현가능 - 자바가상기계(JVM) 위에서 동작하기 때문에 다양한 응용분야에 적합 * Java 애플릿 - 웹 클라이언트에서 실해오딜 수 있는 작은 프로그램 1.2 프로그래밍 언어의 역사 기출문제 [2007 기말] - 8 -

9 69. 다음 중 추상자료형을 지원하는 언어가 아닌 것은? (4번) 1 Smalltalk 2 Ada 3 Modula-2 4 Simula 67 1번 해설 : Smalltalk는 객체지향 접근방식으로 일관된 객체지향언어의 순수한 모범 케이 스라고 할 수 있다. 2번 해설 : 논리형 언어는 기호논리학에 기반을 두고 있다. 3번 해설 : 명령형 언어는 절차언어라고도 하며, 적용형 언어는 함수형 언어와 같은 개 념이다. 4번 해설 : 선언형 프로그래밍이라 불리우는 것은 논리형 언어와 관련이 있다. 그러므로 정답은 4번이다. [2005 기말] 62. 다음 중 추상 자료형을 쓸 수 없는 언어는? (4번) 1 Java 3 Small talk 2 C++ 4 FORTRAN - 9 -

10 1.3 프로그래밍 언어의 설계기준 효율성 * 최적화 - 목적 코드의 효율성 - 번역기가 효율적인 실행 코드를 생성할 수 있도록 언어설계가 이루어지는 것 * 번역의 효율성 - 원시 코드가 효율적으로 번역되도록 허가하는지, 즉 알맞은 크기의 번역기로 빠르게 번 역할 수 있는지에 대한 것 * 신뢰성 - 프로그램 실행시에 예상치 못한 행동을 하거나 결함을 발생시키는 방향으로 행동하지 못하도록 하는 것 * 프로그래밍 효율성 - 얼마나 쉽고 빠르게 프로그램을 작성할 수 있는가 하는 것 - 프로그램의 작성력 일반성, 직교성, 획일성 * 일반성 - 특별한 경우를 피하거나 밀접한 관련이 있는 여러 개념을 일반적인 하나의 개념으로 결합한 것을 의미 * 직교성 - 같은 언어의 구성요소가 문맥이 다르다고 다르게 행동해서는 안 된다는 것을 의미 * 획일성 - 의미적으로 형식적으로 유사한 것들은 그 유사성을 프로그래밍 언어 내에서 일관되게 유지되어야 함을 의미 표현력 * 표현력 - 언어가 복잡한 과정이나 구조를 표현하는 데 용이함을 의미 정확성 * 정확성 - 프로그래밍 언어의 정확한 정의, 즉 프로그래밍 언어의 행위를 예측할 수 있는 정의를 기본적으로 필요로 하는 것을 의미 컴퓨터 독립성 * 독립성 - 하드웨어나 운영체제 측면의 컴퓨터에 대한 독립적인 프로그래밍 언어 정의를 통하여 보장될 수 있는 것을 의미 안전성

11 * 안전성(security) - 프로그래밍 오류를 줄이고 오류를 쉽게 발견하기 위한 것 - 프로그래밍 언어의 자료형, 형 검사, 변수선언 등 확장성 * 확장성 - 프로그래머에게 언어의 특징을 더 추가할 수 있도록 하자는 것 부분성 * 부분성 - 프로그래머가 언어에 대한 적은 지식과 언어구조에 대한 일부의 이해만 있어도 효과적 으로 프로그램을 작성할 수 있도록 해야 하는 것을 의미

12 제 2 장 프로그래밍 언어의 구조 및 해석 * 구문 - 프로그래밍 언어의 형식적인 구조를 의미 * 노엄 촘스키(Noam Chomsky) - 문법의 종류 분류 - 문맥자유 문법에 대한 아이디어 제안 2.1 언어구문 프로그래밍 언어의 어휘구조 * EBCDIC 코드 - IBM의 360 계열에 의해 처음 발표된 것 - 8비트 조합으로 만들어지는 코드 * ASCII 코드 - 7비트로 구성되어 있으며, 최대로 에 해당하는 128개까지의 문자 표현 가능 * 유니코드 체계 - 16비로 구성되어 있으며, 국제표준으로 대두 * 어휘 토큰 - 프로그래밍 언어의 어휘구조 - 프로그래밍 언어 알파벳 문자로 구성된 단어 * 언어 구성자 - 한 개 이상의 어휘 토큰을 가지고 구문적으로 허용된 프로그램의 일부 구조 - 언어 구성자를 부르는 이름이 식별자라는 토큰임 * 예약어(reserved word) - 미리 정의된 식별자(predefined identifier) 중에서 재정의할 수 없도록 한 식별자 문맥자유 문법과 BNF * BNF - 생성규칙(production rule)의 집합 * 비단말(nonterminal) 기호 - 각괄호(<>)로 묶인 기호 - BNF 규율로 다시 정의될 대상임을 의미 * 단말(terminal) 기호 - 각괄호로 묶이지 않은 기호 - 각 언어에서 사용하는 알파벳 문자 집합과 예약어가 있음 * 문맥자유 문법 - 모든 생성규칙에서 정의될 대상이 하나의 비단말기호만으로 구성된 문법 * 문맥의존 문법(context-sensitive grammar) - 특수한 문맥에 의존하여 대치되는 문법

13 * EBNF(Extended BNF) - BNF보다 읽기 쉽고 간결하게 표현할 수 있는 확장된 표기법 구문도표 * 구문도표(syntax diagram) - 형태가 순서도와 비슷하며, EBNF 선언과 바로 대응 가능 파스 트리와 프로그램 문법의 모호성 * 파스 트리(parse tree) - 한 표현이 주어진 BNF에 의하여 작성될 수 있는지 없는지를 확인하기 위해 사용 - 주어진 BNF를 이용하여 그 대상을 근(root)으로 하고 단말 노드를 왼쪽에서 오른쪽으 로 나열한 것이 검증하고자 하는 표현과 같이 되는 트리 * 추상구문 트리(abstract syntax tree) - 파스 트리에서 비단말기호를 없앤 본질적인 구조를 나타내는 트리 - 구문 트리(syntax tree) * 모호성 - 어떠한 명확한 구조를 표현하지 않는 것을 의미 2.1 언어구문 기출문제 [2009 기말] 52. 다음 보기는 BNF 표기법으로 작성된 문법이다. 이 문법을 EBNF 표기법으로 올바르게 변경한 것은? BNF 표현 <compound-statement> ::= begin <statement-list> end <statement-list> ::= <statement> <statement-list> ; <statement-list> 1 <compound-statement> ::= begin <statement> { ; <statement>} end 2 <statement-list> :: = begin <statement> {; <statement>} end 3 <compound-statement> :: = begin { ; <statement-list> } end 4 <statement-list> :: = begin { ; <statement-list> } end BNF 표기법으로 모든 프로그래밍 언어를 표기할 수 있지만, 보다 읽기 쉽고 간결하게 표현 할 수 있는 확장된 EBNF(Extended BNF)를 사용하기도 한다. EBNF는 특수한 의미를 갖 는 메타 기호를 더 사용하여 반복되는 부분이나 선택적인 부분을 간결하게 표현할 수 있으 며, 반복되는 부분을 나타내려면 { }를 사용한다. 즉, {a}는 a가 0번 이상 반복될 수 있음 을 의미한다. 보기에서 제시된 BNF 표현에서 <statement-list>가 반복되므로 EBNF의 { }를 사용하여 다음과 같이 표시한다. <compound-statement> ::= begin <statement> { ; <statement> } end

14 그러므로 정답은 1번이다. 53. 비단말에 대한 구문도표를 그리면 다음과 같다. 이에 해당하는 EBNF 문법으로 올바른 것은? 1 A ::= x { '(' B ')' } 2 A ::= '(' x B ')' 3 A ::= x '(' B ')' 4 A ::= x(b) 다음의 EBNF를 구문도표로 바꾸면 보기에서 제시된 표현과 같다. A :: x '(' B ')' 여기서 x, (, )는 단말기호를 나타내며, A는 비단말기호를 나타낸다. 단말기호일 경우 원 또 는 타원 안에 표기하고, 비단말일 경우 사각형 안에 표기한다. A ::=α 1 α 2 α n은 다음과 같이 나타낼 수 있다. 그러므로 정답은 3번이다 54. 동일 스트링(3-2*5)에 대해서 다음과 같이 두 가지의 서로 다른 유도과정이 발생하는 문제점과 관련이 없는 것은? 1 곱셈과 뺄셈 연산에 관해 우선순위를 고려하지 않은 문법이다. 2 명확한 구조를 표현하지 않는 모호성을 갖는 문법이다. 3 구조는 다르지만 트리의 의미를 서로 같으므로 연산을 추가해야 한다. 4 어떤 구조가 의미 있는지를 결정할 수 있게 모호성 제거규칙을 기술해야 한다

15 서로 다른 유도가 다른 파스 트리를 생성하기도 한다. 위의 문제에서 3-2*5 는 두 가지 유도과정을 거쳐 유도된다. 1) <exp> <exp> - <exp> <exp> - <exp> * <exp> (두 번째 <exp>가 <exp>*<exp>로 대치) <number> - <exp> * <exp> 3-2 * 5 2) <exp> <exp> * <exp> <exp> - <exp> * <exp> (첫 번째 <exp>가 <exp>-<exp>로 대치) <number> - <exp> * <exp> 3-2 * 5 위와 같이 동일 스트링에 대해서 서로 다른 파스(또는 구문) 트리가 만들어지면 이러한 문 법을 모호(ambiguous)하다고 한다. 모호한 문법은 어떠한 명확한 구조를 표현하지 않기 때 문에 어려움을 야기한다. 모호성을 갖는 문법을 유용하게 하려면 문법을 모호함이 없도록 개정하거나, 어떤 구조가 의미 있는지를 결정할 수 있게 모호성 제거규칙(disambiguating rule)을 기술해야 한다. 위의 두 구문 트리의 의미는 서로 다르다. 즉, 왼쪽 것은 곱셈 후 뺄셈을 의미하여, 그 결과 값이 -7이 되고, 오른쪽 것은 뺄셈 후 곱셈을 의미하여 그 결과값이 5가 된다. 이렇게 파스 트리는 연산순서를 정해 준다. 위의 식에 대한 일반적인 의미는 곱셈이 뺄셈보다 우선순위 를 갖기에 왼쪽 트리를 택해야 된다. 그러므로 정답은 3번이다. [2008 기말] 41. 아래 BNF로 표현된 <수>에 관한 문법규칙을 EBNF 표기로 올바르게 나타낸 것은? <수>::= <수><숫자> <숫자> <숫자>::= <수>::= [<숫자>] 2 <수>::= {<숫자>} 3 <수>::= <숫자>[<숫자>] 4 <수>::= <숫자>{<숫자>} BNF 표기법으로 모든 프로그래밍 언어를 표기할 수 있지만, 보다 읽기 쉽고 간결하게 표현 할 수 있는 확장된 EBNF(Extended BNF)를 사용하기도 한다. EBNF는 특수한 의미를 갖 는 메타 기호를 더 사용하여 반복되는 부분이나 선택적인 부분을 간결하게 표현할 수 있으 며, 반복되는 부분을 나타내려면 { }를 사용한다. 즉, {a}는 a가 0번 이상 반복될 수 있음 을 의미한다

16 보기에서 제시된 BNF 표현에서 <숫자>가 반복되므로 EBNF의 { }를 사용하여 다음과 같 이 표시한다. <수>::= <숫자>{ <숫자> } 그러므로 정답은 4번이다. [2008 중간] 1. BNF와 확장BNF(EBNF)가 무엇인지 설명하고, 차이점에 대해서 설명하시오. 한 프로그래밍 언어의 구문에 대한 BNG 정의는 생성규칙(production rule)의 집합으로 정 의될 수 있으며, 정의된 언어로 작성 가능한 모든 정상적인 프로그램을 이 생성규칙을 적용 해 산출한다. 생성규칙은 작성된 프로그램이 구문에 맞는 프로그램인지 아닌지를 결정하는 구문규율로도 사용한다. 생성규칙의 왼쪽에는 정의될 대상(object)이 표현되며, 오른쪽에는 그 대상에 대한 정의가 나타난다. BNF 표기법으로 모든 프로그래밍 언어를 표기할 수 있지만, 보다 읽기 쉽고 간결하게 표현 할 수 있는 확장된 EBNF(Extended BNF)를 사용하기도 한다. EBNF는 특수한 의미를 갖 는 메타 기호를 더 사용하여 반복되는 부분이나 선택적인 부분을 간결하게 표현할 수 있으 며, 반복되는 부분을 나타내려면 { }를 사용한다. 즉, {a}는 a가 0번 이상 반복될 수 있음 을 의미한다. [2007 기말] 61. 다음 문맥자유 문법과 관련된 용어의 정의로 틀린 것은? 1 비단말 : 문법구조명 2 메타기호 : 선택적 구조 3 단말 : 단어 혹은 토큰기호 4 생성 : 문법규칙 1번 해설 : 각괄호(<>)로 묶인 기호는 비단말(nonterminal)기호라고 하며, BNF 규율로 다시 정의될 대상임을 의미한다. 2번 해설 : BNF 표기에서 사용된 특수기호(::=,, <>)는 메타 기호(meta-symbol)라 불 리며, 메타 기호는 표현하려는 언어의 일부분이 아니라 그 언어를 표현하려 고 사용한 특수기호를 말한다. 3번 해설 : 각괄호로 묶이지 않은 기호는 단말(terminal)기로하고 하며, 이러한 단말기호 에는 각 언어에서 사용하는 알파벳 문자 집합과 예약어가 있다. 4번 해설 : BNF의 정의는 생성규칙(production rule)의 집합으로 정의될 수 있으며, 정 의된 언어로 작성 가능한 모든 정상적인 프로그램을 이 생성규칙을 적용해 산출한다. 생성규칙은 작성된 프로그램이 구문에 맞는 프로그램인지 아닌지 를 결정하는 구문규율로도 사용한다. 그러므로 정답은 2번이다. 63. 식에 대한 BNF로 표현된 문법규칙 중, +'보다는 * 가 더 높은 우선 순위를 갖도록 표 현된 문법은? 1 <식>::=<식>*<식> <식>::=<식>+<식>

17 2 <식>::=<식>+<식> <식>::=<식>*<식> 3 <식>::=<식>*<식> <항> <항>::=<항>+<항> <수> 4 <식>::= <식>+<식> <항> <항>::=<항>*<항> <수> 곱셈이 뺄셈보다 높은 우선순위를 갖는다는 사실을 어떻게 표현할 수 있을까? 이 경우 문법 과 별개로 모호성 제거규칙을 기술하거나 모호성을 갖지 않도록 문법을 개정할 수 있다. 그 리고 파스 트리의 보다 낮은 지점에서 *가 적용되는 순위폭포(precedence cascade)를 형 성하도록 한다. 4번의 경우 파스 트리로 표현하면 다음과 같다. 그러므로 정답은 4번이다. 64. 이 문법의 문제점은 동일한 문자열에 대하여 상이한 분석나무가 나타날 수 있어 가능한 여러 분석 나무 중 실제로 사용되는 분석나무에 따라 그 의미가 달라질 수 있다는 것에 있 다. 무엇에 관한 설명인가? 1 문맥자유 문법 2 모호한 문법 3 속성 문법 4 다형적 문법 동일 스트링에 대해서 서로 다른 파스(또는 구문) 트리가 만들어지면 이러한 문법을 모호 (ambiguous)하다고 한다. 모호한 문법은 어떠한 명확한 구조를 표현하지 않기 때문에 어려 움을 야기한다. 모호성을 갖는 문법을 유용하게 하려면 문법을 모호함이 없도록 개정하거 나, 어떤 구조가 의미 있는지를 결정할 수 있게 모호성 제거규칙(disambiguating rule)을 기술해야 한다. 그러므로 정답은 2번이다 [2007 중간] 1. 파스 트리와 모호성에 대해 설명하시오. 한 표현이 주어진 BNF에 의하여 작성도리 수 있는지 없는지를 확인하기 위해 주어진 BNF 를 이용하여 그 대상을 근(root)으로 하고 단말 노드를 왼쪽에서 오른쪽으로 나열한 것이 검증하고자 하는 표현과 같이 되는 트리를 작성하게 되는데 이 트리를 파스 트리(parse tree)라고 한다. 주어진 표현에 대한 파스 트리가 존재하면 그 표현은 주어진 BNF에 의하 여 작성되었다고 말하며, 해당 파스 트리가 존재하지 않으면 주어진 BNF에 의해 작성될 수 없다고 말한다. 동일 스트링에 대해서 서로 다른 파스(또는 구문) 트리가 만들어지면 이러한 문법을 모호

18 (ambiguous)하다고 한다. 모호한 문법은 어떠한 명확한 구조를 표현하지 않기 때문에 어려 움을 야기한다. 모호성을 갖는 문법을 유용하게 하려면 문법을 모호함이 없도록 개정하거 나, 어떤 구조가 의미 있는지를 결정할 수 있게 모호성 제거규칙(disambiguating rule)을 기술해야 한다. [2006 기말] 66. 다음의 신택스 도표에 해당하는 EBNF 표현은? 1 <F>::=(<E>),<N> 3 F::=(E), N 2 <F>::=(<E>) <N> 4 F::=(E) N 다음의 EBNF를 구문도표로 바꾸면 보기에서 제시된 표현과 같다. <F>::=(<E>) <N> 여기서 (, )는 단말기호를 나타내며, A, E, N은 단말기호를 나타낸다. 단말기호일 경우 원 또는 타원 안에 표기하고, 비단말일 경우 사각형 안에 표기한다. A ::=α 1 α 2 α n은 다음과 같이 나타낼 수 있다. 그러므로 정답은 2번이다. [2006 중간] 2. 어휘구조란 토큰의 구조를 말한다. 토큰의 범주에는 예약어, 식별자, 특수기호, 상수가 대표적이다. 이에 대해 설명하시오. 프로그래밍 언어의 어휘구조는 위에서 논의된 프로그래밍 언어 알파벳 문자로 구성된 단어, 즉 어휘 토큰이다. 어휘구조는 구문구조와 별개이지만 밀접한 관련이 있다. 일반적으로 번 역기는 어휘분석(lexical analysis, scanning) 단계에서 입력 프로그램의 일련의 문자를 토 큰으로 구분하고, 구문분석(syntax analysis) 단계에서 이를 처리하여 구문구조를 결정한다. 한 개 이상의 어휘 토큰을 가지고 구문적으로 허용된 프로그램의 일부 구조를 언어 구성자 라고 한다. 이러한 언어 구성자를 부르는 이름이 식별자라는 토큰이다. 번역과정의 속도를 높이고 프로그램의 신뢰성을 향상시키기 위해 프로그래밍 언어는 일부 식별자(predefined identifier) 중에서 재정의할 수 없도록 한 식별자를 예약어(reserved word)라고 한다. 예를 들면 C 언어에는 if, while, int 등 32개의 예약어가 있으며 scanf, printf, strcnp, #define 등은 예약어가 아닌 미리 정의된 식별자로 간주한다

19 [2006 하계계절] 7. 어휘 구조, 즉 토큰의 구조의 범주분류가 아닌 것은? 1 종결자 3 상수 2 예약어 4 식별자 어휘구조란 토큰의 구조를 말한다. 토큰의 범주에는 예약어, 식별자, 특수기호, 상수가 대표 적이다. 그러므로 정답은 1번이다. 8. 모호한 문법(ambiguous grammar)으로 인한 문제점은? 1 데이터 보호를 위한 별도의 장치나 방법이 필요하다. 2 분석 나무의 크기를 제한하여 모호성을 제거해야 한다. 3 가능한 여러 분석 나무를 생성해 내기 때문에 그 의미가 달라질 수 있다. 4 연산의 우선순위 때문에 결합규칙을 적용할 수 없다. 동일 스트링에 대해서 서로 다른 파스(또는 구문) 트리가 만들어지면 이러한 문법을 모호 (ambiguous)하다고 한다. 모호한 문법은 어떠한 명확한 구조를 표현하지 않기 때문에 어려 움을 야기한다. 모호성을 갖는 문법을 유용하게 하려면 문법을 모호함이 없도록 개정하거 나, 어떤 구조가 의미 있는지를 결정할 수 있게 모호성 제거규칙(disambiguating rule)을 기술해야 한다. 그러므로 정답은 3번이다

20 2.2 프로그래밍 언어 구현 기법 컴파일 기법 * 컴파일 기법 - 주어진 고급 프로그램이 언어로 작성한 프로그램을 실제 컴퓨터의 기계어로 번역하여 동등한 의미의 기계어 프로그램을 만들어 실행시키는 방법 * 컴파일러(compiler) - 고급언어인 원시언어를 실제 기계언어에 가까운 저급언어인 목적언어로 만들어 주는 번역기 * 어셈블러(assembler) - 목적언어가 준기계어 형태라는 점에서는 컴파일러와 유사하나 원시언어가 어셈블리 언 어인 번역기 * 링커(linker) - 재배치 형태의 기계어로 구성된 여러 개의 프로그램을 묶어서 로드 모듈이라는 어느 정도 실행 가능한 하나의 기계어로 번역해 주는 번역기 * 로더(loader) - 로드 모듈로 된 기계어 프로그램을 실제 실행 가능한 기계어로 번역해서 주기억장치에 적재하는 것 * 프리프로세서(preprocessor) - 원시언어와 목적언어가 모두 고급언어인 번역기 인터프리트 기법 * 인터프리트 기법 - 고급언어를 기계어로 하는 컴퓨터를 하드웨어로 구성하는 대신에 그 고급언어 기계를 다른 기계에서 실해오디는 소프트웨어로 시뮬레이션하여 구성하는 방법 인터프리트 기법과 컴파일 기법의 비교 * 중간 코드 실행기법 - 컴파일 기법과 인터프리트 기법을 함께 사용하여 컴퓨터에 구현한 방법 - 프로그램을 실행시키기 쉬운 형태로 번역한 후에, 그 번역된 형태의 프로그램을 실행 시뮬레이션으로 실행하는 방법 2.2 프로그래밍 언어 구현 기법 기출문제 [2009 기말] 37. 재배치 형태의 기계어로 구성된 여러개의 프로그램을 묶어서 로드 모듈이라는 어느 정 도 실행 가능한 하나의 기계어로 번역해 주는 번역기는? 1 어셈블러 2 로더 3 링커 4 프리프로세서 링커(linker) : 링커(또는 링키지 에디터)는 재배치 형태의 기계어로 구성된 여러 개의 프로그램(대부분의

21 경우 각각 컴파일된 목적 코드와 라이브러리 프로그램)을 묶어서 로드 모듈(load module) 이라는 어느 정도 실행 가능한 하나의 기계어로 번역해 주는 번역기이다. 그러므로 정답은 3번이다. 55. 프로그래밍 언어 구현 기법을 설명한 것으로 올바른 것은? 1 컴파일 기법이란 고급언어 기계를 다른 기계에서 실행되는 소프트웨어로 시뮬레이션하여 구성하는 방법을 의미 2 인터프리트 기법이란 원시언어로 작성된 프로그램을 입력으로 읽어서 목적언어로된 기능 이 동등한 프로그램을 출력해 주는 언어 처리기 의미 3 실행시간의 효율을 중시하는 프로그래밍 언어는 주로 인터프리트 기법을 적용한다. 4 컴파일 기법의 경우 한 줄의 원시 프로그램이 때로는 몇백 개의 기계어 명령으로 번역되 기 때문에 매우 큰 기억장치가 필요하다. 1번 해설 : 컴파일 기법이 아닌 인터프리트 기법에 대한 설명이다. 2번 해설 : 인터프리트 기법이 아닌 컴파일 기법에 대한 설명이다. 3번 해설 : 실행시간의 효율을 중시하는 프로그래밍 언어는 주로 컴파일 기법을, 사용자의 유연성을 중시하는 언어는 주로 인터프리트 기법을 적용하게 된다. 그러므로 정답은 4번이다. [2009 중간] 2. 컴파일 기법과 인터프리트 기법에 대해서 설명하시오. 컴파일 기법(compile) : 주어진 고급 프로그래밍 언어로 작성한 프로그램을 실제 컴퓨터의 기계어로 번역하여 동 등한 의미의 기계어 프로그램을 만들어 실행시키는 방법이다. 일반적으로 컴파일러는 원시 (source)언어(고급 또는 저급언어)로 작성된 프로그램을 입력으로 읽어서 목적(object)언어 (저급 또는 고급언어도 가능)로 된 기능이 동등한 프로그램을 출력해 주는 언어 처리기로 정의된다. 인터프리트 기법(interpretation) : 고급언어로 작성된 프로그램을 실행하고자 할 경우, 그와 동일한 기계어로 번역하여 실행 시키는 방법 외에도 고급언어를 기계어로 취급할 수 있는 컴퓨터를 가상하여 실제 컴퓨터에 서 시뮬레이션하여 실행시키는 방법도 있다. 인터프리트 기법(또는 소프트웨어 시뮬레이션 기법)이란 고급언어를 기계어로 하는 컴퓨터를 하드웨어로 구성하는 대신에 그 고급언어 기 계를 다른 기계에서 실행되는 소프트웨어로 시뮬레이션하여 구성하는 방법을 의미한다. [2008 기말] 38. 프로그래밍 언어 번역에 관한 설명으로 옳은 것은? 1 현재의 컴퓨터는 저수준의 언어인 기계어와 중간코드만을 바로 실행할 수 있다. 2 고수준의 프로그래밍 언어로 작성된 프로그램을 곧바로 실행하는 번역기를 컴파일러라 한다

22 3 프로그램을 실행에 적합한 형태로 바꾸는 번역기를 인터프리터라 한다. 4 컴파일러는 원시 프로그램을 받아들여 목적 프로그램을 만들어 낸다. 1번 해설 : 고급언어로 작성된 프로그램을 실제 컴퓨터에서 실행시킬 수 있는 기계어로 변경하는 구현방법으로는 컴파일 기법과 인터프리트 기법이 있다. 2번 해설 : 인터프리터와 컴파일러는 고급언어로 표현된 고수준의 프로그램을 읽어들인 다는 점에서는 같다. 그러나 컴파일러는 단지 그 입력 프로그램과 동일한 목적언어로 된 효율적인 목적 코드를 출력만 하는 반면에 인터프리터는 직접 고수준의 프로그램을 실행시킬 수 있다. 3번 해설 : 프로그램을 실행에 적합한 형태로 바꾸는 번역기를 컴파일러라고 한다. 컴파 일러는 고급언어인 원시언어를 실제 기계언어에 가까운 저급언어인 목적언어 로 만들어 주는 번역기이다. 그러므로 정답은 4번이다. [2007 기말] 38. 다음 설명 중 틀린 것은? (4번) 1 고수준의 프로그래밍 언어로 작성된 프로그램은 번역기를 거쳐야만 실행될 수 있고, 프 로그램을 곧바로 실행하는 번역기를 인터프리터라 하고, 프로그램을 실행에 적합한 형태로 바꾸는 번역기를 컴파일러라 한다. 2 프로그램과 입력 자료가 인터프리터에 주어지면 인터프리터는 이를 곧바로 실행시켜 결 과를 출력한다. 3 컴파일러는 최적화 코드를 만들 수 있기 때문에 컴파일러에 의해 만들어진 목적 프로그 램은 실행 속도가 빠르다. 4 중간 코드는 단순히 원래의 프로그램에서 불필요한 정보를 제거하고 명령어의 해독을 간 단히 하기 위해 명령문의 성분을 고정 형식으로 저장해 놓은 것이 상당수이며, 이 경우는 기본적으로 컴파일러 방식에 가깝다. 4번 해설 : 중간 코드 실행 기법은 프로그램을 실행시키기 쉬운 형태로 번역한 후에, 그 번역된 형태의 프로그램을 실행 시뮬레이션으로 실행하는 방법이다. 즉, 컴파일러 방법의 가장 큰 장점인 효율성을 최대한 추구하면서 자료관리나 기억장소 운영 등 일부 연산을 인터프리터 방법으로 구현한다. 그러므로 정답은 4번이다. [2007 중간] 2. 프로그래밍 언어를 번역하는 2가지 방법을 설명하고 각 방식을 채택한 언어의 예를 드시 오. 컴파일 기법(compile) : 주어진 고급 프로그래밍 언어로 작성한 프로그램을 실제 컴퓨터의 기계어로 번역하여 동

23 등한 의미의 기계어 프로그램을 만들어 실행시키는 방법이다. 일반적으로 컴파일러는 원시 (source)언어(고급 또는 저급언어)로 작성된 프로그램을 입력으로 읽어서 목적(object)언어 (저급 또는 고급언어도 가능)로 된 기능이 동등한 프로그램을 출력해 주는 언어 처리기로 정의된다. 예) Fortran, Algol, PL/1, Pascal, Cobol, C, Ada 등 인터프리트 기법(interpretation) : 고급언어로 작성된 프로그램을 실행하고자 할 경우, 그와 동일한 기계어로 번역하여 실행 시키는 방법 외에도 고급언어를 기계어로 취급할 수 있는 컴퓨터를 가상하여 실제 컴퓨터에 서 시뮬레이션하여 실행시키는 방법도 있다. 인터프리트 기법(또는 소프트웨어 시뮬레이션 기법)이란 고급언어를 기계어로 하는 컴퓨터를 하드웨어로 구성하는 대신에 그 고급언어 기 계를 다른 기계에서 실행되는 소프트웨어로 시뮬레이션하여 구성하는 방법을 의미한다. 예) LISP, Snobol4, APL, Prolog 등 [2006 기말] 39. 프로그래밍 언어 번역에 관한 설명으로 틀린 것은? 1 현재의 컴퓨터는 저수준의 언어인 기계어만을 바로 실행할 수 있다. 2 고수준의 프로그래밍 언어로 작성된 프로그램을 곧바로 실행하는 번역기를 중간 코드 생 성기라 한다. 3 프로그램을 실행에 적합한 형태로 바꾸는 번역기를 컴파일러라 한다. 4 컴파일러는 원시 프로그램을 받아들여 목적 프로그램을 만들어 낸다. 2번 해설 : 고수준의 프로그래밍 언어로 작성된 프로그램을 곧바로 실행하는 번역기는 인터프리터이다. 중간 코드 실행 기법은 프로그램을 실행시키기 쉬운 형태로 번역한 후에, 그 번역된 형태의 프로그램을 실행 시뮬레이션으로 실행하는 방법이다. 그러므로 정답은 2번이다. [2006 하계계절] 6. 인터프리터 방식과 컴파일러 방식의 중간 형태를 취하여 프로그램의 이동성을 높인 언어 는? 1 JAVA 3 Smalltalk 2 C++ 4 LISP 1번 해설 : 최근에 개발되어 각광받고 있는 Java 언어는 바이트 코드라 불리는 거의 기 계어 수준의 중간 언어이며, 한 번 바이트 코드로 번역된 것을 다시 번역하지 않고 계속 사용하기 때문에 Java 컴파일러라 부르지만, 호환성을 갖기 위하여 인터프리터(JVM)가 중간 언어를 실행하므로 중간 코드 구현 기법을 택한 것 이라 할 수 있다. 그러므로 정답은 1번이다

24 35. 다음 언어의 번역과 관련되어 틀린 설명은? 1 프로그램을 곧바로 실행하는 번역기를 인터프리터라고 한다. 2 프로그램을 실행에 적합한 형태로 바꾸는 번역기를 컴파일러라 한다. 3 인터프리터는 대화형 프로그램에 많이 사용된다. 4 컴파일러의 경우, 프로그램의 개발이 용이하고, 개발기간도 단축된다. 4번 해설 : 인터프리트 기법은 실행할 때마다 형 검사 등을 수행하기 때문에 실행 중에 자료의 동적 변화나 사용자와의 대화가 쉬워 유연성이 높은 언어의 구현에 편리하다. 뿐만 아니라 초보자라도 프로그램을 개발하기가 쉬우며 개발 기간 도 단축된다. 그러므로 정답은 4번이다. [2005 기말] 61. 컴파일러언어와 비교하여 인터프리터 언어의 일반적인 장점은 무엇인가? 1 초보자들의 프로그램 개발이 용이하고, 개발기간도 단축된다. 2 목적 프로그램을 링킹 로더에 의해 메모리에 적재하여 실행한다. 3 신택스 오류를 실행 전에 찾아준다. 4 최적화 코드를 생성하여 목적 프로그램의 실행 속도가 빠르다. 2번 해설 : 인터프리터 언어는 프로그램 실행 시마다 고급언어로 만들어진 프로그램 실 행 시뮬레이션을 통해 실행시켜야 한다. 3번 해설 : 인터프리트 기법은 실행할 때마다 형 검사 등을 수행하기 때문에 실행 중에 자료의 동적 변화나 사용자와의 대화가 쉬워 유연성이 높은 언어의 구현에 편리하다. 4번 해설 : 컴파일 기법은 번역을 하고 나면, 그 이후부터는 매우 빠른 시간에 실행될 수 있기 때문에 전체 실행시간 측면에서 매우 효율적이다. 그러므로 정답은 1번이다. 제 3 장 변수, 바인딩, 식 및 제어문 3.1 변수 * 변수(variable) - 실행시간 동안 그 값이 바뀔 수 있는 객체를 의미 - ISO 국제규격 : 선언문 또는 묵시적 선언으로 생성되며, 식별자, 자료속성의 집합, 하 나 이상의 주소, 자료값의 네 가지 요소로 구성되는데, 주소와 자료값의 관계는 변할 수 있다. * 노엄 촘스키(Noam Chomsky)

25 - 문법의 종류 분류 - 문맥자유 문법에 대한 아이디어 제안 3.1 변수 기출문제 [2009 기말] 57. 변수란 실행시간 동안 그 값이 바뀔 수 있는 객체를 의미한다. 변수의 구성요소가 아닌 것은? 1 명령어 2 자료속성의 집합 3 자료값 4 식별자 변수란 선언문 또는 묵시적 선언으로 생성되며, - 식별자, - 자료속성의 집합, - 하나 이상의 주소, - 자료값 의 네 가지 요소로 구성되는데, 주소와 자료값의 관계는 변할 수 있다. 그러므로 정답은 1번이다. [2006 기말] 44. 다음 중 변수의 속성에 포함되지 않는 것은? 1 기호테이블 3 저장위치 2 형 4 값 변수의 속성으로는 다음과 같은 것을 들 수 있다. (1) 이름 (4) 위치 (2) 형 (5) 범위 (3) 값 (6) 생명 시간 그러므로 정답은 1번이다. 67. 다음의 C 언어 변수 선언 int x; 이 있다고 할 때 변수 x에 할당되는 기억장소 크기는 어떻게 결정되는가? 1 C 언어 정의에서 지정된 정수의 범위에 따라 정적으로 2 사용하는 하드웨어의 정수 표현법에 따라 정적으로 3 실행시 x에 지정되는 값의 크기에 따라 동적으로 4 사용하는 하드웨어와 상관없이 정적으로

26 2번 해설 : C와 같은 컴파일러 언어에서는 변수 x의 자료형이 프로그램 작성 시에 확정 되는데, 이 경우 컴퓨터는 번역 시에 알게 되어 변수의 형은 번역시간(또는 컴파일 시간)에 바인딩된다고 한다. 변수 x의 형이 번역시간에 결정됨으로써 변수 x가 실행시간에 취할 수 있는 값의 종류와 변수 x의 값을 넣을 기억장 소의 크기 또한 번역시간에 확정된다. 그러므로 정답은 2번이다. 3.2 바인딩 바인딩의 개념 * 바인딩(binding) - 어떤 속성을 연결하는 과정을 의미 - 프로그램의 기본단위에 그 기본단위가 택할 수 있는 여러 가지 속성 중에서 일부를 선 정하여 결정해 주는 행위 * 바인딩 시간(binding time) - 바인딩이 발생하는 시간이 언제인지를 의미 바인딩 시간의 종류 * 정적 바인딩(static binding) - 번역시간에 이루어지는 바인딩 * 동적 바인딩(dynamic binding) - 실행시간에 이루어지는 바인딩 * 번역시간(translation time) - 컴파일 시간, 링크 시간, 로드 시간으로 구성 3.2 바인딩 기출문제 [2009 기말] 36. 변수의 이름에 어떤 속성을 연결하는 과정을 무엇이라 하는가? 1 바인딩 2 인스턴스 3 매개변수의 전달 4 선언 변수 이름에 어떤 속성을 연결하는 과정을 바인딩(binding)이라고 한다. 프로그램의 기본단 위에 그 기본단위가 택할 수 있는 여러 가지 속성 중에서 일부를 선정하여 결정해 주는 행 위를 말한다. 2번 해설 : 객체 지향 프로그래밍에서 어떤 등급에 속하는 각 객체를 인스턴스라고 한다. 3번 해설 : 프로시저가 호출되었을 때, 호출 프로그램은 실 매개변수의 주소를 직접 또는 간접으로 호출된 프로시저에 전달한다. 호출된 프로시저는 실 매개변수와 형

27 식 매개변수를 대응시키기 위하여 필요한 경우에 주소나 값을 복사하기도 한 다. 프로그래밍 언어에 따라 대응되는 값을 전달하는 방법은 다르다. 4번 해설 : 선언이란 실행 시 사용할 자료의 속성을 컴파일러 등에 알려주는 프로그램 문장으로, 바인딩을 제공하는 중요한 방법이다. 그러므로 정답은 1번이다. 56. 바인딩 시간의 종류에 대한 설명으로 올바른 것은? 1 바인딩은 대부분 프로그램 실행시간 중에 이루어지는 정적 바인딩을 한다. 2 컴파일러 언어에서는 대부분의 중요한 바인딩이 번역시간에 수행된다. 3 컴파일러 언어는 대부분 동적 바인딩을 기본으로 한다. 4 언어의 정의시간 바인딩을 많이 해서 언어의 구현시간에 일어나는 바인딩을 최대화함으 로써 호환성을 갖도록 시도한다. 1번 해설 : 바인딩은 대부분 프로그램 실행시간 중에 이루어지는 동적 바인딩을 한다. 3번 해설 : 컴파일러 언어에서는 대부분의 중요한 바인딩이 번역시간(translation time)에 수행된다. 즉, 컴파일러 언어는 대부분 정적 바인딩을 기본으로 한다. 4번 해설 : 대부분의 프로그래밍 언어에서는 언어의 정의시간 바인딩을 많이 해서 언어 의 구현시간에 일어나는 바인딩을 최소화함으로써 프로그램이 가능한 한 특 정 기종이나 구현에 구애받지 않는 호환성을 갖도록 시도한다. 그러므로 정답은 2번이다. [2009 중간] 3. 바인딩의 개념과 바인딩 시간 종류에 대해 설명하시오. 변수 이름에 어떤 속성을 연결하는 과정을 바인딩(binding)이라고 한다. 속성이 이름에 연결 되고 계산되는 과정이 어느 시점에서 이루어지는가에 따라 바인딩을 분류할 수 있는데, 그 시간을 바인딩 시간(binding time)이라고 한다. 다시 요약하면 바인딩이란 프로그램의 기본 단위에 그 기본단위가 택할 수 있는 여러 가지 속성 중에서 일부를 선정하여 결정해 주는 행위를 말하며, 바인딩 시간은 간략하게 바인딩이 발생하는 시간이 언제인지를 의미한다고 정의할 수 있다. 바인딩 시간의 종류 (1) 실행시간 : 바인딩은 대부분 프로그램 실행시간 중에 이루어지는 동적 바인딩을 한다. 예를 들어 변수값 확정 또는 자료구조에 기억장소 할당 등은 실행시간에 이루어진다. (2) 번역시간 : 컴파일러 언어에서는 대부분의 중요한 바인딩이 번역시간(translation time) 에 수행된다. 즉, 컴파일러 언어는 대부분 정적 바인딩을 기본으로 한다. 번역시간은 컴파일 시간, 링크 시간, 로드 시간으로 구성된다. 이때 발생하는 바인딩 종류로는 변수의 형, 자료 구조의 형과 크기, 레코드의 각 항목의 형 등을 확정하는 바인딩 등이 있다. (3) 언어 구현시간 : 모든 프로그래밍 언어에서 언어 정의 시 그 언어의 구성자에 관한 많

28 은 특성을 구체적으로 모두 한정하지 않고, 프로그램을 작성할 때에 그 특성의 일부를 확정 하도록 일임하고 있다. 한 언어에서 허락하는 정수의 자릿수, 실수의 유효숫자 개수 또는 수의 기계 내에서의 표기법 등이 이에 속한다. (4) 언어의 정의시간 : 프로그래밍 언어에서 허용되는 자료구조, 프로그램 구조, 택일문 등 에 관한 것은 프로그래밍 언어를 설계할 때 확정된다. 예를 들어 혼합형 연산이 허용되는 덧셈이나 곱셈 연산에서 연산해야 할 두 피연산자의 형에 따라 어떤 형의 연산을 해야 하는 지를 확정하는 것은 그 프로그램이 언어의 정의에 속한다. [2008 기말] 42. 다음 프로그래밍 언어에서 속성과 바인딩에 관한 설명으로 옳은 것은? 1 바인딩 : 프로그램에 나타나는 변수, 프로시저, 문 등의 실체들마다 어떤 성질을 갖게 되 는 성질 2 속성 : 속성이 사용되기 전에 결정되어야 하는 것으로, 실체의 속성을 특정한 값으로 정 하는 것 3 동적 바인딩 : 실행 이전에 바인딩이 이루어지는 것 4 정적 속성 : 번역시, 링크시, 로드시에 대부분 바인딩된다. 1번 해설 : 바인딩이란 변수 이름에 어떤 속성을 연결하는 과정을 말한다. 바인딩에 관한 설명이 아닌 속성에 대한 설명이다. 2번 해설 : 속성에 관한 설명이 아닌 바인딩에 대한 설명이다. 3번 해설 : 실행시간에 이루어지는 바인딩이 동적 바인딩이다. 그러므로 정답은 4번이다. 57. 실체의 속성을 특정한 값으로 정해주는 것을 무엇이라 하는가? 1 파싱 2 링킹 3 인터프리터 4 바인딩 1번 해설 : 파싱((syntactic) parsing)은 일련의 문자열을 의미있는 토큰(token)으로 분해 하고 이들로 이루어진 파스 트리(parse tree)를 만드는 과정을 말한다. 2번 해설 : 목적파일들을 실행 가능한 형태로 만들기 위해, 여러 개의 목적파일들을 하나로 연결해주는 작업이 필요한데, 이것을 링크, 또는 링킹 이라고 합니다. 3번 해설 : 인터프리터는 고급언어로 된 프로그램을 입력으로 읽어 기계어 수행과 동일 한 알고리듬으로 프로그램의 각 문장을 디코딩하고 실행시킴으로써 이 고급 언어를 시뮬레이션 한다. 4번 해설 : 바인딩이란 변수 이름에 어떤 속성을 연결하는 과정을 말한다. 그러므로 정답은 4번이다. [2007 기말] 59. 다음 속성과 바인딩에 대한 설명으로 틀린 것은? (2번) 1 프로그램에 나타나는 변수, 프로시저, 문 등의 실체들마다 어떤 성질을 갖게 되는데, 이 러한 성질을 그 실체의 속성이라고 한다

29 2 동적 속성은 대부분 번역시, 링크시, 로드시에 바인딩된다. 3 속성은 그 속성이 쓰이기 전에 반드시 결정되어 있어야 하는데, 실체의 속성을 특정한 값으로 정하는 것을 바인딩이라고 한다. 4 동적 속성인 경우에는 실행시까지 해당 설명자가 유지되어 야 하며, 이 설명자는 형조사 나 메모리 할당 등을 위하여 실행 시간 시스템이 사용한다. 2번 해설 : 바인딩은 대부분 프로그램 실행시간 중에 이루어지는 동적 바인딩을 한다. 컴파일러 언어에서는 대부분의 중요한 바인딩이 번역시간에 수행된다. 즉, 컴파일러 언어는 대부분 정적 바인딩을 기본으로 한다. 번역시간은 컴파 일 시간, 링크 시간, 로드 시간으로 구성된다. 그러므로 정답은 2번이다. [2007 중간] 3. 정적 바인딩과 동적 바인딩을 설명하고, 정적 속성과 동적 속성을 예를 들어서 설명하시 오. 바인딩 시간은 여러 종류의 바인딩을 간결하게 구분하기 위해 사용될 수 있는 가장 좋은 특 징이다. 바인딩 시간과 관련하여 정적 바인딩(static binding)과 동적 바인딩(dynamic binding) 개념이 있다. 즉, 번역시간에 이루어지는 바인딩이 정적 바인딩이고, 실행시간에 이루어지는 바인딩이 동적 바인딩이다. 동적 바인딩 : 실행시간 중에 이루어진다. 정적 바인딩 : 컴파일 시간, 링크 시간, 로드 시간으로 구성된다. [2006 하계계절] 10. 프로그램에 나타나는 변수, 프로시저, 문 등의 실체들마다 갖게 되는 어떤 성질을 무엇 이라 하는가? 1 바인딩 3 모듈 2 캡슐 4 속성 1번 해설 : 변수 이름에 어떤 속성을 연결하는 과정을 바인딩(binding) 이라고 한다. 2번 해설 : 자료형의 표현과 그에 관련된 연산을 함께 묶은 것을 캡슐이라 한다. 3번 해설 : 컴퓨터 시스템을 이용하여 특정일을 수행할 수 있도록 구성되어진 단위를 의 미한다. 그러므로 정답은 4번이다. [2005 기말] 37. 변수의 속성 중 보통 동적으로 바인딩되는 것은? 1 형 3 이름 2 값 4 위치

30 - 30 -

31 바인딩은 대부분 프로그램 실행시간 중에 이루어지는 동적 바인딩을 한다. 실행시간은 두 가지 개념으로 나누어진다. 1) 모듈의 시작 시간 : 많은 프로그래밍 언어에서 중요한 바인딩이 모듈 프로그램 실행 시 작 시간에 발생한다. 2) 실행시간의 사용시점 : 프로그램을 실행하는 동안 사용시점에서 수시로 발생하는 바인딩 이 있다. 대표적인 예로는 할당문에서 값을 변수에 바인딩하는 것이다. 그러므로 정답은 2번이다. 3.3 선언 * 선언(declaration) - 실행 시 사용할 자료의 속성을 컴파일러 등에 알려 주는 프로그램 문장 - 바인딩을 제공하는 중요한 방법 * 묵시적 선언(default declaration) - 명시적 선언이 없는 경우 * 형고정 연산(type specific operation) - 프로그래밍 언어에서 피연산자와 연산결과의 자료형이 하나로 고정된 연산 * 혼합형 연산(generic 혹은 mixed operation) - 주어진 연산자에 대한 피연산자와 연산결과의 자료형이 고정되지 않은 연산 3.3 선언 기출문제 [2009 기말] 38. 선언문의 주요한 목적에 포함되지 않는 것은? 1 주기억장치 사용과 접근방법의 효율성 향상 2 대규모 프로그래밍 지원 3 주기억 장치 경영의 효율성 향상 4 정적 형 검사 가능 프로그래밍 언어에서 선언문은 다음과 같은 중요한 목적을 세 가지 달성할 수 있다. (1) 주기억장치 사용과 접근방법의 효율성 (2) 주기억장치 경영의 효율성 (3) 정적 형 검사(static type checking) 가능 그러므로 정답은 2번이다

32 3.4 할당문 * 할당문 - 변수의 내용을 변경할 수 있는 연산 단순 할당문 * 단순 할당문 - 구문 형식 : <목적지_변수><할당_연산자><식> - 예) A = B = C 다중 목적변수 할당문 * 다중 목적변수 할당문 - 식 값을 한 개 이상의 목적변수에 할당하는 것을 허용하는 것 - 예) W, X, Y = 조건 목적변수 할당문 * 조건 목적변수 할당문 - 할당문에 조건 목적변수를 허용하는 것 - 예) flag? n:m = 복합할당 연산자 * 복합할당 연산자(compound assignment operator) - 일반적으로 할당문에 필요한 형태를 표현하는 축약방법 - 예) s = s+t s += t 단항할당 연산자 * 전위 연산자(prefix operator) - 연산자가 피연산자 앞에 오는 것 * 후위 연산자(postfix operator) - 연산자가 피연산자 뒤에 오는 것 식으로서의 할당문 * 식 부작용 - 할당문을 식의 피연산자에 허용하여 생기는 단점 - 읽고 이해하기 어려운 식을 초래할 수 있음 혼합형 할당문 * 혼합형 할당문 - 할당문에서 양편에 자료형이 서로 다른 경우

33 3.5 상수 및 변수 초기화 * 상수 - 프로그램이 수행되는 동안 값이 변경되는 것을 원치 않을 때 사용 - 식별자로 주어지며 프로그램 수행 중 결합된 값이 결코 변하지 않는데 선언문을 이용 하거나 묵시적 선언을 통해 생성 3.6 표현식 식의 개요 * 표현식(expression) - 하나 이상의 피연산자를 가지고 자료값의 계산을 기술하는 것 - 상수나 변수 같은 피연산자, 연산자, 그리고 사용 가능한 함수호출(function call)로 구 성 * 프로그램 상태공간(program state space) 또는 프로그램 환경(program environment) - 한 프로그램에서 사용되는 모든 변수와 관련 있는 값이 형성하는 것 * 참조투명성(referential transparency) - 환경을 변화시키지 않고 오직 값만 생성하는 것이 이상적인 식의 평가라는 것을 의미 * 좌결합 법칙 - 우선순위가 같은 두 개의 연산자가 함께 이웃했을 때 왼쪽 것을 먼저 수행하는 법칙 논리조건 * 적용순서(applicative order) - 피연산자1 연산자 피연산자2 와 같은 식에서 두 개의 피연산자를 평가한 후 결과를 얻 기 위해 연산자를 적용하는 방법의 평가

34 3.7 조건문 * 조건문(conditional statement) - 조건에 따라 실행되는 부분이 달라질 때 사용하는 문장

35 3.8 반복문 * 반복문(iteration statement) - 한 개 이상의 문장을 0번 이상 반복하여 실행시키는 문장 사용자 지정 반복 - 예) loop-repeat, break, continue 논리제어 반복문 - 예) while, until, do-while 논리제어 반복문 - 예) for

36 제 4 장 자료형 4.1 자료형과 형 선언 * 자료형 - 객체(object)의 집합과 이 객체의 실체(instance)를 생성(create), 작성(build-up), 소멸 (destroy), 수정(modify), 분해(pick apart)하는 연산의 집합을 의미 * 강 자료형(strongly type) - 자료형에 관한 모든 특성이 번역시간에 확정되는 프로그래밍 언어 * 구성원(member) - 객체(object), 요소(element) 또는 값(value)이라 불리며, 자료형의 구성원이 자료형 영 역(domain)을 구성 * 리터럴(literal) - 프로그래머가 작성한 구성원 * 스칼라형(scalar type) 또는 단순형(simple type) - 자료형 영역이 단순한 상수값으로만 구성되어 있는 자료 * 구조형(structured type) - 필드의 집합이며, 필드는 자신의 자료형을 따로 가짐 4.2 단순형 수치형 * 수치형 - 스칼라형으로 정수 또는 실수의 근사값을 표현 * 다형성(polymorphism) - 한 연산자가 속성은 같은데 피연산자의 자료형에 의존해 실제 기계에서 다른 것으로 간주되는 것을 의미 논리형 * 논리형 값의 영역 - 두 개의 객체, 즉 참과 거짓으로 구성 - 예) and, or, not, implies(imp), equivalence(equiv) 등 4.2 단순형 기출문제 [2007 기말] 53. 다음 중 기본 자료형에 대한 설명으로 틀린 것은? 1 정수형과 실수형은 하드웨어에서 직접 지원하는 자료형이다. 2 실수형은 보통 부동 소수점 표현법으로서 지수부와 가수부로 나누어 표현한다. 3 열거형의 원소는 0, 1, 2의 정수로 일대일 대응시키면 되기 때문에 수의 한계가 추가된

37 다는 것 외에는 정수형과 같이 취급하면 된다. 4 불형은 한 비트로 표현할 수 있지만 비트단위로 접근하는 것이 어려운 경우가 많기 때문 에 기계에서 주소 지정이 가능한 최소 단위를 할당하는 것이 일반적이다. 2번 해설 : 실수형은 보통 부동 소수점 표현법으로서 지수부와 가수부, 부호 비트로 나누 어 표현한다. 그러므로 정답은 2번이다

38 4.3 열거형 * 열거형(enumeration type) - 객체의 영역은 리스트로 정해 주며, 연산은 동등 및 순서 관계와 할당연산을 허용 4.4 배열 * 배열 - 집합체에서 첫 원소의 상대적 위치인 첨자로 원소를 식별하는 동질형 자료 (homogeneous data)의 집합체 * 레코드 - 원소를 식별자로 구별하는 이질형 자료(heterogeneous data)의 집합체 * 정적 배열(static array) - 첨자범위가 정적으로 바인딩되고 기억장소 할당이 정적으로(실행시간 전에) 이루어지는 배열 * 명세표(descriptor) - 배열이름과 원소의 형, 원소의 길이, 배열의 시작 주소, 각 차원의 하한과 상한을 포함 * 행우선(row major) - n차원 배열에서 마지막 첨자가 가장 먼저 변하도록 원소를 순서화하는 방법 * 열우선(column major) - n차원 배열에서 첫 번째 첨자가 가장 먼저 변하도록 원소를 순서화하는 방법 4.4 배열 기출문제 [2009 기말] 39. 행우선 프로그래밍 언어에서 선언된 2차원 배열이 M(9,9)라 하면, M(0,0)의 저장주소 를 α라 할 경우 M(7,2)의 주소는? 1 α+65 2 α+66 3 α+67 4 α+68 2차원 배열의 크기가 M (9,9)라면 M(0,0) M(0,1) M(0,2)... M(0,8) 1 M(1,0) M(1,1) M(1,2)... M(1,8) M(7,0) M(7,1) M(7,2) 주소로 표현하면 M(0,0)의 저장주소가 α이고, 행우선이므로 α α+1 α+2... α+8 1 α+9 α+10 α α+17 2 α+18 α+19 α α α+63 α+64 α

39 공식으로 유추해 보면 다음과 같다. M(0,0) M(0,1) M(0,2) M(0,8)... = α+0*9+0 = α+0*9+1 = α+0*9+2 = α+0*9+8 M(1,0) M(1,1) M(1,2) M(1,8)... = α+1*9+0 = α+1*9+1 = α+1*9+2 = α+1* M(7,0) M(7,1) M(7,2)... = α+7*9+0 = α+7*9+1 = α+7*9+2 주소(M(i,j)) = 시작주소(=α) + i * size(=9) + j 로 계산하면 M(7,2) = α+7*9+2 됩니다. 그러므로 정답은 1번이다

40 4.5 연상배열 * 연상배열(associative array) - 키(key)라 불리는 값에 의해 접근되는 순서를 갖지 않는 데이터 원소의 집합체 * exists 연산자 - 피연산자 키가 해시의 한 원소인지 원소가 아닌지에 따라 참이나 거짓을 반환 * keys 연산자 - 해시에 적용될 때, 그 해시에 포함된 키로 구성된 배열을 반환 * values 연산자 - 해시의 값으로 구성된 배열을 반환 * each 연산자 - 해시의 원소쌍에 대해 반복 수행

41 4.6 레코드 * 레코드형(record type) - 이질형 자료로 구성된 조직적 자료형 - 레코드형의 선언부는 여러 필드와 그들의 값에 대한 형을 기술 4.6 레코드 기출문제 [2009 기말] 40. 다음 중 자료형에 대한 설명으로 틀린 것은? 1 자료형이란 객체의 집합과 그 객체의 실체를 생성, 작성, 소멸, 수정, 분해하는 연산의 집합을 의미한다. 2 연상배열은 키(key)라 불리는 값에 의해 접근되는 순서를 갖지 않는 데이터 원소의 집합 체이다. 3 레코드는 어떤 객체에 대한 참조를 의미하며 레코드 변수는 객체를 참조하는 주소값을 취하는 식별자이다. 4 자료형에 대한 검사에는 번역시간에 하는 정적 형 검사와 실행시간에 하는 동적 형 검사 가 있다. 3번 해설 : 레코드형(record type)은 이질형 자료로 구성된 조직적 자료형이다. 포인터란 어떤 객체에 대한 기억장치 주소참조를 말한다. 포인터 별수란 객 체를 참조하는 기억장치 주소값으로 취하는 식별자이다. 그러므로 정답은 3번이다. 4.7 포인터 자료형 * 포인터(pointer) - 어떤 객체에 대한 기억장치 주소참조 * 포인터 변수(pointer variable) - 객체를 참조하는 기억장치 주소값으로 취하는 식별자 * 힙(heap) - 객체가 동적으로 할당되는 기억장소 영역 * 힙 변수(heap variable) - 힙에 할당되는 변수 - 식별자 없이 포인터나 참조형 변수에 의해 참조가능 * 무명변수(anonymous variable) - 이름이 없는 변수 * 다중관계(multiple relationship) - 포인터의 경우 : 하나의 자료가 많은 리스트에 동시에 연결되는 것을 허용 참조형

42 * 참조형 - 주로 함수 정의에서 형식 매개변수를 위해 사용 - 함수 정의에서 형식 매개변수로 사용될 때, 호출함수와 피호출함수간에 양방향 통신을 제공 4.7 포인터 자료형 기출문제 [2009 기말] 58. 포인터 자료형에 관한 설명으로 올바르지 않은 것은? 1 포인터란 어떤 객체에 대한 기억장치 주소참조를 말한다. 2 객체가 동적으로 할당되는 기억장소 영역을 힙(heap)이라 한다. 3 포인터 사용은 언어에서 작성력을 향상시킨다. 4 포인터는 형 연산자를 사용하여 정의하며 구조형에 속한다. 4번 해설 : 포인터는 형 연산자를 사용하여 정의하지만, 배열과 레코드와는 달리 구조형 이 아니며 스칼라형은 더더욱 아니다. 왜냐하면 포인터는 자료를 저장하는 것이 아니라 다른 객체를 참조하는데 사용하기 때문이다. 그러므로 정답은 4번이다. [2009 중간] 4. 포인터와 힙 변수, 그리고 힙 기억장소를 설명하시오. 포인터(pointer)란 어떤 객체에 대한 기억장치 주소참조를 말한다. 포인터 변수(pointer variable)란 객체를 참조하는 기억장치 주소값으로 취하는 식별자이다. 포인터와 포인터 변 수가 초기 고급언어에는 포함되지 않았으나, 최근 프로그래밍 언어는 대부분 이 개념을 포 함하고 있다. 객체가 동적으로 할당되는 기억장소 영역을 힙(heap)이라 한다. 이 힙에 할당되는 변수를 힙 변수(heap variable)라 하며, 이러한 변수는 식별자 없이 포인터나 참조형 변수에 의해 참조될 수 있다. [2008 기말] 56. 다음 중 포인터에 대한 설명으로 옳은 것은? 1 포인터는 동적 자료 구조를 만드는 데 적합하지만 메모리 주소를 직접적으로 다루는 저 수준의 구조이므로 프로그램의 작성과 이해에 어렵고 불안정한 프로그램이 되기 쉽다는 단 점이 있다. 2 포인터가 지시하는 자료구조는 보통 정적 자료 구조이기 때문에 히프 기억장소로부터 할 당된다. 3 만약 할당받은 히프 기억 장소를 반납하기 전에 그 기억장소를 지시하는 포인터가 하나 도 없게 된다면, 그 히프 기억장소는 포인터 직접 접근을 통해 접근할 수 있다. 4 Pacsal, Modula-2에서는 포인터에 대한 산술 연산을 허용하여 융통성이 떨어지는 단점 이 있다

43 2번 해설 : 포인터가 지시하는 자료 구조는 보통 동적 자료 구조이기 때문에 히프로부터 할당이 된다. 3번 해설 : 만약 할당 받은 히프 기억장소를 반납하기 전에 그 기억 장소를 지시하는 포 인터가 하나도 없게 된다면 그 기억 장소는 반납할 수 없다. 4번 해설 : Pascal, Modula-2에서는 포인터에 대한 산술 연산을 금지하였으나 이렇게 하면 융통성이 떨어진다. 그러므로 정답은 1번이다. [2006 기말] 50. 다음 중 포인터형에 대한 설명으로 틀린 것은? 1 메모리 주소를 직접적으로 다루는 저수준의 구조이기 때문에 프로그램 이해에 도움을 준 다. 2 동적 자료 구조를 만드는 데 아주 좋다. 3 메모리를 직접적으로 접근하기 때문에 불안정한 프로그램이 될 수 있다. 4 현수 참조의 문제점이 발생할 수 있으므로 메모리 관리에 신경을 써야 한다

44 1번 해설 : 포인터는 동적 자료 구조를 만드는 데 아주 좋지만 메모리 주소를 직접적으 로 다루는 저수준의 구조이기 때문에 포인터를 많이 쓰면 프로그램을 작성하 고 이해하기가 어렵고 불안정한 프로그램이 되기 쉽다는 단점이 있다. 그러므로 정답은 1번이다. 4.8 자료형 변환 * 정적 형 검사(static type checking) - 번역시간에 수행 - 강 자료형을 요구하며 컴파일러에게 일관성 있는 형 검사를 허용하고 효율적인 목적 코드를 생성할 수 있도록 하는 검사 * 동적 형 검사(dynamic type checking) - 실행시간에 수행 * 형 변환(type conversion) - 주어진 자료형의 값을 다른 자료형의 값으로 변환하는 것을 의미 * 묵시적 형 변환 - 강제로 컴파일러에 요구되어 자동으로 수행되는 자동변환(automatic conversion) 또는 강제변환(coercion)이라 함 * 명시적 형 변환 - 프로그래머가 명령문으로 요구한 형 변환으로 캐스트(cast)라 함 4.8 자료형 변환 기출문제 [2009 기말] 50. 다음 설명으로 틀린 것은? 1 동적 형 검사는 프로그램 작성시의 단순성을 증가시킨다. 2 일반적으로 프로그래밍 언어에서는 스칼라형 사이의 형 변환은 제공되나 구조자료형이나 사용자 정의형 사이에서는 현 변환이 허용되지 않는다. 3 형 변환의 종류는 컴파일러에서 자동으로 수행하는 묵시적 형 변환과 프로그래머가 명시 하는 명시적 형 변환이 있다. 4 형 검사는 번역시간에 수행되는 동적 형 검사와 실행시간에 수행되는 정적 형 검사로 나 뉜다. 4번 해설 : 자료형에 대한 정적 형 검사(static type checking)는 번역시간에 수행되며 동적 형 검사(dynamic type checking)는 실행시간에 수행된다. 그러므로 정답은 4번이다. [2006 기말] 52. 변수와 그 변수에 적용 가능한 연산을 확인하는 형 조사에 관한 내용으로 틀린 것은? 1 어떤 연산에 올 수 있는 피연산자의 형과 함께 쓰일 수 있는 형을 별명이라 한다

45 2 동적 형 검사는 형 정보가 실행 시에 바인딩되며, 실행 시에 형 조사가 행해진다. 3 정적 형 검사는 모든 형 정보가 정적으로 바인딩되며, 형 조사가 정적으로 이루어진다. 4 프로그램의 모든 형 오류를 검출할 수 있는 언어를 강형 언어라고 한다. 해설 1번 해설 : 함께 쓰일 수 있는 형을 양립적인 형이라고 한다. 별명은 프로그래밍 언어의 변수에 대해 그 변수명을 대체할 수 있는 다른 식별자를 의미한다. 그러므로 정답은 1번이다

46 제 5 장 영역과 수명 5.1 블록과 영역 * 복합문(compound statement) - begin-end를 사용하여 일련의 문장집합을 하나의 단위문장으로 표시하는 형태 * 블록(block) - 복합문 안에 변수, 부프로그램, 레이블과 같은 지역 식별자(local identifier)를 선언하 고, 그 묶인 부분의 복합문 영역을 의미 5.1 블록과 영역 기출문제 [2006 기말] 45. 실체가 그 이름으로 유효하게 사용될 수 있는 프로그램 영역을 무엇이라 하는가? 1 영역 3 링크 2 r-값 4 기호테이블 1번 해설 : 일반적으로 영역(scope)이란 프로그램에서 사용되는 식별자(변수, 상수, 레이 블, 자료형, 부프로그램의 이름)가 의미를 가질 수 있는 범위를 의미한다. 보 다 구체적으로 말하면, 한 식별자의 영역이란 그 이름의 사용이 허락되는 프 로그램 범위를 말한다. 그러므로 정답은 1번이다

47 5.2 정적 영역과 동적 영역 * 정적 영역 규칙 - 식별자의 영역이 번역 시에 결정 * 지역(local)변수 - 정적 내포관계를 유지하는 블록 구조 언어에서 블록에서 선언된 변수와 형식 매개변수 * 비지역(non-local)변수 또는 전역(global)변수 - 정적 내포관계를 유지하는 블록 구조 언어에서 그 블록을 내포하고 있는 외부 블록에 서 선언된 변수 * 자유변수(free variable) - 해당 블록에서 정의되지 않은 변수 * 정적(static) - 번역 시 프로그램 문장만 조사하여 변수의 정의된 상태를 결정할 수 있는 것을 의미 * 영역구멍(hole-in-scope) - 전역(비지역)선언이 지역선언 때문에 보이지 않을 경우 * 가시성(visibility) - 선언의 바인딩이 적용되어 선언된 식별자를 참조할 수 있는 프로그램 부분을 의미 * 동적 영역 규칙 - 식별자의 영역이 실행시간에 결정 - 식별자 영역을 작성된 프로그램 문맥으로 해결하지 않고 프로그램이 실행되고 있는 순 서를 가지고 해결하는 방법 5.2 정적 영역과 동적 영역 기출문제 [2009 기말] 41. 다음 변수의 영역과 관련된 설명으로 틀린 것은? (4번) 1 정적 영역 규칙에서 프로그래밍 언어의 식별자의 영역이 번역 시에 결정되며, 동적 영역 규칙에서는 실행시간에 영역이 결정된다. 2 블록 구조 언어에서 블록에서 선언된 변수와 형식 매개 변수는 지역변수이며, 그 블록을 내포하고 있는 외부 블록에서 선언된 변수는 비지역 변수이다. 3 자유변수는 현 블록을 내포하고 있는 가장 안쪽의 바깥블록을 조사하고, 그 블록에도 해 당 이름이 선언되어 있지 않으면, 또 다음 바깥쪽의 블록을 조사하여 결정된다. 4 동적 영역 규칙이란 선언의 바인딩이 적용되는 프로그램의 부분 영역을 의미한다. 4번 해설 : 식별자 영역을 작성된 프로그램 문맥으로 해결하지 않고 프로그램이 실행되 고 있는 순서를 가지고 해결하는 방법을 동적 영역 규칙이라고 한다. 동적 영역 규칙을 따르는 언어로는 LISP 초기 버전, APL, Simbol 4 등이 있다. 그러므로 정답은 4번이다. [2008 중간] 3. 정적 영역와 동적 영역에 대해 설명하시오

48 정적 영역 : 일반적으로 컴파일러 언어는 정적 영역 규칙을 따르는 언어이다. 정적 내포관계를 유지하 는 블록 구조 언어에서 블록에서 선언된 변수와 형식 매개변수는 지역(local)변수이며, 그 블록을 내포하고 있는 외부 블록에서 선언된 변수는 비지역(non-local) 또는 전역(global)변 수이다. 정적(static)이라고 하는 것은 번역 시 프로그램 문장만 조사하여 변수의 정의된 상 태를 결정할 수 있기 때문이다. 동적 영역 : 식별자 영역을 작성된 프로그램 문맥으로 해결하지 않고 프로그램이 실행되고 있는 순서 를 가지고 해결하는 방법이 동적 영역 규칙이다. [2007 기말] 58. 다음 중 동적 영역에 대한 설명으로 틀린 것은? 1 비지역 변수에 대한 바인딩이 동적 영역에서는 호출 순서에 따라 이루어진다. 2 동적 영역은 피호출 프로시저에 전달할 매개변수가 호출부에서 선언된 변수라면 굳이 매 개변수로 전달할 필요가 없다. 3 호출부의 실행 환경이 피호출부에 그대로 노출되므로 지역변수를 보호하기 어렵고 신뢰 성이 낮아진다. 4 비지역 변수에 대한 형 조사를 정적으로 행하지 않아도 되므로 실행전에 형 오류를 검출 하기가 쉽고, 비지역 변수에 대한 접근 시간을 줄일 수 있다. 4번 해설 : 동적 영역 규칙은 프로그램이 실행되고 있는 순서를 가지고 해결한다. 또 비 지역 변수에 대하여 형 조사를 정적으로 행할 수가 없어 형 오류를 실행 전 에 검출하기가 어렵다. 그리고 비지역 변수에 접근하려면 정적 범위인 경우 보다 더 많은 시간이 걸릴 수 있다. 그러므로 정답은 4번이다. [2006 하계계절] 13. 정적 영역 규칙을 사용하는 경우, 아래 코드에 대한 호출 가능 프로시저로 옳은 것은?

49 procedure A... procedure B... procedure C... end C procedure D... end D... end B procedure E... procedure F... end F... end E... end A 1 프로시저 A : A, B 2 프로시저 B : A, B, C, D 3 프로시저 C : A, B, D 4 프로시저 E : A, B, C, F 내포된 프로시저의 블록의 경우 범위 규칙에 의하여 호출 가능한 프로시저가 될 수 있다. 1번 해설 : 프로시저 A - A, B, E 2번 해설 : 프로시저 B - A, B, C, D 3번 해설 : 프로시저 C - A, B, C 4번 해설 : 프로시저 E - A, B, E, F 그러므로 정답은 2번이다. [2005 기말] 54. 다음 설명으로 틀린 것은? (2번) 1 정적 영역 규칙이란 이름에 대한 바인딩이 프로그램의 외형적인 구조에 따라 먼저 자기 블록의 것과 바인딩되도록 시도한다. 2 동적 영역 규칙이란 실행 시 지정문에 변수값이 주어지면 그 값에 따라 변수에 형이 바 인딩되는 것을 말한다. 3 동적 형 바인딩은 컴파일러의 오류 검사를 현격히 떨어뜨린다는 단점을 가진다. 4 영역이란 실체가 그 이름으로 유효하게 사용될 수 있는 프로그램의 영역을 의미한다

50 2번 해설 : 실행 시 지정문에 변수값이 주어지면 그 값에 따라 변수에 형이 바인딩되는 것은 동적 형 바인딩이다. 동적 영역 규칙이란 식별자 영역을 작성된 프로그 램 문맥으로 해결하지 않고 프로그램이 실행되고 있는 순서를 가지고 해결하 는 방법이다. 그러므로 정답은 2번이다

51 5.3 언어에서의 영역 * 외부영역(external scope) - 어느 블록에도 속하지 않고 모든 함수 전체를 영역으로 하는 영역

52 5.4 변수의 수명 * 변수의 수명(lifetime 또는 extent) - 변수가 값을 저장하기 위해 기억장소를 할당받고 있는 시간을 의미 - 기억장소 할당과 함께 시작하여 그 변수이름에 할당된 기억장소가 더 이상 그 변수값 을 의미하지 않을 때까지를 의미 * 자동할당 방식 - C의 경우 : 한 변수가 선언된 블록이 시작될 때 변수는 기억장소를 할당받고, 블록이 끝나면 변수의 기억장소는 자동적으로 회수되는 방식 * 정적할당 방식 - C의 경우 : 프로그램 시작 시 기억장소가 할당되며 블록이 끝나더라도 기억장소 값이 그대로 유지되며 프로그램 종료 시 회수되는 방식 * 프로그래머 지정 할당 방식 - C의 경우 : 프로그램 수행 도중 malloc() 함수를 이용하여 기억장소를 할당하고 free() 함수를 호출하여 기억장소를 회수할 때까지 기억장소가 유지되는 방식 * 환경(environment) - 지역 단위로 묶여진 장소와 관련된 모든 식별자를 정의한 용어로서 지역변수, 진입점과 비지역변수에 접근하기 위한 정보도 포함 - 그 블록에서 선언된 프로시저와 레이블도 포함 * 동적 수명(dynamic extent) - 프로그래머에게 기억장소의 수명 제어권을 부여하는 것 * 쓰레기 수집(garbage collection) - 프로그램에서 더 이상의 참조가 없더라도 계속 기억장소에 존재하게 하다가 새 기억장 소가 요구될 때 이들 기억장소를 회수하여 재생시키는 것 * 풀(pool) - 기억장소를 계속 할당하다가 사용 가능한 기억장소 5.4 변수의 수명 기출문제 [2009 기말] 42. 변수 값을 저장하기 위해 기억장소를 할당받고 있는 동안을 무엇이라 하는가? 1 변수의 수명 3 변수의 속성 2 변수의 블록영역 4 변수의 영역구멍 1번 해설 : 변수의 수명(lifetime 또는 extent)이란 변수가 값을 저장하기 위해 기억장소 를 할당받고 있는 시간을 의미한다. 즉, 변수의 수명은 기억장소 할당과 함께 시작하여 그 변수이름에 할당된 기억장소가 더 이상 그 변수값을 의미하지 않을 때까지이다. 그러므로 정답은 1번이다. [2007 기말]

53 54. 변수가 기억 장소에 바인딩되어 있는 시간 간격은? 1 변수의 수명 2 변수 범위 3 동적 변수 범위 4 정적 변수 범위

54 1번 해설 : 변수의 수명(lifetime 또는 extent)이란 변수가 값을 저장하기 위해 기억장소 를 할당받고 있는 시간을 의미한다. 즉, 변수의 수명은 기억장소 할당과 함께 시작하여 그 변수이름에 할당된 기억장소가 더 이상 그 변수값을 의미하지 않을 때까지이다. 그러므로 정답은 1번이다. 5.5 C의 영역 * 파일 범위 - 하나의 C 소스 파일 전체를 뜻하는 것 * 함수 범위 - 함수가 선언되고 함수가 정의되는 부분을 의미 * 블록 단위 - 일반적으로 중괄호 { } 로 묶인 모든 영역의 범위를 의미 5.5 C의 영역 기출문제 [2006 하계계절] 46. 다음은 정적 영역을 알아보기 위한 C언어 예제이다. (<가>, <나>의 실행 순의) 출력 결과로 올바른 것은 무엇인가? #include <stdio.h> main() { int a, b; a = 1; b = 2; { int a; a = 3; b = 4; } printf("%d %d", a, b); } (가) #include <stdio.h> main() { int a, b; a = 1; b = 2; a = 3; b = 4; printf("%d %d", a, b); } (나)

55 C는 기본적으로 파일 범위, 함수 범위, 블록 범위의 세 가지 영역단위가 있는데 이들은 영 역에 대한 관리를 보다 복잡하게 만든다. 파일범위는 하나의 C 소스 파일 전체를 뜻하는 것 이고, 함수 범위는 함수가 선언되고 함수가 정의되는 부분을 의미한다. 블록 단위는 일반적 으로 중괄호 { } 로 묶인 모든 영역의 범위를 의미한다. (가)의 경우 우선, a와 b에 1과 2의 값이 대입된다. 다음으로 블록 안에서 다시 a변수를 선 언한 후, a의 값을 3으로 변경한다. 하지만 블록 밖의 a에 대입된 1의 값은 변경되지 않는 다. 하지만 블록 안에서는 b의 변수가 선언되지 않았으므로 블록 밖에 있는 b의 값이 2에 서 4로 변경된다. 즉, a와 b의 출력 값은 1과 4이다. (나)의 경우 main 블록 안에 a와 b가 선언되고, 1과 2의 값을 대입한다. 다음으로 a와 b에 3과 4의 값을 다시 대입한다. 이 경우 같은 블록안에 a와 b의 변수가 포함되어 있으므로 a 와 b의 값은 1과 2에서 3과 4로 수정된다. 즉, a와 b의 출력 값은 3, 4이다. 그러므로 정답은 2번이다. 제 6 장 기억장소 할당 6.2 단위 프로그램 * 지역변수 - 단위 프로그램이나 블록에서 선언하여 사용하는 변수 * 활성화 상태(activated state) - 한 단위 프로그램의 실행 시작부터 종료까지 * 단위 활성화(unit activation) - 실행시간에 한 단위 프로그램이 표현된 상태 - 코드부(code segment)와 활성화 레코드(activation record)로 구성 * 참조 환경(referencing environment) - 단위 프로그램에서 선언된 지역변수와 사용 가능한 비지역변수로 구성 6.2 단위 프로그램 기출문제 [2009 기말] 43. 단위 프로그램에서 선언된 지역변수와 사용 가능한 비지역 변수로 구성된 단위 활성화 에 관련된 정보를 무엇이라 하는가? 1 활성화 레코드 3 활성화 코드부 2 참조환경 4 활성화 상태 한 단위 활성화의 참조환경(referencing environment)은 단위 프로그램에서 선언된 지역변

56 수와 사용 가능한 비지역변수로 구성된다. 지역변수에 대한 기억장소는 자신의 활성화 레코 드에 할당되어 있으며, 비지역변수에 대한 기억장소는 다른 단위 프로그램의 활성화 레코드 에 자리 잡고 있다. 그러므로 정답은 2번이다. [2008 기말] 64. 다음 중 참조 환경에 대한 설명으로 옳은 것은? 1 명령문에서 접근할 수 있는 변수들의 집합을 활성화 레코드라 한다. 2 정적 영역 규칙의 언어에서는 이름에 대한 바인딩이 프로그램의 외형적인 구조에 따라 먼저 자기 블록의 것과 바인딩 되도록 시도하고 자기 블록에서 선언된 것이 아니면 그 바깥 쪽 블록을 조사해보는 순으로 진행된다. 3 참조 환경은 컴파일할 때 피연산자나 자료 구조의 속성을 결정하는 데 사용된다. 4 활성 상태란 변수에 대한 바인딩이 끝나고, 실행이 완료된 것을 말한다. 1번 해설 : 실행시간에 한 단위 프로그램이 표현된 상태를 단위 활성화(activated state) 라고 하는데, 단위 활성화는 코드부(code segment)와 활성화 레코드 (activation record)로 구성되어 있다. 프로그램의 명령어로 구성된 코드부는 고정 크기로 프로그램 실행 동안 내용이 변하지 않고, 활성화 레코드는 단위 활성화의 지역변수와 관련된 자료를 비롯한 프로그램 실행에 필요한 모든 정 보를 가지고 있으며 프로그램의 실행에 따라 내용이 ㅂ녀한다. 3번 해설 : 한 단위 활성화의 참조환경(referencing environment)은 단위 프로그램에서 선언된 지역변수와 사용 가능한 비지역변수로 구성된다. 지역변수에 대한 기 억장소는 자신의 활성화 레코드에 할당되어 있으며, 비지역변수에 대한 기억 장소는 다른 단위 프로그램의 활성화 레코드에 자리 잡고 있다. 4번 해설 : 프로그래밍 언어는 대부분 한 프로그램을 여러 단위 프로그램으로 구성할 수 있는데, 단위 프로그램이나 블록에서 선언하여 사용하는 변수를 지역변수라 고 하고, 한 단위 프로그램의 실행 시작부터 종료까지를 활성화 상태 (activated state)라고 한다. 그러므로 정답은 2번이다. [2007 기말] 56. 다음 중 참조 환경에 대한 설명으로 틀린 것은? 1 명령문에서 접근할 수 있는 변수들의 집합을 참조 환경이라 한다. 2 정적 범위 규칙의 언어에서는 참조 환경이 지역 변수들로 이루어진 지역 환경과 접근 가 능한 동적 변수들로 이루어진 동적 환경으로 구성된다. 3 참조 환경은 컴파일할 때 피연산자나 자료 구조의 주소를 결정하는 데 사용된다. 4 활성 상태란 아직 실행이 끝나지 않은 것을 말한다

57 2번 해설 : 한 단위 활성화의 참조환경(referencing environment)은 단위 프로그램에서 선언된 지역변수와 사용 가능한 비지역변수로 구성된다. 지역변수에 대한 기 억장소는 자신의 활성화 레코드에 할당되어 있으며, 비지역변수에 대한 기억 장소는 다른 단위 프로그램의 활성화 레코드에 자리 잡고 있다. 그러므로 정답은 2번이다. 6.3 정적 기억장소 할당 * 정적 변수 - 번역시간에 크기가 고정되며 번역 시간에 할당되는 변수 6.3 정적 기억장소 할당 기출문제 [2009 기말] 59. 기억장소 할당에 관한 설명으로 바른 것은? 1 프로그램 실행 중에 기억장소를 할당하는 방법은 정적 기억장소 할당 기법이다. 2 번역 시간에 크기가 고정되며 번역 시간에 할당되는 변수를 정적 변수라고 한다. 3 정적 기억장소 할당 기법을 사용하는 언어는 블록 중심 언어이다. 4 재귀 호출이 허용되지 않는다는 기본조건으로 갖추어야 하는 것은 동적 기억장소 할당 기법이다. 1번 해설 : 프로그램 실행 중에 기억장소를 할당하는 기법은 동적 기억장소 할당 기법이 다. 3번 해설 : 동적 기억장소 할당 기법을 사용하는 언어는 블록 중심 언어로, 컴파일 기법 을 사용하여 구현되는 언어와 인터프리트 기법을 사용하여 구현되는 언어로 구분된다. 4번 해설 : 정적 기억장소 할당 기법은 단순하여 매우 쉽게 구현될 수 있지만, 프로그래 밍 언어에 대한 유연성이 적어진다. 즉, 재귀호출을 허용하지 못하며, 또한 배열을 비롯한 모든 변수에 대한 기억장소가 정적으로 한정되기 때문에 실행 중에 배열의 크기 등을 변화시킬 수 없다. 그러므로 정답은 2번이다. [2007 기말] 55. 기억 장소가 실행 이전에 바인딩되어 실행 종료시까지 계속되는 변수는? 1 정적 변수 3 전역 변수 2 동적 변수 4 지역 변수 1번 해설 : 변수는 실행시간 전에 생성되어 프로그램 실행시간 전체가 변수의 수명이 된

58 다. 이러한 의미(번역시간에 크기가 고정되며 번역 시간에 할당되는)를 갖는 변수를 정적 변수라고 한다. 2번 해설 : 프로그래머가 실행 중에 기억장소의 크기를 변화시키는 자료값을 다룰 수 있 다. 그러므로 활성화 레코드가 활성화되는 시점에서도 활성화 레코드의 크기 를 알 수 없다. 이러한 변수를 동적 변수라고 한다. 3번 해설 : 정적 내포관계를 유지하는 블록 구조 언어에서 블록에서 선언된 변수와 형식 매개변수는 지역변수이다. 4번 해설 : 정적 내포관계를 유지하는 블록 구조 언어에서 그 블록을 내포하고 있는 외 부 블록에서 선언된 변수는 비지역 또는 전역 변수이다. 그러므로 정답은 1번이다. [2005 기말] 43. 다음 중 생명시간이 프로그램 실행시간 전체인 것은? 1 묵시적 힙 변수 3 스택 변수 2 명시적 힙 변수 4 정적 변수

59 1번 해설 : 묵시적 힙 변수는 변수에 값이 부여될 때에서야 힙의 기억 장소가 할당된다. 2번 해설 : 명시적 힙 변수는 프로그래머가 필요에 따라 명령어를 써서 생성시켰다가 소 멸시키는 변수에 해당한다. 3번 해설 : 준동적 변수나 준정적 변수를 스택 변수라고 부른다. 준동적 변수 (semi-dynamic variable)는 준정적 변수 개념에 다음 조건 하나가 덧붙여진 다. 번역시간에 단위 활성화 레코드에서 지역변수의 차감거리가 상수값으로 확정되지 못하여 주소에 대한 최종 확정을 실행시간까지 늦추어야 한다는 것 이다. 준정적 변수(semi-static variable)는 활성화 레코드의 크기는 정적 바 인딩이고 기억장소 할당은 동적 바인딩을 하는 변수이다. 4번 해설 : 변수는 실행시간 전에 생성되어 프로그램 실행시간 전체가 변수의 수명이 된 다. 이러한 의미(번역시간에 크기가 고정되며 번역 시간에 할당되는)를 갖는 변수를 정적 변수라고 한다. 그러므로 정답은 4번이다. 6.4 스택 기반 동적 기억장소 할당 * 동적 기억장소 할당 기법 - 프로그램 실행 중에 기억장소를 할당 - 블록 중심 언어 - 컴파일 기법을 사용하여 구현되는 언어와 인터프리트 기법을 사용하여 구현되는 언어 로 구분 * 블록 기반 언어 - Algol 60의 영향을 크게 받아 설계된 프로그래밍 언어를 의미 - 변수의 영역을 제한하고, 프로그램을 적당한 단위 프로그램으로 나누어 구성할 수 있도 록 블록 개념을 도입한 언어 * 블록 - 전체 프로그램 실행과정에서 특정 블록의 실행 차례가 되었을 때 활성화 - 지역 선언문을 가지며 새로운 실행환경을 정의하기 위한 단위로 사용 * 부프로그램 - 호출문에 의하여 호출되었을 때 활성화 - 부프로그램에서 변수영역이 블록에서의 변수영역과 동일한 규칙을 따름 활성화 레코드의 크기가 정적으로 결정되는 경우 * 준정적 변수(semi-static variable) - 활성화 레코드의 크기와 변수에 대한 차감거리가 번역시간에 결정될지라도 실행시간 단위 프로그램이 활성화되는 시점에서 활성화 레코드의 위치가 결정되므로 변수에 대한 실제 주소는 실행시간에 바인딩되는 변수 - 활성화 레코드의 크기는 정적 바인딩이고 기억장소 할당은 동적 바인딩을 하는 변수 * 동적 링크(dynamic link) - 후자의 포인터

60 * 동적 체인(dynamic chain) - 현재 활성화된 활성화 레코드로부터 동적 링크를 추적한 연결 - 단위 활성화의 동적 내포관계를 표현 - 현 활성화까지 계속 호출된 활성화 레코드 체인을 의미 단위 프로그램이 활성화되는 시점에서 활성화 레코드의 크기가 결정되는 경우 * 준동적 변수(semi-dynamic variable) - 단위 프로그램이 활성화되는 시점에서 지역변수가 모두 생성되며, 지역변수가 요구하는 기억장소의 크기가 결정되는 변수 활성화 레코드가 동적으로 변하는 경우 * 동적 변수 - 활성화 레코드가 활성화되는 시점에서도 활성화 레코드의 크기를 알 수 없는 변수 - 힙(heap)이라고 하는 기억장소에 할당 - 힙 변수라 부르기도 함 * 유연성 배열(flexible array) - 프로그램 실행 중에 할당되는 자료에 맞추어서 크기를 조절할 수 있는 배역 * 스택 변수 - 준동적 변수가 준정적 변수 비지역변수의 참조방법 * 정적 링크(static link) - 비지역변수에 접근하기 위한 한 가지 방법으로 모든 활성화 레코드에 할당한 포인터 * 정적 체인 - 활성화 레코드로부터 아래로 연결된 정적 링크의 순서 * 디스플레이 사용 기법 - 단위 프로그램의 호출과 반환횟수에 비하여 비지역변수의 사용이 상대적으로 증가할 경우 매력적인 방법 6.4 스택 기반 동적 기억장소 할당 기출문제 [2009 기말] 44. 활성화 레코드현재 활성화된 활성화 레코드부터 동적 링크를 추적한 연결을 무엇이라 하는가? 1 동적 체인 3 정적 체인 2 준정적 변수 4 디스플레이 1번 해설 : 현재 활성화된 활성화 레코드로부터 동적 링크를 추적한 연결을 동적 체인 (dynamic chain)이라고 한다. 2번 해설 : 준정적 변수(semi-static variable)는 활성화 레코드의 크기는 정적 바인딩이 고 기억장소 할당은 동적 바인딩을 하는 변수이다

61 3번 해설 : 활성화 레코드로부터 아래로 연결된 정적 링크의 순서를 정적 체인이라 한다. 4번 해설 : 비지역변수의 자료값에 대한 참조시간을 줄이기 위한 또 하나의 구현기법으 로 디스플레이 사용 기법이 있다. 이 기법은 단위 프로그램의 호출과 반환횟 수에 비하여 비지역변수의 사용이 상대적으로 증가할 경우 매력적인 방법이 다. 그러므로 정답은 1번이다. 45. 번역 시간에 단위 활성화 레코드에서 지역변수의 차감거리가 상수값으로 확정되지 못하 여 주소에 대한 최종 확정을 실행시간까지 늦추어줘야하는 특성을 갖는 변수를 무엇이라 하 는가? 1 준정적 변수 2 동적변수 3 정적변수 4 준동적변수 1번 해설 : 준정적 변수(semi-static variable)는 활성화 레코드의 크기는 정적 바인딩이 고 기억장소 할당은 동적 바인딩을 하는 변수이다. 2번 해설 : 프로그래머가 실행 중에 기억장소의 크기를 변화시키는 자료값을 다룰 수 있 다. 그러므로 활성화 레코드가 활성화되는 시점에서도 활성화 레코드의 크기 를 알 수 없다. 이러한 변수를 동적 변수라고 한다. 3번 해설 : 변수는 실행시간 전에 생성되어 프로그램 실행시간 전체가 변수의 수명이 된 다. 이러한 의미(번역시간에 크기가 고정되며 번역 시간에 할당되는)를 갖는 변수를 정적 변수라고 한다. 4번 해설 : 준동적 변수(semi-dynamic variable)는 준정적 변수 개념에 다음 조건 하나 가 덧붙여진다. 번역시간에 단위 활성화 레코드에서 지역변수의 차감거리가 상수값으로 확정되지 못하여 주소에 대한 최종 확정을 실행시간까지 늦추어 야 한다는 것이다. 그러므로 정답은 4번이다. [2008 기말] 60. 순환 호출이 가능한 구조의 프로그램에서 활성화 레코드의 회수시 어디까지를 회수시켜 야 하는지 표시하기 위해 만든 것은? 1 정적 링크 2 정적 체인 3 실행시간 스택 4 동적 링크 1번 해설 : 비지역변수에 접근하기 위한 한 가지 방법으로 모든 활성화 레코드에 정적 링크(static link)라고 부르는 포인터를 할당하고, 그 포인터로 하여금 작성된 프로그램의 정적 내포관계에 있는 활성화 레코드를 가리키게 한다. 2번 해설 : 활성화 레코드로부터 아래로 연결된 정적 링크의 순서를 정적 체인이라 한다

62 직관적으로 볼 때 비지역변수에 대한 참조는 이 정적 체인을 따라서 검색해 먼저 발견된 변수를 참조하면 된다. 3번 해설 : 호출될 때에는 활성화 레코드가 할당되고 되돌아갈 때에는 회수되는데, 회수 는 할당의 역순, 즉 나중에 할당된 것이 먼저 회수되는 것이다. 이러한 순서 에 적합한 자료 구조가 스택이기 때문에 순환 호출을 위해서는 활성화 레코 드를 스택에 할당한다. 이러한 스택을 실행 시간 스택이라고도 한다. 4번 해설 : 호출된 활성화 레코드에서 호출한 활성화 레코드로 반환되려면 활성화 레코 드 안에 호출한 활성화의 반환주소와 호출한 활성화 레코드를 가리키는 주소 값을 저장할 포인터가 있어야 한다. 일반적으로 반환주소는 호출자의 코드부 에 대한 포인터와 호출 다음 명령어에 대한 코드부에서의 차감거리로 구성된 다. 이 경우 한 단위 프로그램의 활성화 상태에서 후자의 포인터를 동적 링 크(dynamic link)라고 한다. 그러므로 정답은 4번이다. [2007 기말] 47. 각 프로시저의 활성화 레코드에 저장되지 않는 것은? 1 반환주소 3 매개변수 2 전역변수 4 함수값 호출된 활성화 레코드에서 호출한 활성화 레코드로 반환되려면 활성화 레코드 안에 호출한 활성화의 반환주소와 호출한 활성화 레코드를 가리키는 주소값을 저장할 포인터가 있어야 한다. 또한, 지역변수, 매개변수, 함수값 등이 저장된다. 그러므로 정답은 2번이다. 51. 정적 체인에 의한 방법은 비지역 참조가 있을 때마다 정적 체인을 추적해야 하므로 비 지역 참조가 많은 경우에는 비효율적이며, 이러한 단점을 해결하기 위해 제안된 것은? 1 디스플레이 2 정적 링크 3 동적 링크 4 실행 시간 스택 비지역변수의 자료값에 대한 참조시간을 줄이기 위한 또 하나의 구현기법으로 디스플레이 사용 기법이 있는데, 이 기법에서는 단위 활성화를 생성하고 회수하는 작업이 좀 더 복잡하 다. 디스플레이 사용 기법은 단위 프로그램의 호출과 반환횟수에 비하여 비지역변수의 사용 이 상대적으로 증가할 경우 매력적인 방법이다. 정적 링크 대신에 실행시간 어느 시점에서 나 정적 체인 관계를 디스플레이라고 부르는 1차원 가변배열을 사용하여 유지한다. 그러므로 정답은 1번이다. [2006 기말]

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770> 예약어(reserved word) : 프로그래밍 언어에서 특별한 용도로 사용하고자 미리 지정한 단어 - 프로그램의 구성요소를 구별하게 해주는 역할 => 라벨, 서브 프로그램 이름, 변수에 연관되어 다른 변수나 서브 프로그램 등과 구별 - 식별자의 최대길이는 언어마다 각각 다르며 허용길이를 넘어서면 나머지 문자열은 무시됨 - FORTRAN, COBOL, HTML

More information

Microsoft PowerPoint - PL_03-04.pptx

Microsoft PowerPoint - PL_03-04.pptx Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8

More information

<C7C1B7CEB1D7B7A1B9D6BEF0BEEE2E687770>

<C7C1B7CEB1D7B7A1B9D6BEF0BEEE2E687770> 2과목 : 프로그래밍 일반 41. 프로그래머가 직접 제어를 표현하지 않았을 경우, 그 언어 에서 미리 정해진 순서에 의해 제어가 이루어지는 순서 제 어는? 가. 구조적 나. 명시적 다. 묵시적 라. 분석적 42. 파스 트리에 대한 설명으로 틀린 것은? 가. 어떤 표현이 BNF에 의해 바르게 작성되었는지 확인하 기 위해 만드는 트리이다. 나. 파스 트리가 존재하면

More information

<C6F7C6AEB6F5B1B3C0E72E687770>

<C6F7C6AEB6F5B1B3C0E72E687770> 1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

<5BB0EDB3ADB5B55D32303131B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E28322920BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D3031292D3135B9AEC7D72E687770>

<5BB0EDB3ADB5B55D32303131B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E28322920BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D3031292D3135B9AEC7D72E687770> 고1 융합 과학 2011년도 1학기 중간고사 대비 다음 글을 읽고 물음에 답하시오. 1 빅뱅 우주론에서 수소와 헬륨 의 형성에 대한 설명으로 옳은 것을 보기에서 모두 고른 것은? 4 서술형 다음 그림은 수소와 헬륨의 동위 원 소의 을 모형으로 나타낸 것이. 우주에서 생성된 수소와 헬륨 의 질량비 는 약 3:1 이. (+)전하를 띠는 양성자와 전기적 중성인 중성자

More information

<B3EDB9AEC0DBBCBAB9FD2E687770>

<B3EDB9AEC0DBBCBAB9FD2E687770> (1) 주제 의식의 원칙 논문은 주제 의식이 잘 드러나야 한다. 주제 의식은 논문을 쓰는 사람의 의도나 글의 목적 과 밀접한 관련이 있다. (2) 협력의 원칙 독자는 필자를 이해하려고 마음먹은 사람이다. 따라서 필자는 독자가 이해할 수 있는 말이 나 표현을 사용하여 독자의 노력에 협력해야 한다는 것이다. (3) 논리적 엄격성의 원칙 감정이나 독단적인 선언이

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

4.18.국가직 9급_전산직_컴퓨터일반_손경희_ver.1.hwp

4.18.국가직 9급_전산직_컴퓨터일반_손경희_ver.1.hwp 2015년도 국가직 9급 컴퓨터 일반 문 1. 시스템 소프트웨어에 포함되지 않는 것은? 1 1 스프레드시트(spreadsheet) 2 로더(loader) 3 링커(linker) 4 운영체제(operating system) - 시스템 소프트웨어 : 운영체제, 데이터베이스관리 프로그램,, 컴파일러, 링커, 로더, 유틸리티 소프트웨 어 등 - 스프레드시트 : 일상

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

3차시.ppt

3차시.ppt [ 정보처리기능사필기] 1 과목 - 전자계산기일반 1 / 10 정보처리기능사 ( 필기 ) 1 과목. 전자계산기일반컴퓨터시스템의구성 2 1. 컴퓨터의기본구성 컴퓨터의기본구성 컴퓨터 = + (Hardware) 컴퓨터기계 (Software 를움직여주는프로그램 [ 정보처리기능사필기] 1 과목 - 전자계산기일반 2 / 10 2. (Hardware) -Hardware

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

1

1 04단원 컴퓨터 소프트웨어 1. 프로그래밍 언어 2. 시스템 소프트웨어 1/10 1. 프로그래밍 언어 1) 프로그래밍 언어 구분 각종 프로그래밍 언어에 대해 알아보는 시간을 갖도록 하겠습니다. 우리가 흔히 접하는 소프트웨어 들은 프로그래밍 언어로 만들어지는데, 프로그래밍 언어는 크게 2가지로 나눌 수 있습니다. 1 저급어 : 0과 1로 구성되어 있어, 컴퓨터가

More information

04 Çмú_±â¼ú±â»ç

04 Çмú_±â¼ú±â»ç 42 s p x f p (x) f (x) VOL. 46 NO. 12 2013. 12 43 p j (x) r j n c f max f min v max, j j c j (x) j f (x) v j (x) f (x) v(x) f d (x) f (x) f (x) v(x) v(x) r f 44 r f X(x) Y (x) (x, y) (x, y) f (x, y) VOL.

More information

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가 www.kdnetwork.com 특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가능할 삭제할 건전지 사용자를 위한 개별 비밀번호 및 RF카드

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

E20023804(2005).hwp

E20023804(2005).hwp - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 - - 16 - - 17 - - 18 - - 19 - - 20 - - 21 - - 22 - - 23 - - 24 - - 25 - - 26 - - 27 - 100 기초선 중재(마인드 맵핑 프로그램을

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가 수업주제 경찰 출동! (버튼, LED, 버저 사용하기) 9 / 12 차시 수업의 주제와 목표 본 수업에서는 이전 차시에 배웠던 블록들의 기능을 복합적으로 활용한다. 스위치 기능을 가진 버튼을 활용하여 LED와 버저를 동시에 작동시키도록 한다. 각 블록들을 함께 사용하는 프로젝트를 통해 각각의 기능을 익히고 보다 다양한 활용 방법을 구상할 수 있다. 교수 학습

More information

.....6.ok.

.....6.ok. Ⅳ 성은 인간이 태어난 직후부터 시작되어 죽는 순간까지 계속되므로 성과 건강은 불가분의 관계이다. 청소년기에 형성된 성가치관은 평생의 성생활에 영향을 미치며 사회 성문화의 토대가 된다. 그러므로 성과 건강 단원에서는 생명의 소중함과 피임의 중요성을 알아보고, 성매매와 성폭력의 폐해, 인공임신 중절 수술의 부작용 등을 알아봄으로써 학생 스스로 잘못된 성문화를

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

#7단원 1(252~269)교

#7단원 1(252~269)교 7 01 02 254 7 255 01 256 7 257 5 10 15 258 5 7 10 15 20 25 259 2. 어휘의 양상 수업 도우미 참고 자료 국어의 6대 방언권 국어 어휘의 양상- 시디(CD) 수록 - 감광해, 국어 어휘론 개설, 집문당, 2004년 동북 방언 서북 방언 중부 방언 서남 방언 동남 방언 제주 방언 어휘를 단어들의 집합이라고 할 때,

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

트렌드29호가제본용.hwp

트렌드29호가제본용.hwp - 309 - - 310 - - 311 - - 312 - - 313 - - 314 - 외부적 탐색단계 새로운 정보에 자극받는 외부적 탐 색단계 새로운 광고 메시지에 의하여 소비자가 제품 및 브랜드 평가를 하는 대안의 평가 단계까지의 일련 의 과정을 설명하고 있으며 그림 에서 볼 수 있는 것처럼 소비자의 구매태도형성 어느 단계에서도 상품 광고가 미치는 영향력이

More information

Figure 1: 현존하는 정적 분석 기술의 한계와 본 연구의 목표. 이러한 허위경보(false alarm)를 가질 수 밖에 없는데, 오탐율(전체 경보중 허위경보의 비율)이 정확도의 척도가 된다. 유용한 정적 분석기는 충분히 낮은 허위경보율을 가져야 한다. 대형 프로그

Figure 1: 현존하는 정적 분석 기술의 한계와 본 연구의 목표. 이러한 허위경보(false alarm)를 가질 수 밖에 없는데, 오탐율(전체 경보중 허위경보의 비율)이 정확도의 척도가 된다. 유용한 정적 분석기는 충분히 낮은 허위경보율을 가져야 한다. 대형 프로그 고성능 정적 프로그램 분석 기법 오학주 고려대학교 컴퓨터학과 서론 1 1.1 소프트웨어 오류 문제 소프트웨어가 모든 산업의 기반 기술이 되면서 소프트웨어의 오류로 인해 발생하는 사회경제적 비 용이 천문학적으로 증가하고 있다. 한 예로 미국의 투자금융회사인 KCG(Knight Capital Group)은 2012년 8월 1일 하루동안 2년치의 매출액에 해당하는

More information

*074-081pb61۲õðÀÚÀ̳ʸ

*074-081pb61۲õðÀÚÀ̳ʸ 74 October 2005 현 대는 이미지의 시대다. 영국의 미술비평가 존 버거는 이미지를 새롭 게 만들어진, 또는 재생산된 시각 으로 정의한 바 있다. 이 정의에 따르 면, 이미지는 사물 그 자체가 아니라는 것이다. 이미지는 보는 사람의, 혹은 이미지를 창조하는 사람의 믿음이나 지식에 제한을 받는다. 이미지는 언어, 혹은 문자에 선행한다. 그래서 혹자는

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

[P 1강]-운영체제, 프로그래밍 언어 종류 3. 프로세스(Process) 정의 - 주기억장치에 저장된 프로그램 (실행중인 프로그램) - 운영체제가 관리하는 최소 단위의 작업 - 비동기적(비연속적) 행위를 일으키는 주체 - PCB를 가진 프로그램 - 프로세서가 할당되는

[P 1강]-운영체제, 프로그래밍 언어 종류 3. 프로세스(Process) 정의 - 주기억장치에 저장된 프로그램 (실행중인 프로그램) - 운영체제가 관리하는 최소 단위의 작업 - 비동기적(비연속적) 행위를 일으키는 주체 - PCB를 가진 프로그램 - 프로세서가 할당되는 필기 권우석 샘의 사무자동화산업기사 [ 4. 프로그래밍 일반 ] [P 1강]-운영체제, 프로그래밍 언어 종류 1. 운영체제 기능적 분류 > 제어 프로그램 시스템 전체의 작동 상태 감시, 작업의 순서 지정, 작업에 사용되는 데이터 관리 등의 역할을 수행하는 P/G 1 감시 프로그램(Supervisor Program) 2 작업 제어 프로그램 (Job Control

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

ICT EXPERT INTERVIEW ITS/ ICT? 차량과 인프라 간 통신(V2I) Nomadic 단말 통신(V2P) 차량 간 통신(V2V) IVN IVN [ 1] ITS/ ICT TTA Journal Vol.160 l 9

ICT EXPERT INTERVIEW ITS/ ICT? 차량과 인프라 간 통신(V2I) Nomadic 단말 통신(V2P) 차량 간 통신(V2V) IVN IVN [ 1] ITS/ ICT TTA Journal Vol.160 l 9 오늘날 자동차와 도로는 ICT 기술과 융합되어 눈부시게 발전하고 있습니다. 자동차는 ICT 기술과 접목되어 스마트 자동차로 변화하며 안전하고 편리하며 CO 2 방출을 줄이는 방향으로 기술개발을 추진하고 있으며 2020년경에는 자율 주행 서비스가 도입될 것으로 전망하고 있습니다. 또한, 도로도 ICT 기술과 접목되어 스마트 도로로 변화하며 안전하고 편리하며 연료

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7> 제14장 동적 메모리 할당 Dynamic Allocation void * malloc(sizeof(char)*256) void * calloc(sizeof(char), 256) void * realloc(void *, size_t); Self-Referece NODE struct selfref { int n; struct selfref *next; }; Linked

More information

특허청구의 범위 청구항 1 삭제 청구항 2 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운

특허청구의 범위 청구항 1 삭제 청구항 2 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운 (19) 대한민국특허청(KR) (12) 등록특허공보(B1) (51) 국제특허분류(Int. Cl.) G06F 9/22 (2006.01) (21) 출원번호 10-2012-0020563 (22) 출원일자 2012년02월28일 심사청구일자 2012년02월28일 (65) 공개번호 10-2013-0098775 (43) 공개일자 2013년09월05일 (56) 선행기술조사문헌

More information

DocHdl2OnPREPRESStmpTarget

DocHdl2OnPREPRESStmpTarget 자르는 선 5 월 월말 성취도 평가 국어 2쪽 사회 5쪽 과학 7쪽 자르는 선 학년 5 13 4 47 1 5 2 3 7 2 810 8 1113 11 9 12 10 3 13 14 141 1720 17 15 18 19 1 4 20 5 1 2 7 3 8 4 5 9 10 5 월말 성취도평가 11 다음 보기 에서 1 다음 안에 들어갈 알맞은 말을 찾아 쓰시오. 각 나라마다

More information

Adobe Flash 취약점 분석 (CVE-2012-0754)

Adobe Flash 취약점 분석 (CVE-2012-0754) 기술문서 14. 08. 13. 작성 GNU C library dynamic linker $ORIGIN expansion Vulnerability Author : E-Mail : 윤지환 131ackcon@gmail.com Abstract 2010 년 Tavis Ormandy 에 의해 발견된 취약점으로써 정확한 명칭은 GNU C library dynamic linker

More information

연구노트

연구노트 #2. 종이 질 - 일단은 OK. 하지만 만년필은 조금 비침. 종이질은 일단 합격점. 앞으로 종이질은 선택옵션으로 둘 수 있으리라 믿는다. 종이가 너무 두꺼우면, 뒤에 비치지 는 않지만, 무겁고 유연성이 떨어진다. 하지만 두꺼우면 고의적 망실의 위험도 적고 적당한 심리적 부담도 줄 것이 다. 이점은 호불호가 있을 것으로 생각되지만, 일단은 괜찮아 보인다. 필자의

More information

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++, Level 1은객관식사지선다형으로출제예정 1. 다음은 POST(Post of Sales Terminal) 시스템의한콜레보레이션다이어그램이다. POST 객체의 enteritem(upc, qty) 와 Sale 객체의 makellineitem(spec,qty) 를 Java 또는 C ++, C # 언어로구현하시오. 각메소드구현과관련하여각객체내에필요한선언이있으면선언하시오.

More information

User Guide

User Guide HP ThinUpdate 관리자 설명서 Copyright 2016 HP Development Company, L.P. Windows는 미국 및/또는 기타 국가에서 Microsoft Corporation의 등록 상표 또는 상표입 니다. 기밀 컴퓨터 소프트웨어. 소유, 사용 또는 복사 에 필요한 유효한 사용권을 HP로부터 취득했 습니다. FAR 12.211 및

More information

Microsoft PowerPoint - 1주차 UML의 구성과 도구

Microsoft PowerPoint - 1주차 UML의 구성과 도구 UML의 구성과 도구 v UML(Unified Modeling Language) v UML의 구성 요소 v UML의 관계 v UML의 다이어그램 v UML 도구 UML(Unified Modeling Language) l 모델링 과정(modeling process)과 모델링 언어(modeling language)를 제안 모델링 과정 : 객체지향으로 분석하고 설계하는

More information

Chapter_06

Chapter_06 프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

...... ....-....-155 09.1.20

...... ....-....-155 09.1.20 접지 접지 ISBN 978-89-6211-252-8 슈퍼컴퓨터가 만드는 디디컴 C M Y K 슈퍼컴퓨터가 만드는 C M Y K 슈퍼컴퓨터가 만드는 디디컴 uper 슈퍼컴퓨터가 만드는 발행일 슈퍼컴퓨터는 슈퍼맨처럼 보통의 컴퓨터로는 도저히 2008년 10월 3 1일 1쇄 발행 2009년 01월 30일 2쇄 발행 엄두도 낼 수 없는 대용량의 정보들을 아주 빠르게

More information

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

1

1 1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

1. 파일 명명규칙

1. 파일 명명규칙 소프트웨어 공학 UML 과제 [UseCase Diagram] Use Case Diagram [ 목 차 ] 2.1.Use Case Diagram 개요 2.2.Use Case 구성요소 2.3.Relationship 2.4.작성방법 2.5.참고문헌 1. Use Case Diagram 1.1 Use Case 모델링 개요 - Use Case 는 개발자가 아닌 사용자

More information

4 7 7 9 3 3 4 4 Ô 57 5 3 6 4 7 Ô 5 8 9 Ô 0 3 4 Ô 5 6 7 8 3 4 9 Ô 56 Ô 5 3 6 4 7 0 Ô 8 9 0 Ô 3 4 5 지역 대표를 뽑는 선거. 선거의 의미와 필요성 ① 선거의 의미`: 우리들을 대표하여 일할 사람을 뽑는 것을 말합니다. ② 선거의 필요성`: 모든 사람이 한자리에 모여 지역의 일을 의논하고

More information

4-Ç×°ø¿ìÁÖÀ̾߱â¨ç(30-39)

4-Ç×°ø¿ìÁÖÀ̾߱â¨ç(30-39) 항공우주 이야기 항공기에 숨어 있는 과학 및 비밀장치 항공기에는 비행 중에 발생하는 현상을 효율적으로 이용하기 위해 과 학이 스며들어 있다. 특별히 관심을 갖고 관찰하지 않으면 쉽게 발견할 수 없지만, 유심히 살펴보면 객실 창문에 아주 작은 구멍이 있고, 주 날 개를 보면 뒷전(trailing edge) 부분이 꺾어져 있다. 또 비행기 전체 형 상을 보면 수직꼬리날개가

More information

<C3E6B3B2B1B3C0B0313832C8A32DC5BEC0E7BFEB28C0DBB0D4292D332E706466>

<C3E6B3B2B1B3C0B0313832C8A32DC5BEC0E7BFEB28C0DBB0D4292D332E706466> 11-8140242-000001-08 2013-927 2013 182 2013 182 Contents 02 16 08 10 12 18 53 25 32 63 Summer 2 0 1 3 68 40 51 57 65 72 81 90 97 103 109 94 116 123 130 140 144 148 118 154 158 163 1 2 3 4 5 8 SUMMER

More information

Microsoft PowerPoint - CSharp-2-기초문법

Microsoft PowerPoint - CSharp-2-기초문법 2 장. C# 기초문법 자료형 제어문 배열 연산자 순천향대학교컴퓨터학부이상정 1 자료형 순천향대학교컴퓨터학부이상정 2 CTS CTS(Common Type System) 닷넷기반의여러언어에서공통으로사용되는자료형 언어별로서로다른자료형을사용할때발생할수있는호환성문제를해결 값 (Value) 형과참조 (Reference) 형을지원 CTS가제공하는모든자료형은 System.Object를상속받아구현

More information

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 삼성SDS 하이패스 USB 드라이버 설치 매뉴얼 삼성SDS(주) 목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 8에서 설치...9 2. 드라이버

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

마이크로프로세서 설계 무작정 따라하기

마이크로프로세서 설계 무작정 따라하기 마이크로프로세서 설계 무작정 따라하기 part-ii (2) 부제: 명령어 시뮬레이터, 어셈블러, 컴파일러의 개발 KAIST 전자전산학과 박사과정 배영돈(donny@ics.kaist.ac.kr), 이종열(jylee@ics.kaist.ac.kr) 이번 강좌에서는 GNU C 컴파일러에 관련된 여러 가지 사항들에 대하여 간단히 짚어보고, GNU C 컴파일 러를 이용한

More information

810 & 820 810 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을

810 & 820 810 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을 목적에 맞게 설계된 어플라 이언스 원격 용도로 최적화된 어플라이언스 관리 및 에너지 효율성 향상 원격 관리 LOM(Lights Out Management), IPMI 2.0 장치 식별 버튼/LED 실시간 시스템 환경 및 오류 모 니터링 Infoblox MIBS를 통한 SNMP 모니터링 고가용성 공급 장치 예비 디스크 예비 냉각 팬 전원 공급 장치 현장 교체

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

041~084 ¹®È�Çö»óÀбâ

041~084 ¹®È�Çö»óÀбâ 1998 60 1 1 200 2 6 4 7 29 1975 30 2 78 35 1 4 2001 2009 79 2 9 2 200 3 1 6 1 600 13 6 2 8 21 6 7 1 9 1 7 4 1 2 2 80 4 300 2 200 8 22 200 2140 2 195 3 1 2 1 2 52 3 7 400 60 81 80 80 12 34 4 4 7 12 80 50

More information

1 9 9 2년 2 월 1 1일에 모 스 크 바 에 서 서명된 북 태 평양 소하 성어족자 원보존협약 (이하 협약 이라 한다) 제8조 1항에는 북태평양소하성어류위원회 (이하 위원회 라 한다)를 설립한다고 규정되어 있다. 제8조 16항에는 위원회가 을 채택해야 한다고 규정

1 9 9 2년 2 월 1 1일에 모 스 크 바 에 서 서명된 북 태 평양 소하 성어족자 원보존협약 (이하 협약 이라 한다) 제8조 1항에는 북태평양소하성어류위원회 (이하 위원회 라 한다)를 설립한다고 규정되어 있다. 제8조 16항에는 위원회가 을 채택해야 한다고 규정 1993년 2월 24일 발효 1994년 1월 11일 개정 1998년 11월 6일 개정 2001년 11월 2일 개정 2003년 10월 31일 개정 2013년 11월 15일 개정 2014년 5월 16일 개정 제목 규칙 페이지 적용 1 110 회계연도 2 110 예산 3-9 110-111 분담금 10-11 111 계상예산의 지출대상 12-13 111 전용 14 111

More information

스키 점프의 생체역학적 연구

스키 점프의 생체역학적 연구 연구 대상자 연령(세) 신장(cm) 체중(kg) 운동경력(년) 스키 플레이트 특성 길이(cm) 무게(kg) A(CYJ) 21 162.0 53 12 237 3.56 B(KCK) 19 173.0 55 8 253 3.80 C(KHK) 20 175.0 62 12 256 3.80 선행 연구 변인 조사 ꀻ 실험 계획 및 설계 ꀻ 촬 영 ꀻ 디지타이징 위치 좌표 계산 운동학적

More information

exp

exp exp exp exp exp exp exp exp exp exp exp exp log 第 卷 第 號 39 4 2011 4 투영법을 이용한 터빈 블레이드의 크리프 특성 분석 329 성을 평가하였다 이를 위해 결정계수값인 값 을 비교하였으며 크리프 시험 결과를 곡선 접합 한 결과와 비선형 최소자승법으로 예측한 결과 사 이 결정계수간 정도의 오차가 발생하였고

More information

3232 편집본(5.15).hwp

3232 편집본(5.15).hwp 정태제 묘 출토 사초 사진 정태제 묘 출토 사초 상권 정태제 묘 출토 사초 상권 45 정태제 묘 출토 사초 하권(표지) 정태제 묘 출토 사초 하권 46 2 중기( 重 記 ) 중기( 重 記 )란 호조에서 각 관청의 회계를 감독하거나 경외( 京 外 )의 각 관청이 보유하고 있 는 국가 재산의 누수를 막기 위하여 정기적으로 작성하도록 규정한 회계장부나 물품조사서

More information

18강.hwp

18강.hwp ------------------8강 데이터 관리------------------ **주요 키워드 ** () 레코드관리 () 정렬 () 자동필터, 고급필터 () 그룹과 윤곽설정, 텍스트나누기, 외부데이터 () 레코드관리********************************** [08/]. 다음 중 [데이터]-[레코드 관리]에 대한 설명으로 옳지 않은 것

More information

PowerPoint Template

PowerPoint Template 10. 예외처리 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 10.1 개요 10.2 C++ 의예외처리 10.3 Java 의예외처리 10.4 Ada 의예외처리 10.1 예외처리의개요 (1) 3 예외 (exception) 오버플로나언더플로, 0 으로나누기, 배열첨자범위이탈오류와같이프로그램실행중에비정상적으로발생하는사건 예외처리 (exception handling)

More information

2015현엘 11+12 내지.indd

2015현엘 11+12 내지.indd HELCO Toon 12 www.hyundaielevator.co.kr 2015 vol.247 11+12 Incheon Int l Airport [PSD, Platform Screen Doors] www.hyundaielevator.co.kr 2015 vol.247 11+12 People Harmony Inside Space Helco Issue 04-08

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

Microsoft PowerPoint - chap07.ppt

Microsoft PowerPoint - chap07.ppt 2010-1학기 현대암호학 제Ⅱ부인증 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 제7장일방향 해시 함수 목차 일방향 해시 함수 일방향 해시 함수의 응용 예 일방향 해시 함수의 예 일방향해시함수SHA-1 (512) 일방향 해시 함수로 해결할 수 없는 문제 7.0 주요 내용 범죄 수사에서는 지문을 이용하는 일이 있다. 특정인의

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

이 발명을 지원한 국가연구개발사업 과제고유번호 A1100-0801-2739 부처명 지식경제부 연구관리전문기관 연구사업명 IT핵심기술개발 연구과제명 융합형 포털서비스를 위한 이용자 참여형 방송기술개발 기여율 주관기관 전자부품연구원 연구기간 2008년 03월 01일 ~ 2

이 발명을 지원한 국가연구개발사업 과제고유번호 A1100-0801-2739 부처명 지식경제부 연구관리전문기관 연구사업명 IT핵심기술개발 연구과제명 융합형 포털서비스를 위한 이용자 참여형 방송기술개발 기여율 주관기관 전자부품연구원 연구기간 2008년 03월 01일 ~ 2 (51) Int. Cl. (19) 대한민국특허청(KR) (12) 등록특허공보(B1) G06Q 30/00 (2006.01) G06Q 50/00 (2006.01) (21) 출원번호 10-2008-0133476 (22) 출원일자 2008년12월24일 심사청구일자 2008년12월24일 (65) 공개번호 10-2010-0074918 (43) 공개일자 2010년07월02일

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 C++ Espresso 제 1 장기초사항 이번장에서학습할내용 C++ 언어의역사 C++ 언어의특징 객체지향의간단한소개 C++ 개발과정 첫번째예제설명 변수와상수 연산자 C++ 에대한기초적인사항들을살펴봅니다. C++ 언어의개발 C++ 는 1980 년대초에 AT&T 벨연구소의 Bjarne Stroustrup 에의하여개발 C++ 는 C 언어를유지, 확장한것 C with

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

No Slide Title

No Slide Title 저속 고토크 유압 모터 JS,JH, 시리즈 2K / J2K, 6k / J6K 시리즈 2005-1 B137 001-02 June 2000 JH 시리즈 특징 스풀 밸브 및 지로터가 있는 컴팩트한 디자인. 수입 고압 용량 샤프트 씰, 다 양한 범위의 마운팅 플랜지, 샤프트, 포트, 속도가 설계 유연성을 제공합 니다. 샤프트 회전 방향 및 속도는 쉽고 부드럽게 제어할

More information

안전을 위한 주의사항 2 경고 상세내용 4 SMP 이용자 7대 안전수칙 6 불법조작금지 6 Dolby, DTS, SRS, DivX 7 사용자 설명서 가이드 10 구성품 확인 12 각 부분의 명칭과 기능 13 SMP의 올바른 사용법 14 구성품 사용안내 14 SMP 전원 켜기/끄기 16 터치스크린 사용안내 17 통신환경 설정 20 SMP 시작하기 22 홈 스크린

More information

필수예제 중복순열 02 같은 것이 있는 순열 6. 6. 모스 부호 ㆍ, - 를 사용하여 부호를 만들 때, ㆍ과 -에서 개를 뽑아 만들 수 있는 부호의 수를 필수예제 함수의 개수 7. 7. 두 집합 일 때, 다음을 (1) 에서 로의 함수의 개수 (2) 에서 로의 일대일함

필수예제 중복순열 02 같은 것이 있는 순열 6. 6. 모스 부호 ㆍ, - 를 사용하여 부호를 만들 때, ㆍ과 -에서 개를 뽑아 만들 수 있는 부호의 수를 필수예제 함수의 개수 7. 7. 두 집합 일 때, 다음을 (1) 에서 로의 함수의 개수 (2) 에서 로의 일대일함 01 중복순열 개념체크 중복순열을이용하는 정수 1-중복순열 (1) 중복순열 서로 다른 개에서 중복을 허락하여 개를 택하는 순열을 개에서 개를 택하는 중복순열이라 하고 기호 로 와 같이 나타낸다. (2) 중복순열의 수 개 (3) 중복순열의 계산법 에서 (4) 중복순열인 경우 은 받는 쪽 (고정 숫자) 는 주는 쪽 (선택 숫자) 으로 생각하자. 1 중복을 허락하는

More information

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로 한국어 표준 설정안내 서브 초침 시간 및 설정 1. 용두를 2의 위치로 뽑아냅니다. 2. 용두를 시계방향 또는 반시계방향으로 돌려(모델에 따라 다름) 를 전날로 설정합니다. 3. 용두를 3의 위치로 당기고 현재 가 표시될 때까지 시계방향으로 돌립니다. 4. 용두를 계속 돌려 정확한 오전/오후 시간을 설정합니다. 5. 용두를 1의 위치로 되돌립니다. 169 쓰리

More information

1

1 2/33 3/33 4/33 5/33 6/33 7/33 8/33 9/33 10/33 11/33 12/33 13/33 14/33 15/33 16/33 17/33 5) 입력을 다 했으면 확인 버튼을 클릭합니다. 6) 시작 페이지가 제대로 설정이 되었는지 살펴볼까요. 익스플로러를 종료하고 다시 실행시켜 보세요. 시작화면에 야후! 코리아 화면이 뜬다면 설정 완료..^^

More information

지상파(디지털) 방송의 재전송이 큰 목적 중 하나이므로 전세계적으로 IPTV의 보급이 더욱 촉진될 가능성이 높음 단말기 측면 전망 향후에는 거치형 TV만이 아니고 휴대전화, 휴대게임기 등에 대해서도 각종 콘 텐트 전송이 더욱 확대될 것이고 더 나아가 휴대전화 TV 휴대게임기 등 단말기 상호간의 콘텐트 전송이 더욱 증가될 것임 서비스 측면 전망 유저가 편한 시간대에

More information

새로운 지점에서 단이 시작하는 경우 기둥코로 시작하라고 표시합니다. 기둥코(standing stitch)로 시작하는 방법은 YouTube 에서 찾아볼 수 있습니다. 특수 용어 팝콘뜨기: 1 코에 한길긴뜨기 5 코, 바늘을 빼고 첫번째 한길긴뜨기코의 앞에서 바늘을 넣은

새로운 지점에서 단이 시작하는 경우 기둥코로 시작하라고 표시합니다. 기둥코(standing stitch)로 시작하는 방법은 YouTube 에서 찾아볼 수 있습니다. 특수 용어 팝콘뜨기: 1 코에 한길긴뜨기 5 코, 바늘을 빼고 첫번째 한길긴뜨기코의 앞에서 바늘을 넣은 Desire Copyright: Helen Shrimpton, 2016. All rights reserved. By: Helen at www.crystalsandcrochet.com 12 인치 모티브 worsted/aran(10ply), 5mm 바늘 사용 약 10인치 Double Knitting(8ply), 4mm 바늘 사용 미국식 용어를 사용합니다. 약어

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

2,. 1 1, 28 31.. 1,....?. 1920, 1931 1. (International Fixed Calendar) (World Calender). 1 13, 1 28. 365 7. 365 7 52 1.,. 1.. 1834 1 52 ( )..,. 1849 (

2,. 1 1, 28 31.. 1,....?. 1920, 1931 1. (International Fixed Calendar) (World Calender). 1 13, 1 28. 365 7. 365 7 52 1.,. 1.. 1834 1 52 ( )..,. 1849 ( 1 1.1.11 1... 1582 13 (1502-1585). ( 46 ) 4. 1 365.25 1, 1 ( 365.2422 ). 730 1 11. 11 128. 1582 10.. (325 ) 3 21, 16 3 11.. 1582 (Christoph Clavius, 1537-1612) 4, 4 4 1700, 1800, 1900 4 1600, 2000. 1582

More information

ActFax 4.31 Local Privilege Escalation Exploit

ActFax 4.31 Local Privilege Escalation Exploit NSHC 2013. 05. 23 악성코드 분석 보고서 [ Ransomware 악성코드 ] 사용자의 컴퓨터를 강제로 잠그고 돈을 요구하는 형태의 공격이 기승을 부리고 있 습니다. 이러한 형태의 공격에 이용되는 악성코드는 Ransomware로 불리는 악성코 드 입니다. 한번 감염 시 치료절차가 복잡하며, 보고서 작성 시점을 기준으로 지속 적인 피해자가 발생되고

More information

1

1 CHAPTER 1 중간점검문제 p.22 1. 계산기는 수행하는 작업이 고정되어 있으므로 컴퓨터라고 할 수 없다. 2. 이진수로 되어 있는 기계어 3. 고급 프로그래밍 언어를 기계어로 번역한다. p.25 1. FORTRAN 2. PASCAL 3. C++ 4. COBOL 5. JAVA 6. C++, JAVA p.28 1. 임베디드 시스템(embedded system)은

More information

CR2006-41.hwp

CR2006-41.hwp 연구책임자 가나다 순 머 리 말 2006년 12월 한국교육학술정보원 원장 - i - - ii - - iii - 평가 영역 1. 교육계획 2. 수업 3. 인적자원 4. 물적자원 5. 경영과 행정 6. 교육성과 평가 부문 부문 배점 비율(%) 점수(점) 영역 배점 1.1 교육목표 3 15 45점 1.2 교육과정 6 30 (9%) 2.1 수업설계 6 30 2.2

More information

<BFBEBEC6C0CCB5E9C0C720B3EEC0CC2E20B3EBB7A120C0CCBEDFB1E220C7D0B1B3202D20C0DAB7E1322E687770>

<BFBEBEC6C0CCB5E9C0C720B3EEC0CC2E20B3EBB7A120C0CCBEDFB1E220C7D0B1B3202D20C0DAB7E1322E687770> 놀이노래이야기 학교 자료집 1. 놀이, 노래 이야기의 재미와 아름다움은 어디에 있을까? 2. 노래와 놀아요. 3. 재미있는 말놀이와 놀아요. 4. 이야기와 놀아요. 1. 옛 아이들 놀이, 노래 이야기의 재미와 아름다움은 어디에 있을까? 편해문(옛 아이들 놀이노래이야기 연구소장) 얼마 전 유치원,

More information

H3250_Wi-Fi_E.book

H3250_Wi-Fi_E.book 무선 LAN 기능으로 할 수 있는 것 2 무선 LAN 기능으로 할 수 있는 것 z q l D w 3 Wi-Fi 기능 플로우차트 z q l D 4 Wi-Fi 기능 플로우차트 w 5 본 사용 설명서의 기호 설명 6 각 장별 목차 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 목차 1 2 3 4 8 목차 5 6 7 8 9 9 목차 10 11 12

More information

win8_1±³

win8_1±³ 1 2 3 4 5 6 IDG Tech Library 7 8 9 ITWorld H ow To 마트글래스 기능은 사용자가 시청하거나 플레이한 하우스터프웍스(HowStuffWorks) 내용을 추적해 주고, 성취표나 추가 비디오 콘텐츠 하우스터프웍스 윈도우 8 앱은 기본적으로 하우 등 보조 정보를 제공한다. 또한 PC를 Xbox 360의 스터프웍스 웹 사이트의 모든

More information

제 1 장 기본 개념

제 1 장 기본 개념 이진트리순회와트리반복자 트리순회 (tree traversal) 트리에있는모든노드를한번씩만방문 순회방법 : LVR, LRV, VLR, VRL, RVL, RLV L : 왼쪽이동, V : 노드방문, R : 오른쪽이동 왼쪽을오른쪽보다먼저방문 (LR) LVR : 중위 (inorder) 순회 VLR : 전위 (preorder) 순회 LRV : 후위 (postorder)

More information

레이아웃 1

레이아웃 1 Journal of Engineering Education Research Vol. 15, No. 3, pp. 66~71, May, 2012 기초적인 프로그래밍 교육을 위한 컴퓨터 언어의 특성 및 개발 환경의 임상적 비교 분석 강대기 동서대학교 컴퓨터정보공학부 Clinical Comparative Analysis of Characteristics of Computer

More information

학습 목차 r컴퓨터에서 마이크로 프로세서 유형보기 r어셈블리 프로그램의 이해 r인터럽트(interrupt) r명령어 세트 r주소지정 방식 컴퓨터 구조 2 10. CPU 명령어

학습 목차 r컴퓨터에서 마이크로 프로세서 유형보기 r어셈블리 프로그램의 이해 r인터럽트(interrupt) r명령어 세트 r주소지정 방식 컴퓨터 구조 2 10. CPU 명령어 컴퓨터 구조 제 10 강 중앙처리장치의 명령어 학습 목차 r컴퓨터에서 마이크로 프로세서 유형보기 r어셈블리 프로그램의 이해 r인터럽트(interrupt) r명령어 세트 r주소지정 방식 컴퓨터 구조 2 10. CPU 명령어 학습 목표 r어셈블리 언어는 기계어와 일대일 대응을 하는 언어 로 그 형식과 동작을 이해한다. r인터럽트의 동작과 인터럽트 부 사이클이 포함된

More information

<B3EDB4DC28B1E8BCAEC7F6292E687770>

<B3EDB4DC28B1E8BCAEC7F6292E687770> 1) 초고를읽고소중한조언을주신여러분들게감사드린다. 소중한조언들에도불구하고이글이포함하는오류는전적으로저자개인의것임을밝혀둔다. 2) 대표적인학자가 Asia's Next Giant: South Korea and Late Industrialization, 1990 을저술한 MIT 의 A. Amsden 교수이다. - 1 - - 2 - 3) 계량방법론은회귀분석 (regression)

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Index 1. Intro Install Connect Scratch 1.4 (Offline Editor) Scratch 2.0 (Online Editor) Connect f

Index 1. Intro Install Connect Scratch 1.4 (Offline Editor) Scratch 2.0 (Online Editor) Connect f Scratch 호환 센서 보드 SKY SSB 설정 메뉴얼 1st of April 2016 Techdine Index 1. Intro... 03 2. Install... 04 3. Connect... 06 3-1. Scratch 1.4 (Offline Editor)... 06 3-2. Scratch 2.0 (Online Editor)... 09 3-2-1. Connect

More information

TTA Journal No.157_서체변경.indd

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

[CA-09강] 특수기억장치와 입,출력장치.hwp

[CA-09강] 특수기억장치와 입,출력장치.hwp 강의 정보처리 필기 강사 조대호 차시 명 [CA-09강] 특수기억장치와 입 출력장치 차시 9차시 학습내용 특수기억장치, 입력 및 출력 장치 학습목표 특수기억장치의 종류와 개념을 이해 할 수 있다 입력 및 출력장치의 구성과 개념을 이해 할 수 있다 학습내용 1. 컴퓨터의 구성 - 1 - 2. 기억장치의 분류 3. 기억장치 계층 구조 4. 특수기억장치 연관기억장치

More information

141018_m

141018_m DRAGONS JEONNAM DRAGONS FOOTBALL CLUB MATCH MAGAZINE VOL.136 / 2014.10.16 Preview Review News Poster PREVIEW K LEAGUE CLASSIC 32R JEONNAM VS SEOUL / 14.10.18 / 14:00 / 광양축구전용구장 서울과 뜨거운 한판 승부! 전남드래곤즈가 오는

More information

2. 4. 1. 업무에 활용 가능한 플러그인 QGIS의 큰 들을 찾 아서 특징 설치 마 폰 은 스 트 그 8 하 이 업무에 필요한 기능 메뉴 TM f K 플러그인 호출 와 TM f K < 림 > TM f K 종항 그 중에서 그 설치 듯 할 수 있는 플러그인이 많이 제공된다는 것이다. < 림 > 다. 에서 어플을 다운받아 S or 8, 9 의 S or OREA

More information

FileMaker Go 13 5 5 5 6 6 7 8 8 10 10 10 10 10 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 15 4 17 17 17 18 18 18 18 18 19 19 19 19 19 19 20 20 20 21 21 22 22 22 22 23 23 1. 2. 3. 4. 5. 6. 1. 2. 3. 1

More information