@kumanotetu プログラミングの入門書的な内容をこなすには、言語としての理解が必要そうです。それこそさんすうセットよろしく、変数やらif文やらを手で動かしてみるという感じのことが効くでしょう。プログラムを作るときは頭の中でこれをやることになるので。
@204504bySE そうなんですよね
判断(if)と繰り返し(while,for)が基礎として身についてない感じなんですよ
コントローラーのAボタンを見ながら押してる感じなので、これを実現するには繰り返せばよい、って落とし込め無いというか…
@kumanotetu forにしろwhileにしろ、if+gotoの糖衣構文に過ぎないのですが、それを教えない入門書がやたら多くて、そしてみんなそこで躓くという。平気な人は考えるまでもなくそれをわかっているだけのことです。
@kumanotetu gotoでやればいいじゃん→gotoだとみんな間違えるのでwhileやforを作りました という流れを説明してあげる必要があります。
@204504bySE そうですね
そのあたり説明するうえでスコープも説明できそうですし
@kumanotetu スコープの話が出ると、今度は変数の寿命の話が必要になって、スタックとヒープの話になりますね。ローカル変数はスタックに突っ込まれて、変数を宣言した瞬間に場所が確保されて、{ } を抜けた瞬間に捨てられて、その場所は他の変数がいずれ使うと。ローカルじゃない変数はヒープに確保するのでそういう寿命はないと(GCなどは後でいいかと)
@204504bySE 値渡しと参照渡しなど、Cのポインタを理解できたらその後だいたいの言語で活きますよね