23
BC320 Introduction to Computer Prog ramming 1 ตตตตตตตตตต Array

ตะลุย โจทย์ Array

  • Upload
    scot

  • View
    54

  • Download
    2

Embed Size (px)

DESCRIPTION

ตะลุย โจทย์ Array. Ex1. ประกาศตัวแปรอาร์เรย์. เก็บค่าลงทะเบียนของนักศึกษาในSection (มีนักศึกษา 80 คน) ……………………………………………………………………. เก็บค่าลงทะเบียนของนักศึกษา 4 Section ๆ ละ 80 คน ………………………………………………………………… เก็บเวลาที่โทรของลูกค้า AIS จำนวน 100 คน ……………………………………………………………….. - PowerPoint PPT Presentation

Citation preview

Page 1: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

1

ตะลยุโจทย ์Array

Page 2: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

2

Ex1. ประกาศตัวแปรอารเ์รย์• เก็บค่าลงทะเบยีนของนักศึกษาใน Section (มนัีกศึกษา 8

0 คน)……………………………………………………………………

.• เก็บค่าลงทะเบยีนของนักศึกษา 4 Section ๆ ละ 80 คน…………………………………………………………………• เก็บเวลาท่ีโทรของลกูค้า AIS จำานวน 100 คน………………………………………………………………..• เก็บเวลาท่ีโทรของลกูค้า AIS ,DTAC และ TRUE MOVE

ลกูค้ามจีำานวนเครอืขา่ยละ 100 คน……………………………………………...................…..

int Cost[80]

int Cost[4][80]

int Time[100]

int Time[3][100]

Page 3: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

3

2Ex . จงเขยีน Pseudo code เพื่อรบัจำ�นวนหน่วยกิตของนักศึกษ� 15 คน เก็บในอ�รเ์รย ์ Credit แล้วคิดค่�ลงทะเบยีนของนักศึกษ�แต่ละคนเก็บในอ�รเ์รย ์ Money โดยคิดค่�ลงทะเบยีนหน่วยกิตละ 12

00 บ�ท พรอ้มทัง้แสดงผลค่�ลงทะเบยีนของนักศึกษ�แต่ละคน

ประก�ศ ตัวแปร ...............................................

...................

Int Credit[15],Money[15]

for(i=0;i<15;i++) read Credit[i]end for

for(i=0;i<15;i++) Money[i]= Credit[i]*1200end for

for(i=0;i<15;i++) write Money[i]end for

Begin

End

Page 4: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

4

Ex3 จงแปลง Pseudo code ของคำ�สัง่ for ต่อไปนี้ ใหเ้ป็นคำ�สัง่ while

Begin for(i=0 ;i<5 ;i++) read Midterm[i]

read Final[i] TTTTTTTTT T TTTTT

T TTTT TTTTTTTT TTTTT TTTTTTTT

end forTTT

Begin i=0 while i<5

read Midterm[i] read Final[i]

Total[i]=Midterm[i]+Final[i] write Total[i]

i=i+1 end doEnd

Page 5: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

5

4 .Ex จงเขยีน Pseudo Code เพื่อรบัปี พ.ศ เกิดของนักศึกษ� 8 คน เก็บในอ�รเ์รย ์ Year ถ้�นักศึกษ�อ�ยุไมเ่กิน 20 ปี แสดงขอ้คว�ม “Young”

ถ้�นักศึกษ�อ�ยุม�กกว�่ 20 ปี แสดงขอ้คว�ม “Old”แล้วเก็บอ�ยุของนักศึกษ�แต่ละคนลงในอ�รเ์รย ์ Ageห�อ�ยุตำ่�สดุของนักศึกษ�ทัง้ 8 คน

ประก�ศ

ตัวแปร ..................................................................

int Year[8],Age[8]

Page 6: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

6

Begin for(i=0;i<8;i++) read Year[i]end for

for(i=0;i<8;i++) Age[i]=2549-Year[i] write Age[i] if Age[i]>20 then write “Old”

else write “Young” end ifend for

End

Min=999for(i=0;i<8;i++) if Min> Age[i] then Min=Age[i]end forWrite Min

Page 7: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

7

Ex5. จากอารเ์รยต่์อไปนี้ จงแสดงวธิกีารค้นหาเลข 10 โดยใชว้ธิกีารค้นหา 2 วธิีSequencial Search

[0]

[1]

[2]

[3]

[4]

[5]

[6]

3 8 10

17

19

26

38

รอบท่ี i=0

10>x[0]10>3 ค้นห�ต่อ

[0]

[1]

[2]

[3]

[4]

[5]

[6]

3 8 10

17

19

26

38

รอบท่ี i=1

10>x[1]10>8 ค้นห�ต่อ

[0]

[1]

[2]

[3]

[4]

[5]

[6]

3 8 10

17

19

26

38

รอบท่ี i=2

10=x[2]10=10 หยุดก�รทำ�ง�นเจอขอ้มูลในตำ�แหน่งท่ี 2

Page 8: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

8

Binary Search

[0]

[1]

[2]

[3]

[4]

[5] [6]

3 8 10

17

19

26

38

รอบท่ี i=0

First Last

Mid=(0+6)/2 =3

