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

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

Computer Programming for Engineers

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


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

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

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

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

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 < 60 .... else disp ('You got A'); end condition = input(‘Continue [yes/no] ?’,’s’);

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 < 60 .... else disp ('You got A'); end n=n+1; condition = input(‘Continue [yes/no] ?’,’s’); 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 Computer Programming for Engineers

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


Ads by Google