3.1 KiB
3.1 KiB
title | author | date | url | wordtwit_post_info | categories | |||
---|---|---|---|---|---|---|---|---|
ヘロンの公式(letを使う) | kazu634 | 1969-12-31 | /1970/01/01/_25/ |
|
|
gaucheの勉強は文字列とか入出力の勉強をする前にちょっと寄り道。とりあえず手続き型言語の勉強をして、ソフトウェア開発試験対策とするつもり。Perlで色々やってたらヘロンの公式が出てきたから、それを作ってみるよ。
普通のプログラミング言語のローカル変数がLispではlambdaの仮引数に相当する。それで与えられた引数から、計算用の一時的な変数を用意する必要があるときとかはletを使うと幸せになれる…のだと思う。自分の認識では。ヘロンの公式の場合、
ただし
とする。
このsをlet使って表現してあげれば楽ちんに書けるようになるはず(もしもletを使わなければ、sが出てくるたびに「(/ (+ a b c) 2)」を書かなければいけなくなる)。
gosh> (define (heron a b c) (let ((s (/ (+ a b c) 2))) (sqrt (* s (- s a) (- s b) (- s c))))) heron gosh> (heron 3 4 5) 6.0
これで幸せになれたと思う。