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

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

Computer Programming for Engineers

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


งานนำเสนอเรื่อง: "Computer Programming for Engineers"— ใบสำเนางานนำเสนอ:

1 259201 Computer Programming for Engineers
Week 10 Structure

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

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

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

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

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

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

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 การใช้งานอาเรย์โครงสร้าง
โครงสร้าง student student(1) student(2) name: Steven Gerrard name: Fernando Torres id : id : tests: [67, 75, 84] tests: [84, 78, 93]

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

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

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

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

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

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

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 Computer Programming for Engineers

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


Ads by Google