SlideShare a Scribd company logo
1 of 34
บทที่ 6 เงื่อนไข การตัดสินใจ การควบคุมทิศทาง และการทาซ้า
สมาชิกกลุ่ม
• 1. นางสาวสมหญิง งามเลิศศุภร เลขที่ 12
• 2. นางสาวนัชชา ห้วยหงส์ทอง เลขที่ 15
• 3. นางสาวคันธรส ใคร่ในธรรม เลขที่ 21
• 4. นางสาวรวิสรา คชายุทธ เลขที่ 23
• 5. นางสาวธิดาพร แก้วตา เลขที่ 30
• 6. นางสาวณัฐริกานต์ ธรรมโชติ เลขที่ 33
• 7. นางสาวนุชนาฏ สุดประเสริฐ เลขที่ 34
• 8. นางสาวกานติรัตน์ มนูเดชาวัชร เลขที่ 35
• 9. นางสาวศุภสุตา อินทรภักดี เลขที่ 36
การควบคุมทิศทางการทางาน
การควบคุมทิศทางแบบมีเงื่อนไข
- ได้แก่ คาสั่ง if, if-else,if-elseif และ switch
การควบคุมทิศทางแบบวนรอบ
- ได้แก่ คาสั่ง while,do-while และ for
การควบคุมทิศทางแบบเลือกทา
• คาสั่ง if
ในภาษา Phython คาสั่งสาหรับโครงสร้างการควบคุมเพื่อกาหนดทางเลือกคือประโยค if ซึ่งประกอบด้วยส่วนที่ทาหน้าที่ตรวจสอบเงื่อนไขที่
เรียกว่า นิพจน์ทางตรรกศาสตร์ เราสามารถใช้โครงสร้างการควบคุมแบบ if ได้ในหลาย ๆ รูปแบบ คาสั่ง if เป็นคาสั่งที่ใช้เลือกการทางานตามเงื่อนไข
สามารถแบ่งตามลักษณะการทางานได้3 แบบ ดังนี้
1. คาสั่ง if แบบทางเดียว (if)
2. คาสั่ง if แบบสองทาง (if-else)
3. คาสั่ง if แบบหลายทาง (if-elseif , nested- if)
ผังงาน if แบบ 1 ทางเลือก
ค่าของนิพจน์ทดสอบ
จริง
เท็จ
กลุ่มคาสั่ง
if (นิพจน์ทดสอบ) ประโยคที่ทาเมื่อผลจากนิพจน์ทดสอบเป็นจริง;
เช่น if (x<y) printf(“%d”,y);
ตัวอย่างโปรแกรม if แบบ 1 ทางเลือก
#include <stdio.h>
void main ( )
{
int value;
printf(“Enter an integer: ”);
scanf(“%d”, &value);
if (value = = 5) {
printf(“You entered a value of 5.n”);
printf(“This will now be changed to a 6!n”);
value = value + 1;
}
printf(“Goodbyen”);
}
ประโยคควบคุม if แบบ 2 ทางเลือก
• คาสั่ง if - else
โครงสร้างแบบ if – else คล้ายกับประโยคควบคุม if แบบ 1 ทางเลือก เพียงแต่เพิ่มทางเลือกเข้ามา
ใช้ในกรณีที่เราต้องการให้มีทางเลือก 2 ทางให้ประมวลผล คือ ทางเลือกที่เงื่อนไขจริงมีค่าเป็นจริง และเงื่อนไขที่เป็นเท็จ
ผังงาน ประโยคควบคุม if แบบ 2 ทางเลือก
ค่าของนิพจน์
ทดสอบ
กลุ่มคาสั่ง 1
เท็จ
จริง
กลุ่มคาสั่ง 2
if (นิพจน์ทดสอบ) ประโยคที่ทาเมื่อผลจากนิพจน์ทดสอบเป็นจริง;
else ประโยคที่ทาเมื่อผลจากนิพจน์ทดสอบเป็นเท็จ;
ตัวอย่างคาสั่ง if-else
ถ้าค่าในตัวแปร score มากกว่าหรือเท่ากับ 50 ให้ตัวแปร grade มีค่า ‘p’ แต่ถ้าค่าในตัวแปร score น้อยกว่า 50 ให้ตัวแปรgrade มีค่า ‘f’
• if (score >= 50)
• grade = ‘p’;
• else
• grade = ‘f’;
• printf(“score = %6.2f grade = %c”,score,grade);
ตัวอย่าง ประโยคควบคุม if-else
• การใช้ประโยคควบคุม if แบบ 2 ทางเลือก ตัวอย่างเช่น ในการตรวจสอบค่าตัวแปร totalsale ว่ามากกว่า 100 หรือไม่ ถ้ามากกว่าให้คิดภาษี
7% แต่ถ้าไม่ใช่ ก็ไม่ต้องคิดภาษี ดังนี้
totalsale>100
tax = 0.07*totalsale
เท็จ
จริง
tax =0
ตัวอย่างโปรแกรมแบบ if-else
#include <stdio.h>
main()
{
int point;
printf(“Enter your Exam Points : ”);
scanf(“%d”,&point);
if (point >= 50)
printf(“You Passed.n”);
else
printf(“You didn’t Passed.n”);
}
การควบคุม if elif
• คาสั่ง else สามารถใช้ร่วมกับคาสั่ง if คาสั่ง else มีบล็อกของโค้ดที่รันถ้านิพจน์เงื่อนไขในคาสั่ง If สามารถแก้ไขเป็น 0 หรือเป็นค่า FALSE ได้
• คาสั่ง else คือคาสั่งที่เป็นตัวเลือกและอาจมีคาสั่งต่อไปนี้ได้เพียงหนึ่งคาเท่านั้น
ผังงาน โครงสร้างการควบคุม if-elif
• #!/usr/bin/python
• var1 = 100
• if var1:
• print "1 - Got a true expression value"
• print var1
• else:
• print "1 - Got a false expression value"
• print var1
• var2 = 0
• if var2:
• print "2 - Got a true expression value"
• print var2
• else:
• print "2 - Got a false expression value"
• print var2
• print "Good bye!"
ตัวอย่างโปรแกรมแบบ if-elif
คาสั่ง if ซ้อน if (nested if)
 คาสั่ง if ซ้อน if จะใช้กับปัญหาที่มีเงื่อนไขซับซ้อน อย่างเช่น กาหนดว่าต้องเป็นจานวนคู่และมีค่าไม่เกิน 20 หรือ เงื่อนไขต้องเป็นเพศหญิงอายุไม่เกิน
