Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

脱 超初心者 Javaアルゴリズム問題集 第1回

条件分岐と永久ループ

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/06/15 20:25

ダウンロード 解答例 (572.0 B)

アルゴリズム知ることでプログラミングの基礎力、応用力を養うことができます。本連載では、基礎から応用まで全10回に渡ってJavaによるアルゴリズムの例題を紹介します。プログラム経験が3ヶ月もあれば十分解くことができるでしょう。

目次
第1回
アルゴリズムを解いて、あなたの開発スキルをチェック

 「アルゴリズム(algorithm)」は、何らかの目的を果たすための手順や方法です。開発の世界では、数行のプログラムから大きなシステムに至るまで、大小さまざまなアルゴリズムが存在します。

 現在では、便利なライブラリが各種提供されているため、自分で作成する必要もなくなってきましたが、アルゴリズム知ることでプログラミングの基礎力、応用力を養うことができます。本連載では、基礎から応用まで全10回に渡ってJavaによるアルゴリズムの例題を紹介します。プログラム経験が3ヶ月もあれば十分解くことができるでしょう。最初は腕慣らしから始まります。

 問題にはポイントやヒント、さらにランク分けをした作成目安時間を書いていますので、解答例を見ずに「Aランク」を目指して挑戦してみてください。再挑戦をする場合の時間は、元の時間から-30%くらいを目安にしてください(例えば1回目が60分の場合、2回目は48分)。

  • 第1回 条件分岐と永久ループ
  • 第2回 条件分岐(複合条件)
  • 第3回 ループ
  • 第4回 多重ループと二次元配列
  • 第5回 魔方陣 応用(多重ループ、条件分岐、二次元配列)
  • 第6回 ソート
  • 第7回 バブルソート
  • 第8回 クイックソート
  • 第9回 再帰処理
  • 第10回 リンクリスト

対象読者

 Javaのプログラミング経験が3ヶ月~2年程度の方。

 所要時間のランク(A~C)は、A:(開発歴)2年以上、B:1年程度、C:3ヶ月程度を目安にしてください。前半の問題では、やや時間に余裕を持っています。なお、基礎の基礎ですので、ベテランの方には少々物足りない内容かもしれません。

所要時間について
 未経験~開発歴5、6年程度のエンジニアに対する、テンプスタッフ・テクノロジーでの教育研修時データを元に、やや長めに設定しています。大きく外れてはいませんが、序盤の問題では時間にゆとりがあると思います。
第1回 条件分岐と永久ループ
問題1
標準入力された値があればそのまま表示、値がなければエラーメッセージを表示するプログラムを作成してください。なお、「EXIT」が入力されるまで、処理を繰り返し続けるものとします。

 ヒントフローチャートを見る

所要時間目安  A:30分 B:60分 C:120分
  • コマンドラインに入力を待ち受けるための「>」を表示する。
  • 「EXIT」が入力された時点でプログラムを終了する。それ以外が入力された場合は「未入力です」と表示して、再び入力待ち受け状態にする。
キーワード
  • if文の使用法を習得する。
  • while()/for(;;)による永久ループの使用法を習得する。
ポイント
  • 標準入力からの入力を受け取るストリームはSystemクラスのフィールドinよりInputStreamクラスのインスタンスとして取得できる。
  • 永久ループは次のようにすることによって表すことができる。
while( true )
{
    繰り返される処理
}

 または

for( ; ; )
{
    繰り返される処理
}

 解答例は次のページ


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • しまだみつおみ(しまだみつおみ)

    汎用系からオープン系までのシステム開発に従事。その経験の中で、システムの品質を向上させるには技術者の育成が欠かせないと感じ、教育の道へ転換。現在は、テンプスタッフ・テクノロジーにて、エンジニアの教育・人事マネジメントに従事。

バックナンバー

連載:脱 超初心者 Javaアルゴリズム問題集
All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5