物部自動車工業 店主の日記 普段着の文章

京都市西京区で車検整備の認証工場の店主です.趣味や思いつきを書いています.

特に読んでいただきたい記事
  1. 命は大切ですかと問えば

FORTH再入門など

もう30年近く前、学生の頃、コンピューター言語でFORTHという言語を使っていました。卒業してからは、まったく、プログラムを組むこともなくいたのですが、最近、rubyC言語を勉強しだしたのをきっかけに、少しばかり、FORTHも勉強してみようかと思った次第です。
ラズベリーパイを買った都合上、C言語はおさえておきたく、FORTHはついでのような感じになりますが、ボケ防止も含めて、一から勉強するかなと思っています。

FORTHについては、こちら

FIG http://www.forth.org/
ようこそ!日本FORTH研究会へ http://www.sofel.co.jp/forth/forth.html

ついでということで

: fac2 ( n --- ) 1 + 1 1 rot swap do i * loop ;
: fac3 ( n --- ) dup 0 > if fac2 else ." 計算不能" then ;

\ nCm=n!/{(n-m)!m!}
: combi ( n m --- ) swap dup fac3 rot rot swap dup rot swap - fac3 swap fac3 * / . ;

『標準FORTH』の2章にあった例題 組み合わせを求める の回答です。巻末の用意された解答を見ておりませんので、適切の解答はもっとすっきりしたプログラムになっているだろうなと思います。

forthはスタック言語とも呼ばれておりまして、変数よりもスタックを利用することが多いのです、もちろん、普通に変数も利用できます。