~前回までのあらすじ~
十進 BASIC で3元3立 1 次方程式を解くプログラムを完成させた私は,成功に気を良くし,基本変形のコマンドの仕様を変更したプチ改良バージョンを作ろうと企むのであった―。
はい,こんにちは!
前回は基本変形のコマンドの仕様を,
第 i 行に第 j 行の k 倍を加える:
1,ri,rj,k
第 i 行を k 倍する:
2,ri,k
第 i 行と第 j 行を入れ替える:
3,ri,rk
のように,わざわざ基本変形の種類に応じて先頭の数字(識別子)を手で入力するという方針にしたが,このように,コマンドに注文を付けるとプログラミングは楽になるが,実際の使い勝手を犠牲にするという trade-off の関係がある。
つまり,機械にやさしい仕様にするか,使用者にやさしい仕様にするかのせめぎ合いである。
今回は少しユーザフレンドリーに,先頭の識別子を付けずに済むコマンド形式を採用することにした。
きちんと仕様を詰めてアルゴリズムをしっかり設計してからプログラミングしたのではなくて,プログラミングをしながら考えるという,一番やってはいけない手順で組んだプログラムなので,IF 文の動きがわけわからなくなってきて,GOTO 文に頼り始めるというとても危ない状態に陥っている。電気回路でいえばスパゲッティ配線に相当する。要はデバッグや保守がやりづらい形態になってしまったのである。そのへんの brush up はいつかちゃんとやりたいものである。
内部副プログラムとか,同じような手続きをまとめてモジュール化するようなまっとうな設計思想できれいなコードを書いてみたいものである。そのあたりは今後の大きな課題である。
十進 BASIC で3元3立 1 次方程式を解くプログラムを完成させた私は,成功に気を良くし,基本変形のコマンドの仕様を変更したプチ改良バージョンを作ろうと企むのであった―。
はい,こんにちは!
前回は基本変形のコマンドの仕様を,
第 i 行に第 j 行の k 倍を加える:
1,ri,rj,k
第 i 行を k 倍する:
2,ri,k
第 i 行と第 j 行を入れ替える:
3,ri,rk
のように,わざわざ基本変形の種類に応じて先頭の数字(識別子)を手で入力するという方針にしたが,このように,コマンドに注文を付けるとプログラミングは楽になるが,実際の使い勝手を犠牲にするという trade-off の関係がある。
つまり,機械にやさしい仕様にするか,使用者にやさしい仕様にするかのせめぎ合いである。
今回は少しユーザフレンドリーに,先頭の識別子を付けずに済むコマンド形式を採用することにした。
きちんと仕様を詰めてアルゴリズムをしっかり設計してからプログラミングしたのではなくて,プログラミングをしながら考えるという,一番やってはいけない手順で組んだプログラムなので,IF 文の動きがわけわからなくなってきて,GOTO 文に頼り始めるというとても危ない状態に陥っている。電気回路でいえばスパゲッティ配線に相当する。要はデバッグや保守がやりづらい形態になってしまったのである。そのへんの brush up はいつかちゃんとやりたいものである。
内部副プログラムとか,同じような手続きをまとめてモジュール化するようなまっとうな設計思想できれいなコードを書いてみたいものである。そのあたりは今後の大きな課題である。
※コメント投稿者のブログIDはブログ作成者のみに通知されます