More Related Content
More from Takeo Kunishima (20)
フレッシュマンセミナー2005
- 8. どんな時代?
• 国産パソコン NEC PC-9801
• PC-9801VX01(1987年):CPU 8MHz,
HDDなし(FDのみ), 353,000円
• Windows なんぞ当然なし
• Sun3/60(4回生配属時に導入されたWS)
• CPU 20MHz, メモリ24MB
• 数百万円
- 21. すると
• 100%7=1, 101%7=3, 102%7=2, 103%7=6,
104%7=4, 105%7=5, 106%7=1, 107%7=3, …
• %:余りを求める演算子
• nが1増えると、周期6で同じ数が出てく
る(1, 3, 2, 6, 4, 5) 周期7ではない!!
• 100 % 6 = 4 ∴木曜日
- 25. 実は
• 有名な数列(フィ
ボナッチ数列)
• 一般項は複雑
• しかしプログラム
は漸化式そのもの
(再帰関数)
F(n) =
1
√
5
(
1 +
√
5
2
)n
+ (
1 −
√
5
2
)n
int F(int n)
{
if (n == 1 || n == 2) {
return 1;
} else {
return F(n-1)+F(n-2);
}
}
- 34. 例:自動販売機
• 飲み物1, 飲み物2, …の価格 p1, p2, …
• 飲み物1,飲み物2,…が買えるか b1,b2,…(ランプのon/off)
• 投入金額 n
• 硬貨を投入するたび
• n が増える
• n ≧ pk なら bk を on に
• 飲み物kを購入したら
• n - pk > 0 なら n - pk を釣り銭に
- 35. 難しく言うと
• 変数p1, p2, …, b1, b2, …, n:ある瞬間の自
動販売機の状態を表している
• 硬貨の投入/飲み物の購入によって、
自動販売機の状態が変化
• つまり
• 変数の値の変化=プログラムの実行
- 38. Algorithm = Program?
• 否
• Algorithm + Data Structure = Program
(by N.Wirth)
• プログラムには両方重要
• アルゴリズム(計算手順)
• それに適したデータ構造(変数、配
列、構造体etc.)…高校数学やパズル
にはまったくなかった部分