ก่อนอื่นเลย เรามาเฉลยการบ้านกันก่อนดีกว่า
5)
6)
เอาหล่ะครับ มาขึ้นเรื่องของวันนี้ดีกว่า ซึ่งก็คือเรื่อง การวนซ้ำ (Looping) นั้นเอง
Loop ใน Object Pascal มีอยู่ 3 แบบด้วยกัน คือ
- While
- Repeat Until
- For
ลองมาดู Loop แบบ While กันก่อนดีกว่า
Loop จะทำงานเมื่อเงื่อนไขเป็นจริง พอทำเสร็จก็จะมาเช็คเงื่อนไขใหม่ ถ้ายังเป็นจริงอยู่ก็ทำซ้ำไปเรื่อย ๆ จนกว่าเงื่อนไขจะเป็นเท็จ
ต่อไปมาดู Loop แบบ Repeat Until กันดีกว่า
เมื่อรันโปรแกรม จะทำคำสั่งระหว่าง repeat ... until ก่อน 1 รอบ แล้วไปเช็คเงื่อนไขว่าเป็นจริงหรือเท็จ ถ้าเป็น เท็จ จะวนลูปต่อ แต่ถ้าเป็น จริง จะหลุดออกจากลูป (repeat until แปลว่า ทำซ้ำ จนกระทั่ง)
Loop แบบที่ 3 เป็นลูปที่วนซ้ำโดยมีตัวนับ ลองดู code กันเลย
ทำงานโดยขั้นแรก จะกำหนดค่าให้ I เป็น Low แล้วทำงานในลูป พอจบ 1 รอบ จะบวก I ขึ้น 1 (I := I + 1) แล้วทำซ้ำจนรอบสุดท้าย I เป็น High
เช่น for I := 0 to 9 do เป็นการวนซ้ำ 10 รอบ (จาก 0 ถึง 9)
ลองดูตัวอย่างโปรแกรมรับค่าตัวเลขที่ไม่ติดลบ ถ้าติดลบให้รับค่าเข้ามาใหม่
ลองดูตัวอย่าง Loop for กันบ้าง
จะเห็นว่าค่า Low จะต้อง น้อยกว่า High เสมอ เพราะถ้า Low > High จะไม่มีการเข้าไปทำงานในลูป
แต่ถ้าต้องการให้ไล่จากมากไปน้อย เราจะใช้ downto แทน to เช่น
สำหรับลูป while จะให้ดู code โปรแกรมหาผลรวมของตัวเลขจำนวนเต็มที่รับเข้ามาจนกว่าผลรวมจะมีค่ามากกว่ากว่าหรือเท่ากับ 1 หมื่น
จบแล้วครับ สั้นนิดเดียวเอง ต่อไปก็ถึงการบ้านแล้ว ^_^
7) จงเขียนโปรแกรมรับค่าจำนวนเต็ม แล้วใช้ for วนลูปพิมพ์สูตรคูณแม่ที่รับเข้ามา
8) จงเขียนโปรแกรมพิมพ์สูตรคูณตั้งแต่แม่ 2 ถึง แม่ 12 โดยใช้ for
9) จงเขียนโปรแกรมรับค่าเข้ามาเรื่อย ๆ จนกว่าค่าที่รับเข้ามาจะน้อยกว่าค่าที่รับเข้ามาก่อนหน้า
10) จงเขียนโปรแกรมรับค่าเข้ามาเรื่อย ๆ จนกว่าค่าที่รับเข้ามาจะน้อยกว่าค่าที่รับเข้ามาก่อนหน้า 2 ครั้งติดกัน
11) จงเขียนโปรแกรมหาค่าเฉลี่ยเงินเดือน ให้รับค่าเงินเดือนเข้ามาจนกว่าค่าที่รับเข้ามาจะน้อยกว่าหรือเท่ากับ 0
12) จงเขียนโปรแกรมรับค่าจำนวนเต็มแล้วหาค่า Factorial ( ! ) ซึ่ง
0! = 1
1! = 1
2! = 2 * 1
3! = 3 * 2 * 1
n! = n * n-1 * n-2 * ... * 1 เมื่อ n > 0
No comments:
Post a Comment