30 ปี เป็นต้น
 ซึ่งคาสั่ง if ซ้อน if ก็คือคาสั่ง if ตามปกติ แต่เรานามาเขียนซ้อนกันมากกว่า 1 ชั้น ซึ่งมีรูปแบบการเรียกใช้งาน ดังนี้
 if (condition-1)
{
if (condition-2)
{
...
if (condition-n)
statement;
}
}
ตัวอย่างโปรแกรมแบบ nested-if
main()
{
int num;
printf(“Enter your number : ”);
scanf(“%d”,&num);
if (num>=20)
{
if (num<=30)
{
if (num%2==1)
printf(“Right numbern”);
else
printf(“Wrong numbern”);
}
else
printf(“Large numbern”);
}
else
printf(“Small numbern”);
}
การควบคุมทิศทางแบบวนรอบ หรือทาซ้า
• โดยทั่วไปคาสั่งจะถูกดาเนินการตามลาดับ : คาสั่งแรกในฟังก์ชันจะถูกดาเนินการก่อนตามด้วยอันดับที่สองและอื่นๆ อาจมีสถานการณ์เมื่อคุณต้อง
ดาเนินการบล็อกโค้ดหลาย ๆ ครั้ง ภาษาเขียนโปรแกรมมีโครงสร้างการควบคุมที่หลากหลายเพื่อให้สามารถใช้งานได้อย่างมีความซับซ้อนมากขึ้นคาสั่ง
วนรอบช่วยให้เราสามารถเรียกใช้คาสั่งหรือกลุ่มคาสั่งได้หลายครั้ง แผนภาพต่อไปนี้แสดงคาสั่งลูป-
ตัวอย่างผังงานแบบวนรอบหรือทาซ้า
คาสั่ง while loop
ตัวอย่างโปรแกรมแบบ while loop
• #!/usr/bin/python
• count = 0
• while (count < 9):
• print 'The count is:', count
• count = count + 1
• print "Good bye!"
จุดสาคัญของลูปในขณะที่ลูปอาจไม่เคยทางาน เมื่อเงื่อนไขได้รับการทดสอบและผลเป็นเท็จตัวห่วงจะถูกข้ามไปและคาสั่งแรกหลังจากที่ลูปในขณะนั้นจะ
ถูกดาเนินการ
คาสั่ง The Infinite Loop
• ลูปจะกลายเป็นวง จากัด ถ้าเงื่อนไขไม่เป็น FALSE คุณต้องใช้ความระมัดระวังเมื่อใช้while loops เนื่องจากความเป็นไปได้ว่าเงื่อนไขนี้ไม่
สามารถแก้ไขค่า FALSE ได้ส่งผลให้เกิดลูปที่ไม่สิ้นสุด ห่วงดังกล่าวเรียกว่าวง จากัด
• ลูปแบบไม่มีขีด จากัด อาจมีประโยชน์ในการเขียนโปรแกรมแบบไคลเอ็นต์ / เซิร์ฟเวอร์ที่เซิร์ฟเวอร์ต้องการทางานอย่างต่อเนื่องเพื่อให้โปรแกรม
ไคลเอ็นต์สามารถสื่อสารกับมันได้ตามความเหมาะสมและเมื่อจาเป็น
ตัวอย่างโปรแกรมแบบ The Infinite Loop
• #!/usr/bin/python
• var = 1
• while var == 1 : # This constructs an infinite loop
• num = raw_input("Enter a number :")
• print "You entered: ", num
• print "Good bye!"
คาสั่งควบคุม Loop Control Statements
• คาสั่งควบคุม Loop จะเปลี่ยนการทางานจากลาดับปกติ เมื่อการดาเนินการออกจากขอบเขตวัตถุแบบอัตโนมัติทั้งหมดที่สร้างขึ้นในขอบเขตนั้นจะถูกทาลาย
Python สนับสนุนคาสั่งควบคุมต่อไปนี้
Python break statement
• การใช้บ่อยที่สุดสาหรับการแบ่งคือเมื่อมีการเรียกใช้เงื่อนไขภายนอกบางอย่างซึ่งต้องรีบออกจากลูป คาสั่ง break สามารถใช้ได้ทั้งในขณะและในลูป ถ้าคุณกาลังใช้ลูป
ที่ซ้อนกันคาสั่ง break จะหยุดการทางานของลูปที่ด้านในที่สุดและเริ่มรันบรรทัดถัดไปของโค้ดหลังจากบล็อก
ตัวอย่างโปรแกรมแบบ Python break statement
• #!/usr/bin/python
• for letter in 'Python': # First Example
• if letter == 'h':
• break
• print 'Current Letter :', letter
•
• var = 10 # Second Example
• while var > 0:
• print 'Current variable value :', var
• var = var -1
• if var == 5:
• break
• print "Good bye!"
คาสั่ง Python continue statement
• จะส่งกลับตัวควบคุมไปยังจุดเริ่มต้นของลูปในขณะนั้นคาสั่ง continue จะปฏิเสธข้อความที่เหลือทั้งหมดในการวนซ้าในปัจจุบันของลูปและย้ายตัวควบคุมกลับไปที่
ด้านบนสุดของลูป
ตัวอย่างโปรแกรมแบบ Python continue statement
• #!/usr/bin/python
• for letter in 'Python': # First Example
• if letter == 'h':
• continue
• print 'Current Letter :', letter
• var = 10 # Second Example
• while var > 0:
• var = var -1
• if var == 5:
• continue
• print 'Current variable value :', var
• print "Good bye!"
คาสั่ง Python pass Statement
• จะใช้เมื่อคาสั่งต้องsyntactically แต่คุณไม่ต้องการคาสั่งหรือรหัสที่จะรัน คาสั่ง pass คือการดาเนินการ ไม่มีอะไรเกิดขึ้นเมื่อดาเนินการ
รหัสผ่านยังมีประโยชน์ในสถานที่ที่โค้ดของคุณจะไป แต่ยังไม่ได้เขียน
ตัวอย่างโปรแกรมแบบ Python pass Statement
• #!/usr/bin/python
• for letter in 'Python':
• if letter == 'h':
• pass
• print 'This is pass block'
• print 'Current Letter :', letter
• print "Good bye!"
คาสั่ง Python for Loop Statements
• หากลาดับประกอบด้วยรายการนิพจน์จะได้รับการประเมินก่อนจากนั้นรายการแรกในลาดับจะถูกกาหนดให้iterating ตัวแปร iterating_var
ถัดไปบล็อคคาสั่งจะถูกดาเนินการแต่ละรายการในรายการจะถูกกาหนดให้เป็น iterating_var และชุดคาสั่งจะถูกดาเนินการจนกว่าลาดับทั้งหมด
จะหมดลง
• ตัวอย่างโปรแกรมแบบ Python for Loop Statements
• #!/usr/bin/python
• for letter in 'Python': # First Example
• print 'Current Letter :', letter
• fruits = ['banana', 'apple', 'mango']
• for fruit in fruits: # Second Example
• print 'Current fruit :', fruit
• print "Good bye!"
ฟังก์ชัน range
• สร้าง array ใหม่จากฟังก์ชันrange()
• ตัวอย่าง
$a=range(0, 4);
print_r($a);
ผลลัพธ์
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
)
จากตัวอย่าง ฟังก์ชัน range() สร้าง array ใหม่ขึ้นมาจากตัวเลข 0 ถึง 4
การใช้else Statement with Loops
• Python สนับสนุนการมีคาสั่งอื่นที่เชื่อมโยงกับคาสั่ง loop
• ถ้าคาสั่ง else ถูกใช้กับfor loop คาสั่ง else จะถูกดาเนินการเมื่อลูปได้หมดไป
• ถ้าคาสั่ง else ถูกใช้กับwhile loop คาสั่ง else จะถูก execute เมื่อเงื่อนไขเป็น false
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการรวมกันของคาสั่งelse กับคาสั่ง for สาหรับค้นหาตัวเลขที่สาคัญตั้งแต่ 10 ถึง 20
#!/usr/bin/python
for num in range(10,20): #to iterate between 10 to 20
for i in range(2,num): #to iterate on the factors of the number
if num%i == 0: #to determine the first factor
j=num/i #to calculate the second factor
print '%d equals %d * %d' % (num,i,j)
break #to move to the next number, the #first FOR
else: # else part of the loop
print num, 'is a prime number'
จบการนาเสนอ
ขอบคุณค่ะ

