(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

Similar documents
PowerPoint Template

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - additional07.ppt [호환 모드]

03장.스택.key

C++ Programming

C++ Programming

C++ Programming

Microsoft PowerPoint - additional08.ppt [호환 모드]

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

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

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

chap 5: Trees

Microsoft PowerPoint - additional06.ppt [호환 모드]

PowerPoint Template

untitled

PowerPoint 프레젠테이션

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt

chap10.PDF

C++ Programming

2002년 2학기 자료구조

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - additional01.ppt [호환 모드]

Data structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레

Microsoft PowerPoint - C++ 5 .pptx

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

1. 표준입출력 C++ : C의모든라이브러리를포함 printf, scanf 함수사용가능예 : int, double, 문자열값을입력받고출력하기 #include <cstdio> int ivar; double dvar; char str[20]; printf("int, dou

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

chap8.PDF

Chapter 4. LISTS

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

Microsoft PowerPoint - Chapter 4-rev

5.스택(강의자료).key

쉽게 풀어쓴 C 프로그래밍

1. 클래스와배열 int 형배열선언및초기화 int ary[5] = 1, 2, 3, 4, 5 ; for (int i = 0; i < 5; i++) cout << "ary[" << i << "] = " << ary[i] << endl; 5 장클래스의활용 1

금오공대 컴퓨터공학전공 강의자료

PowerPoint Presentation

제 1 강 희망의 땅, 알고리즘

C프로-3장c03逞풚

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - Chapter 1-rev

Microsoft Word - java19-1-midterm-answer.doc

1. 상속의기본개념 다음과같은문제를위한클래스설계 자동차 속성 : 색상, 배기량, 현재속도 메서드 : 가속하라, 멈춰라, 시동을켜라 트럭 속성 : 색상, 배기량, 현재속도, 최대중량 메서드 : 가속하라, 멈춰라, 시동을켜라 택시 속성 : 색상, 배기량, 현재속도, 요금,

PowerPoint Presentation

PowerPoint Presentation

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - Chapter 10.ppt

06장.리스트

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - [2009] 02.pptx

PowerPoint Template

Microsoft PowerPoint - 2강

03_queue

윤성우의 열혈 TCP/IP 소켓 프로그래밍

중간고사

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

신림프로그래머_클린코드.key

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

C++ Programming

Design Issues

JAVA PROGRAMMING 실습 08.다형성

윤성우의 열혈 TCP/IP 소켓 프로그래밍

PowerPoint Presentation

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Visual C++ & OOP Fundamentals ( 2005/1/31~2005/2/4)

Microsoft PowerPoint - additional03.ppt [호환 모드]

5장.key

PowerPoint 프레젠테이션

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

JUNIT 실습및발표

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은

Programming hwp

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - chap10-함수의활용.pptx

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

Microsoft PowerPoint - CSharp-10-예외처리

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

Lab 3. 실습문제 (Single linked list)_해답.hwp

윤성우의 열혈 TCP/IP 소켓 프로그래밍

윤성우의 열혈 TCP/IP 소켓 프로그래밍

C++ 기본문법 정리

Microsoft PowerPoint - Chap12-OOP.ppt

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

080629_CFP °ø°³¿ë.hwp

4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문

Microsoft PowerPoint - Chapter_09.pptx

01-OOPConcepts(2).PDF


Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

11강-힙정렬.ppt

PowerPoint Presentation

Microsoft PowerPoint - 07-chap05-Stack.ppt

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

자바 프로그래밍

Transcription:

내장형시스템공학 (NH466) 중간고사 학번 : 이름 : 문제 배점 점수 1 20 2 20 3 20 4 20 5 10 6 10 7 15 8 20 9 15 합계 150 1. (20 점 ) 다음용어에대해서설명하시오. (1) 정보은닉 (Information Hiding) (2) 캡슐화 (Encapsulation) (3) 오버로딩 (Overloading) (4) 생성자 (Constructor) (5) 인라인 (Inline) 함수 (6) 상속 (Inheritance) (7) Protected 멤버 1 / 12

2. (20 점 ) 다음프로그램들은에러 (Error) 를포함하고있다. 에러가발생하는원인을설명하시오. (1) using std::cout; class Counter int val; Counter () val = 0; void Print () cout << val; void SetX (Counter c, int val) c.val = val; int main () Counter cnt; SetX (cnt, 2002); cnt.print (); (2) using std::cout; class AAA int AAA() int main () AAA aaa; cout << 생성자 ; (3) class BBB int a; double b; void setval (int x) a = x; int setval (double y) b = y; return a; int main () BBB bb; bb.setval (20); bb.setval (3.14); 2 / 12

(4) using std::cout; class Point int x; int y; Point () x = 0; y = 0; int getx () return x; int gety () return y; void setx (int _x) x = _x; void sety (int _y) y = _y; int main () Point *arr[5]; for (int i = 0; i < 5; i++) arr[i] >setx (i*2); arr[i] >sety (i*3); for (int i = 1; i < 3; i++) cout << *(arr[i]).getx(); (5) using std::cout; class AAA private: int a; protected: int b; void init () a = 10; b = 20; class BBB : public AAA void SetData() init (); int main () BBB bbb; bbb.init (); bbb.setdata (); 3 / 12

3. (20 점 ) 다음 Counter 클래스에대해서각 main 프로그램의수행결과를작성하시오. counter.h /* Counter 클래스 */ using std::cout; using std:endl; class Counter int val; Counter () val = 0; cout << 생성자 1 << endl; Counter (int cnt) val = cnt; cout << 생성자 2 << endl; Counter (Counter cntr) val = cntr.getvalue (); cout << 생성자 3 << endl; void increment () val++; int getvalue () return val; void print () cout << val = << val << endl; (1) #include counter.h int main () Counter aa; Counter *ptr; ptr = &aa; aa.print (); (2) #include counter.h int main () Counter bb; Counter *ptr2 = new Counter (20); bb.print (); ptr2->print (); 4 / 12

(3) #include counter.h int main () Counter cc; cc.increment (); Counter *ptr3 = new Counter (cc); cc.print (); ptr3->print (); (4) #include counter.h void test () Counter dd, ee; dd.increment (); dd.prnt (); int main () Counter ff(15); test (); ff.print (); (5) #include counter.h int main () Counter gg[3]; Counter *ptr[3]; gg[0].increment (); gg[1].increment (); gg[2].print (); 5 / 12

4. (20 점 ) 이진탐색트리 (Binary Search Tree) 클래스를구현하기위해서다음과같이 BinarySearchTree 클래스를 설계하였다. using std::cout; using std::endl; struct Element int key; Element *left; Element *right; class BinarySearchTree Element *top; BinarySearchTree () top = NULL; bool search (int key); /* key 가있으면 true, 없으면 false 리턴 */ bool insert (int key); /* key 가없으면새로삽입 */ void printinorder (); /* Inorder 출력 */ int getnum (); /* 현재노드의개수출력 */ /* 필요한메소드추가가능 */ (1) 새로운 key 를삽입하는 insert 메소드를구현하여라. 6 / 12

(2) 이진탐색트리가관리하고있는 key 의개수를리턴하는메소드 getnum 메소드를구현하여라. (3) 두개의이진탐색트리를합쳐서하나의이진탐색트리를생성하고자한다. 어떠한메소드가추가적으로 필요할것인가? 그리고, 어떻게구현할지알고리즘을설명하시오. 7 / 12

5. (10 점 ) 아래프로그램을참조하여질문에답하여라. #include <iostream.h> void swap (int a, int b) int temp; temp = a; a = b; b = temp; void swap (int *a, int *b) int temp; temp = *a; *a = *b; *b = temp; int main () int val1, val2; int *ptr1, *ptr2 val1 = 20; val2 = 30; swap (val1, val2); cout << val1 = << val1 <<, val2 = << val2 << endl; swap (&val1, &val2); cout << val1 = << val1 <<, val2 = << val2 << endl; (1) 위프로그램의실행결과를작성하시오. (2) 함수오버로딩 (Overloading) 에대해서위의프로그램을예제로설명하시오. 8 / 12

6. (10 점 ) 스택은한쪽끝에서만자료를넣거나뺄수있는선형구조의자료구조이다. 자료를넣는것을 ' 밀어넣는다 ' 하여푸시 (push) 라고하고반대로넣어둔자료를꺼내는것을팝 (pop) 이라고하는데, 이때꺼내지는 자료는가장최근에보관한자료부터나오게된다. 문자 (char) 를최대 100 개까지관리하는스택클래스는다음과같이구현될수있다. class CharStack char list[100]; int top; CharStack () top = -1; bool isempty () if (top == -1) return true; return false; bool isfull () if (top == 99) return true; return false; void push (char ch) if (isfull() == false) list[++top] = ch; char pop () if (isempty() == false) return list[top--]; 회문 (palindrome) 은거꾸로읽어도제대로읽는것과같은문장이나낱말을말한다. 예를들어, abccba, refer, level 등이다. 주어진문자열이회문인지아닌지판멸하는함수를 CharStack 클래스를이용해서구현하여라. bool ispalindrome (char *str) 9 / 12

7. (15 점 ) 아래의 Person 클래스는일반적인사람의정보 ( 나이, 이름 ) 를관리한다. class Person int age; char name[20]; int getage () return age; char *getname () return name; Person (int _age, char *_name) age = _age; strcpy (name, _name); (1) 학생은학번 (ID) 과전공 (Major) 등의추가적인데이터를가진다. Person 클래스를상속받아서두데이터멤버와 관련메소드를가지는 Student 클래스를구현하여라. (2) 근로학생는근무시간 (Working Time) 과근무부서 (Department) 등의추가적인데이터를가지는학생이다. Student 클래스를상속받아서관련데이터를관리하는 PartTimeStudent 클래스를구현하여라. 10 / 12

8. (20 점 ) 직사각형을나타내는 Rectangle 클래스와원을나타내는 Circle 클래스를디자인해보자. 두클래스는 넓이 (Area) 를구하는기능과둘레 (Girth) 를구하는기능을지녀야한다. 다음에제공되는 main 함수와출력결과를 통해서요구되는 Rectangle 클래스와 Circle 클래스를구현하여라. /* main 함수의예 */ int main () Rectangle rec (3, 4); // Rectangle rec ( 가로길이, 세로길이 ) cout << 면적 : << rec.getarea () << endl; cout << 둘레 : << rec.getgirth () << endl; Circle cir (5); // Circle cir ( 원의반지름 ) cout << 면적 : << cir.getarea () << endl; cout << 둘레 : << cir.getgirth () << endl; << 실행결과 >> 면적 : 12 둘레 : 14 면적 : 78.5 둘레 : 31.4 (1) Rectangle 클래스 (2) Circle 클래스 11 / 12

9. (15 점 ) 오목 ( 五目 ) 은바둑판에두사람이번갈아돌을놓아가로나세로, 대각선으로다섯개의연속된돌을 놓으면이기는놀이이다. (1) 오목게임을구현할경우필요한클래스를나열하여라. (2) 위에서나열한각클래스에대해서필요한데이터멤버와메소들을각각나열하여라. (3) 위에서나열한클래스들을이용하여오목게임을구현하는방법에설명하시오. 12 / 12