こんにちは。ECF代表のヒガです。
本記事では初心者向けアルゴリズムの演習問題を紹介しています。日頃のプログラミング学習にご活用ください。
はじめに
アルゴリズムとは、コンピューターに行わせる計算手順のことです。自在にプログラムを作るには、プログラム言語の文法の知識とともにアルゴリズムの考え方を身につけることが必要になります。
アルゴリズム技法習得の肝は「繰り返し」の活用です。この連載では、簡単な題材で繰り返しを使うアルゴリズムの基本パターンを練習していきます。
演習問題の一覧や勉強スタイルについてのアドバイスはこちらからどうぞ。
Q003 指定した数だけ横に並べる(変数と繰り返し)
文字「★」を横に並べて表示させてください。ただし、並べる数はプログラムの先頭で変数に代入することで指定してください。
繰り返しの回数に「10」を指定した場合の実行例は次のとおりです。
ヒント
繰り返しの条件には、数を指定するために準備した変数を活用します。
解答例と解説
考え方
まず最初に「何を繰り返す」かを考えます。今回の場合は
- 文字'★'を表示する(ただし改行無し)
を繰り返すことになります。
今回のポイントは「繰り返し回数を事前に指定する」というところです。繰り返しループの前に変数を用意し、そこに繰り返し回数を代入しておきます
箇条書きでまとめると、
- 繰り返し回数を指定する(変数に代入する)
- 次の動作を指定回数分繰り返す
- 文字'★'を表示する
という流れになります。
フローチャート例
Javaでの実装例
public class Q003 { public static void main(String[] args) { int n = 10; // 繰り返しの数 for (int i = 0; i < n; i++) { System.out.print('★'); } } }
例えばQ001やQ002で行った5回の繰り返しは、for文で「0から始め、5より小さい間(つまり4まで)」繰り返すという書き方をしました。今回はプログラムの先頭で宣言・初期値を代入した変数nを使って条件を指定することになります。つまり、for文で「0から始め、nより小さい間(つまりn-1まで)」繰り返すという書き方になります。
おわりに
「わざわざ変数を宣言して代入するのは面倒では?」と思われる方もいらっしゃるかもしれません。しかし、今回の演習のような変数に代入した値を活用した条件式の書き方は、実践では非常に重要かつ有益です。
Q001やQ002は短いプログラムなので条件式に直接「5」と書いてあっても問題になりにくいのですが、実践で書く長いプログラムでは「表示文字数を5から10に変更したい」というような要望(仕様変更)があった場合に、プログラムのどこを直せばいいかがひと目で分かる工夫が大切です。「簡単に修正ができる」というのは「バグ(プログラムの間違い)が発生しにくい」ということに直結するからです。
「設定値はプログラムの先頭にまとめて書いておく」というようなルールで最初からプログラムが書かれていれば、変更も簡単ですよね。皆さん自身の書くプログラムでもぜひ意識してみましょう。
次回はこちらです。
合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報、また関連するご相談・問い合わせにつきましては下記よりご確認ください。