SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

Size: px
Start display at page:

Download "SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000"

Transcription

1 SNU 프로그래밍 원리 (Principles of Programming) Part IV Prof. Kwangkeun Yi

2 차례 1 안전하게프로그래밍하기 : 손수 vs 자동 2 맞는지확인하기쉽게프로그램하기 3 대형프로그래밍을위한기술 : 모듈프로그래밍

3 다음 1 안전하게프로그래밍하기 : 손수 vs 자동 2 맞는지확인하기쉽게프로그램하기 3 대형프로그래밍을위한기술 : 모듈프로그래밍

4 안전한프로그래밍 예상하는데이터 / 값이흘러다니는지를검사하는코드를항상넣는다. 넣는장소는함수정의내에 : 제대로된인자가전달되는지확인. 타입체크 (type check): 함수정의할때, 함수타입에맞는데이터를받는지확인하는코드를넣는다. 조건체크 (requirement check): 함수정의할때, 함수타입에맞는데이터중에서원하는경우의데이터인지를확인하는코드를넣는다.

5 안전한프로그래밍예 타입체크 (type check) 조건체크 (requirement check) (define (nth-child tree n) (cond ((not (is-tree? tree)) (error)) ((not (is-int? n)) (error)) ((is-leaf? tree) (error)) (( n 0) (error)) (else...) ; programming in a safe area ) ) (define (is-tree? tree) (and (pair? tree) (or (equal (car x) leaf-tag) (and (equal (car x) node-tag) (fold and (map is-tree? (cdr tree)) true) )))) (define is-int? integer?)

6 안전한프로그래밍의단점 타입체크코드 조건체크코드를꼭장착시켜야하는가?

7 안전한프로그래밍의단점 타입체크코드 조건체크코드를꼭장착시켜야하는가? 분명히필요없는경우가있긴한데. 그럴땐 필요없겠죠... 그런데붕안하긴해요. 모르겠네요. 더좋은방법없을까요?

8 안전한프로그래밍의단점 타입체크코드 조건체크코드를꼭장착시켜야하는가? 분명히필요없는경우가있긴한데. 그럴땐필요없겠죠... 그런데붕안하긴해요. 모르겠네요. 더좋은방법없을까요? 내프로그램의실행속도가문제될것같아요. 함수호출하면매번타입체크를하는데시간이소모되잖아요. 문제될때곧바로중단시켜야문제를그때그때파악하기쉽긴할텐데... 모르겠네요. 더좋은방법없을까요?

9 안전한프로그래밍의단점 타입체크코드 조건체크코드를꼭장착시켜야하는가? 분명히필요없는경우가있긴한데. 그럴땐필요없겠죠... 그런데붕안하긴해요. 모르겠네요. 더좋은방법없을까요? 내프로그램의실행속도가문제될것같아요. 함수호출하면매번타입체크를하는데시간이소모되잖아요. 문제될때곧바로중단시켜야문제를그때그때파악하기쉽긴할텐데... 모르겠네요. 더좋은방법없을까요? 내프로그램은 KRX-II로켓의진동보정시스템에장착될겁니다. 실행중에멈추면안되는데, 실행중에문제되면결국멈출텐데... 모르겠네요. 더좋은 방법없을까요?

10 미리타입검사해주는프로그래밍환경 static type-checking system 함수의인자타입에맞는데이타 / 값들이항상흘러드는지미리자동으로확인 미리 : 실행전에프로그램텍스트만을보면서. 자동으로 : 프로그래머가하지않는다. 프로그래밍을수월하게 /sw개발생산성증대 이미널리퍼지고있는기술 ( 미래? 현재!)

11 미리타입검사해주는프로그래밍환경 이슈 : 안전하게확인 vs 불안전하게확인

12 미리타입검사해주는프로그래밍환경 이슈 : 안전하게확인 vs 불안전하게확인 안전하게자동확인해주는환경 대표예 : ML(OCaml) 프로그래밍실습을통해서경험

13 미리타입검사해주는프로그래밍환경 이슈 : 안전하게확인 vs 불안전하게확인 안전하게자동확인해주는환경 대표예 : ML(OCaml) 프로그래밍실습을통해서경험 그밖의예 : Java, C#, F#, Scala, Haskell

