設問 println はそこで指定されている内容を出力して改行するものである. 一方,print は内容を出力して改行しないものである. 下記のプログラムそれぞれについて出力結果がどうなるか回答せよ. 下記のプログラム - を実行すると, fms という文字列が 回表示される. プログラム - vo

Similar documents
年組番号名前点数 設問 設問 設問 設問 設問 設問

情報システム設計論II ユーザインタフェース(1)

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

基礎計算機演習 実習課題No6

Javaプログラムの実行手順

プログラミング方法論 II 第 14,15 回 ( 担当 : 鈴木伸夫 ) 問題 17. x 座標と y 座標をメンバに持つ構造体 Point を作成せよ 但し座標 は double 型とする typedef struct{ (a) x; (b) y; } Point; 問題 18. 問題 17 の

情報システム設計論II ユーザインタフェース(1)

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

情報処理Ⅰ

基礎プログラミング2015

Prog1_6th

情報システム設計論II ユーザインタフェース(1)

Microsoft PowerPoint P演習 第10回 関数.ppt [互換モード]

Microsoft PowerPoint - prog03.ppt

デジタル表現論・第4回

基本情報STEP UP演習Java対策

デジタル表現論・第6回

pp2018-pp4base

メソッドのまとめ

問題 01 以下は コンソールより年齢を入力させ その年齢にあった料金を表示するプログラムである 年齢ごとの金額は以下の通りである 年齢の範囲金額 0 歳以上 6 歳以下 120 円 7 歳以上 65 歳未満 200 円 65 歳以上無料 package j1.exam02; import java

Microsoft PowerPoint ppt

2

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

文字列操作と正規表現

Microsoft PowerPoint - diip ppt

Java講座

2

プログラミング入門1

Prog1_15th

JAVA入門

Microsoft PowerPoint - ruby_instruction.ppt

情報システム設計論II ユーザインタフェース(1)

pp2018-pp9base

2

Processingをはじめよう

スライド 1

Microsoft PowerPoint - lec06 [互換モード]

GEC-Java

Microsoft Word - no12.doc

プログラミング入門1

課題

プログラミング基礎I(再)

人工知能入門

IT プロジェクト

課題

Prog1_10th

DVIOUT-exer

基礎プログラミング2015

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

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

プログラミング入門1

試験問題に記載されている会社名又は製品名は, それぞれ各社の商標又は登録商標です なお, 試験問題では, 及び TM を明記していません

Microsoft PowerPoint - 計算機言語 第7回.ppt

JavaプログラミングⅠ

Microsoft Word - Training10_プリプロセッサ.docx

Microsoft PowerPoint ppt

Microsoft Word - no15.docx

模擬試験問題(第1章~第3章)

JavaプログラミングⅠ


ファイル操作-バイナリファイル

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル

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

ICONファイルフォーマット

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


基礎プログラミング2015

Microsoft PowerPoint - CproNt02.ppt [互換モード]

課題

PowerPoint プレゼンテーション

Microsoft Word - no103.docx

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

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

JavaプログラミングⅠ

プログラミング入門1

大容量情報検索論

プログラミング入門1

slide

スライド 1

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

Prog1_10th

プログラミング入門1

Prog2_12th

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先

プログラミングA

Prog1_12th

情報システム設計論II ユーザインタフェース(1)

Microsoft Word - Javacc.docx

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1

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

2006年10月5日(木)実施

Microsoft PowerPoint - prog04.ppt

Microsoft Word - problem3.doc

6 関数 6-1 関数とは少し長いプログラムを作るようになると 同じ処理を何度も行う場面が出てくる そのたびに処 理を書いていたのでは明らかに無駄であるし プログラム全体の見通しも悪くなる そこで登場す るのが 関数 である 関数を使うことを 関数を呼び出す ともいう どのように使うのか 実際に見て

情報処理Ⅰ演習

PowerPoint プレゼンテーション

PowerPoint Presentation

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

PowerPoint プレゼンテーション

Programming-C-3.key

Transcription:

年組番号名前点数 設問 設問 2 設問 3 6 7 8 0 設問 4 6 7 8 0 設問 5 設問 6 2 3 4 5 6

