プログラミング A 第 10 回 演習 2015 年 6 月 29 日 東邦大学金岡晃
本日の内容 中間テストの解説 演習 1 2015/6/29 プログラミング A
中間テスト解説 : 問 1 < 問 1> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=13; 答え : 13 2
中間テスト解説 : 問 2 < 問 2> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=13; a = a + 2; 答え : 15 3
中間テスト解説 : 問 3 < 問 3> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=13; int tmp; tmp = 7; a = tmp + 3; 答え : 10 4
中間テスト解説 : 問 4 < 問 4> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=13; int b =9; a += b; 答え : 22 5
中間テスト解説 : 問 5 < 問 5> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=13; if(a >= 12){ a += 2; 答え : 15 6
中間テスト解説 : 問 6 < 問 6> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=13; if(a < 12){ a += 2; else if(a < 14){ a += 1; 答え : 14 7
中間テスト解説 : 問 7 < 問 7> 日本語の条件に適合するように 次のプログラムの条件判定部の空欄を埋めなさい もし aとbの和が10 以上なら 10 以上です そうでないなら 10 未満です と表示する ( 省略 ). int a = Integer.parseInt(str1); int b = Integer.parseInt(str2); if( ){ System.out.println( 10 以上です ); else{ System.out.println( 10 未満です ); 答え : (a+b)>=10 8
中間テスト解説 : 問 8 < 問 8> 変数 aに整数が入力されています その値が5のときは 5です 10のときは 10です その他の値のときは 5でも10でもありません と表示するswitch-case 文を使ったプログラムを作成します 下の空欄を埋めなさい ( 省略 ) switch( ア ){ case 5: System.out.println("5です "); break; case イ : System.out.println("10です "); break; ウ : System.out.println("5でも10でもありません "); break; 答えア :a イ :10 ウ :default 9
中間テスト解説 : 問 9 < 問 9> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=0; int tmp = 2; for(int i=0;i<10;i++){ a += tmp; 答え : 20 10
中間テスト解説 : 問 10 < 問 10> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=0; for(int i=0;i<10;i++){ a += i; 答え : 45 11
中間テスト解説 : 問 11 < 問 11> 下記の命令が実行された後の a[3] の値を書きなさい ( 省略 ). int[] a={1,2,3,4,5,6,7,8,9,10; 答え : 4 12
中間テスト解説 : 問 12 < 問 12> 下記の命令が実行された後の a[3] の値を書きなさい ( 省略 ). int[] a= new int[10]; for(int i=0;i<a.length;i++){ a[i] = i*2+1; 答え : 7 13
中間テスト解説 : 問 13 < 問 13> 下記の命令が実行された後の a[5] の値を書きなさい ( 省略 ). int[] a= new int[10]; a[0]=1; a[1]=1; for(int i=2;i<a.length;i++){ a[i] = a[i-1] + a[i-2]; 答え : 8 14
中間テスト解説 : 問 14 < 問 14> 下記のプログラムをコンパイルするとエラーになります どこがエラー箇所か答えなさい class CodeForIntTest{ public static void main(string args[]) throws IOException{ int a=5; int b=a+2; double c = 0; double d = 3.14; c = a+b; System.out.println(" 結果は "+((c+d)*5)+" です ")); 答え ( どちらかが書いてあれば O.K.) System.out.println の行の最後 ) が 1 つ多い throws IOException が不要 ( または class の前に import java.io.* が必要 ) 15
中間テスト解説 : 問 15 < 問 15> 下のプログラムで ユーザから4が入力されたときに出力される文字列は何になるか 次のうち3つから選択せよ import java.io.*; class Test03{ public static void main(string[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print( 数字を入力してください : ); int a = Integer.parseInt(br.readLine()); int b = 1; b = a; b *= a; A) b の値は 1 です B) b の値は 8 です C) b の値は 16 です System.out.println( b の値は +b+ です ); 答え : C 16
中間テスト解説 : 問 16 < 問 16> 下のプログラムで ユーザから6が入力されたときに出力される文字列は何になるか 次のうち3つから選択せよ import java.io.*; class Test04{ public static void main(string[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print( 数字を入力してください : ); int a = Integer.parseInt(br.readLine()); int x = 0; int y = 1; int z = 0; for(int i=0;i<a;i++){ z = x + y; x = y; y = z; System.out.println( z の値は +z+ です ); 17 答え : A) z の値は 5 です B) z の値は 8 です C) z の値は 13 です C
前回の課題 1. キーボードから自然数を入力させ グレゴリオ暦 ( いわゆる西暦 ) でうるう年であるか判定するプログラムを作れ 2. キーボードから自然数 n を入力させ n 番目までのフィボナッチ数を求め それらを配列に収めて それらの値を画面に出力するプログラムを作れ 3. キーボードから 3x4 の行列 A と 4x3 の行列 B のそれぞれの値を入力させ その行列の積 AB を求めるプログラムを書き 積の結果を画面に出力するプログラムを作れ 4. < チャレンジ問題 > キーボードから入力した文字列 (a から z までの小文字アルファベット ) のシーザー暗号による暗号文を出力するプログラムを作れ シーザー暗号 : 文字を 3 文字ずらして出力する暗号 18
課題 1 19 2015/6/29 プログラミング A
課題 2 20 2015/6/29 プログラミング A
課題 3 長いので授業用のページを参照してください 21 2015/6/29 プログラミング A
課題 4 22 2015/6/29 プログラミング A
演習 : 教科書の練習をやろう (3) Lesson 5 の練習 ( 教科書 P.144-145) 23
アンケート記載情報 授業名 :5511A プログラミングA 教員氏名 : 金岡晃 開講曜日 : 月曜 3 限 24
今日の課題 1. まず最初にキーボードから自然数 n を入力させ 入力する数値の数を決定させ その後 n 個の数値を入力させ それを配列に入れなさい さらに その配列の中の最大値を求め その最大値を画面に出力するプログラムを作れ 2. まず最初にキーボードから自然数 n を入力させ 入力する数値の数を決定させ その後 n 個の数値を入力させ それを配列に入れなさい ( これを仮に配列 A とする ) そして もう 1 つ同じサイズの配列 ( これを仮に配列 B とする ) をつくり 配列 A の要素と逆順で数値が入るようにしなさい そして配列 B のすべての要素の値を出力するプログラムを作れ 3. まず最初にキーボードから自然数 n を入力させ 入力する数値の数を決定させ その後 n 個の数値 (0-100 まで ) を入力させ それを配列に入れなさい ( これを仮に配列 A とする ) そして 0 以上 10 未満までの数字がいくつ入力されたか 10 以上 20 未満はいくつ 20 以上 30 未満 と 90 以上 100 以下までもとめ 度数分布を完成させ その分布の値を画面に出力するプログラムを作れ 4. < チャレンジ問題 > まず最初にキーボードから自然数 n を入力させ 入力する数値の数を決定させ その後 n 個の数値を入力させ それを配列に入れなさい さらに その配列の要素を数値の大きい順に並びかえ別の配列に保存し それを画面に出力するプログラムを作れ 25
今日の課題 提出先 akira.kanaoka@is.sci.toho-u.ac.jp 件名 プログラミング A: 第 10 回 注意 かならず メールで提出してから帰ってください また提出前に 実行が完了した画面を 私か TA に見せて確認を受けてから帰ってください ソースコード (java ファイル ) を添付してください 26 2015/6/29 プログラミング A