14 미리타입검사해주는프로그래밍환경 이슈 : 안전하게확인 vs 불안전하게확인 안전하게자동확인해주는환경 대표예 : ML(OCaml) 프로그래밍실습을통해서경험 그밖의예 : Java, C#, F#, Scala, Haskell 불안전한환경

15 미리타입검사해주는프로그래밍환경 이슈 : 안전하게확인 vs 불안전하게확인 안전하게자동확인해주는환경 대표예 : ML(OCaml) 프로그래밍실습을통해서경험 그밖의예 : Java, C#, F#, Scala, Haskell 불안전한환경 타입체크 ok, 그러나실행중에타입에러

16 미리타입검사해주는프로그래밍환경 이슈 : 안전하게확인 vs 불안전하게확인 안전하게자동확인해주는환경 대표예 : ML(OCaml) 프로그래밍실습을통해서경험 그밖의예 : Java, C#, F#, Scala, Haskell 불안전한환경 타입체크 ok, 그러나실행중에타입에러 예 : C, C++, Scheme, JavaScript, Phython

17 미리타입검사해주는프로그래밍환경 이슈 : 안전하게확인 vs 불안전하게확인 안전하게자동확인해주는환경 대표예 : ML(OCaml) 프로그래밍실습을통해서경험 그밖의예 : Java, C#, F#, Scala, Haskell 불안전한환경 타입체크 ok, 그러나실행중에타입에러 예 : C, C++, Scheme, JavaScript, Phython 대책?

18 미리타입검사해주는프로그래밍환경 이슈 : 안전하게확인 vs 불안전하게확인 안전하게자동확인해주는환경 대표예 : ML(OCaml) 프로그래밍실습을통해서경험 그밖의예 : Java, C#, F#, Scala, Haskell 불안전한환경 타입체크 ok, 그러나실행중에타입에러 예 : C, C++, Scheme, JavaScript, Phython 대책? 프로그래머의책임

19 미리타입검사해주는프로그래밍환경 이슈 : 안전하게확인 vs 불안전하게확인 안전하게자동확인해주는환경 대표예 : ML(OCaml) 프로그래밍실습을통해서경험 그밖의예 : Java, C#, F#, Scala, Haskell 불안전한환경 타입체크 ok, 그러나실행중에타입에러 예 : C, C++, Scheme, JavaScript, Phython 대책? 프로그래머의책임 안전한프로그래밍 (defensive programming) 준수

20 미리타입검사해주는프로그래밍환경 안전한 static type-checking system 덕택에

21 미리타입검사해주는프로그래밍환경 안전한 static type-checking system 덕택에 분명히필요없는경우가있긴한데. 그럴땐필요없겠죠... 그런데불안하긴해요. 모르겠네요. 더좋은방법없을까요?

22 미리타입검사해주는프로그래밍환경 안전한 static type-checking system 덕택에 분명히필요없는경우가있긴한데. 그럴땐필요없겠죠... 그런데불안하긴해요. 모르겠네요. 더좋은방법없을까요? Static Type-Checking

23 미리타입검사해주는프로그래밍환경 안전한 static type-checking system 덕택에 분명히필요없는경우가있긴한데. 그럴땐필요없겠죠... 그런데불안하긴해요. 모르겠네요. 더좋은방법없을까요? Static Type-Checking 내프로그램의실행속도가문제될것같아요. 프로시져실행중에매번타입체크를하는데시간이소모되잖아요. 문제될때곧바로중단시켜야문제를그때그때파악하기쉽긴할텐데... 모르겠네요. 더좋은방법없을까요?

24 미리타입검사해주는프로그래밍환경 안전한 static type-checking system 덕택에 분명히필요없는경우가있긴한데. 그럴땐필요없겠죠... 그런데불안하긴해요. 모르겠네요. 더좋은방법없을까요? Static Type-Checking 내프로그램의실행속도가문제될것같아요. 프로시져실행중에매번타입체크를하는데시간이소모되잖아요. 문제될때곧바로중단시켜야문제를그때그때파악하기쉽긴할텐데... 모르겠네요. 더좋은방법없을까요? Static Type-Checking

