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

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

259201 Computer Programming for Engineers Week 6 การเขียนโปรแกรม MATLAB เบื้องต้น 1.

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


งานนำเสนอเรื่อง: "259201 Computer Programming for Engineers Week 6 การเขียนโปรแกรม MATLAB เบื้องต้น 1."— ใบสำเนางานนำเสนอ:

1 Computer Programming for Engineers Week 6 การเขียนโปรแกรม MATLAB เบื้องต้น 1

2 ตัดเกรดนักเรียน 5 คน จาก lab 5, เราสามารถมองส่วนที่จะถูกประมวลผล 5 ครั้งเป็น บล๊อก ส่วนที่เราต้องการทำซ้ำ เราจะนำโค๊ดไปใส่ไว้ แทนที่บล๊อก for i=1:5 disp(‘Programming is fun’); end

3 ตัดเกรดนักเรียน 5 คน ( ต่อ ) for i=1:5 value = input('Input value (0-100): '); if value < 50 disp (' You got F'); elseif value < 60 disp (' You got D'); elseif value < 70 disp (' You got C'); elseif value < 80 disp (' You got B'); else disp ('You got A'); end

4 ตัดเกรดนักเรียน n คน จากโปรแกรมเดิม ถ้าจำนวนนักเรียนมีการ เปลี่ยนแปลง เราจะต้องแก้ไขโค๊ด เพื่อให้โปรแกรมรองรับการตัดเกรดนักเรียนจำนวน ที่ต่าง ๆ กันได้ เราต้องมีการรับค่าจำนวนนักเรียน (n) จากผู้ใช้ คำสั่งที่ใช้รับค่าไปเก็บไว้ในตัวแปร n คือ n = input(‘Enter a number of the students:’);

5 จากโปรแกรมเดิม เราควรเพิ่มคำสั่ง input ไว้ที่ใด ? for i=1:5 value = input('Input value (0-100): '); if value < 50 disp (' You got F'); elseif value < else disp ('You got A'); end * นักศึกษาสามารถทดสอบเพิ่มคำสั่ง input ตามที่ต่าง ๆ เพื่อสังเกตุผลลัพธ์ ตัดเกรดนักเรียน n คน

6 เราจะเห็นได้ว่า ค่า n จำเป็นจะถูกใช้เพื่อควบคุม จำนวนของการทำซ้ำ จากโปรแกรมเดิม เมื่อเราต้องการทำซ้ำ 5 ครั้ง เรา จะกำหนด for i=1:5 ดังนั้น ถ้าต้องการทำซ้ำ n ครั้ง เราจะต้องเขียนว่า for i=1:n และค่า n จะต้องถูกกำหนดก่อนคำสั่ง for ตัดเกรดนักเรียน n คน

7 for i=1:5 value = input('Input value (0-100): '); if value < 50 disp (' You got F'); elseif value < else disp ('You got A'); end 1 n=input(‘Enter a number of the students:’); Logical error? Where? ตัดเกรดนักเรียน n คน

8 ตัดเกรดนักเรียนจนกว่าจะครบ จำนวน ถ้าเราไม่รู้จำนวนของการทำซ้ำ เราต้องใช้คำสั่ง while-do ทบทวน while-do i=1; while i<=5 disp(‘Programming is fun’); i++; end

9 while-do จะทำซ้ำไปเรื่อย ๆ จนกว่าเงื่อนไขที่ใช้ ตรวจสอบจะเป็นเท็จ ตัวอย่างทบทวน condition = ‘yes’; while condition ==‘yes’ disp(‘Programming is fun’); condition = input(‘Continue [yes/no] ?’,’s’); end ค่าเริ่มต้น ต้องทำให้โปรแกรมสามารถเข้าไปทำใน while-do ได้ เงื่อนไข จะทำใน while-do ถ้าเงื่อนไขเป็นจริง ทำซ้ำเรื่อย ๆ ถ้าเงื่อนไขยังเป็นจริง ถ้าไม่มีคำสั่งนี้ โปรแกรมจะทำงานอย่างไร ? ตัดเกรดนักเรียนจนกว่าจะครบ จำนวน

10 เมื่อพิจารณาการตัดเกรดนักเรียนจนกว่าจะครบ จำนวนอีกครั้ง เราจะได้โค๊ดในลักษณะดังต่อไปนี้ condition = ‘yes’; while condition ==‘yes’ value = input('Input value (50-80): '); if value < 50 disp (' You got F'); elseif value < else disp ('You got A'); end condition = input(‘Continue [yes/no] ?’,’s’); end ตัดเกรดนักเรียนจนกว่าจะครบ จำนวน

11 นับจำนวนนักเรียน ถ้าเราต้องการนับจำนวนนักเรียนที่ได้รับการตัดเกรดไปแล้ว สำหรับการทำซ้ำแบบ while-do? นอกจากนั้นเรายังต้องการแสดงผลสรุปจำนวนนักเรียนที่ ได้รับการตัดเกรดทั้งหมดอีกด้วย ? เราต้องสร้างตัวแปรขึ้นมาเพื่อเก็บจำนวนดังกล่าว (n) ค่าเริ่มต้นของตัวแปรนี้จะต้องเป็น 0 (n=0) เมื่อมีการตัดเกรดนักเรียนเสร็จ 1 คน ค่าของตัวแปรนี้จะต้อง ถูกเพิ่มค่าขึ้น ทีละหนึ่ง (n=n+1) เมื่อเสร็จสิ้นการตัดเกรดของนักเรียนทั้งหมด ( ผู้ใช้เลือก continue เป็น no) เราแสดงผลสรุปจำนวนนักเรียน (fprintf(‘Number of the students is: %d\n’,n);) เราควรจะเพิ่มคำสั่งทั้งสองคำสั่งนี้ไว้ที่ส่วนใดในโปรแกรม ?

12 n=0; condition = ‘yes’; while condition ==‘yes’ value = input('Input value (0-100): '); if value < 50 disp (' You got F'); elseif value < else disp ('You got A'); end n=n+1; condition = input(‘Continue [yes/no] ?’,’s’); end fprintf(‘Number of the students is: %d\n’,n); นับจำนวนนักเรียน

13 แบบฝึกหัด : ตัดเกรดนักเรียน จนกว่าจะครบจำนวน และนับ จำนวนเกรด A ด้วย เราต้องมีการสร้างตัวแปรขึ้นเพื่อเก็บจำนวนนักเรียน ที่ได้เกรด A (grade_A) ค่าเริ่มต้นของโปรแกรมดังกล่าว จะต้องมีค่าเป็น 0 (grade_A=0;) จากนั้นทุก ๆ ครั้งที่มีนักเรียนได้รับเกรด A ค่าตัว แปรนี้จะต้องถูกเพิ่มค่าขึ้นหนึ่ง (grade_A = grade_A + 1;) คำสั่งสองคำสั่งนี้ ควรถูกเพิ่มตรงส่วนใดของ โปรแกรม ? นอกจากนั้น โปรแกรมจะแสดงข้อความแสดงความ ยินดี (disp(‘You did it!!’);) ถ้าจำนวนนักเรียนที่ได้เกรด A มากกว่าครึ่งหนึ่งของจำนวนนักเรียนทั้งหมด เงื่อนไขนี้เขียนอย่างไร และควรจะถูกเพิ่มในส่วน ใด ?


ดาวน์โหลด ppt 259201 Computer Programming for Engineers Week 6 การเขียนโปรแกรม MATLAB เบื้องต้น 1.

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


Ads by Google