140 likes | 318 Views
Java プログラミング. 他の演算子、練習応用問題. 剰除演算子. この演算子は、 式 1 %式 2 の書式をもち、式 1 の値を式 2 で割った余りを返します. int i, j, k; i = 5; j = 3: k = i % j; // k = 2 となります. 演習問題4. 整数を1つ入力して、その整数は2で割り切れるかどうかを判定するプログラムを作りなさい ( プロジェクト名: T1xEyyy_4). 演習問題5. 整数を1つ入力して、その整数は1と自分でしか割り切れないかどうかを判定するプログラムを作りなさい (T1xEyyy_5).
E N D
Javaプログラミング 他の演算子、練習応用問題
剰除演算子 • この演算子は、 • 式1%式2 • の書式をもち、式1の値を式2で割った余りを返します int i, j, k; i = 5; j = 3: k = i % j; // k = 2 となります Javaプログラミング
演習問題4 • 整数を1つ入力して、その整数は2で割り切れるかどうかを判定するプログラムを作りなさい(プロジェクト名:T1xEyyy_4) Javaプログラミング
演習問題5 • 整数を1つ入力して、その整数は1と自分でしか割り切れないかどうかを判定するプログラムを作りなさい(T1xEyyy_5) Javaプログラミング
演習問題6 • 自然数を1つ入力して、その数は素数であるかどうかを判定するプログラムを作りなさい(素数とは1より大きい自然数で、1と自分自身以外に約数を持たないものをいう)(T1xEyyy_6) Javaプログラミング
条件演算子 • この演算子は、 • 式1 ? 式2 : 式3 ; • の書式をもち、条件式(式1)が真のとき、式2の値を、偽のときは式3の値を返します int i, j, k, m; i = 2; j = 7: k = 1; m = (k>0) ? (j-1) : (i+1); // m = 6 となります Javaプログラミング
演習問題7 • 実数を1つ入力して、その値は100以下の場合は入力された値を表示して、そうではない場合は「error」を表示するプログラムを条件演算子を使用して作成しなさい(T1xEyyy_7) Javaプログラミング
データ型 定数 説明 (使用例) π:円周率の値(Math.PI) double PI e:自然対数の底(Math.E) double E 算数用演算子 • Javaでは数学の計算によく用いられる定数、およびメソッドは幾つか用意されています Javaプログラミング
演習問題8 • 教科書の51頁にあるメソッドをすべて使用して、それぞれのメソッドを使用するプログラムを作成しなさい(T1xEyyy_8) Javaプログラミング
処理方法 再帰的処理と反復的処理
処理方法 • 問題を解くための処理は大きく2つに分けることができます • 条件が満たされるまで何度も同じ処理を繰り返す処理方法を反復処理といいます(繰り返し文で実現される処理はその一つの例です) • 大きな空間を対象に処理を行ってある結果に達せした時にその結果と基の空間より小さい空間を対象に同様な処理を行って、これを有限回繰り返す処理は再帰処理といいます Javaプログラミング
処理の例:階乗計算(反復処理) • nの階乗は、 • 1×2×3×4×…×(n-1)×n • といった具合で、1からnまでの整数全ての積を求める計算です int ifactorial(int n) { int f=1; for(int i=2; i<=n;i++) f =f*i; return f; } Javaプログラミング
1 2 3 4 5 120 4 3 2 1 24 6 2 1 処理の例:階乗計算(再帰処理) • nの階乗は、次のように容易に実現できます int rfactorial(int n) { if(n == 0) return1; return n*rfactorial(n-1); } Javaプログラミング
演習(調査)問題 • 反復も再帰処理もできるもう一つの演算を実現するプログラムを作成しなさい(T1xEyyy_9) Javaプログラミング