こんにちは。本を購入いただきありがとうございます。
>一方で、大滝みや子さんの「かんたんアルゴリズム解法」では、副題に「流れ図」と
>あるように、フローチャートを扱っています。この本は、基本情報技術者試験の
>テキストであるわけですが、国家試験である(らしい)同試験で、初心者に
>フローチャートを学ばせていることと、先の常識との関係を、どのように整理すれば
>よいでしょうか。
国家試験だからといって必ずしも適切な問題を出しているとは限りませんし、
ひとまず「基本情報 フロチャート」で検索したらまず出たのが以下の過去問でしたが、
http://www.k4.dion.ne.jp/~type_f/FE_18S_AM/FE_18S_AM_42.html
この問題は、何についての理解を試しているのでしょう……
フロチャートの書式? それとも、アルゴリズムの基本的な考え方?
フロチャートの書式を問う問題には見えないですよね。記号の意味自体は、
それこそ初めて見る人でも、だいたい見当がつきそうです。
この問題はアルゴリズムの考え方を問う問題で、たまたまそこでフロチャートを
使っていると見るべきであるように思います。それが適切かどうかはさておき。
(「Pascal風擬似言語」でもよいと思うのですが、言語非依存にしておかないと
都合が悪い事情はあるかも)
>「センス・オブ・プログラミング」でも、基本情報技術者試験の試験範囲と
>重なる入門的話題(基数、加算器など)も多く取り上げられていますことから、
>フローチャートはそのレベル以前、とも考えられず、フローチャートには
>どういう態度で接すべきか、分かっていません。基本中の基本としては、
>必要なのでしょうか?
実のところフロチャートの記号なんて数種しかありませんし、記号の意味を
覚えておいて無駄になるということはないと思います。
ただ、入門者がおもちゃプログラムを作るときを含め、設計の役にはまったく
立たないと思います。理由は、「センス・オブ・プログラミング」にも書きましたが、
フロチャートは、いまどきの普通のプログラミング言語と比べても「機械語寄り」の
低レベルな記法であるからです。こんなものを書くくらいなら、対象の言語で
直接書くほうがよっぽどマシですし、その方が、コンパイラに怒られたり
動かしてバグを出したり等、勉強にもなります。
ただし、私もフロチャートを書くことはたまにはあって、それは、たとえば
システムの運用担当者さん向けに、「エラーが発生したときにどうすべきか」といった
説明資料を作るような時です。これは、フロチャートにしたがって運用担当者さんが
それこそCPUのように機械的に動けるように指示するものなので、より「低レベル」な
記法の方が好ましいわけです。
そのようなケース以外で、設計のためにフロチャートを書くことは、もちろん
実務ではありませんし、入門時にどうだったかといえば、私自身はBASIC時代に
入門しているわけでフロチャートも書きましたが、会社に入ったとき同期の連中は
まるっきり初心者の人もいましたが、フロチャートなしで入門していました。
動坂亭さんが今までどんなプログラムを作ってこられたかわかりませんが、
何らかのテーマを決めてコードをガリガリ書いていけば100行くらいすぐですし、
100行のコードは、既にフロチャートで表現するのは難しいのではないでしょうか。
フロチャートを書くかどうか迷っている暇にどんどんコードを書いたほうが有益だと
思います。