You are on page 1of 35

MATLAB

Branch and loop programming Functions


Branch and loop programming
Functions
• For – loop : คำสังท ่ ำงำนวนซำ้ เป็ นจำนวน
รอบทีก ่ ำหนดไว้
• While loop : คำสังท ่ ำงำนวนซำจนกว่
้ ำ
เงื่อนไขจะเป็ นเท็จ

• If-statement : คำสังทดสอบเงื ่อนไข ถ้ำจริงจะ
ทำกำรประมวลผล

• Switch-case : คำสังทดสอบเงื ่อนไข ถ้ำตรงกบ ั
กรณี ใดจะทำกำรประมวลผลตำมชุดคำสังนั ่ น้
Flow Chart หรือ ผังงำน
นิ ยำม แผนภาพทีใช ่ ้สัญลักษณ์รป
ู ภาพ
และลูกศรแสดงลาดับขันตอนการท ้ างาน
ของโปรแกรม ตังแต่ ้ ร ับข ้อมูล คานวณ
จนถึงแสดงผลลัพธ ์
ประโยชน์

•แสดงลาดับขันตอนการท างานของ
โปรแกรม
•ตรวจสอบหาข ้อผิดพลาดได ้ง่าย
•ทาการดัดแปลง แก ้ไขโปแกรม ได ้
สะดวกขึน้
•ไม่ขนกัึ ้ บภาษาใดภาษาหนึ่ ง ทาให ้
ื่
ผูอ้ นเข ้าใจโปรแกรมได ้ง่ายและรวดเร็ว
Flow Chart หรือ ผังงำน
• ผังงานแบ่งออกเป็ น
– การทางานตามลาดับ (Sequence)

– การเลือกกระทาตามเงือนไข (Decision or selection)
– การทาซา้ (Repeat and Loop)
Flow Chart หรือ ผังงำน
สัญลักษณ์ คาอธิบาย
่ ้น/สินสุ
จุดเริมต ้ ดโปรแกรม

คาสังประมวลผล หรือ กาหนด
ข ้อมูลให ้กับตัวแปร
แสดงการอ่านข ้อมูลจาก
หน่ วยความจา หรือแสดงผลลัพธ ์
จากการประมวลผล
แสดงผลหรือรายงานผลทีสร่ ้าง
ออกมา

ตรวจสอบเงือนไขเพื ่ ดสิน (จริง
อตั
หรือเท็จ)

จุดเชือมต่อ
กำรทำงำนตำมลำดับ
(Sequence)
• รูปแบบการเขียนโปรแกรมให ้ทางาน
จากบนลงล่าง
่ นบรรทัด และทาทีละ
• เขียนคาสังเป็
บรรทัดจากบรรทัดบนสุดลงไป
จนถึงบรรทัดล่างสุด
• สมมติให ้มีการทางาน 3
กระบวนการคือ อ่านข ้อมูล
คานวณ และพิมพ ์
ตัวอย่ำง
• กาหนดให ้ตัวแปร t = -5:0.2:5 จงเขียน Script
sin( t ) ่
y file เพือค านวณค่า
t
โดยให ้แสดงผลลัพธ ์ของค่า y ออก
หน้าจอ
t =-5:0.2:5

sin(t )
y
t

y
กำรเลือกกระทำตำมเงื่อนไข
(Decision or selection)
่ าค่าไป
• เขียนโปรแกรมเพือน
เลือกกระทา โดยปกติจะมี
เหตุการณ์ให ้ทา 2
กระบวนการ คือ

– เงือนไขเป็ นจริงจะกระทา
กระบวนการหนึ่ ง
– เป็ นเท็จจะกระทาอีก
กระบวนการหนึ่ ง
• ถ ้าซ ับซ ้อนมากขึน้ จะต ้องใช ้

เงือนไขหลายช
Condition
น้ั เช่นการตัด
เกรดนักศึกษา เป็ นต ้น
ตัวอย่ำง
กำรทำซำ้ (Repeation and
Loop)
• การทากระบวนการหนึ่ งหลาย
ครง้ั โดยมีเงือนไขในการควบคุ
่ ม
• ทาความเข ้าใจได ้ยากกว่า 2
รูปแบบแรก
• การเขียนโปรแกรมแต่ละภาษา
จะไม่แสดงภาพอย่างช ัดเจน
เหมือนการเขียนผังงาน
• ผูเ้ ขียนโปรแกรมต ้องจินตนาการ
ด ้วยตนเอง
ตัวอย่ำง
• พิมพ ์เลข 1 ถึง 4 ทางหน้าจอภาพ

k=1

k

เครืองหมำยที ่ เปรียบเทียบใน
ใช้
เงื่อนไข (Symbol)
ควำมหมำย
สัญลักษณ์ทำง
คณิ ตศำสตร ์
MATLAB

เท่ากับ (equal to) = ==


ไม่เท่ากับ (not equal)  ~=
มากกว่าหรือเท่ากับ  >=
(Greater-than or Equal
to)
น้อยกว่าหรือเท่ากับ  <=
(Less-than or Equal to)

มากกว่า (Greater-than) > >

