전체 글 725

Hello 예제 for OCaml

소스파일명: hello.ml open Printf;; print_string "Hello, 안녕하세요?";; print_endline "";; let x = 23 in let y = 7 in printf "x의 값은 %d이고 y의 값은 %d입니다." x y; print_endline ""; printf "따라서 그 곱은 x * y = %d * %d = %d 입니다.\n" x y (x*y);; 컴파일하기: ocamlc -o hello.exe hello.ml 실행 명령> hello 실행 결과: Hello, 안녕하세요? x의 값은 23이고 y의 값은 7입니다. 따라서 그 곱은 x * y = 23 * 7 = 161 입니다. 컴파일 없이 실행하기: ocaml hello.ml 실행 결과: Hello, 안녕하세요? ..

OCaml 언어 소개

OCaml 은 Objective Caml 을 줄인 글로서 발음은 오캐멀(oʊˈkæməl)이라고 읽는다. Caml 언어는 함수형 언어 ML 에서 파생된 언어로서 OCaml 과 Caml Light 로 나뉜다. OCaml 은 Caml 에 객체지향 언어의 기능을 추가한 명령형 언어의 특징징을 지닌 객체지향 함수형 언어이다. OCaml 공식 홈페이지 OCaml 온라인 메뉴얼 목차 OCaml Basics Objective Caml for Scientists Hanoi: Objective Caml Objective Caml * 참고로 안터프리터 명령 ocaml 로 실행한 경우에는 # 프롬프트에서 #quit;; 을 입력하고 엔터 키를 누르면 된다.

F# 언어 소개

F# 언어는 .NET(닷넷)용 언어로서 OCaml 언어를 기반으로 하고, Haskell 언어의 철학을 반영한 함수형 언어이다. OCaml 언어가 명령형 언어(imperative language)의 특징을 지니고 있는 객체지향 함수형 언어이듯이 F# 언어도 그러하다. F# Downloads Microsoft F# Developer Center F# at Microsoft Research F# Language Reference syntax in F# Learning F# Learning F# – Part 4 Visual Studio 2010 공식 팀 블로그 Sudoku Solver fibonacci numbers in ocaml F Sharp (programming language) (Wikipedia) C..

소개와 설치/F# 2010.05.29

조립제법(Horner의 방법) 예제 2 for Python

다항식 p(x) 를 1차 다항식 ax - b 로 나눌 때의 몫과 나머지를 구하는 조립제법을 Python 언어로 구현해 보았다. 조립제법은 일명 Horner의 방법이라고도 불리우는데, 이는 x = a 에서 다항식 p(x)의 값 p(a)을 계산하는 가장 빠른 알고리즘이기도 하다. p(x) = (ax - b)q(x) + r 여기서 r은 나머지이며 r = p(b/a) 이다. 또 q(x)는 몫이다. [참고] * 온라인으로 조립제법 표 만들기 손으로 계산하는 조립제법 표 * 온라인으로 구하는 다항식의 도함수: 조립제법을 이용한 다항식의 도함수 아래의 소스파일은 파일 testSyntheticDivision.py 를 수정한 것이다. python 대신 jython이나 IronPython 으로도 수정 없이 그대로 실행된다..

숫자 맞추기 게임 with Groovy

Groovy 언어로 숫자 맞추기 게임을 작성해 보았다.소스에서 눈여겨볼 부분은 15째~17째 줄이다.    def r = new BufferedReader(new InputStreamReader(System.in))    def sbuf = r.readLine()    def guess = sbuf.toInteger()Groovy 언어의 구문 바탕(syntax body)은 Java의 것을 빌려쓰고 있다.소스 파일명: guessNumber01.groovy /* *  Filename: guessNumber01.groovy *  Purpose:  Interatice game guessing a given number.  *                if {CONDITION) { *               ..

숫자 맞추기 게임 with Scala

Scala 언어는 명령형 언어와 함수형 언어의 특징을 모두 갖고 있으며, 그 구문 바탕은 Java의 것을 빌려 쓴다. 또한 Java 언어 처럼 타입에 엄격한(strictly typed) 언어이다.변수 선언이나 함수의 매개변수 표기하는 방식을 Visual Basic의 것과 비슷하다.Visual Basic에서 Dim이라는 키워드가 Scala 언어에서는 var이다.Scala 언어로 숫자 맞추기 게임을 작성해 보았다.소스에서 눈여겨볼 부분은 18째~20째 줄이다.      var r : BufferedReader = new BufferedReader(new InputStreamReader(System.in))      var sbuf = r.readLine()      var guess = Integer.par..

숫자 맞추기 게임 with Ruby

Ruby 언어로 숫자 맞추기 게임을 작성해 보았다.Python 언어의 input()  함수에 대응하는 함수로서 사용자가 컨솔에서 입력한 것을 스트링으로 받는 Ruby 언어의 함수는 gets()이다. 그런데 Ruby 언어의 간편 구문표기(syntax sugar)에 따라 소괄호 열기와 닫기를 생략하여 gets만 해도 된다. 즉 아래 소스의 14째 줄                sbuf = gets는               sbuf = gets()의 간편 구문표기(syntax sugar)이다.아래 소스의 15째 줄 guess = sbuf.to_i 는 스트링을 정수로 타입변환하는 과정이다.소스 파일명: guessNumber01.rb#!/env/ruby##   Filename: guessNumber01.rb #..