• 検索結果がありません。

前回の復習(1)

N/A
N/A
Protected

Academic year: 2021

シェア "前回の復習(1)"

Copied!
28
0
0

読み込み中.... (全文を見る)

全文

(1)

プログラミング A

6

回 配列

2013年6月3日 東邦大学 金岡 晃

(2)

前回の復習(1)

作成・実⾏しなくても良いです。このプログラムは 作成・実⾏しなくても良いです。

(3)

前回の復習(2)

このプログラムは作成し実⾏してください

(4)

前回の復習(3)

このプログラムは作成し実⾏してください

(5)

前回の復習

• 条件

– 関係演算⼦、論理演算⼦

• 条件に従ったプログラミング – if, else

– switch

• 繰り返し

– for

– while, do 〜 while

– break, continue

(6)

配列

(7)

こういうプログラムを作りたい

ある教科のテスト

受講者

120

名の各学生のデータを記憶して、

その合計点と平均点を求めたい

これまで習ったもので実現できないことはない

(8)

たとえば

120個の変数を、それぞれの別の名前で⽤意する

(9)

配列

120

⼈のそれぞれの学⽣の

点数を記憶したい

全部おなじ型

配列

同じ型の値を複数まとめて記憶する

配列の宣⾔ :配列を扱う変数を⽤意する

配列要素の確保 :値を格納するエリア(箱)を⽤意する

型名

[]  

配列変数名

;

配列変数名

= new 

型名

[

要素数

];

配列の書式

(10)

配列プログラムの例

(11)

配列の使い⽅

型名

[]  

配列変数名

;

配列変数名

= new 

型名

[

要素数

];

配列の書式

score[0], score[1], score[2], score[3], score[4], score[5], score[6], score[7], score[8], score[9]

という10個のint型の変数 を⽤意した

(インデックス)添え字

0

番から始まり、

ポイント

(12)

配列への値の代⼊

通常の変数と同様に

score[0] = 100;

score[1] = 120;

(13)

なぜ配列が便利か?

複数の変数を⼀括で準備できる

後で変更が容易

添え字を使ってまとめて処理ができる

(14)

配列の宣⾔:他のやり⽅

型名

[]  

配列変数名

;

配列変数名

= new 

型名

[

要素数

];

配列の書式

この他にも

型名

[]  

配列変数名

= new 

型名

[

要素数

];

(15)

配列の初期化

通常の変数と同様、

初期化が必要

別の⼿段もある

配列要素を初期化・確保⾃動的に⾃動的に 配列要素を初期化・確保 score[0] = 10, score[1] = 20, … と

score[0], score[1], score[2], score[3], score[4]が⽤意される

(16)

配列のコピー

このプログラムを作成し実⾏してください

(17)

出⼒は?

(18)

配列のコピー:注意すべき点

a

b

にコピーしてから

a

を変更しても

b

に変化はない

arrayA

arrayB

にコピーしてから

arrayA

を変更すると

arrayB

も変化する

(19)

配列の応⽤(1):配列の⻑さを求める

配列変数名

.length

配列の⻑さ

後で変更が容易 何が便利?

(20)

配列の応⽤(1)

作成・実⾏する

必要はありません。

Sample6_4

と⼀部分しか 変わりません

(21)

配列の応⽤(1)

こうしておけば

配列のサイズ(要素数)を いくつにして変更しても この

for

⽂の部分を変更する 必要がなくなる

(22)

配列の応⽤(2):多次元配列

多次元配列の書式(

2

次元の場合)

型名

[][]  

配列変数名

;

配列変数名

= new 

型名

[

要素数

] [

要素数

];

score[0][0] = 100;

score[0][1] = 120;

score[0][2] = 130;

score[1][0] = 140;

代⼊

初期化

int[][] score = { {100,120,130}, {140, 150, 160} };

int[][] score;

score = new int[2][3];

(23)

配列の応⽤(2)

(24)

0 1 2 3 4

0 53 58 76 68 43

1 43 51 46 61 31

配列の応⽤(2):多次元配列

2

次元配列のイメージ

2×5の表(あるいは⾏列)

2⾏⽬、3列⽬の要素は46です score[1][2] = 46;

(25)

来週から

• 演習を中⼼とした講義

• これまでの内容を駆使してプログラムを作成

– ポイントを事前に解説

(26)

今⽇の課題

1. キーボードから 10 ⼈分のテストの点数を⼊⼒させ、その 10 ⼈の点数 と偏差値を出⼒するプログラムを作成してください

2. 4x4 の形の配列 A の内容を、同じく 4x4 の形の配列 B に、下図のように 90 度回転するようにして移せ

番の⼈の偏差値

10

50

1 1

1 2 3 4

5 6 7 8

9 10 11 12

13 9 5 1

14 10 6 2

15 11 7 3

平均 標準偏差

(27)

Java での平⽅根(ルート)の使い⽅

double k = 2.0 double l = 0;

// l  に k の平⽅根を⼊れる

l = Math.sqrt(k);

(28)

今⽇の課題

• 提出先

[email protected]‐u.ac.jp

• 件名

– プログラミング A :第 6 回

• 注意

– かならず、メールで提出してから帰ってください。また提出前 に、エラーが出た画⾯を、私か TA に⾒せて確認を受けてから 帰ってください。

– ソースコード( java ファイル)を添付してください

参照

関連したドキュメント

スコープ 典型的なスコープの使い分け ファイル ローカル変数 ファイル ローカル関数 プログラム全域 スコープを持つ関数

3 ぼんねっと等)で調べてくる。 10 注射の算定②点滴注射 筆記用具、電卓、 配布資料 課題の過去問の内容と点数を、各自

病気, 交通機関遅延などの場合は, 証明書 コピーと欠席届を出してくれれば点数計算上 quiz 参加とみなします.. 出題内容は,

ファイルからデータの読み込みととキーボード からのデータ読み込みを並べて書くと ファイル入力 int fscanf(ファイルポインター, 書式指定, 引数並び) キーボード

以下のプログラムは, 最初に紙の上にプログラムを書き,

キーボードから 10 人分のテストの点数を入力させ、その 10 人の点数

キーボードから 10 人分のテストの点数を入力させ、その 10 人の点数

10 図のような1辺が 12 ㎝の立方体があります。点Pは辺のまん中の点 です。この立方体を3点P、D