น้อยกว่า (Less-than) < <


และ (and) AND &
หรือ (or) OR |
Branch and loop programming
Functions
• For – loop : คำสังท ่ ำงำนวนซำ้ เป็ นจำนวน
รอบทีก ่ ำหนดไว้
• While loop : คำสังท ่ ำงำนวนซำจนกว่
้ ำ
เงื่อนไขจะเป็ นเท็จ

• If-statement : คำสังทดสอบเงื ่อนไข ถ้ำจริงจะ
ทำกำรประมวลผล

• Switch-case : คำสังทดสอบเงื ่อนไข ถ้ำตรงกบ ั
กรณี ใดจะทำกำรประมวลผลตำมชุดคำสังนั ่ น้
For – loop
่ าหนดไว ้
่ างานวนซา้ เป็ นจานวนรอบทีก
• คาสังท
For – loop
• รูปแบบคาสัง่ :

k = 1:5
หรือ
M=
1:2:10
For – loop (Ex. 1)

• จงหาผลรวมของจานวน
่ งแต่
เต็มคีตั ้ คา่ 1 ไปเรือยๆ

เป็ นจานวน N = 10 ครง้ั
โดยเขียนเป็ น function
file
y=1+3+5
+…+(2N+1)
For – loop (Ex. 2)
• จงอธิบายความหมายของคาสัง่
For k=0:3:300
x=(k+1)*3;
y(k)=sin(x)
end
While loop
่ างานวนซาจนกว่
• คาสังท ้ ่
าเงือนไขจะเป็ นเท็จ
While loop
• รูปแบบคาสัง่ :

•เป็ นเงือนไขที ่ เ้ ขียนโปรแกรม
ผู
กาหนด

•ถ ้าเงือนไขเป็ นจริง (1) จะทาซา้
ชุดคาสังใน ่ Loop ต่อไป 1 รอบ

•ถ ้าเงือนไขเป็ นเท็จ (0) จะยกเลิก
ชุดคาสังใน ่ Loop ทันที
While loop (Ex.)
• จงอธิบายความหมายของคาสัง่
while x<100 L=5;
x=X+1; K=1;
y=sin(x); while k<=L
end x(k)=k
k=k+1;
end
disp (x)
If-statement

• คาสังทดสอบเงื ่
อนไข ถ ้าจริงจะทาการประมวลผล
• รูปแบบคาสัง่ :

•เป็ นเงือนไขที ่ เ้ ขียนโปรแกรม
ผู
กาหนด

•ถ ้าเงือนไขเป็ นจริง (1) จะทาซา้
ชุดคาสังทั ่ งหมด


•ถ ้าเงือนไขเป็ นเท็จ (0) จะยกเลิก
ชุดคาสังทั ่ งหมด

If-statement

• คาสังทดสอบเงื ่
อนไข ถ ้าจริงจะทาการประมวลผล
• รูปแบบคาสัง่ :
่ เงือนไข
•ใช ้เมือมี ่ หรือ ทางเลือก
ของโปรแกรมมากกว่า 1

•ถ ้าเงือนไขที ่ 1 เป็ นจริง (1) จะ

ข ้ามไปเงือนไขที ่2
•จนกว่าจะได ้เงือนไขที่ ่ นจริง จึง
เป็
จะประมวลผลชุดคาสังนั ่ ้น ทีอยู
่ ่ใน

เงือนไขนั ้น
If-statement(Ex.)
Switch-case

• คาสังทดสอบเงื ่
อนไข ถ ้าตรงกับกรณี ใดจะทาการ
ประมวลผลตามชุดคาสังนั ่ ้น
• รูปแบบคาสัง่ :
•เป็ นเงื่อนไขทีผู
่ เ้ ขียนโปรแกรม
กำหนด
•ถ้ำผลลัทธ ์ตรงกับกรณี (case)
ใด จะประมวลผลชุดคำสังนั ่ นที
้ ่
้ เท่ำนัน
อยู ่ใน case นัน ้
Switch-case (Ex.)
่ นฐำนส
คำสังพื ้ ำหร ับ
Loop
 Pause and break functions
 Tic and toc functions
่ นฐำนส
คำสังพื ้ ำหร ับ
Loop
Pause and break functions
รูปแบบคาสัง่
pause : ใช ้หยุดการทางานจนกว่าจะ
มีการกด keyboard จึงจะทางาน
ต่อ
pause(n) : ใช ้หยุดการทางานเท่ากับ n วินาที
break : ใช ้หยุดการทางานของลูป
หรือ Ctrl+c
Pause and break functions (Ex.)
คำสังพื ่ นฐำนส
้ ำหร ับ
Loop
Tic and toc functions

• รูปแบบคาสัง่
่ ้นการทางานของชุดคาสัง่
tic : ใช ้จับเวลาเริมต
่ งไว
toc : ใช ้หยุดเวลาทีตั ้ ้จากการใช ้คาสัง่ tic
พร ้อมทัง้ แสดงผลของเวลาทีใช่ ้ออกทีหน้
่ าจอ
Tic and toc functions(Ex.)
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)
และได้ผลลัพธ ์ดังนี ้

You might also like