紙とえんぴつで学ぶアルゴリズムとフローチャート
カミトエンピツデマナブアルゴリズムトフローチャート
- 著者:
- 岩松 洋(ワカマツヒロシ)
- 注目:
- 総合 1245 位
- 出版社:
- 日経 BP
- 出版日:
- 2022年06月25日頃
- ISBN:
- 9784296070381
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
■ プログラムの設計力を身につけよう!
「プログラミングは勉強したのに、自分でプログラム作れない……」
そう悩んでいる人、けっこう多いんです。プログラミングの入門講座や入門書で、ひと通りプログラミング言語の文法やツールの使い方は学んだという人に本書を読んでいただきたい。きっと講座で取り上げられたコードや、書籍に掲載されたコードは、何をやるプログラムかはもう理解できますよね。自分で実際にコードを入力して、動作させることもできましたよね。でも、自分で「こんなプログラムを作ってみたい」と思って、自由自在にコードを書けていますか?
実は、「こんなプログラムを作ってみたい」というアイデアがあっても、それをすぐにプログラムにするのは簡単なことではありません。そうしたアイデアをプログラムにするための過程が欠けているからです。アイデアとプログラムをつなぐのが“設計”です。入門講座や入門書には、この設計の説明がほとんどないのです。プログラムを作れるようならないのは、そのためです。新米プログラマーがすぐに自分でプログラムを書けるようにならないのはもっともなことなのです。
でも悲観することはありません。そんなプログラミングの初心者に向けてソフトウェア設計の初歩の初歩を解説するのが本書です。「設計」といっても難しく考える必要はありません。本書ではじゃんけんやすごろく、あっち向いてホイなど、誰もが知っている遊びを取り上げ、それをプログラムにするために何を考えなければならないか、プログラムにするにはどうすればいいかを、一つひとつステップを踏みながら説明します。
第 1 章 プログラミングは紙とえんぴつから
第 2 章 ソフトウェアの設計
第 3 章 じゃんけんプログラムのためのフローチャート
第 4 章 コンピュータが実行できる形に
第 5 章 データを構造化する
第 6 章 じゃんけんを Python でコーディング
第 7 章 プログラム設計のための実習問題
技書の森解説
プログラミングは勉強したのに、自分でプログラムを作れない。その壁に向けて、コードを書く前の設計を紙とえんぴつで練習させる入門書が『紙とえんぴつで学ぶアルゴリズムとフローチャート』 (岩松洋 著、日経 BP、2022 年 6 月刊) です。書誌には副題「新米プログラマーなら設計力を身につけよう」が登録されており、版元の紹介文が対象と定めるのは、入門講座や入門書でプログラミング言語の文法とツールの使い方をひと通り学んだ人です。作りたいもののアイデアとプログラムをつなぐ工程を版元は設計と呼び、その「初歩の初歩」を、じゃんけんやすごろく、あっち向いてホイといった誰もが知っている遊びを題材に、一つひとつステップを踏んで説明します。
全 7 章の構成、じゃんけんのフローチャートから Python コーディングまで
構成は第 1 章から第 7 章までの全 7 章です。第 1 章「プログラミングは紙とえんぴつから」と第 2 章「ソフトウェアの設計」で、なぜコードより先に設計を考えるのかという本書の立脚点を置き、第 3 章「じゃんけんプログラムのためのフローチャート」でじゃんけんを題材に処理の流れを図へ落とします。第 4 章「コンピュータが実行できる形に」は章題のとおり、人が読む流れ図をコンピュータが実行できる手順へ近づける段階、第 5 章「データを構造化する」は扱う情報の持ち方を整理する段階です。第 6 章ではじゃんけんを Python でコーディングして紙の上の設計を動くコードにし、第 7 章「プログラム設計のための実習問題」で設計の練習問題に取り組む流れになっています。
文法を知っていても書けない理由と、設計を先に置く効き目
プログラミング学習で多い停滞は、文法の知識と白紙から作る力の間にあります。入門書のサンプルコードは既に分解済みの問題を与えるため、読者は個々の文の意味を理解できても、ルールしか決まっていない題材を順次 / 分岐 / 繰り返しの組み合わせへ分解する経験を積めません。フローチャートはこの分解を、特定の言語の文法から切り離して図で行える道具です。じゃんけんのように誰もが結果を知っている題材なら、仕様の理解に頭を使わずに、勝敗の判定や引き分けの扱いといった処理の流れそのものへ集中できます。条件分岐 と 繰り返し を図の上で組み立ててから書いたコードは、動かないときに文法の問題か設計の問題かを切り分けやすく、デバッグの見通しも変わります。
データの構造化と Python 実装で、紙の設計がコードにつながる
本書の特徴は、フローチャートを描いて終わりにしない点です。第 5 章のデータの構造化は、処理の流れだけでなく扱う情報の持ち方を決める工程で、じゃんけんを例に取るなら手の種類や勝敗の関係をプログラムがどう表すかにあたります。アルゴリズムとデータ構造が対になって初めてプログラムが成立するという考え方の入口をここで踏むことになります。第 6 章の Python コーディングは、紙の上で決めた流れと情報の持ち方が実際のコードにどう写るかを確認する章で、Python の簡潔な記法は流れ図との対応を追いやすい利点があります。そして第 7 章の実習問題は、設計 の力が説明を読むだけでは身につかず、自分で分解した回数に比例して伸びるという性質に応えるものです。
向いている読者と、文法の本を求める人には向かない点
前提知識は、版元の記載どおり、入門講座や入門書でどれか一つの言語の文法とツールの使い方をひと通り学んだ経験です。Python の経験は必須ではありませんが、第 6 章を手で追うなら Python の基本文法に一度触れておくと理解が早まります。一方で、文法そのものを学びたい人や、特定言語の網羅的なリファレンスを求める人には向きません。また書名にアルゴリズムとありますが、版元が紹介文で強調するのは設計の初歩であり、計算量やソート / 探索の各論を体系的に学ぶ目的なら、アルゴリズム専門の教科書とは役割が異なります。
入門書を一冊終えたのに自分では何も作れないと感じている人、写経はできるのに白紙のエディタの前で手が止まる人にとって、本書は次に読むべき一冊として費用対効果が高い内容です。B5 変型判の紙面で、じゃんけんという小さな題材を最後まで動くプログラムに育てる過程を追えば、設計という工程が何をする仕事なのかが自分の手の感覚として残ります。新人研修で文法を教えた後に配る副読本としても、独学者が設計力の土台を作る最初の一冊としても、堅実な選択です。
この本に興味がある方におすすめ
関連する本
関連記事
本を読むスピードは気にしなくていい
1 ページ読むのに 10 分かかっても問題ありません。プログラミングの本はゆっくり読むのが正解である理由と、焦らず読み進めるコツを紹介します。
ゲームが好きならプログラミングの本も読める
ゲームの攻略本を読んだことがあるなら、プログラミングの本も読めます。攻略本とプログラミング本の共通点から、読書のハードルを下げます。
Python 本の選び方 - 独学の最初の 1 冊から実務品質まで
Python 本の選び方を「動機」から逆算して整理。プログラミング未経験の最初の 1 冊、業務自動化に直結する本、型ヒントとコード品質で実務水準へ進む本まで、2026 年 8 月時点の定番を独学ルートに沿って解説します。
関連用語
競技プログラミング
与えられた問題を制限時間内に正確 / 高速に解くプログラミング競技
プログラミング
コンピューターに実行させる手順をプログラミング言語で記述し、動作を作り出す行為
グラフアルゴリズム
ノードとエッジで構成されるグラフ構造に対する探索 / 最短経路 / 接続性の分析アルゴリズム
依存グラフとは - モジュール間の依存関係を可視化する方法
依存グラフはパッケージやモジュール間の依存関係を有向グラフで表現する手法。循環依存の検出 / ビルド順序の決定 / 影響範囲分析での活用法を解説
RaspberryPi
手のひらサイズの小型コンピューター。学習から電子工作 / IoT まで幅広く使える
グラフデータベース
ノード (エンティティ) とエッジ (関係) でデータを表現し、複雑な関係性のクエリに特化したデータベース