文法は分かるのに課題が解けない。それは普通のことです
「if文もfor文も習った。文法は理解しているはずなのに、いざ課題を出されると手が止まる」
そんな経験はありませんか。
先日、ある学生さんが、まさにこの悩みを相談に来ました。制御構文は一通り習った。
でも、課題のプログラムがどうしても書けない、と。
最初に伝えたいのは、それはあなたの理解力の問題ではないということです。
なぜなら、文法を知ることと、問題を解くことは、まったく別の力だからです。
文法は「単語」です。if、for、変数、関数。これらは、いわば英単語を覚えたようなもの。でも、単語を覚えただけで英作文ができないように、文法を覚えただけでプログラムは書けません。
プログラムを書くというのは、「問題をどう解くかを考えて、それを文法に翻訳する」作業です。
多くの人がつまずくのは、この「考える」を飛ばして、いきなり文法で書こうとするからです。
何を書くか決まっていないのに、どう書くかを考えている。だから手が止まる。
これは、ほとんどの初学者が通る道です。スクールや教科書の多くは「文法」は教えてくれますが、「どう考えるか」までは教えてくれません。だから、独学で行き詰まるのは、むしろ自然なことなのです。
では、どうすればいいのか。
コツは、いったんプログラミングを忘れることです。コードを書く前に、まず日本語で「この問題はどう解くのか」を考える。
その考えがまとまってから、初めて文法に翻訳する。
この順番を変えるだけで、見える景色がまったく変わります。
その具体的な方法は、また次の記事で書きます。
まずは、これだけ覚えておいてください。解けないのは、向いていないからではありません。考え方を、まだ教わっていないだけです。

