โปรแกรมแบบวนซ้ำ (คำสั่งประเภท 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
เราจะเอาไปใช้ประโยชน์ในการทำซ้ำ ๆ เช่น
การดึงขอมูลจากดาต้าเบสมาแสดง การวนรอบแสดงคำสั่งเซลล์ต่าง ๆ ของตารางเป็นต้น
ซึ่งเราจะให้อะไรแสดงผลออกทางหน้าจอ เราก็เอาสิ่งเหล่านั้น
มาใส่ไว้ในลูปที่ต้องการให้ทำงานค่ะ แล้วจะแสดงเท่าไหร่
ก็ขึ้นอยู่กับเงื่อนไขค่ะ
ขอบคุณครับ
ตอบลบขอบคุณมากเลยครับ
ตอบลบ