25 미리타입검사해주는프로그래밍환경 안전한 static type-checking system 덕택에 분명히필요없는경우가있긴한데. 그럴땐필요없겠죠... 그런데불안하긴해요. 모르겠네요. 더좋은방법없을까요? Static Type-Checking 내프로그램의실행속도가문제될것같아요. 프로시져실행중에매번타입체크를하는데시간이소모되잖아요. 문제될때곧바로중단시켜야문제를그때그때파악하기쉽긴할텐데... 모르겠네요. 더좋은방법없을까요? Static Type-Checking 내프로그램은 KRX-II로켓의진동보정시스템에장착될겁니다. 실행중에멈추면안되는데, 실행중에문제되면결국멈출텐데... 모르겠네요. 더좋은방법없을까요?

26 미리타입검사해주는프로그래밍환경 안전한 static type-checking system 덕택에 분명히필요없는경우가있긴한데. 그럴땐필요없겠죠... 그런데불안하긴해요. 모르겠네요. 더좋은방법없을까요? Static Type-Checking 내프로그램의실행속도가문제될것같아요. 프로시져실행중에매번타입체크를하는데시간이소모되잖아요. 문제될때곧바로중단시켜야문제를그때그때파악하기쉽긴할텐데... 모르겠네요. 더좋은방법없을까요? Static Type-Checking 내프로그램은 KRX-II로켓의진동보정시스템에장착될겁니다. 실행중에멈추면안되는데, 실행중에문제되면결국멈출텐데... 모르겠네요. 더좋은방법없을까요? Static Type-Checking

27 (define (nth-child tree n) (cond ((not (is-tree? tree)) (error)) ((not (is-int? n)) (error)) ((is-leaf? tree) (error)) (( n 0) (error)) (else...) ; programming in a safe area ) ) (define (is-tree? tree) (and (pair? tree) (or (equal (car x) leaf-tag) (and (equal (car x) node-tag) (fold and (map is-tree? (cdr tree)) true) )))) (define is-int? integer?)

28 (define (nth-child tree n) (cond ((not (is-int? n)) (error)) ((is-leaf? tree) (error)) (( n 0) (error)) (else...) ; programming in a safe area ) ) (define (is-tree? tree) (and (pair? tree) (or (equal (car x) leaf-tag) (and (equal (car x) node-tag) (fold and (map is-tree? (cdr tree)) true) )))) (define is-int? integer?)

29 (define (nth-child tree n) (cond ((is-leaf? tree) (error)) (( n 0) (error)) (else...) ; programming in a safe area ) ) (define (is-tree? tree) (and (pair? tree) (or (equal (car x) leaf-tag) (and (equal (car x) node-tag) (fold and (map is-tree? (cdr tree)) true) )))) (define is-int? integer?)

30 (define (nth-child tree n) (cond ) ) ((is-leaf? tree) (error)) (( n 0) (error)) (else...) ; programming in a safe area

31 다음 1 안전하게프로그래밍하기 : 손수 vs 자동 2 맞는지확인하기쉽게프로그램하기 3 대형프로그래밍을위한기술 : 모듈프로그래밍

32 귀납적으로차근차근프로그래밍하 기 (inductive refinement) 예 ) 어울리지않아 프로그래밍 smatch : 스트링 코드 bool 코드 보조자료참고 c c c c c c? c*

33 다음 1 안전하게프로그래밍하기 : 손수 vs 자동 2 맞는지확인하기쉽게프로그램하기 3 대형프로그래밍을위한기술 : 모듈프로그래밍

34 대형프로그래밍의상황 바깥에드러나는정의된이름들이점점많아진다

35 대형프로그래밍의상황 바깥에드러나는정의된이름들이점점많아진다 해결책?

36 대형프로그래밍의상황 바깥에드러나는정의된이름들이점점많아진다 해결책? 보따리포장 : 수많은정의된이름들을그룹별로 나누고

37 대형프로그래밍의상황 바깥에드러나는정의된이름들이점점많아진다 해결책? 보따리포장 : 수많은정의된이름들을그룹별로나누고 보따리이름 : 보따리마다이름을붙이자

38 대형프로그래밍의상황 바깥에드러나는정의된이름들이점점많아진다 해결책? 보따리포장 : 수많은정의된이름들을그룹별로나누고 보따리이름 : 보따리마다이름을붙이자 어느보따리의무엇 으로호칭

39 대형프로그래밍의상황 바깥에드러나는정의된이름들이점점많아진다 해결책? 보따리포장 : 수많은정의된이름들을그룹별로나누고 보따리이름 : 보따리마다이름을붙이자 어느보따리의무엇 으로호칭 이름의재사용 : 보따리소속만다르면같은이름도 괜찮다

