แบบทดสอบ Online

สถิติผู้เข้าชม

563714
TodayToday87
YesterdayYesterday561
This WeekThis Week648
This MonthThis Month6901
All DaysAll Days563714

ROBOT TEAM


warayuphat panumphan 'Kru Pu', Powered by Joomla!
Algorithm PDF Print E-mail
Written by Administrator   
Monday, 11 February 2013 08:36

R....

แบบทดสอบก่อนเรียน (Pre Test)

Help Me Please

ให้นักเรียนช่วยหาความสามารถพิเศษของนักเรียน 3 คน

มีนักเรียนจำนวน 3 คน คือ บูม เกี๊ยก และศรราม แต่ละคนมีความสามารถอยู่ 2 อย่าง ที่ไม่ซ้ำกัน คือ  ว่ายน้ำ วิ่งเร็ว ร้องเพลง วาดภาพ คัดลายมือ เล่นดนตรี

ให้นักเรียนบอกว่าใครมีความสามารถอะไรบ้าง

ข้อมูลของครูประจำชั้น

1. บูมให้เพื่อนช่วยวาดภาพเสมอ

2. เกี๊ยกไม่เคยซื้อเครื่องดนตรีเลย

3. ศรรามว่ายน้ำไม่เป็น

4. ครูชมเชยเกี๊ยกว่าเขียนหนังสือสวย

5. บูมซื้อรองเท้ากีฬาคู่ใหม่

6. เกี๊ยกชอบให้ศรรามร้องเพลงให้ฟัง

7. ศรรามช่วยบูมถือเครื่องดนตรี

8. บูมไม่มีชุดว่ายน้ำ

การนำคอมพิวเตอร์มาใช้ในการแก้ปัญหา

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

หากวิเคราะห์วิธีการแก้ปัญหา จะพบว่าสามารถสรุปเป็นทฤษฎีซึ่งมีรูปแบบที่แน่นอนได้  และบางครั้งต้องอาศัยการเรียนรู้ในระดับสูง เพื่อแก้ปัญหาบางอย่างให้สมบูรณ์แบบ

การนำคอมพิวเตอร์มาช่วยในการแก้ปัญหา เพื่อตอบสนองความต้องการของมนุษย์  เช่น การคำนวณ  การพูด  การจำ โดยอาศัยความรู้และประสบการณ์ของบุคคล และการเขียนโปรแกรมสั่งการให้คอมพิวเตอร์สามารถทำงานตามที่เราต้องการ โดยมีฮาร์ดแวร์และซอฟต์แวร์ รองรับ

การแก้ปัญหาด้วย Algorithm

ความหมายของ Algorithm ก่อนที่จะลงมือเขียนโปรแกรม  ต้องออกแบบขั้นตอนการทำงาน  หรืออัลกอริทึม  (Algorithm)  ก่อน  ซึ่งเป็นเครื่องมือในการแสดงขั้นตอนการทำงาน ของระบบงานใด ๆ  เพื่อให้การเขียนโปรแกรมเป็นไปได้อย่างรวดเร็วและง่ายขึ้น

ที่มาของคำว่าอัลกอริทึม (Algorithm) คือ คำที่ตั้งให้เป็นเกียรติแก่ อแลน เดอะ กอริทึม ทิวริง (Alan The Gorithm Turing) ผู้ค้นพบว่าการพิสูจน์ทางคณิตศาสตร์หรือปัญหาทางตรรกะ สามารถหาคำตอบได้ด้วยชุดของขั้นตอนวิธีที่ถูกต้อง

ประโยชน์ของอัลกอริทึม (Algorithm) คือ ทำให้ไม่สับสนกับวิธีดำเนินงาน  เพราะทุกอย่างจะถูกจัดเรียงเป็นขั้นตอนมีวิธีการและทางเลือกไว้  เมื่อนำมาใช้จะทำให้การทำงานสำเร็จอย่างรวดเร็ว ทำให้ปัญหาลดลงหรือสามารถค้นหาต้นเหตุของปัญหาได้อย่างรวดเร็ว  เนื่องจากกระบวนการถูกแยกแยะกิจกรรม  ขั้นตอน และความสัมพันธ์ ออกมาให้เห็นอย่างชัดเจน

รูปแบบการเขียนอัลกอริทึม
1.ลักษณะการบรรยาย (Narrative Description) 
ตัวอย่างโจทย์ ให้เขียนอัลกอริธึมเพื่อหาคะแนนเฉลี่ยของการสอบทั้งหมด 5 วิชา โดยวัดผลจากคะแนน ถ้าคะแนนต่ำกว่า 50 สอบไม่ผ่าน  แต่ถ้าคะแนนมากกว่า 50 ขึ้นไป สอบผ่าน
อัลกอริทึ่มแบบบรรยาย ใส่คะแนนสอบทั้ง 5 วิชา คอมพิวเตอร์คำนวนค่าเฉลี่ยโดยการบวกคะแนนทั้ง 5 วิชา แล้วหาร 5 ถ้าค่าเฉลี่ยต่ำกว่า 50 แสดงข้อความสอบไม่ผ่าน  แต่ถ้าค่าเฉลี่ยสูงกว่า 50 แสดงข้อความสอบผ่าน

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

การเขียนผังงาน (Flowchart) มี 3 แบบ
1. ผังงานแบบเรียงลำดับ  (Sequemce Flowchart)
เป็นการเขียนผังงานแบบง่ายที่สุด ทำงานจากบนลงล่าง ตามลูกศร

2. ผังงานแบบมีทางเลือกหรือแบบมีเงื่อนไข   (Selectiom or Condition Flowchart) 
คือตรวจสอบเงื่อนไขถ้าเป็นจริง ก็ทำงานตามเงื่อนไขที่เป็นจริง ถ้าเป็นเท็จก็ทำตามเงื่อนไขที่เป็นเท็จ
กรณี 1 ทางเลือก

