2

Similar documents
2

2

2

問題1 以下に示すプログラムは、次の処理をするプログラムである

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

2

問題1 以下に示すプログラムは、次の処理をするプログラムである

.10.中高美術

JAVA入門

プログラミングA

2

JavaプログラミングⅠ

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

プログラムの基本構成

JavaプログラミングⅠ

Microsoft PowerPoint ppt

基本情報STEP UP演習Java対策

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex

K227 Java 2

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

プログラミング入門1

オブジェクト指向プログラミング・同演習 5月21日演習課題

プログラミング入門1

< F2D B838A835882CC8CF68EAE2E6A7464>

Java学習教材

JavaプログラミングⅠ

JavaプログラミングⅠ

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

** 平成 16 年度 FE 午後問題 Java** 示現塾プロジェクトマネージャ テクニカルエンジニア ( ネットワーク ) など各種セミナーを開催中!! 開催日 受講料 カリキュラム等 詳しくは 今すぐアクセス!! 平成 16

public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame("Kadai _02"); (2) フレームのクラス名は MyFrame とし 以下

< F2D834F838C A815B A CC>

<4D F736F F F696E74202D AC C8899E D834F E >

Microsoft PowerPoint - prog13.ppt

Javaプログラムの実行手順

Microsoft PowerPoint - prog13.ppt

IT プロジェクト

Java言語 第1回

Programming-C-9.key

I java A

JavaプログラミングⅠ

問1

ガイダンス

Prog1_15th

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

r1.dvi

メソッドのまとめ

IE6 2 BMI chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chap

JavaプログラミングⅠ

Prog2_10th

JavaプログラミングⅠ

JavaプログラミングⅠ

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

Microsoft PowerPoint - prog03.ppt

ガイダンス

ガイダンス

ガイダンス

Java言語 第1回

プログラミング入門1

ガイダンス

Prog1_6th

デジタル表現論・第6回

次の演習課題(1),(2)のプログラムを完成させよ

< F2D B825082CC96E291E82E6A7464>

情報処理Ⅰ

< F2D A838B838D96402E6A7464>

デジタル表現論・第4回

PowerPoint Presentation

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

JavaプログラミングⅠ

例外(exception)とは何か

JavaプログラミングⅠ

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint - prog09.ppt

Java講座

PowerPoint プレゼンテーション

Microsoft PowerPoint - prog09.ppt

< F2D E E6A7464>

DVIOUT-exer

Microsoft PowerPoint - OOP.pptx

プログラミング入門1

PowerPoint プレゼンテーション

Java 2 - Lesson01

スライド 1

Prog1_11th

2 static final int DO NOTHING ON CLOSE static final int HIDE ON CLOSE static final int DISPOSE ON CLOSE static final int EXIT ON CLOSE void setvisible

PowerPoint プレゼンテーション

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

ガイダンス

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

Javaによるアルゴリズムとデータ構造

ソフトウェア基礎演習 課題

Java 2 - Lesson01

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