40 모듈프로그래밍 대형프로그래밍을위한

41 모듈프로그래밍 대형프로그래밍을위한 모듈 = 정의들 + 보따리포장 + 보따리이름 module,.c file, structure, package

42 모듈프로그래밍 대형프로그래밍을위한 모듈 = 정의들 + 보따리포장 + 보따리이름 module,.c file, structure, package 모듈타입 = 박스안에있는정의들의타입들 module type,.h file, signature, interface

43 모듈프로그래밍 대형프로그래밍을위한 모듈 = 정의들 + 보따리포장 + 보따리이름 module,.c file, structure, package 모듈타입 = 박스안에있는정의들의타입들 module type,.h file, signature, interface 일반화된모듈 = 모듈을인자로받는모듈 functor, parameterized module, class template, generic package

44 모듈프로그래밍 대형프로그래밍을위한 모듈 = 정의들 + 보따리포장 + 보따리이름 module,.c file, structure, package 모듈타입 = 박스안에있는정의들의타입들 module type,.h file, signature, interface 일반화된모듈 = 모듈을인자로받는모듈 functor, parameterized module, class template, generic package 타입시스템의똑똑한도움 ( 대세 ) 모듈정의대로외부에서사용하는지미리검사해준다겉으로드러내기로한내용만사용하는지미리 검사해준다

45 모듈의정의

46 모듈타입의정의 모듈정의에서자동유추될수있기도하고 모듈타입을정의할수도있고

47 모듈타입의용도 signature matching ( 모듈타입과어울리기 ) 을통해서 어울린모듈은모듈타입에드러난내용만바깥에알려짐모듈이어느모듈타입과어울리려면그타입에드러난정의는최소한있어야 module Box:S = struct... end module Box = struct... end:s

48 모듈함수의정의 함수 : 값을받아서값을만드는함수 fun f(x,y) = x+y 모듈함수 : 모듈을받아서모듈을만드는함수 module F(X:S1, Y:S2) = struct... end

49 모듈함수의정의 함수 : 값을받아서값을만드는함수 fun f(x,y) = x+y 모듈함수 : 모듈을받아서모듈을만드는함수 module F(X:S1, Y:S2) = struct... end 참고 : 인자로받는모듈의타입을자동유추할수 있을까?

50 모듈함수의정의 함수 : 값을받아서값을만드는함수 fun f(x,y) = x+y 모듈함수 : 모듈을받아서모듈을만드는함수 module F(X:S1, Y:S2) = struct... end 참고 : 인자로받는모듈의타입을자동유추할수 있을까? 아직불가능. 예 ) module F(X) = struct let f x = X.g x X.g의타입?

51 모듈함수의정의 함수 : 값을받아서값을만드는함수 fun f(x,y) = x+y 모듈함수 : 모듈을받아서모듈을만드는함수 module F(X:S1, Y:S2) = struct... end 참고 : 인자로받는모듈의타입을자동유추할수 있을까? 아직불가능. 예 ) module F(X) = struct let f x = X.g x X.g 의타입? 알려면, 만들어지는모듈이어디에서어떻게 f 를 사용하는지알아야.

52 모듈프로그래밍

53 모듈프로그래밍

54 모듈프로그래밍

55 모듈프로그래밍

56 모듈프로그래밍

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 ±×to0.

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 ±×to0. 프로그래밍 원리 (Principles of Programming) Part IV Prof. Kwangkeun Yi 차례 1 안전하게프로그래밍하기 : 손수 vs 자동 2 맞는지확인하기쉽게프로그램하기 3 대형프로그래밍을위한기술 : 모듈프로그래밍 다음 1 안전하게프로그래밍하기 : 손수 vs 자동 2 맞는지확인하기쉽게프로그램하기 3 대형프로그래밍을위한기술 : 모듈프로그래밍

More information

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 SNU 4190.210 프로그래밍 원리 (Principles of Programming) Part III Prof. Kwangkeun Yi 차례 1 값중심 vs 물건중심프로그래밍 (applicative vs imperative programming) 2 프로그램의이해 : 환경과메모리 (environment & memory) 다음 1 값중심 vs 물건중심프로그래밍

More information

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 ±×to0.

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 ±×to0. 차례 SNU 4190.210 프로그래밍원리 (Principles of Programming) Part II Prof. Kwangkeun Yi 다음 데이타구현하기 (data implementation) 새로운타입의데이타 / 값구현하기 기억하는가 : 타입들 (types) τ ::= ι primitive type τ τ pair(product) type τ + τ

