Computer Programming for Engineers

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การเขียนผังงาน (Flowchart)
Advertisements

ความรู้พื้นฐานเกี่ยวกับการเขียนโปรแกรม
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
Chapter 8 : Logic Modeling & Data Modeling
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
LAB 1 ให้นักศึกษาเขียน Flowchart โดยใช้โปรแกรม Microsoft Word วาดรูป Flowchart ส่ง Flowchart ที่วาดเสร็จแล้วในชั่วโมง และ print ใส่กระดาษ ส่งในครั้งหน้า.
ครั้งที่ 8 Function.
การเขียนผังงาน.
การทดลองและการเขียนรายงานผลการทดลองทางวิทยาศาสตร์
ขั้นตอนการพัฒนาโปรแกรม
ตัวอย่าง Flowchart.
ชนิดของข้อมูลและตัวดำเนินการ
ระบบสารสนเทศประมวณผลรายการธุรกรรม
LAB # 3 Computer Programming 1
การแก้ปัญหาด้วยคอมพิวเตอร์
ผังงานโปรแกรม (Program Flowchart)
แผนผัง FlowChart Flow Chart คือ ขั้นตอนที่นำผลที่ได้จากการกำหนดและการ วิเคราะห์ปัญหามาเขียนเป็นแผนภาพหรือสัญลักษณ์ ประโยชน์ของผังงาน -ช่วยลำดับขั้นตอนการทำงานของโปรแกรม.
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
Arrays.
Surachai Wachirahatthapong
วิธีการทำงานของผังงาน
ตัวอย่างคำสั่ง FOR.
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ตัวอย่างงานวิจัย องค์ประกอบที่มีความสัมพันธ์กับการใช้ห้องสมุดของนักเรียนมัธยมศึกษา ตารางที่ 4-7 ตารางที่
2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ
แก้ปัญหาใน AUTO CAD ที่ถูกถามบ่อย
การใช้งานเบื้องต้นของเครื่องคิดเลขทางการเงิน
การคำนวณทางสถิติ (Statistics worksheet)
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
Process Analysis 2 การวิเคราะห์กระบวนการ
ตัวอย่างการวิเคราะห์งาน และ การเขียนผังงานและซูโดโค้ด
การแจกแจงปกติ NORMAL DISTRIBUTION
Flow Chart INT1103 Computer Programming
โจทย์วิเคราะห์ปัญหาที่ 1
Week 10 การเขียนโปรแกรมเบื้องต้น #2
Week 6 การทำซ้ำโดย for loop
Week 2 Variables.
Computer Programming for Engineers
Computer Programming for Engineers
Computer Programming for Engineers
โปรแกรมประยุกต์อื่นๆ
Week 7 การเขียนโปรแกรมเบื้องต้น
Computer Programming for Engineers
การเขียนโปรแกรมเบื้องต้น
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
หลักการเขียนโปรแกรม ( )
ใบงาน 1. ให้นักเรียนคัดลอกเนื้อหาและตัวอย่างเรื่อง การวิเคราะห์ปัญหาและการจำลองความคิดตั้งแต่สไลด์ที่ 2-11 ลงในสมุด (ถ้าไม่มีให้ทำในกระดาษสมุด1คู่) 2.
การเขียนโปรแกรมเบื้องต้น
การเขียนผังงาน (Flowchart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
วิธีการเขียนโปรแกรมเพื่อทำงานกับข้อมูล โดยที่ ข้อมูลนั้นจะต้อง 1. เป็นประเภทเดียวกัน | ตัวเลข, ตัวอักษร 2. มีขนาดเท่ากัน ? ARRAY คืออะไร.
PHP การตรวจสอบเงื่อนไข.
คำสั่งทำซ้ำ for คำสั่ง for เป็นคำสั่งทำซ้ำในลักษณะ Definite loop คือทราบจำนวนรอบที่แน่นอนในการทำงาน ซึ่งจะใช้ตัวแปร 1 ตัวในการนับจำนวนรอบว่าครบตามกำหนดหรือไม่
Week 11 Basic Programs 2.
หลักการแก้ปัญหา
นางสาวอังคณา วิศาลนิตย์ วิทยาลัยเทคโนโลยีบริหารธุรกิจอยุธยา
หลักการเขียนโปรแกรม ( )
วิทยาลัยเทคโนโลยีพณิชยการเชียงใหม่
หลักการเขียนโปรแกรมเบื้องต้น
การกระทำทางคณิตศาสตร์
การพัฒนาผลสัมฤทธิ์ทางการเรียน วิชาเศรษฐศาสตร์ผู้บริโภคของผู้เรียน ระดับประกาศนียบัตร วิทยาลัยเทคโนโลยีพระรามหก.
การเขียนผังงาน ผังงาน (Flowchart)
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
บทที่ 7 การสร้างและการใช้งาน ฟังก์ชัน อาจารย์ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ และเทคโนโลยี
ผังงานโปรแกรม (Program Flowchart)
การสร้าง function ( โปรแกรมย่อย ) function output = FunctionName (input1, input2, …) การทำงานภายในฟังก์ชัน Editor วิธีเขียน - ต้องขึ้นต้นด้วยคำว่า function.
ใบสำเนางานนำเสนอ:

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

Outline การคำนวณค่า Standard Deviation (SD) เกมทายตัวเลขแบบซับซ้อน

การคำนวณค่า Standard Deviation (SD) ถ้าเราต้องการคำนวณค่า SD ของกลุ่มประชากร (Population) จำนวน 10 ข้อมูล ตามสูตร (1) จะเห็นได้ว่า เราต้องนำข้อมูลแต่ละข้อมูลมาลบโดยค่าเฉลี่ย หรือ เราจะหาค่าเฉลี่ยได้อย่างไร? จากปฏิบัติการที่ 6 การคำนวณค่าเฉลี่ยนั้น เราจำเป็นต้องบวกข้อมูลทั้งหมดเข้าด้วยกัน จากนั้นทำการหารด้วยจำนวนข้อมูลทั้งหมด (1)

การคำนวณค่า Standard Deviation (SD) ดังนั้น เราจะทำการเขียนโปรแกรมเพื่อรับข้อมูลจำนวน 10 ข้อมูลเป็นขั้นตอนแรก กิจกรรม 1 ให้นักศึกษาเขียนโปรแกรมรับค่าข้อมูลจำนวน 10 ข้อมูล กำหนดให้ตัวแปรที่ใช้ในการรับข้อมูลชื่อ a โดยข้อมูลแรกเก็บอยู่ใน a(1), ข้อมูลที่สองเก็บใน a(2), …, ข้อมูลที่สิบเก็บใน a(10) ให้ตั้งชื่อโปรแกรมนี้ว่า cal_sd.m for i=1:10 a(i)=input('Enter a data entry:'); end

การคำนวณค่า Standard Deviation (SD) กิจกรรมที่ 2 ให้นักศึกษาทำการแก้ไขโปรแกรมจากกิจกรรมที่ 1 ให้คำนวณค่าเฉลี่ย หลังจากที่รับข้อมูลทั้ง 10 เสร็จแล้ว โดยกำหนดให้ตัวแปรสำหรับเก็บค่าเฉลี่ยชื่อ avg csum=0; for i=1:10 a(i)=input('Enter a data entry:'); csum=csum+a(i); end avg=csum/10; คำถาม 1. ถ้าเปลี่ยนชื่อตัวแปรจาก csum เป็น sum ซึ่งสื่อความหมายกว่า จะเกิดอะไรขึ้น? 2. ถ้าไม่มีการกำหนดค่าเริ่มต้นตัวแปร csum ให้เป็น 0 จะเกิดอะไรขึ้น?

การคำนวณค่า Standard Deviation (SD) จากสูตรที่ 1 เราจะต้องนำข้อมูลทีละหนึ่งข้อมูลมาลบโดยค่าเฉลี่ยจากนั้นยกกำลังสอง ถ้าต้องการนำข้อมูลแรกมาลบโดยค่าเฉลี่ยและยกกำลังสอง จะเขียนเป็นโปรแกรมใน MATLAB อย่างไร? (1) >>(a(1)-avg)^2

การคำนวณค่า Standard Deviation (SD) ถ้าต้องการหาค่าผลบวกรวมของค่าดังกล่าว จำนวน 10 ค่า วิธีการหนึ่งคือการใช้ for loop จำนวน 10 ครั้ง กิจกรรมที่ 3 ให้นักศึกษาทำการแก้ไขโปรแกรมจากกิจกรรมที่ 2 เพื่อหาค่าผลบวกรวมโดยกำหนดให้ตัวแปรสำหรับเก็บค่าผลบวกรวมชื่อ sq_sum %continue from previous program sq_sum=0; for i=1:10 sq_sum=sq_sum+(a(i)-avg)^2; end

การคำนวณค่า Standard Deviation (SD) จากนั้นนำค่า sq_sum มาหารด้วย 10 และถอดรากที่ 2 %continue from previous program sq_sum=0; for i=1:10 sq_sum=sq_sum+(a(i)-avg)^2; end sd=sqrt(sq_sum/10);

การคำนวณค่า Standard Deviation (SD) %get data and compute avg csum=0; for i=1:10 a(i)=input('Enter a data entry:'); csum=csum+a(i); end avg=csum/10; %compute sd sq_sum=0; sq_sum=sq_sum+(a(i)-avg)^2; sd=sqrt(sq_sum/10); fprintf(‘SD = %.2f\n’, sd);

ตัดเกรดนักเรียนโดยใช้ SD ค่า SD สามารถนำมาใช้ในการตัดเกรดนักเรียนแบบอิงกลุ่มได้ เช่น ให้ค่าคะแนนในช่วงมากกว่า avg+sd ได้เกรด A, ช่วง avg-sd ได้เกรด F นอกนั้นให้เกรด C ซึ่งการตัดเกรดแบบนี้ การคิดค่าเกรดจะต้องเกิดขึ้นหลังจากมีการคำนวณ SD แล้ว

เกมทายตัวเลข (อีกครั้ง) อ้างอิงจากโค๊ดเกมทายเลขเดิมดังนี้ n=round(rand(1)*10); for i=1:5 g=input('Guess a number[0,10]:'); if (g==n) disp('You got it'); return; end disp('You failed. Please try again');

เกมทายตัวเลข (อีกครั้ง) เราจะทำการปรับปรุงให้โปรแกรมนี้ทำการบอกใบ้ให้กับผู้ใช้ เช่น ถ้าเลขที่สุ่มได้เป็น 8 แต่ผู้ใช้กรอกเลข 3 โปรแกรมก็จะบอกว่าให้ทายตัวเลขที่มากกว่านี้ แต่ถ้าผู้ใช้กรอกเลข 9 โปรแกรมก็จะบอกว่าให้ทายตัวเลขที่น้อยกว่านี้ ดังรูปด้านล่าง >>guess_no Guess a number[0,10]:2 Greater than this. Guess a number[0,10]:6 Less than this. Guess a number[0,10]:5 You got it.

เกมทายตัวเลข (อีกครั้ง) จากโค๊ดโปรแกรม เราต้องเปรียบเทียบตัวแปรสุ่มและตัวแปรที่เก็บค่าที่ถูกกรอกโดยผู้ใช้ ถ้าตัวแปรสุ่มมากกว่าตัวแปรตัวแปรที่เก็บค่าที่ถูกกรอกโดยผู้ใช้ จะต้องแสดงคำบอกใบ้ว่า? Greater than this. ถ้าตัวแปรสุ่มน้อยกว่าตัวแปรตัวแปรที่เก็บค่าที่ถูกกรอกโดยผู้ใช้ จะต้องแสดงคำบอกใบ้ว่า? Less than this. ถ้าตัวแปรสุ่มเท่ากับตัวแปรตัวแปรที่เก็บค่าที่ถูกกรอกโดยผู้ใช้ จะต้องแสดงคำบอกใบ้ว่า? ไม่ต้องบอกใบ้ เพราะเดาถูกแล้ว  ตัวแปรสุ่มในโค๊ดคือ ? n ตัวแปรที่เก็บค่าที่ถูกกรอกโดยผู้ใช้คือ? g

เกมทายตัวเลข (อีกครั้ง) จากโค๊ดโปรแกรม เราต้องเปรียบเทียบตัวแปรสุ่มและตัวแปรที่เก็บค่าที่ถูกกรอกโดยผู้ใช้ กิจกรรม 4 ให้นักศึกษาทดลองเขียน Flowchart ส่วนของการเปรียบเทียบตัวแปรสุ่มและตัวแปรตัวแปรที่เก็บค่าที่ถูกกรอกโดยผู้ใช้ g==n g>n g<n return display ‘Less than this.’ display ‘Greater than this.’ display ‘You got it.’

เกมทายตัวเลข (อีกครั้ง) อย่างไรก็ตาม ถ้า g ไม่ได้เท่ากับ n และ g ไม่ได้มากกว่า n หมายความว่า g จะต้องน้อยกว่า n แน่นอน เราจึงสามารถเปลี่ยน Flowchart ได้ดังนี้ g==n g>n return display ‘Less than this.’ display ‘Greater than this.’ display ‘You got it.’

เกมทายตัวเลข (อีกครั้ง) จาก Flowchart เราสามารถเขียนโค๊ดส่วนดังกล่าวโปรแกรม MATLAB ได้ดังนี้ if (g==n) disp('You got it.'); return; elseif (g>n) disp(‘Less than this.’); else disp(‘Greater than this.’); end

เกมทายตัวเลข (อีกครั้ง) n=round(rand(1)*10); for i=1:5 g=input('Guess a number[0,10]:'); if (g==n) disp('You got it.'); return; elseif (g>n) disp(‘Less than this.’); else disp(‘Greater than this.’); end disp('You failed. Please try again');

สรุป นอกจากเราจะใช้ Flowchart ในการสื่อสารระหว่างผู้พัฒนาโปรแกรมแล้ว Flowchart ยังช่วยให้ผู้พัฒนาโปรแกรมเข้าใจ Flow หรือลำดับของการทำงานได้ดีขึ้น เมื่อนักศึกษาเขียนโปรแกรมที่ค่อนข้างซับซ้อน ควรเริ่มต้นด้วยการคิดวิเคราะห์จากจุดเล็ก ๆ ที่ทำความเข้าใจได้ง่ายก่อน จากนั้นค่อยขยายการคิดไปสู่จุดที่ใหญ่มากขึ้น จนกระทั่งเขียนโปรแกรมได้ทั้งโปรแกรม