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

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

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}. 그리

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

OCaml


λx.x (λz.λx.x z) (λx.x)(λz.(λx.x)z) (λz.(λx.x) z) Call-by Name. Normal Order. (λz.z)

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

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

Vol.266 C O N T E N T S M O N T H L Y P U B L I C F I N A N C E F O R U M

PowerPoint 프레젠테이션

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

기획7.hwp

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

담배인삼공사공청회[1].PDF

chap 5: Trees

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

1 01 [ ] [ ] plus 002

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

KJME-2003-h.hwp

11강-힙정렬.ppt

Main Title

[<1107><1169><11AB><1106><116E><11AB>] 2015<1102><1167><11AB> 7<110B><116F><11AF><1112><1169>-<110E><116C><110C><1169><11BC>.pdf

DV690-N_KOR_ indd

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

A4 용지총 4 페이지를넘기지말것. 반드시컴퓨터로출력해서제출. 10/28( 월 ) 수업시간에제출. No delay acceptable. Exercise 2 (40pts) SM5 K--( 교재 4.3) 프로그램들을가상기계 (abstract machine) 인 SM5에서실

ThisJava ..

±§ 60¡ÿ ‚±‚ ‰«•¡ˆ

!DVD브로셔

212년 하반기 금리전망 및 채권투자전략 그림 1 주요국 국채1년 금리 추이 (%) Spain Italy Korea Malaysia China Australia US UK Germany Japan 자료:

±Â¸ð´×-08. 1¿ùb61¹¹®š

CZECH REPUBLIC SLOVAK REPUBLIC ANGOLA ARMENIA AZERBAIJAN BAHRAIN BOTSWANA BULGARIA CROATIA CYPRUS DENMARK ESTONIA FINLAND GEORGIA GREECE HUNGARY ICELA

chap01_time_complexity.key

CZECH REPUBLIC SLOVAK REPUBLIC ANGOLA ARMENIA AZERBAIJAN BAHRAIN BOTSWANA BULGARIA CROATIA CYPRUS DENMARK ESTONIA FINLAND GEORGIA GREECE HUNGARY ICELA

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

PowerPoint 프레젠테이션

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

C 언어 프로그래밊 과제 풀이

Microsoft PowerPoint Predicates and Quantifiers.ppt

chap8.PDF

%eb%8f%99%ec%9d%b8-[NO_09]%20%ec%9d%98%ea%b3%bc%eb%8c%80%ed%95%99%20%ec%86%8c%ec%8b%9d%ec%a7%80_F(%ec%b5%9c%ec%a2%85)-2.pdf

경영학석사학위논문 투자발전경로이론의가설검증 - 한국사례의패널데이타분석 년 8 월 서울대학교대학원 경영학과국제경영학전공 김주형

chap 5: Trees


03장.스택.key

정답-1-판매용

EA0015: 컴파일러

한류스토리 내지 허경회수정 인디파일(10.07).indd

EECS101 전자계산입문여섯번째숙제 -리스트- (100 점 + 도전문제점수 50점 ) 오진오 제출마감 : 5월 1일 11:59pm 이번숙제에서는수업시간에배웠던리스트에대한기본개념을프로그래밍을통해익혀보고, 리스트를통해가능한문제해결방법에대해서알

유니티 변수-함수.key

SIGPLwinterschool2012

2002년 2학기 자료구조

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

제 1 장 기본 개념

Microsoft PowerPoint - semantics

자연언어처리

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

Vol.256 C O N T E N T S M O N T H L Y P U B L I C F I N A N C E F O R U M

정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2

chap x: G입력

OCW_C언어 기초

Microsoft PowerPoint 웹 연동 기술.pptx

비긴쿡-자바 00앞부속

slide2

adfasdfasfdasfasfadf

컴파일러

C.PÀÛ¾÷

Chap 6: Graphs

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

산업입지내지6차

OCaml ífl—로그랟밓

Microsoft Word - R 선관위 최종 보고서(완성본).docx

Semantic Consistency in Information Exchange

A&G_Brochure_korea_kor.indd

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

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

Microsoft Word - Week Ahead_Economy.docx

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

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>


10주차.key

IDP www idp or kr IDP 정책연구 한국경제의구조적문제와개혁방향 민주정책연구원 The Institute for Democracy and Policies

chap x: G입력

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

Observational Determinism for Concurrent Program Security

C++-¿Ïº®Çؼ³10Àå


Microsoft PowerPoint - Chap5 [호환 모드]

화판_미용성형시술 정보집.0305

C프로-3장c03逞풚

<BFA9BCBAC0C720C1F7BEF7B4C9B7C220B0B3B9DFB0FA20C3EBBEF7C1F6BFF820C1A4C3A5B0FAC1A62E687770>

EA0015: 컴파일러

1229_¶È¶ÈÇÑÀÎÁöÇൿġ·áº»¹®.PDF

C++ Programming

Microsoft PowerPoint - TimeTable System.pptx

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로

2015_11+12-완


2월1일자.hwp

Tcl의 문법

