【初心者用】プログラムは3つの構成要素で考える

Java

【初心者用】プログラムは3つの構成要素で考える

 

初心者がプログラミングの勉強を行う場合、テキストを見ながらコードを入力し、動作確認を行ことは簡単にできます。基本的に「プログラムの内容を十分理解していなくても、入力ミスさえしなければ」、誰でもプログラムを書けます。しかし、新しいプログラムを自分で考えて記述する場合、ほとんどの初心者が考え込んでしまいます。エディタなどで、とりあえずひな形の部分は入力したのに、そこから先が全く入力できない、という状態です。「何を書いたら良いのか?」「どう書いたら良いのかわからない!!」と頭を抱えてしまいます。そうなると初心者は「自分にはプログラミングは向いていない・・・」「プログラムはやっぱり難しい!!」と思い、プログラムの勉強から遠ざかってしまいます。でも、「何をどう書いたら良いのかわからない!!」というのは、単純にプログラムの構成や書き方のルールを知らないだけです。どのようなプログラムでも、その構成は大体似ています。今回は、プログラムを作成する際の、「考え方」を説明していきます。

太郎さん
太郎さん

プログラムをいざ、自分で作ろうと思うと、何をして良いか、分かりません・・・・。どうしたら、良いですか?

花子さん
花子さん

私も!! サンプルは入力できるのに・・・。何がいけないのかしら?

続石講師
続石講師

それは、単純に「プログラムの考え方、書き方」を知らないだけですよ。きちんと覚えれば、スラスラと書けるようになります。

プログラムの役割・目的

まず、「プログラム」とは何でしょうか? 「プログラムは、何かの目的を達成するための手順書」となります。「運動会のプログラム」は「行う競技種目を順番に書いたもの」となります。「コンサートのプログラム」も「その日に演奏する曲名を順番に書いたもの」です。このように、プログラムは「誰が見ても、誰がおこなっても、同じ結果が得られるように処理内容を順番に記述したもの」となります。
したがって、プログラムで何を書いてよいかわからない、という初心者は、そのプログラムを実行すれば何ができるのか、「目的」がそもそも理解できていないと言えます。目的を理解していれば、その目的を達成するために何を、どのようにおこなえば良いのか、考えられます。プログラムの内容をキーボードから入力する前に、まず「目的」をじっくり考えてみてください。

プログラムの3つの構成

プログラムの目的が理解できたら、実際にコードを記述していきます。しかし、「目的は分かったけれど、何をどう書いたら良いのかわからない」と悩んでしまうかもしれません。ただし、目的がわかっていれば、あとは「プログラムの構成」に従って、コードを記述していくだけになります。
プログラムの構成は一般的に、以下の3つになります。

  1. データの入力
  2. データの処理
  3. 結果の出力

この3つの構成要素をまず考え、その後処理を細かく分けて、記述していきます。

ここで、理解しやすくするために、「カレーを作る」ことを考えてみます。おそらく、ほとんどの人はカレーの作り方(レシピ)を知っていると思います。頭の中で、その調理手順を思い浮かべてみてください。

続石講師
続石講師

カレーを作る手順を誰かに説明する場合、どのように説明しますか?

太郎さん
太郎さん

まず、材料を準備してもらいます。

花子さん
花子さん

次は、材料を切ったり、煮込んだりして、最後にカレーのルーを入れれば、終わりかな。

太郎さん
太郎さん

最後に、お更に盛り付けて、テーブルまで運ぶ。って感じですかね?

続石講師
続石講師

今、みんなに説明してもらった内容が、まさに上で説明した3つの構成要素になるんですよ!!

改めて、3つの構成要素をカレーの調理手順と関連付けると、次のようになります。

  1. データの準備・・・材料の準備
  2. データの処理・・・各種調理
  3. 結果の出力・・・・盛り付け

このように、プログラムを考える場合、まずはおおまかに3つの構成要素に分けて考えるようにしましょう。目的の処理を実現するために、まずどんなデータが必要で、それらはどのようにしてプログラム内で取得するのか。キーボードから入力してもらうのか、ファイルから読み込むのか。必要なデータの準備ができたら、それらのデータをどのように処理すれば良いのか。最後に得られた結果をどのように出力するのかを考えます。ディスプレイに表示するのか、ファイルに保存するのか。このようにして、プログラムを入力する前に頭の中で整理していきます。

抽象化と詳細化

プログラムの勉強をしている人は、「3つの構成要素で本当にプログラムが書けるの?」と疑問に思うかもしれません。実際は、この3つの構成要素の内容を細かく考えていかなければなりません。
3つの構成要素は、目的を達成するための「大きな処理のまとまり」を示しています。初心者が何を書いたら良いかわからない原因は、いきなり詳細部分を考えようとしているからです。大事なことは、「まず目的を達成するための処理をおおまかに捉えること」(抽象化)です。
みなさんが仕事やバイトで、仕事内容を他の人に教える場合、どのように説明しますか? いきなり細かな作業内容を伝えますか? 細かな作業内容を伝えても、それが実際何のための作業なのか分からなければ、なかなか覚えることはできません。まずは作業内容を大まかに説明し、それから詳細を説明したほうが相手は理解しやすくなります。例えば、「まず書庫からファイルAを持ってきて、最後のページを開き、そこに書かれてある数字を確認してください」と言われたら、みなさんはこれが何の作業か理解できますか? この説明は、いきなり詳細部分から説明した場合です。一方、抽象化を使って説明すると、次のようになります。「まず、昨日の売り上げ高の確認をしてもらいます(抽象化)。確認するファイルはファイルAというラベルがついていて、書庫にあります。そのファイルの最後のページを開くと、機能の売り上げ高の数字が書いてあります(詳細化)」。いかがですか? 抽象化してから、詳細化する方が理解しやすいのが分かると思います。
プログラムを作る場合は、「まず処理内容を抽象化し、その後、それぞれの詳細を考えていく」という流れを覚えておきましょう。「抽象化はメソッド名や関数名の宣言」、「詳細化はメソッドや関数の内部処理の記述」となります。

まとめ

今回は、プログラムの考え方として以下の説明をしました。

  1. プログラムは3つの構成要素で考える
    1. データの準備
    2. データの処理
    3. 結果の出力
  2. まず、抽象化を行う
    • 目的の処理を実現するための処理をおおまかに考える
  3. 次に、詳細化を行う
    • それぞれの抽象化の内容を詳細に細分化して考える

 

続石講師
続石講師

プログラムを作る場合、いきなりプログラムを入力しようとせず、まずはじっくりと頭で考えて、整理してください。この習慣を身に付けるとどのプログラム言語を使っても、プログラムを作ることができるようになります。

花子さん
花子さん

論理的に考えろ!! ってことですね。

タイトルとURLをコピーしました