Javaプログラミング ・If文とfor文を思い出そう ・電気料金を求めるプログラム ・並べ替えのプログラム 家庭の電気料金を計算する 大事な点は,次の点です。 – 何が入力されるべき数値で,何が出力されるべき数 値か? 「契約A」,「使用量」,「燃料費調整単価」の3つが入力され る変数。 出力は,電気料金。 – 契約Aが変わると,基本料金が変わる。 – 電力料金単価は,3段階に変化する。 – 少数(実数)での計算だが,最後に円未満切り捨て で整数の答えとする。 家庭の電気料金を計算する まずは,「契約A」,「使用量」,「燃料費調整単 価」の3つを入力する部分を作ろう。 – 利用する変数はこれら3つだけですか?使う変数は 最初に宣言しておくと分かり易いです。 – 「契約A」が変わると,基本料金が変わります。よっ て,「基本料金」も変数となります。 – もちろん,最後の計算結果を保存するための変数 が必要です。 – これら5変数は,整数ですか?それとも実数です か? 家庭の電気料金を計算する 次に,入力された「契約A」を基に,基本 料金を決定する部分を作ろう。 – 契約Aごとにif文を作ってみましょう。 – これを1つのif文で表すとどのようになるで しょう? – 上の二つの方法は,どちらが良い方法とい えるでしょう? – もし「契約A」の入力ミスで,どのif文にも当て はまらない時はどうしますか? 家庭の電気料金を計算する 電力料金単価は3段階に分かれている ので,使用量を基に3つの計算式に分類 して料金を計算し,出力します。 – 使用量が120kWh以下の場合 – 使用量が120kWhを越えて300kWh以下 の場合 – 使用量が300kWhを越えた場合 – 最後の円未満切り捨てはどのようにします か? 並べ替えのプログラム 前回のIf8a.javaを見てみましょう。 どのような処理をしているでしょうか? ループが二重になっているのはなぜで しょうか? 入力の部分もforを使って書いてみましょ う 並べ替えのプログラム data[0] data[1] data[2] data[3] 最初の状態 (例) 10 20 30 40 data[4] 50 小さい順に並んでいるものを大きい順に並べ変えることが 一番手間がかかるので,これを例に考えてみましょう。 j=0, i=0 20 10 30 40 50 j=0, i=1 20 30 10 40 50 並べ替えのプログラム data[0] data[1] data[2] data[3] data[4] j=0, i=2 20 30 40 10 50 j=0, i=3 20 30 40 50 10 j=0におけるiに関するループ処理が終了して,ようやく 最も大きい数値が一つだけ左に移動しました。 この数値をdata[0]の位置まで移動させるには,あと三つ 左に移動しなければなりません。つまり,jに関してあと三 回,同様の処理を繰り返す必要があると言うことです。 よって,j=0~3,それぞれのjについてi=0~3の,計16回 のループ処理が必要になります。 徐々に数値が 移動していく様 子が,「泡が水 面に上がってく る様子と似てい る」ことから, 「バブルソート」 と呼ばれます。 来週の予定 構造化プログラミング 「流れ図」の書き方 「アルゴリズム」の考え方 「検索」のプログラム 「オブジェクト指向」とは これからのテーマについて 動くwebページを作ろう(普通) – Javaアプレット 画像処理をしてみよう(中難度) – Java2D, Java3D 音声処理をやってみよう(高難度) – 音の周波数解析 最後は,画像や音のプログラム結果などをweb ページの上から発表するようにします。
© Copyright 2024 ExpyDoc