More information

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 ±×to0.

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 ±×to0. 프로그래밍 원리 (Principles of Programming) Part II Prof. Kwangkeun Yi 차례 1 데이타구현하기 (data implementation) 2 데이터속구현감추기 (data abstraction) 3 여러구현동시지원하기 (multiple implemenations) 4 각계층별로속구현감추기 (data abstraction

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Programming Languages 모듈과펑터 2016 년봄학기 손시운 (ssw5176@kangwon.ac.kr) 담당교수 : 임현승교수님 모듈 (module) 관련있는정의 ( 변수또는함수 ) 를하나로묶은패키지 예약어 module과 struct end를사용하여정의 아래는모듈의예시 ( 우선순위큐, priority queue) # module PrioQueue

More information

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. 오늘할것 5 6 HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. Review: 5-2 7 7 17 5 4 3 4 OR 0 2 1 2 ~20 ~40 ~60 ~80 ~100 M 언어 e ::= const constant

More information

OCaml

OCaml OCaml 2009.. (khheo@ropas.snu.ac.kr) 1 ML 2 ML OCaml INRIA, France SML Bell lab. & Princeton, USA nml SNU/KAIST, KOREA 3 4 (let) (* ex1.ml *) let a = 10 let add x y = x + y (* ex2.ml *) let sumofsquare

More information

Exercise (10pts) k-친수 일반적으로 k진수(k > 1)는 다음과 같이 표현한다. d0 dn 여기서 di {0,, k 1}. 그리고 d0 dn 은 크기가 d0 k dn k n 인 정수를 표현한다. 이것을 살짝 확장해서 k친수 를 다음과 같이 정의

Exercise (10pts) k-친수 일반적으로 k진수(k > 1)는 다음과 같이 표현한다. d0 dn 여기서 di {0,, k 1}. 그리고 d0 dn 은 크기가 d0 k dn k n 인 정수를 표현한다. 이것을 살짝 확장해서 k친수 를 다음과 같이 정의 Homework SNU 4190.310, Fall 017 Kwangkeun Yi due: 9/8, 4:00 Exercise 1 (10pts) 참거짓 Propositional Logic 식들 (formula) 을다음과같이정의했습니다 : type formula = TRUE FALSE NOT of formula ANDALSO of formula * formula

More information

기본자료형만으로이루어진인자를받아서함수를결과값으로반환하는고차함수 기본자료형과함수를인자와결과값에모두이용하는고차함수 다음절에서는여러가지예를통해서고차함수가어떤경우에유용한지를설명한다. 2 고차함수의 예??장에서대상체만바뀌고중간과정은동일한계산이반복될때함수를이용하면전체연산식을간 단

기본자료형만으로이루어진인자를받아서함수를결과값으로반환하는고차함수 기본자료형과함수를인자와결과값에모두이용하는고차함수 다음절에서는여러가지예를통해서고차함수가어떤경우에유용한지를설명한다. 2 고차함수의 예??장에서대상체만바뀌고중간과정은동일한계산이반복될때함수를이용하면전체연산식을간 단 EECS-101 전자계산입문 고차함수 박성우 2008년5월 29일 지금까지정수나부동소수와같은기본적인자료형의조합을인자로받고결과값으로반환하는 함수에대해서배웠다. 이번강의에서는함수자체를다른함수의인자로이용하거나결과값으로 이용하는 방법을 배운다. 1 고차함수의 의미 계산은무엇을어떻게처리하여결과값을얻는지설명하는것으로이루어진다. 여기서 무엇 과 결 과값 은계산의대상체로서정수나부동소수와같은기본자료형의조합으로표현하며,

More information

Homework 2 SNU , Fall 2015 Kwangkeun Yi due: 9/30, 24:00 Exercise 1 (10pts) k- 친수 일반적으로 k 진수 (k > 1) 는다음과같이표현한다. d 0 d n 여기서 d i {0,, k 1}. 그리

Homework 2 SNU , Fall 2015 Kwangkeun Yi due: 9/30, 24:00 Exercise 1 (10pts) k- 친수 일반적으로 k 진수 (k > 1) 는다음과같이표현한다. d 0 d n 여기서 d i {0,, k 1}. 그리 Homework 2 SNU 4190.310, Fall 2015 Kwangkeun Yi due: 9/30, 24:00 Exercise 1 (10pts) k- 친수 일반적으로 k 진수 (k > 1) 는다음과같이표현한다. d 0 d n 여기서 d i {0,, k 1}. 그리고 d 0 d n 은크기가 d 0 k 0 + + d n k n 인정수를표현한다. 이것을살짝확장해서

More information

Homework 1 SNU , Fall 2012 Kwangkeun Yi Due: 9/14, 24:00 Exercise 1 리스트합 큰순서대로 (descending order) 나열된정수리스트두개를받아서하나의 순서리스트로만드는함수 merge: int lis

Homework 1 SNU , Fall 2012 Kwangkeun Yi Due: 9/14, 24:00 Exercise 1 리스트합 큰순서대로 (descending order) 나열된정수리스트두개를받아서하나의 순서리스트로만드는함수 merge: int lis Homework 1 SNU 4190.310, Fall 2012 Kwangkeun Yi Due: 9/14, 24:00 Exercise 1 리스트합 큰순서대로 (descending order) 나열된정수리스트두개를받아서하나의 순서리스트로만드는함수 merge: int list * int list -> int list 를정의하세요. 리스트에는같은정수가반복해서들어있지않습니다.

More information

ThisJava ..

ThisJava .. 자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

鍮뚮┰硫붾돱??李⑤낯

鍮뚮┰硫붾돱??李⑤낯 5 1 2 3 4 5 6 7 8 9 1 2 3 6 7 1 2 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 36 37 38 39 40 41 42 43 44 45 OK 46 47 OK 48 OK 49 50 51 OK OK 52 53 54 55 56 57 58 59 60 61

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

2 0 1 1 4 2011 1 2 Part I. 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 Part II. 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 2-11 2-12 2-13 2-14 2-15 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23 2-24 2-25 2-26 2-27 2-28

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

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

chap10.PDF

chap10.PDF 10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

PART 8 12 16 21 25 28

PART 8 12 16 21 25 28 PART 8 12 16 21 25 28 PART 34 38 43 46 51 55 60 64 PART 70 75 79 84 89 94 99 104 PART 110 115 120 124 129 134 139 144 PART 150 155 159 PART 8 1 9 10 11 12 2 13 14 15 16 3 17 18 19 20 21 4 22 23 24 25 5

More information

이슈분석 2000 Vol.1

이슈분석 2000 Vol.1 i ii iii iv 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

More information

가볍게읽는-내지-1-2

가볍게읽는-내지-1-2 I 01. 10 11 12 02. 13 14 15 03. 16 17 18 04. 19 20 21 05. 22 23 24 06. 25 26 27 07. 28 29 08. 30 31 09. 32 33 10. 34 35 36 11. 37 12. 38 13. 39 14. 40 15. 41 16. 42 43 17. 44 45 18. 46 19. 47 48 20. 49

More information

한눈에-아세안 내지-1

한눈에-아세안 내지-1 I 12 I 13 14 I 15 16 I 17 18 II 20 II 21 22 II 23 24 II 25 26 II 27 28 II 29 30 II 31 32 II 33 34 II 35 36 III 38 III 39 40 III 41 42 III 43 44 III 45 46 III 47 48 III 49 50 IV 52 IV 53 54 IV 55 56 IV

More information

kbs_thesis.hwp

kbs_thesis.hwp - I - - II - - III - - IV - - 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 -

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

11강-힙정렬.ppt

11강-힙정렬.ppt 11 (Heap ort) leejaku@shinbiro.com Topics? Heap Heap Opeations UpHeap/Insert, DownHeap/Extract Binary Tree / Index Heap ort Heap ort 11.1 (Priority Queue) Operations ? Priority Queue? Priority Queue tack

More information

제4장 기본 의미구조 (Basic Semantics)

제4장  기본 의미구조 (Basic Semantics) 제 4 장블록및유효범위 Reading Chap. 5 숙대창병모 1 4.1 변수선언및유효범위 숙대창병모 2 변수선언과유효범위 변수선언 Declaration before Use! 대부분의언어에서변수는사용전에먼저선언해야한다. 변수의유효범위 (scope) 선언된변수가유효한 ( 사용될수있는 ) 프로그램내의범위 / 영역 변수이름뿐아니라함수등다른이름도생각해야한다. 정적유효범위

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx OOPT Stage 2040 - Design Feesual CPT Tool Project Team T8 Date 2017-05-24 T8 Team Information 201211347 박성근 201211376 임제현 201411270 김태홍 2017 Team 8 1 Table of Contents 1. Activity 2041. Design Real Use

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

More information

PowerPoint Template

PowerPoint Template 16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

Microsoft PowerPoint - 09-Object Oriented Programming-3.pptx

Microsoft PowerPoint - 09-Object Oriented Programming-3.pptx Development of Fashion CAD System 9. Object Oriented Programming-3 Sungmin Kim SEOUL NATIONAL UNIVERSITY Introduction Topics Object Oriented Programming (OOP) 정의 복수의 pattern object 로 이루어지는 새로운 class Pattern

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

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

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

신림프로그래머_클린코드.key CLEAN CODE 6 11st Front Dev. Team 6 1. 2. 3. checked exception 4. 5. 6. 11 : 2 4 : java (50%), javascript (35%), SQL/PL-SQL (15%) : Spring, ibatis, Oracle, jquery ? , (, ) ( ) 클린코드를 무시한다면 . 6 1. ,,,!

More information

<4D6963726F736F667420576F7264202D20C3A520BCD2B0B32DC0CCB7B2B0C5B8E9B3AAB6FBBFD6B0E1C8A5C7DFBEEE322E646F63>

<4D6963726F736F667420576F7264202D20C3A520BCD2B0B32DC0CCB7B2B0C5B8E9B3AAB6FBBFD6B0E1C8A5C7DFBEEE322E646F63> 다툼과 상처에서 벗어나 행복한 부부로 사는 법 이럴 거면 나랑 왜 결혼했어? (이수경 지음/라이온북스/2012년 5월/340쪽/14,000원) - 1 - 이럴 거면 나랑 왜 결혼했어? (이수경 지음/라이온북스/2012년 5월/340쪽/14,000원) 책 소개 지고는 절대 못사는 부부 를 위한 결혼생활 코칭! 이 책은 아내가 먼저 읽고 남편에게 건네야 하는 책이다.

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

우루과이 내지-1

우루과이 내지-1 U R U G U A Y U r u g u a y 1. 2 Part I Part II Part III Part IV Part V Part VI Part VII Part VIII 3 U r u g u a y 2. 4 Part I Part II Part III Part IV Part V Part VI Part VII Part VIII 5 U r u g u a

More information

2002년 2학기 자료구조

2002년 2학기 자료구조 자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)