More Related Content

More from View Nudchanad

บท1 พฤติกรรมการติดสมาร์ทโฟน
บท1 พฤติกรรมการติดสมาร์ทโฟนบท1 พฤติกรรมการติดสมาร์ทโฟน
บท1 พฤติกรรมการติดสมาร์ทโฟนView Nudchanad
 
บทที่ 1 แมวจรจัด
บทที่ 1 แมวจรจัดบทที่ 1 แมวจรจัด
บทที่ 1 แมวจรจัดView Nudchanad
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือกการเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือกView Nudchanad
 
ปัญหารการฆ่าตัวตาย IS1
ปัญหารการฆ่าตัวตาย IS1ปัญหารการฆ่าตัวตาย IS1
ปัญหารการฆ่าตัวตาย IS1View Nudchanad
 
ปัญหารการฆ่าตัวตายIs1
ปัญหารการฆ่าตัวตายIs1ปัญหารการฆ่าตัวตายIs1
ปัญหารการฆ่าตัวตายIs1View Nudchanad
 
สารสนเทศเพื่อการประกอบการตัดสินใจ
สารสนเทศเพื่อการประกอบการตัดสินใจสารสนเทศเพื่อการประกอบการตัดสินใจ
สารสนเทศเพื่อการประกอบการตัดสินใจView Nudchanad
 
