49
แถวลำดับ (Array) .อภิเษก หงษวิทยากร ภาควิชาคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยศิลปากร [email protected] 1 1 Monday, September 7, 2009

แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

แถวลำดับ (Array)

อ.อภิเษก หงษวิทยากรภาควิชาคอมพิวเตอร คณะวิทยาศาสตร

มหาวิทยาลัยศิลปากร[email protected]

1

1Monday, September 7, 2009

Page 2: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

ทบทวนกันหนอย

char letter;int i_number;float f_number;double d_number;

2

2Monday, September 7, 2009

Page 3: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

ทบทวนกันหนอย

3

3Monday, September 7, 2009

Page 4: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

ถาเราตองใชตัวแปรหลายตัว?

4

4Monday, September 7, 2009

Page 5: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

ถาเราตองใชตัวแปรหลายตัว?

4

4Monday, September 7, 2009

Page 6: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

มาสรางตารางสูตรคูณกัน...

5

5Monday, September 7, 2009

Page 7: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

โปรแกรมแสดงตารางสูตรคูณ

6

6Monday, September 7, 2009

Page 8: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

โปรแกรมแสดงตารางสูตรคูณ

6

6Monday, September 7, 2009

Page 9: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

โปรแกรมแสดงตารางสูตรคูณ

6

6Monday, September 7, 2009

Page 10: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

โปรแกรมแสดงตารางสูตรคูณ

7

7Monday, September 7, 2009

Page 11: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

โปรแกรมแสดงตารางสูตรคูณ

7

7Monday, September 7, 2009

Page 12: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

ขยายตาราง...

8

8Monday, September 7, 2009

Page 13: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

ขยายตาราง...

8

8Monday, September 7, 2009

Page 14: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

ขยายตาราง...

8

8Monday, September 7, 2009

Page 15: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

9

9Monday, September 7, 2009

Page 16: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

∙ำอยางไรดี...?

9

9Monday, September 7, 2009

Page 17: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

∙ำอยางไรดี...?

ใช array ชวย

9

9Monday, September 7, 2009

Page 18: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

10

10Monday, September 7, 2009

Page 19: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

10

10Monday, September 7, 2009

Page 20: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

10

10Monday, September 7, 2009

Page 21: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

11

11Monday, September 7, 2009

Page 22: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

11

11Monday, September 7, 2009

Page 23: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

11

11Monday, September 7, 2009

Page 24: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

11

11Monday, September 7, 2009

Page 25: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

11

11Monday, September 7, 2009

Page 26: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

11

11Monday, September 7, 2009

Page 27: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

int m[5];

11

11Monday, September 7, 2009

Page 28: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

m[0]

m[1]

m[2]

m[3]

m[4]

int m[5];

11

11Monday, September 7, 2009

Page 29: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

m[0]

m[1]

m[2]

m[3]

m[4]

int m[5];

11

11Monday, September 7, 2009

Page 30: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

m[0]

m[1]

m[2]

m[3]

m[4]

int m[5];

11

11Monday, September 7, 2009

Page 31: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

m[0]

m[1]

m[2]

m[3]

m[4]

int m[5];

11

11Monday, September 7, 2009

Page 32: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

Array คืออะไร

int m1

int m2

int m3

int m4

int m5

m[0]

m[1]

m[2]

m[3]

m[4]

int m[5];

11

11Monday, September 7, 2009

Page 33: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 1 มิติการประกาศตัวแปร:

char name[20];int i[5];float f[10];double d[7];

data-type array[expression];

เชน

12

12Monday, September 7, 2009

Page 34: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 1 มิติการเรียกใชคาจาก array:เรียกใชโดยอางอิงเลขดรรชนีของ array เริ่มจาก 0 จนถึง n-1

int m[5];. .. .

m[0]=1;m[1]=2;m[2]=3;m[3]=4;m[4]=5;

เชน

13

13Monday, September 7, 2009

Page 35: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 1 มิติการกำหนดคาตั้งตน:

int m[5]={1,2,3,4,5};

int array[n]={value_0,value_1,...,value_n-1};

เชน

14

14Monday, September 7, 2009

Page 36: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 1 มิติดรรชนีของ array มีประโยชนในการอางอิง โดยใช loop

15

15Monday, September 7, 2009

Page 37: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 1 มิติดรรชนีของ array มีประโยชนในการอางอิง โดยใช loop

15

15Monday, September 7, 2009

Page 38: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 1 มิติขยายผลใหได 5x5

16

16Monday, September 7, 2009

Page 39: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 1 มิติกลับมาที่ตารางผลลัพธที่ตองการ

17

17Monday, September 7, 2009

Page 40: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 2 มิติการประกาศตัวแปร:

int mat[3][2];

data-type array[expression 1] [expression 2];

เชน

18

mat[0][0] mat[0][1]

mat[1][0] mat[1][1]

mat[2][0] mat[2][1]

row 0

row 1

row 2

col 0 col 1

18Monday, September 7, 2009

Page 41: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 2 มิติการเก็บขอมูลในหนวยความจำ

คอมพิวเตอรทำการเก็บขอมูลในลักษณะ row-major order

19

mat[0][0] mat[0][1]

mat[1][0] mat[1][1]

mat[2][0] mat[2][1]

19Monday, September 7, 2009

Page 42: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 2 มิติการเก็บขอมูลในหนวยความจำ

คอมพิวเตอรทำการเก็บขอมูลในลักษณะ row-major order

19

mat[0][0] mat[0][1]

mat[1][0] mat[1][1]

mat[2][0] mat[2][1]

mat[0][0] mat[0][1] mat[1][0] mat[1][1] mat[2][0] mat[2][1]

19Monday, September 7, 2009

Page 43: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 2 มิติการเก็บขอมูลในหนวยความจำ

คอมพิวเตอรทำการเก็บขอมูลในลักษณะ row-major order

19

mat[0][0] mat[0][1]

mat[1][0] mat[1][1]

mat[2][0] mat[2][1]

mat[0][0] mat[0][1] mat[1][0] mat[1][1] mat[2][0] mat[2][1]

19Monday, September 7, 2009

Page 44: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 2 มิติกลาวคือ

เราสามารถกำหนดคาเริ่มตนไดดังตอไปนี้

20

mat[2][0] mat[2][1]

5 6

int mat[3][2]= {1,2,3,4,5,6};

** รายละเอียดอื่นๆใหอานไดตั้งแตหนาที่ 23 ของเอกสารประกอบการเรียนฯ

20Monday, September 7, 2009

Page 45: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 2 มิติกลาวคือ

เราสามารถกำหนดคาเริ่มตนไดดังตอไปนี้

20

mat[0][0] mat[0][1] mat[1][0] mat[1][1]

1 2 3 4

mat[2][0] mat[2][1]

5 6

int mat[3][2]= {1,2,3,4,5,6};

** รายละเอียดอื่นๆใหอานไดตั้งแตหนาที่ 23 ของเอกสารประกอบการเรียนฯ

20Monday, September 7, 2009

Page 46: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 2 มิติ

21Monday, September 7, 2009

Page 47: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

การใช Array 2 มิติ

22Monday, September 7, 2009

Page 48: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

เราอาจนึกเปรียบเทียบ 2D array กับ Excel

23Monday, September 7, 2009

Page 49: แถวลำดับ (Array) - Silpakorn University · โปรแกรมแสดงตารางสูตรคูณ 7 Monday, September 7, 2009 7. ขยายตาราง

ประกาศ

ไฟลสไลดประกอบการบรรยายสามารถ download ไดที่เว็บ

24Monday, September 7, 2009