設問 println はそこで指定されている内容を出力して改行するものである. 一方,print は内容を出力して改行しないものである. 下記のプログラムそれぞれについて出力結果がどうなるか回答せよ. 下記のプログラム - を実行すると, fms という文字列が 回表示される. プログラム - void sayfms( int num ){ while( num > 0 ){ println( "fms" ); num--; void setup(){ for( int i=5; i<8; i++ ){ sayfms( i ); 下記のように表示されるように3を埋めよ. 5 3 7 2 プログラム -3 for( int i=; i<=6; i++ ){ println( 3 ); 下記のように表示されるように4を埋めよ. 4 6 25 36 プログラム -4 for( int i=; i<=6; i++ ){ println( 4 ); 下記のように表示されるように2を埋めよ. 4 7 0 3 プログラム -2 for( int i=; i<=5; i++ ){ if( 2 ){ println( i ); 下記プログラムで表示されるのは 5 である. プログラム -5 int [] values = new int [5]; for( int i=0; i<5; i++ ){ values[i] = i; for( int i=0; i<4; i++ ){ if( values[i] < values[i+] ){ int temp = values[i]; values[i] = values[i+]; values[i+] = temp; println( values[3] );

設問 2 String 型を使った下記の結果がどう出力されるか回答せよ. なお, 解答欄の~5は出力結果のそれぞれの行数に対応する. ただし, プログラム内で利用されているメソッドはそれぞれ下記のように定義されている. Name: length() Returns the total number of characters included in the String as an integer number. プログラム 2 String str = "ABCDEFGHIJ"; println( str.length() ); println( str.indexof("cdef") ); println( str.indexof("fms") ); int x = str.indexof( "C" ); int y = str.indexof( "H" ); Name: charat() Returns the character at the specified index. An index ranges from 0 to the length of the string minus. The first character of the sequence is at index 0, the next at index, etc. Name: tolowercase() Converts all of the characters in the string to lowercase. For example, "ABC" will convert to "abc". println( str.substring(x,y).tolowercase() ); while( x < str.length() ){ print( str.charat( x ) ); x++; Name: touppercase() Converts all of the characters in the string to uppercase. For example, "abc" will convert to "ABC". Name: indexof() Tests to see if a substring is embedded in a String, and returns the index position of the first occurrence of the substring defined in the str parameter. If the str substring is not found within the String, - is returned. Name: substring() Returns a new string that is a part of the original string. When using the endindex parameter, the string between beginindex and endindex- is returned. str.substring(beginindex) str.substring(beginindex, endindex)

設問 3 右記プログラムは, 配列の中にある目的の数値がどこにあるかを探す LinearSearch 関数と, 配列の中にある目的の数値がいくつ含まれるかを数える CountKey 関数が含まれたプログラムである. LinearSearch 関数に, 配列と配列内での探索の開始位置, 探したいデータを引数として渡すと, 探索開始位置から最初に見つかる探したいデータの位置を, 先頭から何番目にあるのかという値で返すものとなっている. この関数では, 渡された配列を先頭から順番に目的のデータと一致するか否かを検証していく. このアルゴリズムを線形探索という. また,CountKey 関数に, 配列と探したいデータを引数として渡すと, 配列内にその探したいデータがいくつあるかを数えて数値で返すものとなっている. プログラム中の 7を埋めよ. また,30 行目,3 行目,32 行目で出力される値は 8,, 0 である. プログラム 3 2 int LinearSearch(int[] d, int s, int k) { 3 for(int i= ; i<d.length; i++){ 4 if(d[i] == 2 ){ 5 return 3 ; 6 7 8 return 4 ; 0 2 3 int CountKey( int[] d, int k ){ int count = 0; for( int i=0; i<d.length; i++ ){ 4 if( 5 ) { 5 6 ; 6 7 8 return 7 ; 20 2 22 void setup() { 23 24 25 26 27 int [] data = new int [00]; for( int i=0; i<00; i++ ){ // 0 から までの整数を階段状に設定 data[i] = i % 0; 28 2 30 3 32 println( LinearSearch( data, 0, 2 ) ); println( LinearSearch( data, 50, 2 ) ); println( CountKey( data, 2 ) ); 33

設問 4 下記メインプログラムは, 右記のクラス定義を 利用したプログラムである. プログラムの 3 行 目で Ball クラスの を利用し, 2 を作成している. なお,Ball クラスは Object クラスを,Star ク ラスは Ball クラスを,Cross クラスは Star ク ラスをそれぞれ 3 したものである. メインプログラムの 7,8, 行目で表示され るのは, 下記の ( ア )~( オ ) のうちそれぞれ 4, 5, 6 である. ( ア ) ( イ ) ( ウ ) ( エ ) ( オ ) また,7,8, 行目で表示されるオブジェク トの中心座標 (x, y) は 7, 8, となる. Cross クラスで利用可能なインスタンス ( フィ ールド ) 変数は 0 である. 設問中の~0について回答せよ. メインプログラム 2 3 4 5 6 7 8 0 2 3 4 5 6 7 8 20 void setup(){ size( 400, 400 ); Ball ball = new Ball(); Star star = new Star(); Cross cross = new Cross(); ball.init( 50, 50, 0 ); star.init( 300, 200, 8 ); cross.init( 00, 200, 5 ); ball.init( 00, 00, 20 ); int i=0; while( i < 0 ){ ball.move(); if( i % 2 == 0 ) cross.move(); i++; star.move(); ball.display(); star.display(); cross.display(); プログラム 4 class Object { int x, y; int speed; Object(){ x = 00; y = 00; speed = 0; void init( int _x, int _y, int _s ){ x = _x; y = _y; speed = _s; void move() { x = x + speed; void display(){ point( x, y ); class Ball extends Object { void display(){ ellipse( x, y, 30, 30 ); class Star extends Ball { void move(){ y = y + speed; class Cross extends Star { int len; void init( int _x, int _y, int _s ) { len = 5; void display() { len = len + ; line( x-len, y-len, x+len, y+len ); line( x+len, y-len, x-len, y+len );

設問 5 右記プログラムのように任意の丸 ( 直径は 20) が赤色または白色で描画される掲示板クラスを作成した. この掲示板クラスでは, コンストラクタである Keijiban( int h, int v ) を利用することで, 縦横の丸の数を指定することが可能となっている. このクラスの shift というメソッドを用いると, 掲示板上の赤丸が右から左へと つずつ移動し, 左端の赤丸が右端から登場する. このクラスを用いて縦が 0 個, 横が 20 個の掲示板を描画するインスタンスを作成したい. 下記のプログラムの2を埋めることで実現せよ. また, プログラム中の丸囲み数字 3~5についても回答することにより, 問題なく動作するようにせよ. なお本プログラムを起動してから shift メソッドが 2 回呼び出された後, 左上から右に 4 つ目, 下に 3 つ目 (lights[3][2]) の は 色になっている. Keijiban mykeijiban = new Keijiban( 2 ); プログラム 5 class Keijiban { int [][] lights; int numh; // 横の数 int numv; // 縦の数 Keijiban( int h, int v ) { numh = h; numv = v; lights = new int [numh][numv]; for( int y=0; y<numv; y++ ) { for( int x=0; x<numh; x++ ){ lights[x][y] = (x+y)%2; void display() { for( int y=0; y<numv; y++ ) { for( int x=0; x<numh; x++ ){ if ( lights[x][y] == ) { fill( 255, 0, 0 ); // 赤色 else { fill( 255, 255, 255 ); // 白色 ellipse( x*20+0, y*20+0, 20, 20 ); void shift() { for( int y=0; y<numv; y++ ) { int temp = 3 ; for( int x=0; x<numh-; x++ ){ lights[x][y] = 4 ; 5 = temp;

設問 6 右記プログラムは, 関数 readdata が返す値を画面上にグラフとして表示するプログラムである. 関数 readdata は, 別に定義されている整数型の関数で, センサの観測値を 0 2 の範囲の整数で返す. グラフは図 のように, 最新の値を右端に表しながら, 左へ移動するように表示される. これを実現するために, グラフの横幅と同じ大きさのデータを保存する整数配列 d を用意しデータを記録する. 具体的には, 図 2 のように, 配列の末尾に readdata() で取得されるデータを格納し, 値を順に右から左へと移動することによって,600 フレーム分の情報を保存する. そのため, 配列の先頭の値が 600 フレーム前 ( 約 60 秒前 ) に readdata() で取得されたデータとなる. また, 記録された全データを毎回描画することで, 図 のようにグラフ全体が左へ移動するような表示を実現する. 新しいデータを毎秒 0 回読み込むこととするとき, プログラム中の空欄を埋めよ. 図 2 プログラム 6 int d[]; void setup() { size(600, 300); background(255); stroke(0); d = ; // 配列を用意する for( int x=0; x<width; x++ ){ d[x] = 0; // 初期化する framerate( 0 ); // draw を毎秒 0 回に設定 void draw() { // 新しいデータを読み込んで記録する for( int x = 2 ; x 3 ; x 4 ){ 5 ; 6 = readdata(); // d に記録されているデータを表示する for( int x = 2 ; x 3 ; x 4 ){ line(x, height-d[x], x+, height-d[x+]); 図