Top > 疑問・質問 > 次のプログラムを作りたいのですが…。うまくいきません…

次のプログラムを作りたいのですが…。うまくいきません…


Aさんへ

手順を考えて、考えた手順通りに近いプログラムになっています。

では、「なぜうまくいかないか」と言いますと、

  1. 目的が不明瞭なことと
  2. プログラムロジックの大筋が見えてこないこと
    プログラムコードと同じレベルで手順を考えている
  3. 手順に漏れがあること
  4. 実装(プログラムコード)上の問題があること

まず、目的から考えていきます。

足りないもの…とは何を意味するのでしょうか?

いくつかのキーワードで推察してみます。「航空券」「足りない数」「足りないもの(文字配列)」…旅行時に必要なものとその数と想像しました。

手順を要約すると

  1. 航空券以外に必要なもの(文字列)を入力する
  2. 入力が終わったら、入力された「必要なもの」を出力する

つまり、「旅行に必要なものを入力して、入力されたものをそのまま画面に出力するプログラム」と受け取りましたがあってますか?

手順を考える前に、何をしたいのかを明確にしましょう。

以下に、想像で目的と手順を書いてみます。これを参考にしてもう一度考えてみてください。目的は上記に書いたものとします。


考えてみたら、私も混乱してきました。そこで、要点を整理しました。

ポイントを整理

  1. 「必要なものの数」「必要なものの入力」「必要なもののリスト」
  2. 「必要なもののリスト」を全て出力
  3. 終了

足りているか、足りていないかは、「必要なものの数」で判断できます。つまり、「必要なものの数」が0の場合は「足りている」、「必要なものの数」が>0の場合は「足りていない」と判断できるからです。

  1. 「航空券」を画面に出力
  2. "「必要なものの数」を入力して下さい"を画面に出力
  3. 「必要なものの数」の入力待ち
  4. 「index=0」で初期化し、index<「必要なものの数」の間、以下を繰り返す
    1. 「必要なもの」の入力待ち
    2. 「必要なもの」をndexが示す「必要なもののリスト」に追加
    3. indexを+1増減する
  5. ”それではチェックしましょう”を画面に出力
  6. 「index=0」で初期化し、index<「総数」の間、以下を繰り返す
    1. indexが示す「必要なもののリスト」を画面に出力する
    2. indexを+1増減する
  7. 終了する

補足事項

  1. コードに展開するときは、入力値のチェックが必要です。
  2. 「必要なもののリスト」は2次元配列にします。
  3. 画面へ出力する場合、改行がなければ見づらくなります。
    文字列の最後に”\n”を追加すると改行します。

以上です。もう一度手順を見直して送って下さい。

  1. プログラムの要約
  2. プログラムの手順

IT@NET塾
丸山

▲ページトップに戻る