290 likes | 567 Vues
MATLAB. Week 3. Quiz (Monday). จงเขียนไฟล์ฟังก์ชั่นเพื่อเปลี่ยนหน่วยของอุณหภูมิที่กำหนดให้ในหน่วยองศาเซลเลียส (°C) เป็นอุนหภูมิในหน่วยองศาฟาเรนไฮน์ (°F) และเปลี่ยนเป็นอุณหภูมสัมบูรณ์ในหน่วย Kelvin (K) และ Rankin (R) โดยความสัมพันธ์ของอุณหภูมในหน่วยต่างๆ มีดังนี้ T(K) = T(°C) + 273.15
E N D
MATLAB Week 3
Quiz (Monday) • จงเขียนไฟล์ฟังก์ชั่นเพื่อเปลี่ยนหน่วยของอุณหภูมิที่กำหนดให้ในหน่วยองศาเซลเลียส (°C) เป็นอุนหภูมิในหน่วยองศาฟาเรนไฮน์ (°F) และเปลี่ยนเป็นอุณหภูมสัมบูรณ์ในหน่วย Kelvin (K) และ Rankin (R) โดยความสัมพันธ์ของอุณหภูมในหน่วยต่างๆ มีดังนี้ T(K) = T(°C) + 273.15 T(°F) = 1.8 T(°C) + 32 T(R) = T(°F) + 459.69 T(R) = 1.8 T(K) รูปแบบคำสั่งที่เรียกใช้ มีดังนี้คือ >> myextemp(x) และได้ผลลัพธ์ดังนี้
Quiz (Tueday) • จงเขียนไฟล์ฟังก์ชั่นเพื่อเปลี่ยนหน่วยของค่าเงินที่กำหนดให้ในสกุลบาท (THB) เป็นค่าเงินในสกุลดอลล่า (USD) และเปลี่ยนเป็นสกุลปอด์น (GBP) และเปลี่ยนเป็นสกุล EURO (EUR) โดยความสัมพันธ์ของค่าเงินในสกุลต่างๆ มีดังนี้ USD = THB * 34.875 GBP = THB * 52.0398 EUR = THB * 46.279 รูปแบบคำสั่งที่เรียกใช้ มีดังนี้คือ >> myexchang(x) และได้ผลลัพธ์ดังนี้
Branch and loop programming Functions • For – loop : คำสั่งทำงานวนซ้ำ เป็นจำนวนรอบที่กำหนดไว้ • While loop : คำสั่งทำงานวนซ้ำจนกว่าเงื่อนไขจะเป็นเท็จ • If-statement : คำสั่งทดสอบเงื่อนไข ถ้าจริงจะทำการประมวลผล • Switch-case : คำสั่งทดสอบเงื่อนไข ถ้าตรงกับกรณีใดจะทำการประมวลผลตามชุดคำสั่งนั้น
For – loop • คำสั่งทำงานวนซ้ำ เป็นจำนวนรอบที่กำหนดไว้ • รูปแบบคำสั่ง : k = 1:5 หรือ M = 1:2:10
จงหาผลรวมของจำนวเต็มคี่ตั้งแต่ค่า 1 ไปเรื่อยๆ เป็นจำนวน N = 10 ครั้ง โดยเขียนเป็น function file y = 1 + 3 + 5 +…+(2N+1) ตัวอย่าง
While loop • คำสั่งทำงานวนซ้ำจนกว่าเงื่อนไขจะเป็นเท็จ • รูปแบบคำสั่ง : • เป็นเงื่อนไขที่ผู้เขียนโปรแกรมกำหนด • ถ้าเงื่อนไขเป็นจริง (1) จะทำซ้ำชุดคำสั่งใน Loop ต่อไป 1 รอบ • ถ้าเงื่อนไขเป็นเท็จ (0) จะยกเลิกชุดคำสั่งใน Loop ทันที
If-statement • คำสั่งทดสอบเงื่อนไข ถ้าจริงจะทำการประมวลผล • รูปแบบคำสั่ง : • เป็นเงื่อนไขที่ผู้เขียนโปรแกรมกำหนด • ถ้าเงื่อนไขเป็นจริง (1) จะทำซ้ำชุดคำสั่งทั้งหมด • ถ้าเงื่อนไขเป็นเท็จ (0) จะยกเลิกชุดคำสั่งทั้งหมด
If-statement : • คำสั่งทดสอบเงื่อนไข ถ้าจริงจะทำการประมวลผล • รูปแบบคำสั่ง : • ใช้เมื่อมีเงื่อนไข หรือ ทางเลือกของโปรแกรมมากว่า 1 • ถ้าเงื่อนไขที่ 1 เป็นจริง (1) จะข้ามไปเงื่อนไขที่ 2 • จนกว่าจะได้เงื่อนไขที่เป็นจริง จึงจะประมวลผลชุดคำสั่งนั้น ที่อยู่ในเงื่อนไขนั้น
เครื่องหมายที่ใช้เปรียบเทียบในเงื่อนไขเครื่องหมายที่ใช้เปรียบเทียบในเงื่อนไข
Switch-case • คำสั่งทดสอบเงื่อนไข ถ้าตรงกับกรณีใดจะทำการประมวลผลตามชุดคำสั่งนั้น • รูปแบบคำสั่ง : • เป็นเงื่อนไขที่ผู้เขียนโปรแกรมกำหนด • ถ้าผลลัทธ์ตรงกับกรณี (case) ใด จะประมวลผลชุดคำสั่งนั้นที่อยู่ใน case นั้น เท่านั้น
คำสั่งพื้นฐานสำหรับ Loop • ฟังก์ชั่น pause และ break • ฟังก์ชั่น tic และ toc
คำสั่งพื้นฐานสำหรับ Loop • รูปแบบคำสั่ง pause : ใช้หยุดการทำงานจนกว่าจะมีการกด keyboard จึงจะทำงานต่อ pause(n) : ใช้หยุดการทำงานเท่ากับ n วินาที break : ใช้หยุดการทำงานของลูป หรือ Ctrl+c
ฟังก์ชั่น tic และ toc • รูปแบบคำสั่ง tic : ใช้จับเวลาเริ่มต้นการทำงานของชุดคำสั่ง toc : ใช้หยุดเวลาที่ตั้งไว้จากการใช้คำสั่ง tic พร้อมทั้ง แสดงผลของเวลาที่ใช้ออกที่หน้าจอ
Flow Chart หรือ ผังงาน • นิยาม แผนภาพที่ใช้สัญลักษณ์รูปภาพและลูกศรแสดงลำดับขั้นตอนการทำงานของโปรแกรม ตั้งแต่รับข้อมูล คำนวณ จนถึงแสดงผลลัพธ์ • ประโยชน์ • แสดงลำดับขั้นตอนการทำงานของโปรแกรม • ตรวจสอบหาข้อผิดพลาดได้ง่าย • ทำการดัดแปลง แก้ไขโปแกรม ได้สะดวกขึ้น • ไม่ขึ้นกับภาษาใดภาษาหนึ่ง ทำให้ผู้อื่นเข้าใจโปรแกรมได้ง่ายและรวดเร็ว
Flow Chart หรือ ผังงาน • ผังงานแบ่งออกเป็น • การทำงานตามลำดับ (Sequence) • การเลือกกระทำตามเงื่อนไข (Decision or selection) • การทำซ้ำ (Repeation and Loop)
การทำงานตามลำดับ (Sequence) • รูปแบบการเขียนโปรแกรมให้ทำงานจากบนลงล่าง • เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด • สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์
ตัวอย่าง • กำหนดให้ตัวแปร t = -5:0.2:5 จงเขียน Script file เพื่อคำนวณค่า โดยให้แสดงผลลัพธ์ของค่า y ออกหน้าจอ
การเลือกกระทำตามเงื่อนไข (Decision or selection) • เขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือ • เงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง • เป็นเท็จจะกระทำอีกกระบวนการหนึ่ง • ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น
การทำซ้ำ (Repeation and Loop) • การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม • ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก • การเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน • ผู้เขียนโปรแกรมต้องจินตนาการด้วยตนเอง
ตัวอย่าง • พิมพ์เลข 1 ถึง 4 ทางหน้าจอภาพ