Mid

[0]

[1]

[2]

3 8 10

รอบท่ี i=1

First Last

Mid=(0+2)/2 =1

Mid

เปรยีบเทียบค่� Search กับ X[3]10<17 เลือกครึง่แรก

เปรยีบเทียบค่� Search กับ X[1]10>8 เลือกครึง่หลัง

Page 9: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

9

รอบท่ี i=2

Binary Search(ต่อ)

[2]10First Last

Mid=(2+2)/2 =2

Mid

เปรยีบเทียบค่� Search กับ X[2]10=10 เจอขอ้มูลในตำ�แหน่งชอ่งท่ี 2

Page 10: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

10

6Ex . จ�ก 4Ex เมื่อต้องก�รเปล่ียนก�รเก็บขอ้มูล โดยเก็บจ�กนักศึกษ� ม.กรุงเทพ ,ม.ธรรมศ�สตร,์ม.รงัสติ,ม.สย�ม อย�่งละ 8 คน จะต้องเขยีน Pseudo code อย�่งไร */ ไมต้่องห�ค่� Min*/

ประก�ศ ตัวแปร ...............................................

...................

Int Year[4][8],Age[4][8]

Page 11: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

11

Beginfor(i=0;i<4;i++) for(j=0;j<8;j++) read Year[i][j] end forend for

for(i=0;i<4;i++) for(j=0;j<8;j++) Age[i][j]=2549-Year[i][j] write Age[i][j]

if Age[i][j]>20 then write “Old”

else write “Young” end if end forend forEnd

Page 12: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

12

Ex7. เรยีงลำาดับขอ้มูลจากน้อยไปหามากของอารเ์รยต่์อไปนี้ [0] [1] [2] [3] [4]

8 13 2 16 7

Selection sortรอบท่ี i=0

8 13 2 16 7

8 13 2 16 7

8 13 2 16 78 13 2 16 72 13 8 16 7

Page 13: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

13

2 13 8 16 72 13 8 16 72 13 8 16 72 7 8 16 13

รอบท่ี i=1

Selection sort(ต่อ)

*

Page 14: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

14

2 7 8 16 132 7 8 16 132 7 8 16 13

รอบท่ี i=2

Selection sort(ต่อ)

* *

Page 15: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

15

2 7 8 16 132 7 8 13 16

รอบท่ี i=3

Selection sort(ต่อ)

* * *ผลลัพธ์

2 7 8 13 16

Page 16: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

16

Ex7. เรยีงลำาดับขอ้มูลจากน้อยไปหามากของอารเ์รยต่์อไปนี้ [0] [1] [2] [3] [4]

8 13 2 16 7

Bubble sortรอบท่ี i=0

8 13 2 16 78 13 2 16 78 2 13 16 78 2 13 16 78 2 13 7 16

สลับ

สลับ

Page 17: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

17

8 2 13 7 16

2 8 13 7 16

2 8 13 7 16

2 8 7 13 16

รอบท่ี i=1

สลับ

สลับ

Bubble sort(ต่อ)

Page 18: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

18

2 8 7 13 16

2 8 7 13 16

2 7 8 13 16

รอบท่ี i = 2

สลับ

Bubble sort(ต่อ)

Page 19: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

19

รอบท่ี i = 3

2 7 8 13 16

2 7 8 13 16

ผลลัพธ์

2 7 8 13 16

Bubble sort(ต่อ)

Page 20: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

20

ขอ้แถม จงเขยีน Pseudo code • วน loop รบัคะแนนกลางภาคเก็บในอารเ์รย ์Midterm และ

รบัคะแนนสอบปลายภาคเก็บในอารเ์รย ์Final ของ นศ 10. คน• วน loop เพื่อคิดหาคะแนนรวมเก็บในอารเ์รย ์Total โดย

คะแนนรวมเกิดจากการเก็บคะแนน Miterm 40% และ Final 60%

• คิดเกรดของนักศึกษาเก็บในอารเ์รย ์Grade โดยท่ีเกรดม ี 3เง่ือนไข ดังนี้ ถ้าได้คะแนนรวม - 030 คะแนน ได้เกรด ‘U’

ถ้าได้คะแนนรวม - 3160 คะแนน ได้เกรด ‘P’ ถ้าได้คะแนนรวม 61 ขึน้ไป ได้เกรด ‘G’• วน loop เพื่อแสดงผลคะแนนรวม และเกรดของนักศึกษาแต่ละ

คน

Page 21: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

21

Begin for(i=0;i<10;i++) read Midterm[i],Final[i]end for

for(i=0;i<10;i++) Total[i]= (Midterm[i]*40/100) +(Final[i]*60/100) if Total[i]<=30 then Grade[i]=‘U’ else if Total[i]<=60 then Grade[i]=‘P’ else Grade[i]=‘G’ end ifend for

End

for(i=0;i<10;i++) write Total[i],Grade[i]end for

Page 22: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

22

ประเมนิผลก�รเรยีนวชิ�น้ีหรอืยงั?

http://assessment.bu.ac.th

Page 23: ตะลุย โจทย์ Array

BC320 Introduction to Computer Programming

23

EndEnd ofof BC320BC320