こんにちは。ECF代表のヒガです。
本記事では初心者向けアルゴリズムの演習問題を紹介しています。日頃のプログラミング学習にご活用ください。
はじめに
アルゴリズムとは、コンピューターに行わせる計算手順のことです。自在にプログラムを作るには、プログラム言語の文法の知識とともにアルゴリズムの考え方を身につけることが必要になります。
アルゴリズム技法習得の肝は「繰り返し」の活用です。この連載では、簡単な題材で繰り返しを使うアルゴリズムの基本パターンを練習していきます。
演習問題の一覧や勉強スタイルについてのアドバイスはこちらからどうぞ。
Q002 縦に並べる(繰り返し)
文字「■」を縦に5つ並べて表示させてください。
実行例は次のとおりです。
改行文字を使って1文で実現する方法もありますが、今回は
- 文字'■'を表示する
を繰り返すことで実現させてみましょう。
ヒント
Q001と違って、改行させる、というところがポイントになります。
解答例と解説
考え方
まず最初に「何を繰り返す」かを考えます。今回の場合は
- 文字'■'を表示する
を繰り返すことになります。そして、Q001と違って■の後に改行する必要があります。
箇条書きでまとめると、
- 次の動作を5回繰り返す
- 文字'■'を表示する
- 改行する
という流れになります。
フローチャート例
Javaでの実装例
public class Q002 { public static void main(String[] args) { for (int i = 0; i < 5; i++) { System.out.println('■'); } } }
例えば5回の繰り返しは、for文で「0から始め、5より小さい間(つまり4まで)」繰り返すという書き方が定番です。回数を指定する場合の繰り返しパターンはスムーズに扱えるようにしましょう。
また、Javaで「改行有りの表示」を行いたいときは
System.out.println(〜); // print()ではないことに注意
を使います。print()メソッドより、むしろこちらがJava文法の学習ではよく使いますね。
あえてprint()メソッドを使った書き方も確認してみましょう。
public class Q002 { public static void main(String[] args) { for (int i = 0; i < 5; i++) { System.out.print('■'); // ここでは改行しない System.out.println(); // 引数無しprintln()で改行 } } }
引数無しのSystem.out.println()は、単に改行だけさせたいときに使います。2文になってしまうのですが、今後、実現したいアルゴリズムによっては、この書き方を応用した方が簡単にできるパターンもあります。
Java以外の言語で改行を行いたいときは「改行文字'\n'を表示する」というパターンも多いです。
おわりに
まずは、繰り返し文の構文に慣れることが大切です。何を繰り返すかを意識しながらアルゴリズムを組み立てましょう。
次回はこちらです。
合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報、また関連するご相談・問い合わせにつきましては下記よりご確認ください。