こんにちは。ECF代表のヒガです。
本記事では初心者向けアルゴリズムの演習問題を紹介しています。日頃のプログラミング学習にご活用ください。
はじめに
アルゴリズムとは、コンピューターに行わせる計算手順のことです。自在にプログラムを作るには、プログラム言語の文法の知識とともにアルゴリズムの考え方を身につけることが必要になります。
アルゴリズム技法習得の肝は「繰り返し」の活用です。この連載では、簡単な題材で繰り返しを使うアルゴリズムの基本パターンを練習していきます。
演習問題の一覧や勉強スタイルについてのアドバイスはこちらからどうぞ。
Q014 1から指定の数まで縦に表示
複数行にわたり1から指定の数までを順に表示してください。ただし、最後の数はプログラムの先頭で変数に代入することで指定してください。
「7」を指定した場合の実行例は次のとおりです。
ヒント
Q004と同じ基本のループですが、今回の表示対象はカウンタ変数を使った値となります。
解答例と解説
考え方
まず最初に「何を繰り返す」かを考えます。今回の場合は
- 数を表示する(改行有り)
を繰り返すことになります。
数が何を表すか(何で表すか)を考える必要があります。1から指定の数まで1ずつ増やした数ですので、繰り返しのカウンタ変数の値がそのまま使えます。箇条書きでまとめると、
- 最後の数を指定する(変数に代入する)
- 次の動作を1から指定の数まで繰り返す
- カウンタ変数の値を表示する
- 改行する
という流れになります。
フローチャート例
今回は「1から指定数まで」という形で初期値と終了値が明確に指定されているので、それをループの初期値と終了条件に活用します。1ずつ増えていくことになるので、増分の式も「i + 1 → i」で決まりです。
「初期値」「終了値(終了条件)」「増分式」を調整すれば、いろいろなアルゴリズムに応用できます。
Javaでの実装例
public class Q014 { public static void main(String[] args) { int n = 7; // 表示の最大値 for (int i = 1; i <= n; i++) { System.out.println(i); } } }
上のフローチャートとの対応からプログラム実装例の流れを確認しましょう。あわせて、改めてfor文の「初期値」「終了値(継続条件)」「増分式」の使い方を確認しましょう。
おわりに
前回までは文字を表示するアルゴリズムを考えていましたが、今回からはカウンタ変数iに関連した(変数iを計算に使った)数値を表示する練習を続けていきます。
これまでもカウンタ変数iやjを使った条件式等を考えてきましたが、表示のためのデータとしても使える便利なものです。基本の繰り返しとともに、カウンタ変数の活用方法も練習していきましょう。
次回はこちらです。
合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報、また関連するご相談・問い合わせにつきましては下記よりご確認ください。