SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

条件分岐と永久ループ


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

ダウンロード 解答例 (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( ; ; )
{
    繰り返される処理
}

 解答例は次のページ

次のページ

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
脱 超初心者 Javaアルゴリズム問題集連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1426 2009/04/02 17:28

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング