- 初心者向けでいきなりgetptrですか?(^^;
- ポインタの話は、中級者向けかな? はじめは、mesとか、printとかではじめて、
それから、変数は、箱とか、型があるとかの話をした方がいいような。
- 同感です。まず「プログラミング共通事項」とは何か、を具体的にしたほうがいいのかな。言語によって変数の内部表現は違ってくるし、そこを「どのような言語でも通じる考え方」と取るか、HSPを前提として考えるか。
- つまり、どのような言語でも通じる定石のようなもの?
- repeat命令の基本的な使い方
; 1〜Nまでの合計を計算する
#define N 10
repeat N,1
sum=sum+cnt ; 丁寧な書き方で
loop
mes sum
stop
; Nの階乗を求める
#define N,4
sum=1 ; 初期化しないとゼロに何を掛けても0になっちゃうよ
repeat N,1
sum=sum*cnt
loop
mes sum
stop
; 補足
; Nの階乗というのは1*2*3*...Nという計算のことね>分からない人へ
- この2つでループの基本的な使い方と、どういう時に初期化をするのか、といったことが示せたかな。基本構文repeatなどの基本的な使い方などを示したほうが初心者にとっては参考になるはず。キー入力などよりは。まず変数がちゃんと扱えてから入力、そして出力。
- if命令の基本的な使い方
; 1〜Nまでの合計を計算するのを途中で止める
#define N 10
repeat N,1
if cnt=5 : break ; 1〜4までしか計算されないよ。
sum=sum+cnt
loop
mes sum
stop
- repeatで繰り返し、その中から抜けるためにはif文とbreakが絶対に必要。(間違ってもgoto命令なんかで抜ける例を見せたらだめ。)
- 初心者が犯しやすいgoto命令の間違った使い方を示すのも◎かな。goto命令はちゃんと使えば処理を見やすくできる。(エラー処理を1箇所にまとめてそこに飛ばすとか。ただしそのエラー処理はループ内に記述するなど・・・サンプル考え中)
- llmod.asも初心者じゃまず使わないと思う。モジュールを使った例よりHSP単体で出来るサンプルのほうが初心者向けかな。
- sum++これはsum=sum+1なので1〜Nじゃないですよね^^;
丁寧な書き方と言ったのは、例えばsum+=cntよりもsum=sum+cntといった感じです。
もちろんこれは書いてる人が「俺はもう理解できたからsum+=cntと書くよ」となればそれでOKです。
まずは何と何を足してどこに入れているのか・・・といったことから理解・・・
# というか自分なんか入門書に書かれてること意外の書き方しなかったからなぁ^^;
- orz 何を言ってたんでしょうね。俺 - anomy
|