More information

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular

More information

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

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

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

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은 Data structure: Assignment 1 Seung-Hoon Na October 1, 018 1 1.1 Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은 multiline으로 구성될 수 있으며, 한 라인에는 임의의 갯수의 숫자가 순서대로 나열될

More information

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

슬라이드 1

슬라이드 1 CHAP 2: 순환 (Recursion) 순환 (recursion) 이란? 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 정의자체가순환적으로 되어있는경우에적합한방법 순환 (recursion) 의예 팩토리얼값구하기 피보나치수열 1 n! n*( n 1)! fib( n) 0 1 fib( n 2) n n 0 ` 1 fib( n 1) if n 0 if

More information

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 27. 파일의분할과헤더파일의디자인 2013.09.11. 오병우 컴퓨터공학과 설계 (design) 중요 27-1 프로그램의모듈화 변경, 확장등의유지보수가용이하도록설계 C 언어에서는 module 구성중요 C++, Java 등의객체지향언어에서는 class, abstraction 중요 Design Patterns 에대해 2 학년여름방학이나겨울방학에공부해보시기바랍니다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using

More information

09-interface.key

09-interface.key 9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1

More information

03_queue

03_queue Queue Data Structures and Algorithms 목차 큐의이해와 ADT 정의 큐의배열기반구현 큐의연결리스트기반구현 큐의활용 덱 (Deque) 의이해와구현 Data Structures and Algorithms 2 큐의이해와 ADT 정의 Data Structures and Algorithms 3 큐 (Stack) 의이해와 ADT 정의 큐는 LIFO(Last-in,

More information

Homework 3 SNU , 2011 가을이광근 Program Due: 10/10, 24:00 Essay Due: 10/12, 15:30 이번숙제의목적은 : 수업시간에살펴본, 상식적인명령형언어의정확한정의를이해하고그실행기를구현해보기. 상식적인수준에서디자인

Homework 3 SNU , 2011 가을이광근 Program Due: 10/10, 24:00 Essay Due: 10/12, 15:30 이번숙제의목적은 : 수업시간에살펴본, 상식적인명령형언어의정확한정의를이해하고그실행기를구현해보기. 상식적인수준에서디자인 Homework 3 SNU 4190.310, 2011 가을이광근 Program Due: 10/10, 24:00 Essay Due: 10/12, 15:30 이번숙제의목적은 : 수업시간에살펴본, 상식적인명령형언어의정확한정의를이해하고그실행기를구현해보기. 상식적인수준에서디자인된명령형언어의대표격인 C언어의역사와, 컴퓨터실행 ( 기계적인계산 ) 과상위논리의관계, 제대로정의된언어의쓰임새등에대한이야기를읽고느낀바를글로쓰기.

More information

슬라이드 1

슬라이드 1 Recursion SANGJI University KO Kwangman () 1. 개요 재귀 (recursion) 의정의, 순환 정의하고있는개념자체에대한정의내부에자기자신이포함되어있는경우를의미 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 정의자체가순환적으로되어있는경우에적합한방법 예제 ) 팩토리얼값구하기 피보나치수열 이항계수 하노이의탑 이진탐색

More information

슬라이드 1

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

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

More information

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

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

증권3월b72릴藪?

증권3월b72릴藪? March 2010 53 54 KRX Market March 2010 55 56 KRX Market March 2010 57 58 KRX Market March 2010 59 60 KRX Market March 2010 61 62 KRX Market March 2010 63 64 KRX Market March 2010 65 66 KRX Market March

More information

1017스톰-KRX104호003~048수.ps, page 1-46 @ Apogee Preflight

1017스톰-KRX104호003~048수.ps, page 1-46 @ Apogee Preflight 28 2013 October KRX Market 29 30 2013 October KRX Market 31 32 2013 October KRX Market 33 34 2013 October KRX Market 35 36 2013 October KRX Market 37 38 2013 October KRX Market 39 40 2013 October KRX Market

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

제 1 장 기본 개념

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

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

chap x: G입력

chap x: G입력 재귀알고리즘 (Recursive Algorithms) 재귀알고리즘의특징 문제자체가재귀적일경우적합 ( 예 : 피보나치수열 ) 이해하기가용이하나, 비효율적일수있음 재귀알고리즘을작성하는방법 재귀호출을종료하는경계조건을설정 각단계마다경계조건에접근하도록알고리즘의재귀호출 재귀알고리즘의두가지예 이진검색 순열 (Permutations) 1 장. 기본개념 (Page 19) 이진검색의재귀알고리즘

More information

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2> 게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()

More information

歯처리.PDF

歯처리.PDF E06 (Exception) 1 (Report) : { $I- } { I/O } Assign(InFile, InputName); Reset(InFile); { $I+ } { I/O } if IOResult 0 then { }; (Exception) 2 2 (Settling State) Post OnValidate BeforePost Post Settling

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

Chapter 4. LISTS

Chapter 4. LISTS 6. 동치관계 (Equivalence Relations) 동치관계 reflexive, symmetric, transitive 성질을만족 "equal to"(=) 관계는동치관계임. x = x x = y 이면 y = x x = y 이고 y = z 이면 x = z 동치관계를이용하여집합 S 를 동치클래스 로분할 동일한클래스내의원소 x, y 에대해서는 x y 관계성립

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

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD> 2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)

More information

C 프로그래밊 개요

C 프로그래밊 개요 함수 (2) 2009 년 9 월 24 일 김경중 공지사항 10 월 1 일목요일수업휴강 숙제 #1 마감 : 10 월 6 일화요일 기초 함수를만들어라! 입력 함수 ( 기능수행 ) 반환 사용자정의함수 정의 : 사용자가자신의목적에따라직접작성한함수 함수의원형 (Function Prototype) + 함수의본체 (Function Body) : 함수의원형은함수에대한기본적정보만을포함

More information

슬라이드 1

슬라이드 1 Data Structure Chapter 1. 자료구조와알고리즘 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 자료구조와알고리즘 일상생활에서의사물의조직화 해야할일리스트 조직도 일상생활에서의사물의조직화 사전 Ticket Box 3 일상생활과자료구조의비교 일상생활 vs 자료구조 자료구조 스택 큐 리스트 사전, 탐색구조

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information