Apple เปิดตัว iOS 10 อัพเดต 10 ฟีเจอร์ใหม่
Apple เปิดตัว iOS 10 อัพเดต 10 ฟีเจอร์ใหม่Apple เปิดตัว iOS 10 อัพเดต 10 ฟีเจอร์ใหม่
Apple เปิดตัว iOS 10 อัพเดต 10 ฟีเจอร์ใหม่View Nudchanad
 

More from View Nudchanad (7)

บท1 พฤติกรรมการติดสมาร์ทโฟน
บท1 พฤติกรรมการติดสมาร์ทโฟนบท1 พฤติกรรมการติดสมาร์ทโฟน
บท1 พฤติกรรมการติดสมาร์ทโฟน
 
บทที่ 1 แมวจรจัด
บทที่ 1 แมวจรจัดบทที่ 1 แมวจรจัด
บทที่ 1 แมวจรจัด
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือกการเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือก
 
ปัญหารการฆ่าตัวตาย IS1
ปัญหารการฆ่าตัวตาย IS1ปัญหารการฆ่าตัวตาย IS1
ปัญหารการฆ่าตัวตาย IS1
 
ปัญหารการฆ่าตัวตายIs1
ปัญหารการฆ่าตัวตายIs1ปัญหารการฆ่าตัวตายIs1
ปัญหารการฆ่าตัวตายIs1
 
