ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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);
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.