vol.30.}...`.X...b.h

Microsoft PowerPoint - lec06 [互換モード]

Transcription:

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 問題 1 次の設問 1,2 に答えよ 設問 1 1 から 10 まで数えながら その数が偶数か奇数かを表示する JAVA プログラムの一部である 空欄に入るべき文字列は何か for( int i=1; 1 ; i++){ System.out.print(i); if( 2 == 0){ System.out.println(" is Even"); else{ System.out.println(" is Odd"); 設問 2 100 回ループするような処理を行う JAVA プログラムの一部である 空欄に入るべき文字列は何か 3 ( int i=0; i< 4 ; i++ ) { System.out.println(i+1+" 回目 "); 設問 3 1 を 2 倍して表示し 1000 より大きくなったらループから抜ける JAVA プログラムの一部である 空欄に入るべき文字列は何か double x = 1.0; while( 5 ) { System.out.println( x ); x = x * 2 ; 問題 2 次の設問 1~5 のプログラムを実行した時の画面に表示される値を答えよ 設問 1 public class Prog2_1 { public static void main(string[] args) { int x = 2, y = 2, z = 3; int s = 0; s = s + x; s = s * y; s = s - z; System.out.println("s= " + s); 設問 2 public class Prog2_2 { public static void main(string[] args) { int i = 2, j = 3, k = 5; if( k<j ) { if( j>i ) i= i*k; else i=i*j; System.out.println("i= "+ i + ", j= " + j + ", k= " + k); 1

2014/01/15 プログラミング応用 b H24 年度期末テスト問題設問 3 public class Prog2_3 { public static void main(string[] args) { int i = 1, s = 0; while(i<30){ s = s + 1; i = i * 2; System.out.println("s= " + s); 設問 4 public class Prog2_4 { public static void main(string[] args) { int s = 0; for(int i=0; i<2; i++){ for(int j=0; j<3; j++){ s = s + 1; System.out.println("s= " + s); 設問 5 public class Prog2_5 { public static void main(string[] args) { int i = 1, s = 0; do{ s = s + 1; i = i - 1; while( i<0 ) System.out.println("s= " + s); 問題 3 次に設問 1~5 の を解答群から選んで, プログラムを完成させよ 設問 1 実行例を参考にして 加算を行うプログラムを完成させよ 実行例 a + b = 7 public class Prog3_1 { public static int add(int a, int b) { return 1 ; // 加算 public static void main(string args[]) { int a = 2; int b = 5; System.out.println("a + b = "+ add(a,b)); // 結果の表示 設問 2 実行例を参考にして 家族の情報を管理するプログラムを完成させよ 実行例 Name: hiroshi,age: 50 2

Name: midori,age: 45 Name: taro,age: 20 2014/01/15 プログラミング応用 b H24 年度期末テスト問題 class MyFamily { private String name; private int age; 2 { // コンストラクタの宣言 this.name = name; 3 4 { // 家族の情報を表示するメソッド System.out.println( Name: + name +,Age + age ); public class Prog3_2 { public static void main (String[] args){ MyFamily father = new MyFamily("hiroshi",50); // オブジェクトの生成 MyFamily mother = new MyFamily("midori",45); // オブジェクトの生成 MyFamily brother = new MyFamily("taro",20); // オブジェクトの生成 father.display(); // 家族の情報の表示 mother.display(); // 家族の情報の表示 brother.display(); // 家族の情報の表示 設問 3 実行例を参考にして 階乗の計算をするプログラムを完成させよ 実行例 5 の階乗 = 120 public class Prog3_3 { public static void main(string args[]){ int n = 5, f = 1, i = 1; do { 5 6 while ( 7 ); System.out.println(n + " の階乗 = " + f); 設問 4 実行例を参考にして 税額を求めるプログラムを完成させよ 実行例 税額は 30 円 class Calculate { private double tax; Calculate(double tax) { // コンストラクタの宣言 8 = tax; public int calculatetax( 9 ) { // 税額計算 return (int)(p*(tax/100)); public class Prog3_4 { public static void main(string args[]) { double tax = 30; // 税率 (%) 3

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 Calculate goods = new 10 ; // オブジェクトの生成 コンストラクタの実行 int price = 100; // 定価 System.out.println(" 税額は "+ 11 +" 円 ");// 税額計算の実行 表示 設問 5 実行例を参考にして 図形の面積を出力するプログラムを完成させよ このプログラムは, 次の 4 つのクラスで構成される (1)Shape クラス ( 図形クラス ) 表示方法は円や三角形, 長方形など図形によって異なるので, 表示するメソッドを抽象化して, 抽象クラスで宣言されている (2)Circle クラス ( 円クラス ) 円の面積の計算と表示を行う Shape クラスのサブクラスである (3)Rectangle クラス ( 長方形クラス ) 長方形の面積の計算と表示を行う Shape クラスのサブクラスである (4)main メソッドを持ち, 前記 3 つのクラスを使用して処理を行うクラス 実行例 円の半径 : r=2 円の面積 : 12.566370614359172 四角形の辺 : x1=1, y1=1, x2=2, y2=2 四角形の面積 : 1.0 abstract class 12 { // 図形クラス abstract String display(); abstract double getarea(); class Circle 13 Shape { // 円クラス int r; Circle(int r) { this.r = r; public String display() { // 半径 r を表示する return "r="+r; public double getarea() { // 面積を計算する return r*r*math.pi; //Math.PI: 円周率 class Rectangle 13 Shape { // 長方形クラス int x1, y1, x2, y2; Rectangle(int x1, int y1, int x2, int y2) { this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; public String display() { //4 辺を表示する return "x1="+x1+", y1="+y1+", x2="+x2+", y2="+y2; public double getarea() { // 面積を計算する return Math.abs(x1-x2)*Math.abs(y1-y2); //Math.abs: 絶対値を求めるメソッド public class Prog3_5{ public static void main(string args[]) { Circle circle = new Circle(2); System.out.println(" 円の半径 : "+circle. 14 ); System.out.println(" 円の面積 : "+circle. 15 ); Rectangle rectangle = new Rectangle(1,1,2,2); 4

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 System.out.println(" 四角形の辺 : "+rectangle. 14 ); System.out.println(" 四角形の面積 : "+rectangle. 15 ); 問題 3 解答群 ア a + b イ add(a,b) ウ age = age; エ Calculate(tax) オ goods.calculatetax(int price) カ goods.calculatetax(price) キ f = f + i; ク f = f * i; ケ circle コ rectangle サ Shape シ extends ス impliment セ i = i + 1 ソ i = i - 1 タ i <= n チ f <= n ツ display() テ int p ト MyFamily( ) ナ MyFamily(int age,string name) ニ MyFamily(String name,int age) ヌ p ネ private void display() ノ public void display() ハ getarea() ヒ interface フ tax ヘ this.tax ホ this.age = age; 5

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 問題 4 次に設問 1~4 の空欄 に解答群から適切なものを選べ 設問 1 条件式? 式 1: 式 2 で与えられる演算子を条件演算子という 意味は 条件式の評価結果が真であれば式 1 を実行し 偽となれば式 2 を実行する というものである 次の実行例となるようにプログラムを完成させよ 実行例 条件演算子の実行結果 :100 public class Prog4_1{ public static void main(string[] args){ int n1=100, n2=200, n3; 1 System.out.println(" 条件演算子の実行結果 :"+ n3); 設問 1 解答群 アイウエ n3 = n2 > n1? n2:n1; n3 = n2!= n1? n2:n1; n3 = n2 < n1? n2:n1; n3 = n2 >= n1? n2:n1; 設問 2 3 つの変数の最大値を求めるプログラムである に入るプログラムとして正しい答えを解答群 から選べ 実行例 最大値 :6 ( プログラム ) public class Prog4_2 { static int maximum(int a, int b) { 2 public static void main( String[] args ) { int x = 5; int y = 2; int z = 6; 3 System.out.println(" 最大値 :" + max); 設問 2 解答群 ア イ if (a == b) return a; else return b; if (a > b) return a; else return b; 6

ウエオカ 2014/01/15 プログラミング応用 b H24 年度期末テスト問題 if (a < b) return a; else return b; int max = maximum(x, y, z); int max = maximum(x, maximum(y, z)); return maximum(x, maximum(y, z)); 設問 3 n 個の整数型データを入力し, 降順 ( 大きい順 ) に並び替える ( ソートする ) プログラムである に入るプログラムとして正しい答えを解答群 1, 5 に入るプログラムとして正しい答えを解答群 2 から選べ このプログラムの処理の流れを次に示す 処理の流れ 1 配列の格納するデータの個数 n (n>0) を入力する 2n の大きさで配列を確保する 3 配列に n 個分のデータを入力する 4 入力したデータを出力する 5 降順に並び替える 6 結果を出力する 実行例 入力データ数 =8 data1=34 data2=65 data3=87 data4=32 data5=45 data6=98 data7=76 data8=89 入力データ = 1:34 2:65 3:87 4:32 5:45 6:98 7:76 8:89 ソート結果 = 1:98 2:89 3:87 4:76 5:65 6:45 7:34 8:32 4a ~ 4c import java.io.*; public class Prog4_3 { public static void main( String[] args ) throws Exception { // 標準入力からデータの個数を入力 // データの入力 4a 4b // 入力データの出力 4c // 並び替えの処理 int tmp=0; // 作業領域 for( int i=0; i<data.length-1; i++ ) { for( int j=0; j<data.length-i-1; j++ ) { if( data[j] < data[j+1] ) { // ソート結果の出力 5 7

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 System.out.print(" ソート結果 = "); for( int i=0; i<data.length; i++ ) { System.out.print( " "+(i+1) + ":" + data[i] ); System.out.println(" "); 設問 3 解答群 1 for (int i = 0; i < n; i++){ System.out.print("data"+(i+1) + "="); ア data[i] = Integer.parseInt(buf.readLine()); BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 入力データ数 = "); イ int n = Integer.parseInt(buf.readLine()); int [] data = new int[n]; System.out.print(" 入力データ = "); for( int i=0; i<data.length; i++ ) { ウ System.out.print( " "+(i+1) + ":" + data[i] ); System.out.println(" "); 設問 3 解答群 2 tmp = data[j]; ア data[j+1] = tmp; data[j] = data[j+1]; イ ウ エ tmp = data[i]; data[i+1] = tmp; data[i] = data[i+1]; tmp = data[i]; data[i] = data[i+1]; data[i+1] = tmp; tmp = data[j]; data[j] = data[j+1]; data[j+1] = tmp; 8

問題 5 次に設問 1~5 の空欄 2014/01/15 プログラミング応用 b H24 年度期末テスト問題に解答群から適切なものを選べ 設問 1 友達の情報を設定して出力するプログラムである ここで, このプログラムは, 次の 2 つのクラスで構成される (1) 友達の情報を格納する Friend クラス (2)main メソッドを持ち,Friend クラスを使用して処理を行うクラス 次の実行結果になるようにプログラム群 a~h を用いて (2) のプログラムの完成させる場合, プログラムの構成順 序として正しい答えは 1 である 実行結果 taro:20 jiro:16 (1) のプログララム class Friend{ String name; int age; プログラム群 import java.io.*; a public class Prog5_1 { public static void main(string args[]){ f1.age = 20; b System.out.println(f1.name+":"+f1.age); c Friend f1 = new Friend(); d e f g h f1.name = "taro"; f2.name = "jiro"; f2.age = 16; Friend f2 = new Friend(); System.out.println(f2.name+":"+f2.age); 設問 1 解答群 ア a c b g d e h f イウエオ a c d b e g h f a c d b g e h f a g d b c e h f a g b d c e h f 設問 2 配列に格納されているデータの最大値 最小値を求めるプログラムである ここで, このプログラムは, 次の 2 つのクラスで構成される (1) 最大値 最小値を処理する MaxMin クラス getmax メソッド : 最大値を取得する getmin メソッド : 最小値を取得する (2)main メソッドを持ち,MaxMin クラスを使用して処理を行うクラス 9

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 次の実行例の結果になるようにプログラム群 a~i を用いて (1) プログラムの完成させる場合, プログラムの構成 順序として正しい答えは 実行例 最大値 = 12 最小値 = -9 2 である (2) のプログララム public class Prog5_2 { public static void main(string[] args){ int[] num={6,3,1,-9,2,8,-2,4,12,-4,7; System.out.println(" 最大値 = " + MaxMin.getMax(num)); System.out.println(" 最小値 = " + MaxMin.getMin(num)); プログラム群 for(int i=1;i<val.length;i++){ a if(max < val[i]) public static int getmin(int[] val){ b int min = val[0]; // 先頭の要素を設定 return min; c class MaxMin { d public static int getmax(int[] val){ int max = val[0]; // 先頭の要素を設定 for(int i=1;i<val.length;i++){ e if(min > val[i]) return max; f max = val[i]; g min = val[i]; h i 設問 2 解答群 アイウエ d a h f b e g c i d a g c b e h f i d a g f b e h c i d g a f b h e c i 10

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 設問 3 下記の実行結果となるようなプログラムを作成したい に入る適切なコードを解答群の中から選んでプログラムを完成させよ ( 実行により Hi! Hello の表示位置はかわることは有り得るがその点は考慮しなくて良い ) // スレッドクラス class MyThread extends Thread{ //run メソッド 1 System.out.println("Tread Start!"); // 5 回 500 ミリ秒毎に "Hello" と表示する for(int i = 0 ; i < 5 ; i++ ){ System.out.println("Hello"); try{ Thread.sleep(500); catch(exception e){ System.out.println("Tread End!"); // テストメイン public class Test{ public static void main(string args[]){ 2 3 4 実行結果 C:\ Java >java Test Hi! Tread Start! Hello Hello Hi! Hello Hello Hi! Hello Tread End! Hi! Hi! 設問 3 解答群 ア イ ウ エ public void run(){ // スレッドを開始 t.start(); // スレッドクラスのインスタンスを作成 MyThread t = new MyThread(); // 1 秒毎に "Hi!" と 5 回表示する for(int i = 0 ; i < 5 ; i++ ){ System.out.println("Hi!"); try{ Thread.sleep(1000); catch(exception e){ 11

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 設問 4 Frame メニューバーを生成し メニュー バーにメニューを1つ加えるプログラムである 次の実行結果になるようにプログラム群 a~g を 用いてプログラムの完成させる場合, プログラム の構成順序として正しい答えは 4 で ある プログラム群 menubar.add(menu); // メニューバーにメニュー項目タイトル名を追加 a setjmenubar(menubar); // フレームにメニューバーを追加 settitle(title); // フレームのタイトルをセット b private JMenuBar menubar; private JMenu menu; MyJFrame01(String title){ c import java.awt.*; import javax.swing.*; class MyJFrame01 extends JFrame { public static void main(string[] args){ d MyJFrame01 frame = new MyJFrame01(" メニュー作成 _01"); // フレームのインスタンス生成 e public class MenuProg01 { setsize(400,400); // フレームの大きさを設定 f setdefaultcloseoperation(jframe.exit_on_close); // 閉じるボタンの動作を設定 setvisible(true); // フレームを表示 g menubar = new JMenuBar(); // メニューバーの生成 menu = new JMenu(" メニュー "); // メニュー項目タイトルの生成 設問 4 解答群 アイウエ c b a g e f d c b a f g e d c b g f e a d c b g a f e d 12

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 設問 5 Frame メニューバーを生成し メニューバーにメニュー メニューにメニューアイテムを1つ加 えるプログラムである 次の実行結果になるようにプログラム群 a~i を用いてプログラムの完成させる場 合, プログラムの構成順序として正しい答えは 5 である ここで メニューは次の順番で作成 する メニュー生成の順番 1 フレームタイトル設定 2 フレームの大きさ設定 3 フレームを閉じるボタン動作設定 4 メニューバー生成 5 メニュー生成 6 メニュー配置 7 メニューアイテム生成 8 メニューアイテム配置 9 メニューバー設定 10 パネル生成 11 ボタン生成 12 ボタン配置 13 コンテントペイン取得 14 パネル配置 プログラム群 import java.awt.*; import javax.swing.*; a public class MenuProg02 extends JFrame{ public static void main(string args[]){ setjmenubar(menubar); b JPanel panel = new JPanel(); JMenu menu1 = new JMenu("File"); JMenu menu2 = new JMenu("Edit"); c menubar.add(menu1); menubar.add(menu2); MenuProg02 frame = new MenuProg02(" タイトル "); frame.setvisible(true); // フレーム表示 d MenuProg02(String title){ // メニュー作成 JButton button = new JButton("button"); panel.add(button); e Container contentpane = getcontentpane(); contentpane.add(panel, BorderLayout.CENTER); menu1.add(menuitem1); f menu1.add(menuitem2); menu1.add(menuitem3); JMenuItem menuitem1 = new JMenuItem("New"); g JMenuItem menuitem2 = new JMenuItem("Open"); JMenuItem menuitem3 = new JMenuItem("Close"); settitle(title); setbounds(100, 100, 300, 250); h setdefaultcloseoperation(jframe.exit_on_close); JMenuBar menubar = new JMenuBar(); i 13

2014/01/15 プログラミング応用 b H24 年度期末テスト問題 設問 5 解答群 アイウエオ a d b e h c g f i a d h b e c g f i a d h c g f b e i a d h c f g b e i a d h g f c b e i 14