Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Exercise with F#

(1-2) 쓰여진 문장을 차례대로 입력하여 결과를 확인하고, 스크린의 일부를 캡쳐하여
제출하세요.
1. Evaluating expressions
100
(2*4)+12
3 * -2
it
let n = 42
it
n
let n = 5 in n*10
n
true && (7=5)
let l = [1;2;3;4]
l.Head
l.Tail
l.Tail.Tail
l.Tail.Head
l.IsEmpty
[].IsEmpty
l.Length
l@l
if (n=5) then [1] else l

2. Defining functions
let inc x = x + 1
inc (inc 100)
let add (m:int) n = m + n
let addtwo = add 2
addtwo 5
let addp (n:int,m) = n + m
addp (1,2)
let rec fact n = if (n=0) then 1 else n * fact (n-1)
fact 6

- 1 -
fact 6 = 720
let rec map f (l:'a list) =
if (l.IsEmpty) then [] else f(l.Head) :: map f l.Tail
map inc [1;2;3]
map (add 3) [1;2;3]
(fun x -> x * 2) 7
map (fun x -> x * 2) [1;2;3]

3. 다음의 두 함수와 zero만을 이용하여 자신의 학번을 출력하는 프로그램을 작성하시오.


let double x = 2 * x
let add1 x = x + 1
let zero = 0
(예) 학번이 1234라면,
let my = (double (add1 (double (double (double (add1 (double (double
(add1 (double (add1 (double (double (double (add1 zero)))))))))))))))
printfn "%d" my

프로그램과 실행한 화면을 캡쳐하여 제출하세요.

- 2 -

You might also like