こんにちは! ライターのナナミです。
「プログラミング学習をすると論理的思考力が身につく」といろんな記事で言われていますね。この論理的思考力が仕事に役立つという解説も多く見受けられます。
しかし「論理的思考力」とは一体なんなのでしょうか?
今回は、論理的思考力について具体的な例を出しながらご説明していきましょう!
論理的思考力を身につけるためのポイントや練習問題もあるので、ぜひ最後までご覧ください。
- 論理的思考力は筋道を立てて物事を考えられる能力のこと
- プログラミングする=論理的に思考する
- 日常生活でも論理的思考力は鍛えられる
本記事の解説内容に関する補足事項
本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。
また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に、提供コースは「教育訓練給付制度の指定講座」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。
記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。
論理的思考力とは「すじ道を立てて考える力」
論理的思考力、言い換えればロジカルシンキングとも称されます。これは物事をすじ道立てて考える力のことです。なにかの結果を得るためにどのようなことをすればいいのか、最適な方法を見つけ出すための考え方として使われています。
例えば、今あなたは家に居て、これから1時間以内に渋谷駅にたどり着かなければいけないとしましょう。いきなり外に飛び出して、とにかくダッシュで向かう……なんてことはしないと思います。
まず電車の時間や乗り換え駅などを調べたり、車で行くなら道路の混雑状況を調べたりするでしょう。他にも天気を調べて自転車で行くか悩んだり、そもそも靴はどんなものを履いていけば歩きやすいかなど、自分にとって最適な方法を模索するはずです。
「雨だから自転車はやめておこう、なぜならば、雨で濡れてしまうからだ」
これがまさにすじ道立てて考えるということ、つまり論理的思考なのです。言葉は難しい表現ですが、実はすごく身近な考え方だったんです。
論理的思考力があると得すること
論理的思考力は仕事だけでなく、日常生活にも役立ちます。そんな論理的思考力の魅力に気づけるポイントをご紹介していきましょう。
料理がうまくなる
なんの関係があるんだって思った人も多いかもしれませんね。でも論理的思考力があると、料理が上手くなります。
普段から料理をしている人を見ていると、すごく手際がいいですよね。これは作業の順番や並行してできることなどを、すじ道立てて考えられているからです。
「先にお味噌汁を作ってしまおう、ご飯が炊けるまでに時間があるから」
「この後にたまねぎを加えるからあらかじめ切っておこう」
料理をしてご飯を食べるという目的に向けて各作業が最適化されているので、手際よく美味しいごはんを最短時間で作ることが可能になります。
仕事で悩むことが減る
仕事での悩みあるあるは「終わらない」「どうすればいいのかわからない」などですね。これも論理的思考で解決できます。
「終わらない」ならば、どの順番で進めるのが最適なのかを考え、時間を短縮することができます。誰かのチェックが必要なものは先にやって、そのチェック待ちの間に他の仕事を進めるとかですね。
「どうすればいいのかわからない」ならば、求められている結果に至るまでの道筋、先輩に聞いてみたり、調べてみたりなどの方法を考え、結果を得ることができます。
このように、問題を細分化して整理することも、論理的思考のひとつなのです。
コミュニケーションが円滑になる
誰かと話をしている時に、伝えたかったことがきちんと伝えられなかった経験はありませんか? それは、きちんと順序立てて説明ができていなかったからかもしれません。
例えば社内でAという商品を売り出したいとプレゼンされているとき、どちらのプレゼンがわかりやすいですか?
例1
例2
例1のほうが理性的です。例2の方はすごく感覚に頼っている感じがしますね。
結論に至った理由もわかりづらく、上司から「だからなんでBじゃなくてAを売るべきなんだ」と言われてしまいそうです。
伝えたいことを整理して、順序立てて説明して伝えることで、コミュニケーションはかなり円滑になります。これもまた論理的思考によって導き出された最適解と言えるでしょう。
なぜプログラミングで論理的思考力が身につくのか
プログラミングは、論理的思考を繰り返していくことと言っても過言ではありません。あらゆる場面において、論理的思考力が活躍してくれます。
ではなぜプログラミングで論理的思考力を身につけることができるのでしょうか?
プログラミングをする=論理的に思考する
はっきり言って、プログラミング=論理的思考と言っても差し支えないほど、プログラミングと論理的思考は密接なものです。
そもそもプログラミングとは、パソコン上などで何かしらの結果を得るために、どういう処理をするのかを指示していくものです。「足し算の結果を表示する」ために「この数とこの数を足してください」と書いて実行します。
さらにプログラミングはただの計算式ではないので、「これをやった後にこの処理をする」や「この結果ではない場合はこの処理をする」という細かい指示を出していくことができます。
この細かい指示を考えることこそ論理的思考、プログラムの処理の順番を考え、ほしい結果を得るということになるのです。
より効率的なプログラムを作る=論理的に思考する
プログラミングは、同じ結果を得るために複数の方法を使うことができます。6という数字を出す計算が「2+2+2」だけではないのと同じです。
そこを効率的なロジックで組み立てることで、メンテナンスのしやすさや処理速度の向上などが期待できます。「2+2+2」を計算するより、「2×3」のほうが早いってことですね。
2が3つあるんだから2×3でいいじゃん。これもまた論理的思考による最適化です。同じように最適化してプログラムを書くことで、論理的思考を身につけることができます。
仕様を相手に伝える=論理的に思考する
作ったプログラムを誰かに使って貰う場合、どのようにすればこのプログラムが動くのかを説明する必要がありますよね。
これはまさに先程お話したコミュニケーションに通ずるところです。「ここをこうするとこの画面が開きます」と順序立ててロジックを伝えるためには、論理的思考を使った順序立てが必要になります。
プログラミングはそもそも論理的思考を駆使して組み立てられたものなので、それを元にして伝えるための論理的思考をすることができます。ものを伝える練習においても、プログラミングは有効なのです。
なお、次の記事ではプログラミングにおける基本的な考え方を解説しています。上記を踏まえ、プログラミングと論理的思考力の関係性をより詳しく知りたい人は、あわせて参考にしてください。
論理的思考は文系のほうが上手?
聞き慣れない言葉というのもあってか、このような誤解をしている人をよく見かけます。この結果「文系はプログラミングには向いていない」と思う人も多いのではないでしょうか。
実は論理的思考は、ちょっと考え方を変えれば文系のほうが得意だったりします。論文の書き方で比べてみましょう。
理系の人は数字的な結果から数字的な結論を出して論文にまとめます。実験の結果この数字が出たから、結論としてこの薬品はこの数字であるべきだという感じですね。
対して文系は、数字的な結果とそれ以外の結果の因果関係から、結論を導き出してまとめます。統計的にこの数字が出たので、結論は〇〇ですという感じになります。
プログラミングで得られる結論、つまり求められている機能は、数字ではなく動きや見た目など、文系が出す結論に近い形になります。そのため、コツさえ掴んでしまえば文系のほうが論理的思考と相性が良かったりするのです。
論理的思考力は考え方のクセで身につく
論理的思考を身につけるためにプログラミングをやらなければいけない──というわけではありません。もちろんプログラミングをやるのがかなり近道ではあるのですが、日常生活で考え方のクセをつけるだけでも、論理的思考を身につけていくことは可能です。
「何が必要か」を気にする
何かをする時に、まず何が必要なのかを洗い出すクセを付けましょう。
例えば料理をする時、材料は何が必要か、調味料は何が必要かを考えますよね。
それをさらにレベルアップ!「家に帰るためには何が必要か」「本を読むには何が必要か」など、普段考えないようなところでも「何が必要か」を考えてみると、行動一つ一つを細分化することができます。
ポイントは、ちょっとくどいくらいに分解してみることです。「電車に乗って帰る」としても、電車だけあっても帰れないですよね。もっと細かく、下記のように分解してみましょう。
【家に帰るためには何が必要か】
- 電車
- 乗るためのICカード
- ICカードのチャージ残高
- 歩く足
- 現在地の最寄り駅
- 地元駅
日常生活のちょっとしたことをやりながら練習するだけで、ものごとを分解して考える練習になるのです。
組み合わせを意識する
分解になれたら、今度は組み合わせてみましょう。全てをつなげるというよりは、グループ分けをするイメージです。
【家に帰るためには何が必要か】
- 電車
- 現在地の最寄り駅
- 地元駅
- 乗るためのICカード
- ICカードのチャージ残高
- 歩く足
こちらの例は、動いている電車、チャージされているICカード、駅から徒歩という3つにグループ分けすることができました。こうやってまとめると、それぞれがどんな役割を持つのかが明確になりますね。
分解してバラバラになっているものを整理する、これもいい練習になりますよ!
行動の順番を意識する
分解し、整理したものを正しい順番で行動することで、求めている結果が得られる。その行動順を意識することで、結果を得るまでの過程としてつなぎ合わせる練習になります。
【家に帰るという結果を得る順序】
- 最寄り駅へ行く
- ICカードで改札の中に入る
- 電車に乗る
- 地元駅で降りる
- ICカードで改札から出る
- 歩いて家に向かう
これで「家に帰る」ロジックが完成しました! 身近なことですが、こうやって分解するといろんな行動をとっていることに気づきますね。
こうやって日常のちょっとしたことを題材にしてみると、論理的思考はそんなに難しいことではないと感じるでしょう。移動時間の暇つぶしなどにオススメです。
レベル別今すぐできる論理的思考力の練習問題
最後に、日常生活を題材にした練習問題をいくつかお出ししておきますね! ぜひチャレンジしてみてください。
※回答例は白文字にしています。ドラッグなどで確認してください。
レベル1:テレビをつける
あなたは今テレビがある部屋にいます。テレビの電源を入れるロジックを考えましょう。
(テレビの仕組み的な部分は難しく考えなくてOKです)
回答例
・ボタンを押す
・信号が飛ぶ
・テレビが信号を受け取る
・テレビの電源がつく
レベル2:荷物を運ぶ
目の前に重い荷物があります。台車を使って、荷物を隣の部屋に運びましょう。
回答例
・荷物を持ち上げる
・台車に荷物を置く
・台車を押して隣の部屋に行く
・部屋の扉を開ける
・部屋に入る
・扉を閉める
・荷物を持ち上げる
・部屋の中に荷物を置く
レベル3:カレーを作る
美味しいカレーをつくりましょう!
回答例
・包丁とまな板を用意する
・人参を乱切りにする
・たまねぎの皮をむく
・たまねぎをくし切りにする
・じゃがいもの皮をむく
・じゃがいもを食べやすい大きさに切る
・じゃがいもを水に晒す
・鍋をコンロに置く
・コンロに火を付ける
・鍋に油をしく
・お肉を炒める
・玉ねぎを炒める
・じゃがいもと人参を炒める
・水を入れる
・灰汁をとる
・野菜が柔らかくなるまで煮る
・火を止める
・カレールーを入れる
・溶けるように混ぜる
・火を付ける
・とろみが付くまで煮込む
まとめ
論理的思考は意外と身近で、自然と使えている人もたくさんいます。でもそれに気づかないで「論理的思考なんて難しいことはできない」と思ってしまうのはとってももったいないです。
プログラミングだけでなく、日常生活や仕事の仕方にも役立つ論理的思考、ちょっと意識してみてはいかがでしょうか。
また、この記事を機に「プログラミングを学んでみたい」と感じた人もいますよね。下の記事では、初心者からのプログラミング入門方法を詳しく解説しているので、ぜひ参考にしてください。