プログラミングができない。
そう感じている人の多くは、「文法が覚えられないからだ」と思っています。
でも、実際に止まっている場所はそこではありません。
本当に止まっているのは、「問題をどういう手順で解決するか」という部分です。
コードを書く前に、何を整理し、どの順番で処理し、どこで分岐するのか。
ここが曖昧なままだから、少し応用が入っただけで手が止まるんです。
プログラミングができないのは文法の問題ではない
たとえば、if文やfor文の書き方は知っている。
でも、いざ問題を解こうとすると止まる。
この状態、かなり多いです。
それは文法を知らないからではありません。
「どう解けばいいか」を手順に分解できていないからです。
プログラミングとは、構文暗記の競争ではありません。
問題の解決方法を整理して、それをコードで表現する作業です。
本当に必要なのは「問題を分解する力」
プログラミングで必要なのは、まず次のような整理です。
- 何が入力されるのか
- 何を出力したいのか
- その間にどんな処理が必要なのか
- どこで条件分岐するのか
- どこで繰り返しが発生するのか
これが頭の中で整理できていれば、コードにするのはそこまで難しくありません。
逆に、ここが整理できていないと、どの言語を学んでも同じところで止まります。
この力は小学校の算数の文章題からつながっている
ここ、意外に見落とされがちなんだけど。
「問題をどういう手順で解決するか」という力って、実は小学校の算数の文章題から始まっています。
問題文を読んで、条件を整理して、何を求めるのかを考えて、順番に解いていく。
これ、まさに今プログラミングで必要としている力です。
だから、昔からそういう訓練を積み重ねてきた人は、無意識でもある程度できてしまう。
一方で、そこを意識して積み上げてこなかった人は、プログラミングに入った瞬間に「なんとなく難しい」と感じやすいんです。
でも安心してほしい。
これはセンスではありません。
後から学べる力です。
できる人とできない人の分かれ道はフローチャートにある
ここで、かなりわかりやすい判断基準があります。
それが、フローチャートに書き落とせるかどうかです。
もしコードを書く前に、処理の流れを図や文章で整理できるなら、かなり前に進めます。
でも、書けないなら。
止まっている場所はかなりはっきりしています。
「プログラミング言語」ではなく、「考え方の整理」で止まっています。
ここを飛ばしてコードだけ書こうとすると、いつまでも苦しくなる。
そりゃそうなんです。
設計図がないのに、いきなり建物を建てようとしているようなものだから。
フローチャートに書けないのは能力不足ではなく、書き方を知らないだけ
ここ、すごく大事です。
フローチャートに書けないと、「自分には向いていないのかも」と思う人がいます。
でも違います。
多くの場合、それは単純に書き方の型を知らないだけです。
フローチャートには、ちゃんと基本があります。
- どこから始めるのか
- 処理はどう書くのか
- 条件分岐はどう表すのか
- 繰り返しはどう整理するのか
これを知らないまま「書いてみて」と言われても、そりゃ手は止まります。
だから必要なのは、気合いでも根性でもない。
フローチャートそのものを学ぶことです。
コードを書く前にやるべきこと
もし今、プログラミング学習で手が止まりやすいなら。
やるべきことはシンプルです。
いきなりエディタを開かないこと。
まずは紙やメモで、次の4つを書いてみてください。
- 何が入力されるのか
- 何を出力したいのか
- 途中に必要な処理は何か
- どこで分岐や繰り返しがあるのか
これだけでも、思考の詰まり方はかなり変わります。
最初はうまく書けなくて当然です。
大事なのは、コードではなく手順に意識を向けること。
いきなり難しい課題をやらないこと
ここも、かなり大事。
初心者ほど、いきなりアプリ開発や実践課題に行きたがります。
でも、土台がない状態でそこに行くと、だいたい折れます。
だから最初はもっと簡単でいい。
小学校の文章題のように、手順が見えやすいものから始める。
もしくは、簡単なアルゴリズムの流れを紙に書いてみる。
この地味な練習を飛ばした人から、あとで苦しくなります。
逆に、ここをちゃんとやった人は、言語が変わっても応用が利くようになります。
フローチャートの勉強をするなら、この本はかなり相性がいい
ここまで読んで、
「たしかに自分はフローチャートをちゃんと勉強したことがない」
そう感じたなら、そこから埋めるのが順番です。
そこで相性がいいのが、『紙とえんぴつで学ぶアルゴリズムとフローチャート』です。
この本がいいのは、問題集としてひたすら解かせるタイプではないところ。
そうじゃなくて、フローチャートそのものの考え方や書き方を学ぶための本なんです。
つまり、今まさに「書けない」「整理できない」で止まっている人に合いやすい。
いきなり難しいコードに行く前に、
「どう考えるか」
「どう流れにするか」
「どう図に落とすか」
ここを埋めるための1冊として使いやすいです。
→ 『紙とえんぴつで学ぶアルゴリズムとフローチャート』をチェックする
なぜフローチャートを学ぶとプログラミングで止まりにくくなるのか
理由はシンプルです。
文法は調べれば出てきます。
AIにも聞けます。
でも、何をどういう順番で処理するかは、自分の頭で整理しないといけません。
ここができないままだと、いつまでも「写経はできるけど応用になると止まる」状態から抜けられない。
逆にここができるようになると、
- 問題を見たときに整理しやすくなる
- コードを書く前に迷いにくくなる
- 別の言語に移っても対応しやすくなる
- 実務での応用力が上がる
この差、かなり大きいです。
最初は「解く」よりも「なぞる」からでいい
ここで1つ、よくある間違いがあります。
いきなり問題を解こうとすることです。
でも、フローチャートに慣れていない状態でそれをやると、ほぼ確実に止まります。
なぜか。
書き方の型を知らないまま考えようとしているからです。
だから最初にやるべきなのは、「解くこと」ではありません。
理解して、なぞることです。
たとえば、教材に載っているフローチャートを見て、
- なぜこの順番になっているのか
- どこで分岐しているのか
- どの処理が何を意味しているのか
これを1つずつ確認する。
そして、同じものを自分の手で書いてみる。
まずはここからでいい。
いきなり自力で作ろうとしなくていい。
型を知らない状態でオリジナルを作ろうとしても、うまくいかないのは当たり前です。
だから順番はこうです。
- フローチャートの基本を理解する
- 例を見て流れを理解する
- 実際に手で書いてみる
- 少しずつ自分で考える
この順番で進めると、詰まりにくくなります。
まとめ|プログラミングで止まる人ほど、フローチャートを学んだほうがいい
プログラミングができない原因は、文法だけではありません。
多くの場合、本当に止まっているのは、問題を整理して手順に分解する力です。
そして、その力を見える形にしやすいのがフローチャートです。
もし今、コードを書く前から詰まっているなら。
それはセンスがないんじゃない。
まだフローチャートという型を学んでいないだけです。
ここを埋めるだけで、学習の進み方はかなり変わります。
遠回りに見えるかもしれない。
でも、こういう地味な土台を飛ばした人から、あとで苦しくなるんですよね。
だからこそ、今ここで一度戻る価値がある。
フローチャートから学び直したい人は、こういう本を1冊持っておくと進めやすいです。