สารสนเทศเพื่อการประกอบการตัดสินใจ
สารสนเทศเพื่อการประกอบการตัดสินใจสารสนเทศเพื่อการประกอบการตัดสินใจ
สารสนเทศเพื่อการประกอบการตัดสินใจ
 
Apple เปิดตัว iOS 10 อัพเดต 10 ฟีเจอร์ใหม่
Apple เปิดตัว iOS 10 อัพเดต 10 ฟีเจอร์ใหม่Apple เปิดตัว iOS 10 อัพเดต 10 ฟีเจอร์ใหม่
Apple เปิดตัว iOS 10 อัพเดต 10 ฟีเจอร์ใหม่
 

บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (1)

  • 1. บทที่ 6 เงื่อนไข การตัดสินใจ การควบคุมทิศทาง และการทาซ้า
  • 2. สมาชิกกลุ่ม • 1. นางสาวสมหญิง งามเลิศศุภร เลขที่ 12 • 2. นางสาวนัชชา ห้วยหงส์ทอง เลขที่ 15 • 3. นางสาวคันธรส ใคร่ในธรรม เลขที่ 21 • 4. นางสาวรวิสรา คชายุทธ เลขที่ 23 • 5. นางสาวธิดาพร แก้วตา เลขที่ 30 • 6. นางสาวณัฐริกานต์ ธรรมโชติ เลขที่ 33 • 7. นางสาวนุชนาฏ สุดประเสริฐ เลขที่ 34 • 8. นางสาวกานติรัตน์ มนูเดชาวัชร เลขที่ 35 • 9. นางสาวศุภสุตา อินทรภักดี เลขที่ 36
  • 3. การควบคุมทิศทางการทางาน การควบคุมทิศทางแบบมีเงื่อนไข - ได้แก่ คาสั่ง if, if-else,if-elseif และ switch การควบคุมทิศทางแบบวนรอบ - ได้แก่ คาสั่ง while,do-while และ for
  • 4. การควบคุมทิศทางแบบเลือกทา • คาสั่ง if ในภาษา Phython คาสั่งสาหรับโครงสร้างการควบคุมเพื่อกาหนดทางเลือกคือประโยค if ซึ่งประกอบด้วยส่วนที่ทาหน้าที่ตรวจสอบเงื่อนไขที่ เรียกว่า นิพจน์ทางตรรกศาสตร์ เราสามารถใช้โครงสร้างการควบคุมแบบ if ได้ในหลาย ๆ รูปแบบ คาสั่ง if เป็นคาสั่งที่ใช้เลือกการทางานตามเงื่อนไข สามารถแบ่งตามลักษณะการทางานได้3 แบบ ดังนี้ 1. คาสั่ง if แบบทางเดียว (if) 2. คาสั่ง if แบบสองทาง (if-else) 3. คาสั่ง if แบบหลายทาง (if-elseif , nested- if)
  • 5. ผังงาน if แบบ 1 ทางเลือก ค่าของนิพจน์ทดสอบ จริง เท็จ กลุ่มคาสั่ง if (นิพจน์ทดสอบ) ประโยคที่ทาเมื่อผลจากนิพจน์ทดสอบเป็นจริง; เช่น if (x<y) printf(“%d”,y);
  • 6. ตัวอย่างโปรแกรม if แบบ 1 ทางเลือก #include <stdio.h> void main ( ) { int value; printf(“Enter an integer: ”); scanf(“%d”, &value); if (value = = 5) { printf(“You entered a value of 5.n”); printf(“This will now be changed to a 6!n”); value = value + 1; } printf(“Goodbyen”); }
  • 7. ประโยคควบคุม if แบบ 2 ทางเลือก • คาสั่ง if - else โครงสร้างแบบ if – else คล้ายกับประโยคควบคุม if แบบ 1 ทางเลือก เพียงแต่เพิ่มทางเลือกเข้ามา ใช้ในกรณีที่เราต้องการให้มีทางเลือก 2 ทางให้ประมวลผล คือ ทางเลือกที่เงื่อนไขจริงมีค่าเป็นจริง และเงื่อนไขที่เป็นเท็จ
  • 8. ผังงาน ประโยคควบคุม if แบบ 2 ทางเลือก ค่าของนิพจน์ ทดสอบ กลุ่มคาสั่ง 1 เท็จ จริง กลุ่มคาสั่ง 2 if (นิพจน์ทดสอบ) ประโยคที่ทาเมื่อผลจากนิพจน์ทดสอบเป็นจริง; else ประโยคที่ทาเมื่อผลจากนิพจน์ทดสอบเป็นเท็จ;
  • 9. ตัวอย่างคาสั่ง if-else ถ้าค่าในตัวแปร score มากกว่าหรือเท่ากับ 50 ให้ตัวแปร grade มีค่า ‘p’ แต่ถ้าค่าในตัวแปร score น้อยกว่า 50 ให้ตัวแปรgrade มีค่า ‘f’ • if (score >= 50) • grade = ‘p’; • else • grade = ‘f’; • printf(“score = %6.2f grade = %c”,score,grade);
  • 10. ตัวอย่าง ประโยคควบคุม if-else • การใช้ประโยคควบคุม if แบบ 2 ทางเลือก ตัวอย่างเช่น ในการตรวจสอบค่าตัวแปร totalsale ว่ามากกว่า 100 หรือไม่ ถ้ามากกว่าให้คิดภาษี 7% แต่ถ้าไม่ใช่ ก็ไม่ต้องคิดภาษี ดังนี้ totalsale>100 tax = 0.07*totalsale เท็จ จริง tax =0
  • 11. ตัวอย่างโปรแกรมแบบ if-else #include <stdio.h> main() { int point; printf(“Enter your Exam Points : ”); scanf(“%d”,&point); if (point >= 50) printf(“You Passed.n”); else printf(“You didn’t Passed.n”); }
  • 12. การควบคุม if elif • คาสั่ง else สามารถใช้ร่วมกับคาสั่ง if คาสั่ง else มีบล็อกของโค้ดที่รันถ้านิพจน์เงื่อนไขในคาสั่ง If สามารถแก้ไขเป็น 0 หรือเป็นค่า FALSE ได้ • คาสั่ง else คือคาสั่งที่เป็นตัวเลือกและอาจมีคาสั่งต่อไปนี้ได้เพียงหนึ่งคาเท่านั้น
  • 14. • #!/usr/bin/python • var1 = 100 • if var1: • print "1 - Got a true expression value" • print var1 • else: • print "1 - Got a false expression value" • print var1 • var2 = 0 • if var2: • print "2 - Got a true expression value" • print var2 • else: • print "2 - Got a false expression value" • print var2 • print "Good bye!" ตัวอย่างโปรแกรมแบบ if-elif
  • 15. คาสั่ง if ซ้อน if (nested if)  คาสั่ง if ซ้อน if จะใช้กับปัญหาที่มีเงื่อนไขซับซ้อน อย่างเช่น กาหนดว่าต้องเป็นจานวนคู่และมีค่าไม่เกิน 20 หรือ เงื่อนไขต้องเป็นเพศหญิงอายุไม่เกิน 30 ปี เป็นต้น  ซึ่งคาสั่ง if ซ้อน if ก็คือคาสั่ง if ตามปกติ แต่เรานามาเขียนซ้อนกันมากกว่า 1 ชั้น ซึ่งมีรูปแบบการเรียกใช้งาน ดังนี้  if (condition-1) { if (condition-2) { ... if (condition-n) statement; } }
  • 16. ตัวอย่างโปรแกรมแบบ nested-if main() { int num; printf(“Enter your number : ”); scanf(“%d”,&num); if (num>=20) { if (num<=30) { if (num%2==1) printf(“Right numbern”); else printf(“Wrong numbern”); } else printf(“Large numbern”); } else printf(“Small numbern”); }
  • 17. การควบคุมทิศทางแบบวนรอบ หรือทาซ้า • โดยทั่วไปคาสั่งจะถูกดาเนินการตามลาดับ : คาสั่งแรกในฟังก์ชันจะถูกดาเนินการก่อนตามด้วยอันดับที่สองและอื่นๆ อาจมีสถานการณ์เมื่อคุณต้อง ดาเนินการบล็อกโค้ดหลาย ๆ ครั้ง ภาษาเขียนโปรแกรมมีโครงสร้างการควบคุมที่หลากหลายเพื่อให้สามารถใช้งานได้อย่างมีความซับซ้อนมากขึ้นคาสั่ง วนรอบช่วยให้เราสามารถเรียกใช้คาสั่งหรือกลุ่มคาสั่งได้หลายครั้ง แผนภาพต่อไปนี้แสดงคาสั่งลูป-
  • 20. ตัวอย่างโปรแกรมแบบ while loop • #!/usr/bin/python • count = 0 • while (count < 9): • print 'The count is:', count • count = count + 1 • print "Good bye!" จุดสาคัญของลูปในขณะที่ลูปอาจไม่เคยทางาน เมื่อเงื่อนไขได้รับการทดสอบและผลเป็นเท็จตัวห่วงจะถูกข้ามไปและคาสั่งแรกหลังจากที่ลูปในขณะนั้นจะ ถูกดาเนินการ
  • 21. คาสั่ง The Infinite Loop • ลูปจะกลายเป็นวง จากัด ถ้าเงื่อนไขไม่เป็น FALSE คุณต้องใช้ความระมัดระวังเมื่อใช้while loops เนื่องจากความเป็นไปได้ว่าเงื่อนไขนี้ไม่ สามารถแก้ไขค่า FALSE ได้ส่งผลให้เกิดลูปที่ไม่สิ้นสุด ห่วงดังกล่าวเรียกว่าวง จากัด • ลูปแบบไม่มีขีด จากัด อาจมีประโยชน์ในการเขียนโปรแกรมแบบไคลเอ็นต์ / เซิร์ฟเวอร์ที่เซิร์ฟเวอร์ต้องการทางานอย่างต่อเนื่องเพื่อให้โปรแกรม ไคลเอ็นต์สามารถสื่อสารกับมันได้ตามความเหมาะสมและเมื่อจาเป็น
  • 22. ตัวอย่างโปรแกรมแบบ The Infinite Loop • #!/usr/bin/python • var = 1 • while var == 1 : # This constructs an infinite loop • num = raw_input("Enter a number :") • print "You entered: ", num • print "Good bye!"
  • 23. คาสั่งควบคุม Loop Control Statements • คาสั่งควบคุม Loop จะเปลี่ยนการทางานจากลาดับปกติ เมื่อการดาเนินการออกจากขอบเขตวัตถุแบบอัตโนมัติทั้งหมดที่สร้างขึ้นในขอบเขตนั้นจะถูกทาลาย Python สนับสนุนคาสั่งควบคุมต่อไปนี้
  • 24. Python break statement • การใช้บ่อยที่สุดสาหรับการแบ่งคือเมื่อมีการเรียกใช้เงื่อนไขภายนอกบางอย่างซึ่งต้องรีบออกจากลูป คาสั่ง break สามารถใช้ได้ทั้งในขณะและในลูป ถ้าคุณกาลังใช้ลูป ที่ซ้อนกันคาสั่ง break จะหยุดการทางานของลูปที่ด้านในที่สุดและเริ่มรันบรรทัดถัดไปของโค้ดหลังจากบล็อก
  • 25. ตัวอย่างโปรแกรมแบบ Python break statement • #!/usr/bin/python • for letter in 'Python': # First Example • if letter == 'h': • break • print 'Current Letter :', letter • • var = 10 # Second Example • while var > 0: • print 'Current variable value :', var • var = var -1 • if var == 5: • break • print "Good bye!"
  • 26. คาสั่ง Python continue statement • จะส่งกลับตัวควบคุมไปยังจุดเริ่มต้นของลูปในขณะนั้นคาสั่ง continue จะปฏิเสธข้อความที่เหลือทั้งหมดในการวนซ้าในปัจจุบันของลูปและย้ายตัวควบคุมกลับไปที่ ด้านบนสุดของลูป
  • 27. ตัวอย่างโปรแกรมแบบ Python continue statement • #!/usr/bin/python • for letter in 'Python': # First Example • if letter == 'h': • continue • print 'Current Letter :', letter • var = 10 # Second Example • while var > 0: • var = var -1 • if var == 5: • continue • print 'Current variable value :', var • print "Good bye!"
  • 28. คาสั่ง Python pass Statement • จะใช้เมื่อคาสั่งต้องsyntactically แต่คุณไม่ต้องการคาสั่งหรือรหัสที่จะรัน คาสั่ง pass คือการดาเนินการ ไม่มีอะไรเกิดขึ้นเมื่อดาเนินการ รหัสผ่านยังมีประโยชน์ในสถานที่ที่โค้ดของคุณจะไป แต่ยังไม่ได้เขียน
  • 29. ตัวอย่างโปรแกรมแบบ Python pass Statement • #!/usr/bin/python • for letter in 'Python': • if letter == 'h': • pass • print 'This is pass block' • print 'Current Letter :', letter • print "Good bye!"
  • 30. คาสั่ง Python for Loop Statements
  • 31. • หากลาดับประกอบด้วยรายการนิพจน์จะได้รับการประเมินก่อนจากนั้นรายการแรกในลาดับจะถูกกาหนดให้iterating ตัวแปร iterating_var ถัดไปบล็อคคาสั่งจะถูกดาเนินการแต่ละรายการในรายการจะถูกกาหนดให้เป็น iterating_var และชุดคาสั่งจะถูกดาเนินการจนกว่าลาดับทั้งหมด จะหมดลง • ตัวอย่างโปรแกรมแบบ Python for Loop Statements • #!/usr/bin/python • for letter in 'Python': # First Example • print 'Current Letter :', letter • fruits = ['banana', 'apple', 'mango'] • for fruit in fruits: # Second Example • print 'Current fruit :', fruit • print "Good bye!"
  • 32. ฟังก์ชัน range • สร้าง array ใหม่จากฟังก์ชันrange() • ตัวอย่าง $a=range(0, 4); print_r($a); ผลลัพธ์ Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 ) จากตัวอย่าง ฟังก์ชัน range() สร้าง array ใหม่ขึ้นมาจากตัวเลข 0 ถึง 4
  • 33. การใช้else Statement with Loops • Python สนับสนุนการมีคาสั่งอื่นที่เชื่อมโยงกับคาสั่ง loop • ถ้าคาสั่ง else ถูกใช้กับfor loop คาสั่ง else จะถูกดาเนินการเมื่อลูปได้หมดไป • ถ้าคาสั่ง else ถูกใช้กับwhile loop คาสั่ง else จะถูก execute เมื่อเงื่อนไขเป็น false ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการรวมกันของคาสั่งelse กับคาสั่ง for สาหรับค้นหาตัวเลขที่สาคัญตั้งแต่ 10 ถึง 20 #!/usr/bin/python for num in range(10,20): #to iterate between 10 to 20 for i in range(2,num): #to iterate on the factors of the number if num%i == 0: #to determine the first factor j=num/i #to calculate the second factor print '%d equals %d * %d' % (num,i,j) break #to move to the next number, the #first FOR else: # else part of the loop print num, 'is a prime number'