งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1 259201 Computer Programming for Engineers Week 10 Structure.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1 259201 Computer Programming for Engineers Week 10 Structure."— ใบสำเนางานนำเสนอ:

1 Computer Programming for Engineers Week 10 Structure

2 2 โครงสร้าง (Structure) โครงสร้าง (Structure) ประกอบไป ด้วย ชุดของข้อมูลที่เกี่ยวข้องกัน โดย มีข้อมูลย่อยที่อ้างถึงได้โดยใช้ชื่อฟิลด์ (Field) ที่มีชนิดแตกต่างกันได้ เช่น ชุดข้อมูลนักศึกษา 1 คน ประกอบไปด้วยข้อมูลย่อยหรือฟิลด์ ชื่อ รหัสนักศึกษา อีเมล์ คะแนนสอบ

3 3 ตัวอย่างโครงสร้าง (Structure) เช่น ชุดข้อมูลนักศึกษา 1 คน ประกอบไป ด้วยข้อมูลย่อยหรือฟิลด์ ชื่อ รหัสนักศึกษา อีเมล์ และคะแนนสอบ (3 ครั้ง ) student.name = ' Steven Gerrard ' ; student.id = ' ' ; student. = ' ' ; student.tests = [67, 75, 84]; ในกรณีนี้ จะมีข้อมูลย่อยที่เกี่ยวข้องกัน หรือผูกติดกันไว้โดยโครงสร้างที่ชื่อ student เปรียบเทียบกับกรณีที่ตัวแปร 4 ตัว name, id, และ tests แยกกันโดยอิสระ

4 4 >> student student = name: 'Steven Gerrard' id: ' ' tests: [ ] ตัวอย่างการเรียกใช้ โครงสร้าง (Structure) ในกรณีนี้ มีข้อมูลเพียงชุดข้อมูลเดียว การ เรียกดูข้อมูลสามารถทำได้โดย

5 5 >> student.name ans = Steven Gerrard >> student.tests ans = ตัวอย่างการเรียกใช้ข้อมูลย่อยใน โครงสร้าง (Structure) หรือหากต้องการเรียกดูข้อมูลย่อยต่างๆ สามารถทำได้โดย

6 6 >> student.tests(2) ans = 75 ตัวอย่างการเรียกใช้ข้อมูลย่อยใน โครงสร้าง (Structure) เนื่องจากข้อมูลย่อยคะแนนสอบ tests เป็น อาเรย์ของตัวเลข ถ้าต้องการดูคะแนนสอบ ครั้งที่ 2 ทำได้โดย

7 7 อาเรย์ของโครงสร้าง (Structure Array) โครงสร้าง (Structure) ที่เก็บข้อมูลที่ เกี่ยวข้องกันได้ชุดเดียว ใช้ประโยชน์ ได้ไม่มาก การใช้งานที่เป็นประโยชน์ มากกว่าคือการใช้งาน อาเรย์ของ โครงสร้าง (Structure Array) เช่น ต้องการเก็บข้อมูลของนักศึกษา หลายคน

8 8 การใช้งานอาเรย์ของ โครงสร้าง ถ้าต้องการเก็บข้อมูลนักศึกษา 2 คน student(1).name = 'Steven Gerrard'; student(1).id = ' '; student(1). = student(1).tests = [ ]; student(2).name = 'Fernando Torres'; student(2).id = ' '; student(2). = student(2).tests = [ ];

9 9 การใช้งานอาเรย์โครงสร้าง student(1) student(2) name: Steven Gerrard id : tests: [67, 75, 84] id : tests: [84, 78, 93]... โครงสร้าง student name: Fernando Torres

10 10 การใช้งานอาเรย์ของ โครงสร้าง ถ้าป้อน student เข้าไป ในกรณีนี้ MatLab จะตอบ กลับมาว่าโครงสร้างนี้ประกอบด้วยข้อมูลย่อยหรือฟิลด์ อะไรบ้าง และมีขนาดอาเรย์เท่ากับเท่าไหร่ >> student student = 1x2 struct array with fields: name id tests

11 11 การใช้งานอาเรย์ของ โครงสร้าง ถ้าต้องการดูข้อมูลของนักศึกษาคนที่ 2 ใช้ คำสั่ง >> student(2) ans = name: 'Fernando Torres' id: ' ' tests: [ ]

12 12 การใช้งานอาเรย์ของ โครงสร้าง ถ้าต้องการดูข้อมูลชื่อของนักศึกษา คนที่ 2 ใช้คำสั่ง >> student(2).name ans = Fernando Torres

13 13 การใช้งานอาเรย์ของ โครงสร้าง ถ้าต้องการดูข้อมูลคะแนนที่ 3 ของ นักศึกษาคนที่ 2 ใช้คำสั่ง >> student(2).tests(3) ans = 93

14 14 การใช้งานอาเรย์โครงสร้าง คำสั่ง fieldnames >> fieldnames(student) ans = 'name' 'id' ' ' 'tests' ถ้าป้อนข้อมูลในอาเรย์นั้นไม่ครบฟิลด์ MatLab จะกำหนดให้ว่าง แต่ละฟิลด์มีขนาดหรือชนิดต่างกันได้

15 15 การเปลี่ยนแปลงโครงสร้าง เพิ่มฟิลด์ >>student(1).phone = ' ' ; ลบฟิลด์ใช้คำสั่ง rmfield new_struc = rmfield(old_struc, ' field '); >>new_student = rmfield(student, ' id ' ); สามารถใช้งาน operator ทั่วไปได้ >>max(student(2).tests); ทุก element ก็ จะมีฟิลด์ นี้เพิ่ม ขึ้นมา

16 16 ตัวอย่างอาเรย์โครงสร้าง ฟังก์ชันทำการรับข้อมูลชื่อและค่าคะแนนแล้ว ทำการหาคะแนนเฉลี่ย n = input('How many student? '); sum = 0; for i=1:n %student is a structure array for name & score student(i).name = input(‘Name: ','s'); student(i).score = input('Score: '); sum = sum + student(i).score; end avg = sum/n; fprintf(‘Average score is %.2f\n', avg);


ดาวน์โหลด ppt 1 259201 Computer Programming for Engineers Week 10 Structure.

งานนำเสนอที่คล้ายกัน


Ads by Google