紙とえんぴつで学ぶアルゴリズムとフローチャート

カミトエンピツデマナブアルゴリズムトフローチャート

紙とえんぴつで学ぶアルゴリズムとフローチャートの表紙
プログラミング
著者:
岩松 洋(ワカマツヒロシ)
出版社:
日経 BP
出版日:
2022年06月25日頃
ISBN:
9784296070381
在庫:
在庫あり
0
初級者向け
アルゴリズムフローチャートプログラミング設計プログラミング入門問題解決ロジカルシンキングコード設計プログラミング概念ソフトウェア設計学習ガイド

なぜ注目されているか

総合1245位 ↑ 2 ランクアップ

書籍紹介

■ プログラムの設計力を身につけよう!

「プログラミングは勉強したのに、自分でプログラム作れない……」

そう悩んでいる人、けっこう多いんです。プログラミングの入門講座や入門書で、ひと通りプログラミング言語の文法やツールの使い方は学んだという人に本書を読んでいただきたい。きっと講座で取り上げられたコードや、書籍に掲載されたコードは、何をやるプログラムかはもう理解できますよね。自分で実際にコードを入力して、動作させることもできましたよね。でも、自分で「こんなプログラムを作ってみたい」と思って、自由自在にコードを書けていますか?

実は、「こんなプログラムを作ってみたい」というアイデアがあっても、それをすぐにプログラムにするのは簡単なことではありません。そうしたアイデアをプログラムにするための過程が欠けているからです。アイデアとプログラムをつなぐのが“設計”です。入門講座や入門書には、この設計の説明がほとんどないのです。プログラムを作れるようならないのは、そのためです。新米プログラマーがすぐに自分でプログラムを書けるようにならないのはもっともなことなのです。

でも悲観することはありません。そんなプログラミングの初心者に向けてソフトウェア設計の初歩の初歩を解説するのが本書です。「設計」といっても難しく考える必要はありません。本書ではじゃんけんやすごろく、あっち向いてホイなど、誰もが知っている遊びを取り上げ、それをプログラムにするために何を考えなければならないか、プログラムにするにはどうすればいいかを、一つひとつステップを踏みながら説明します。
第 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 変型判の紙面で、じゃんけんという小さな題材を最後まで動くプログラムに育てる過程を追えば、設計という工程が何をする仕事なのかが自分の手の感覚として残ります。新人研修で文法を教えた後に配る副読本としても、独学者が設計力の土台を作る最初の一冊としても、堅実な選択です。

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: