วันเสาร์ที่ 28 กรกฎาคม พ.ศ. 2555

โปรแกรมแบบวนซ้ำ (คำสั่งประเภท For while do while)

โปรแกรมแบบวนซ้ำ
(คำสั่งประเภท For , while, do while)

คำสั่งควบคุมการทำงาน แบบ for               
คำสั่ง For เป็นคำสั่งควบคุมการทำงานและกำหนดการทำงานวนรอบคล้าย ๆ กับคำสั่ง while จะมีรูปแบบแตกต่างกับคำสั่งควบคุมการทำงานอืน ๆ
คำสั่ง for เป็นเป็นคำสั่งสั่งควบคุมการทำงานและกำหนดการทำงานวนรอบ โดยตั้งค่าก่อน แล้วจึงทำการพิจารณาเงื่อนไข ถ้าเงื่อนไขเป็นจริง ก็จะทำคำสั่งและวนรอบต่อไป
รูปแบบการเขียน คำสั่ง for
for (ค่าเริ่มต้น;เงื่อนไข;การเพิ่มหรือลดค่า)
ตัวอย่างการโปรแกรม
                     
ผลลัพธ์ของโปรแกรม

การเขียนโดยใช้คำสั่ง for จะเห็นได้ว่ามีความกระชับเขียนได้สั้นกว่าคำสั่ง while เพราะสามารถกำหนดได้ในครั้งเดียว แต่การทำงานก็จะได้ผลเหมือนกันกับคำสั่งwhile
ลักษณะการทำงานก็คือโปรแกรมจะทำการเช็คในส่วนของเงื่อนไข หากเงื่อนไขเป็นจริงก็จะเพิ่มค่าของตัวแปรไป 1 และทำคำสั่งในลูป
จากนั้นก็ทำการตรวจสอบเงื่อนไขอีก หากเงื่อนไขเป็นจริงก็จะทำงานซ้ำ ๆ แบบนี้ไปเรื่อย ๆ จนกว่าเงื่อนไขเป็นเท็จ การทำงานของโปรแกรมก็จะหลุดจากลูป และจบการทำงาน
___________________________________________________________
คำสั่งควบคุมการทำงาน แบบ While  
คำสั่ง While เป็นคำสั่งสำหรับใช้ควบคุมการทำงานแบบมีเงือนไข อีกแบบหนึ่ง ซึ่งแตกต่างออกไปจากการใช้งานคำสั่ง if และ elseif ก่อนหน้านี้ ซึ่งคำสั่ง While เป็นคำสั่งที่จำเป็นในการนำไปใช้เขียนโปรแกรม ลองเข้ามาดูค่ะ ว่ามีรูปแบบการเขียนและวิธีเขียนอย่างไร
คำสั่ง While เป็นคำสั่งสำหรับใช้ควบคุมการทำงานแบบมีเงือนไข ในการกำหนดคำสั่งให้มีการทำงานแบบวนรอบ โดยพิจารณาเงื่อนไขก่อน หากค่าที่ได้เป็นจริงตามเงื่อนไข จึงจะประมวลผลตามคำสั่งที่กำหนดไว้
รูปแบบการเขียน คำสั่ง While
While (...เงื่อนไข...) {คำสั่งที่ต้องการให้ทำงาน เมื่อเงื่อนไขเป็นจริง
ตัวอย่างการโปรแกรม

ผลลัพธ์ของโปรแกรม

การเขียนโดยใช้คำสั่ง for จะเห็นได้ว่ามีความกระชับเขียนได้สั้นกว่าคำสั่ง while เพราะสามารถกำหนดได้ในครั้งเดียว แต่การทำงานก็จะได้ผลเหมือนกันกับคำสั่ง while
ลักษณะการทำงานก็คือโปรแกรมจะทำการเช็คในส่วนของเงื่อนไข หากเงื่อนไขเป็นจริงก็จะเพิ่มค่าของตัวแปรไป 1 และทำคำสั่งในลูป
จากนั้นก็ทำการตรวจสอบเงื่อนไขอีก หากเงื่อนไขเป็นจริงก็จะทำงานซ้ำ ๆ แบบนี้ไปเรื่อย ๆ จนกว่าเงื่อนไขเป็นเท็จ การทำงานของโปรแกรมก็จะหลุดจากลูป และจบการทำงาน
___________________________________________________________
คำสั่งควบคุมการทำงาน แบบ Do...While             
คำสั่งนี้มีลักษณะการทำงานคล้ายกับคำสั่ง While แต่มีส่วนแตกต่างอยู่เล็ก ๆ น้อย ๆ ที่มี Do เพิ่มเข้ามานี่ดิ แล้วไอ้ Do นี่จะทำให้แตกต่างจาก While เดี่ยว ๆ
คำสั่ง do while เป็นคำสั่งที่กำหนดให้มีการทำงานวนรอบ คล้าย ๆ คำสั่ง While แต่แตกต่างกันที่คำสั่ง do while จะให้ทำคำสั่งในลูป do ก่อน แล้วค่อยพิจารณาเงื่อนไขใน while ถ้าค่าเงื่อนไขใน while เป็นจริง จึงจะวนรอบทำคำสั่งในลูป do ต่อไป
รูปแบบการใช้คำสั่ง do while
do {คำสั่ง} while (เงื่อนไข)
ตัวอย่างการโปรแกรม

ผลลัพธ์ของโปรแกรม

จากตัวอย่างการโปรแกรม เราได้ทำการเขียนโปรแกรม โดยสร้างตัวแปร $i แล้วให้มีค่าเท่ากับ 5 หลังจากนั้น ตรงนี้ละที่จะทำงานต่างจาก while เราะจะเจอกับคำสั่ง do เมื่อเจอคำสั่ง do โปรแกรมจะทำเลยทันที (do แปลว่าทำนี่น่า) ซึ่งก็คือแสดงผลค่าตัวแปร i คือ แสดงเลข 5 ออกมา และขึ้นบรรทัดใหม่ แล้วเมื่อเจอคำสั่ง $i-- จำกันได้ไหมเพิ่งผ่านไปในบทความที่แล้ว มีความหมายว่าลบค่า $i ไป 1 ดังนั้นตอนนี้ $i=4 แล้วนะ
จากนั้นโปรแกรมจะเจอคำสั่ง while ซึ่งจะทำการเช็คค่าในตัวแปร i คือ หากตัวแปร i มีค่ามากกว่าหรือเท่ากับ 1 โปรแกรมจะวนลูปทำคำสั่งในลูป do อีกครั้ง การทำงานก็เหมือนคำสั่ง while ก็คือเช็คจนเงื่อนไขเป็นเท็จจึงจะหลุดลูปและจบการทำงาน
คำถามคือ แล้วเมื่อไหร่ละจะหลุดลูป คำตอบก็คือเมื่อมันลดค่า $i ลงรอบละ 1 เรื่อย ๆ จนเมื่อ $i=0 ก็จะหลุดลูปและจบการทำงานค่ะ
ในการทำงานจริง ๆ การเขียนโดยใช้เงือนไขจำพวก while เราจะเอาไปใช้ประโยชน์ในการทำซ้ำ ๆ เช่น การดึงขอมูลจากดาต้าเบสมาแสดง การวนรอบแสดงคำสั่งเซลล์ต่าง ๆ ของตารางเป็นต้น ซึ่งเราจะให้อะไรแสดงผลออกทางหน้าจอ เราก็เอาสิ่งเหล่านั้น มาใส่ไว้ในลูปที่ต้องการให้ทำงานค่ะ แล้วจะแสดงเท่าไหร่ ก็ขึ้นอยู่กับเงื่อนไขค่ะ
___________________________________________________________
เครดิต :
http://www.thainextstep.com/php/php_article.php?articlecat=3&articleid=53
http://www.thainextstep.com/php/php_article.php?articlecat=3&articleid=50
http://www.thainextstep.com/php/php_article.php?articlecat=3&articleid=52

ไม่มีความคิดเห็น:

แสดงความคิดเห็น