Transcription:

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 를정의하세요. 리스트에는같은정수가반복해서들어있지않습니다. Exercise 2 씨그마 우리가중고등수학시간에숱하게썼던다음의 씨그마 를 OCaml 로정의 하세요 : 씨그마의타입은 Σ b n=af(n) sigma : int * int * (int -> int) -> int. 즉, sigma(a,b,f) 로표현하면 Σ b n=af(n) 과같도록. Exercise 3 반복기 다음함수 iter 를정의하세요 : iter(n,f) = f f }{{} n 이때, n = 0 이면아무일을하지않는 (identity) 함수를내놓고, 양수이면그만 큼 f 를반복해서적용하는함수를내놓습니다. 그래서, iter(n, function x -> 2+x) 0 1

은 2 n을내놓게됩니다. Exercise 4 합곱 아래의성질을만족하는함수 sumprod를정의하세요 : sumprod(matrix, n, k) = Σ n i=1π k j=1matrix(i, j). 즉, sumprod의타입은 sumprod : (int * int -> real) * int * int -> real Exercise 5 대진표스트링 일반적으로게임대진표는완전한이진나무구조 (complete binary tree) 입니다. 2014 얼드컵팀들과그대진표를다음과같이정의했습니다 : type team = Korea France Usa Brazil Japan Nigeria Cameroon Poland Portugal Italy Germany Norway Sweden England Argentina type tourna = LEAF of team NODE of tourna * tourna tourna를받아서괄호를이용한 1차원스트링으로변환해주는함수 parenize를작성하세요 : parenize: tourna -> string 예를들어, parenize(node(node(leaf Korea, LEAF Portugal), LEAF Brazil)) = "((Korea Portugal) Brazil)" Exercise 6 참거짓 Propositional Logic 식들 (formula) 을다음과같이정의했습니다 : type formula = TRUE FALSE NOT of formula ANDALSO of formula * formula 2

and ORELSE of formula * formula IMPLY of formula * formula LESS of expr * expr expr = NUM of int PLUS of expr * expr MINUS of expr * expr 주어진 formula를받아서참값을만들어내는함수 eval eval : formula bool 를정의하세요. Exercise 7 자연수 자연수 nat 는다음과같이정의될수있다 : type nat = ZERO SUCC of nat 두자연수를받아서그합 / 곱에해당하는자연수를만드는두함수 natadd : nat * nat -> nat natmul : nat * nat -> nat 를정의하세요. Exercise 8 CheckMetroMap 아래 metro 타입을생각하자 : type metro = STATION of name AREA of name * metro CONNECT of metro * metro and name = string 아래 checkmetro 함수를정의하라 : checkmetro: metro -> bool checkmetro는주어진 metro 가제대로생겼는지를확인해준다. metro가제대로생겼다 는것은 (iff) 메트로역이름 (id in STATION(id)) 들이항상자기이름의지역 (m in AREA(id, m)) 에서만나타나는경우를뜻한다. 예를들어, 제대로생긴 metro 들은 : 3

AREA("a", STATION "a") AREA("a", AREA("a", STATION "a")) AREA("a", AREA("b", CONNECT(STATION "a", STATION "b"))) AREA("a", CONNECT(STATION "a", AREA("b", STATION "a"))) 그렇지못한것들의예들은 : AREA("a", STATION "b") AREA("a", CONNECT(STATION "a", AREA("b", STATION "c"))) AREA("a", AREA("b", CONNECT(STATION "a", STATION "c"))) Exercise 9 짚-짚-나무 임의의나무를여러분바지의 지퍼 로구현할수있답니다. 나무구조타입은아래와같이정의되겠지요 : type item = string type tree = LEAF of item NODE of tree list 아래의 zipper가나무의줄기를타고자유자재로찢어놓기도하고붙여놓기도합니다. type zipper = TOP HAND of tree list * zipper * tree list 현재나무줄기의어느지점에멈춰있는지퍼손잡이 HAND(l,z,r) 에서, l은왼편형제나무들 (elder siblings) 이고 r은오른편형제나무들 (younger siblings) 이다. 나뭇가지에서의현재위치 location는현재위치를뿌리로하는나무자체와지퍼 (zipper) 로표현되는주변나무들로구성된다. type location = LOC of tree * zipper 예를들어, a b + c d 가다음과같은나무구조로표현될것이다. 모든심볼은항상잎새에매달리게된다. NODE [ NODE [LEAF a; LEAF *; LEAF b]; 4

LEAF +; NODE [LEAF c; LEAF *; LEAF d] ] 두번째곱셈표에의위치는다음과같다 : LOC (LEAF *, HAND([LEAF c], HAND([LEAF +; NODE [LEAF a; LEAF *; LEAF b]], TOP, []), [LEAF d])) 자, 주어진위치에서이제자유자재로나무를탈수있습니다. 왼편으로옮겨가는것은다음과같지요 : let goleft loc = match loc with LOC(t, TOP) -> raise (NOMOVE "left of top") LOC(t, HAND(l::left, up, right)) -> LOC(l, HAND(left, up, t::right)) LOC(t, HAND([],up,right)) -> raise NOMOVE "left of first" 다음의나머지함수들을정의하세요 : goright: location -> location goup: location -> location godown: location -> location 5