กรณีที่ 2 แบบ 2 ทางเลือก แล้วแต่ผู้ใช้ว่าถ้าเป็นจริงทำตามเงื่อนไข ถ้าเป็นเท็จจะทำงานหรือไม่


3. ผังงานแบบการทำงานแบบวนซ้ำ  (Repetiton or Loop Flowchart)

 

3.รหัสจำลองที่เรียกว่า การเขียนซูโดโค้ด (Pseudo Code) คือการเขียนคำอธิบายขั้นตอนการทำงานของโปรแกรม  โดยใช้ถ้อยคำผสมระหว่างภาษาอังกฤษและภาษาการเขียนโปรแกรมแบบโครงสร้าง  ซึ่งจะช่วยให้ผู้เขียนโปรแกรมสามารถพัฒนาขั้นตอนต่าง ๆ  ให้เป็นโปรแกรมได้ง่ายขึ้น  ส่วนใหญ่มักใช้คำเฉพาะ  (Reserve Word)  ที่มีในภาษาการเขียนโปรแกรมและมักเขียนด้วยตัวอักษรตัวใหญ่  ซูโดโค้ดที่ดี  จะต้องมีความชัดเจน  สั้น  และได้ใจความ  ข้อมูลต่าง ๆ  ที่ใช้จะถูกเขียนอยู่ในรูปของตัวแปร

รูปแบบ Algorithm 
<ชื่อของอัลกอริทึม>
START
1……………………………….
2……………………………….
3…………………………………
END

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

วิเคราะห์โจทย์
แบ่งออกเป็นสองส่วนคือ ส่วนในการรับค่า คือรับค่า ฐาน และ สูงจากผู้ใช้มาเก็บไว้ในตัวแปร และส่วนในการคำนวณ สูตรในการหาพื้นที่สามเหลี่ยมคือ (1/2) * ฐาน * สูง

ตัวอย่าง  การเขียนอัลกอริทึม  คำนวณหาพื้นที่สามเหลี่ยม
อัลกอริทึม (Algorithm) การหาพื้นที่สามเหลี่ยม
เริ่มต้น
รับค่าความยาวของฐานมาเก็บในตัวแปร BASE
รับค่าความยาวของสูงมาเก็บในตัวแปร HEIGHT
คำนวณหาพื้นที่  AREA = 0.5 * BASE*HEIGHT
แสดงผลพื้นที่
จบ

ซูโดโค้ด  (Pseudo codes) Algorithm  Triangle
START
READ  BASE
READ  HEIGHT
AREA = 0.5 * BASE * HEIGHT
PRINT  AREA
END

Flow Chart  การหาพื้นที่สามเหลี่ยม

Source Code
#include <iostream>
using namespace std;
int main()
{
float base , height , area;
cout << "Enter Base : ";
cin >> base;
cout << "Enter Height : ";
cin >> height;
area = 0.5 * base * height;
cout << "Triangle Area Is " << area << endl;
cout << endl;
return 0;
}

Output

ใบงานเรื่อง Algorithm

1.จงเขียนผังงานเพื่อแสดงขั้นตอนการต้มบะหมี่กึ่งสำเร็จรูป

2.จงเขียนผังงานเพื่อรับนักเรียนเข้าเรียน โดยพิจารณาว่านักเรียนคนนั้นจะต้องเรียนปรับพื้นฐานหรือไม่ โดยถ้าคะแนนของเขาน้อยกว่า 50 คะแนน ต้องเรียนปรับพื้นฐาน

3.จงเขียนผังงานเพื่อตรวจสอบเพศของผู้ใช้ โดยให้รับตัวอักขระจากผู้ใช้ ถ้าผู้ใช้ป้อน G แสดงข้อความ You are girl. ถ้าผู้ใช้ป้อน B ให้แสดงข้อความ You are boy.

4.จงเขียนผังงานเพื่อแสดงชื่อตัวเองจำนวน 10 บรรทัด

5.จงเขียนผังงานเพื่อแสดงการผ่อนชำระค่าโทรศัพท์ ราคา 20,000 บาท ต้องผ่อนชำระเดือนละ 2,000 บาท จนกว่าจะครบ

6.จงเขียนผังงานเพื่อหาพื้นที่สี่เหลี่ยมผืนผ้า

7.จงเขียนผังงานเพื่อหาพื้นที่สามเหลี่ยม

8.จงเขียนผังงานเพื่อรับคะแนนสอบกลางภาค และปลายภาคเข้ามาเพื่อหาผลรวม แล้วนำไปเปรียบเทียบเพื่อตัดสินเกรด โดยมีเงื่อนไขดังนี้

0-49    ให้แสดงข้อความว่า  "Fail"

50-59    ให้แสดงข้อความว่า   "grade 1"

60-69 ให้แสดงข้อความว่า   "grade 2"

70-79 ให้แสดงข้อความว่า   "grade 3"

80-100 ให้แสดงข้อความว่า   "grade 4"

 

1 อัลกอริทึม

2 ผังงานแบบลำดับ

Flowchart

Loop Flowchart

5 pseudocode

 

 

 

แบบทดสอบหลังเรียน (Post Test)

Last Updated on Friday, 14 June 2019 01:52
 

Poll กรุณาตอบคำถามค่ะ

คุณเขียนโปรแกรมบ่อยแค่ไหน
 

Poll สื่อการสอน

สื่อแบบไหน ที่คุณชอบ
 

จำนวนผู้ชมที่ online ขณะนี้

We have 14 guests online

analogclock

search engine

Banner
Banner
Banner
Banner
Banner
Banner
Banner
Banner
Banner
Banner
Banner