การเขียนคาสั่งควบคุมแบบมีทางเลือก
คาสั่งจัดเก็บข้อมูลลงหน่วยความจา
1. กฎเกณฑ์การกาหนดชื่อ
ชื่อ (Identifier) หมายถึง ชื่อหน่วยความจาประเภทตัวแปร ชื่อหน่วยความจาประเภท
ค่าคงที่ หรือ ชื่อ ในส่วนใดๆ ของโปรแกรมที่ผู้สร้างโปรแกรมเป็นผู้กาหนดด้วยตนเอง มีกฎเกณฑ์
ดังนี้
1. อักขระแรกต้องเป็นตัวอักษร หรือเครื่องหมายขีดล่าง (_) ตัวถัดไปเป็นตัวอักษร หรือ
ตัวเลข หรือ เครื่องหมายขีดล่าง (_) ก็ได้
2. ชื่อที่ใช้อักษรตัวพิมพ์ใหญ่ หรือตัวพิมพ์เล็ก จะจัดเก็บข้อมูลในหน่วยความจาตาแหน่งที่
ต่างกัน
3. ห้ามใช้อักขระพิเศษ เช่น $ @ และห้ามมีช่องว่างระหว่างอักขระโดยเด็ดขาด
4. ควรตั้งชื่อให้มีความหมายสอดคล้องกับงาน
5. ต้องไม่ซ้ากับคาสงวนของภาษาซี (Reserved Word)
2. ชนิดของข้อมูล
ภาษาซีมีชนิดของข้อมูล
พื้นฐานให้เลือกใช้งาน 3 กลุ่ม
หลักคือ อักขระ ตัวเลขจานวน
เต็ม ตัวเลขทศนิยม
ชนิดข้อมูล การเก็บข้อมูล
char เก็บแบบอักขระ
unsigned char เก็บแบบอักขระ ไม่คิดเครื่องหมาย
int เก็บแบบจานวนเต็ม
unsigned int เก็บแบบจานวนเต็ม ไม่คิดเครื่องหมาย
Short เก็บแบบจานวนเต็มแบบสั้น
unsigned short เก็บแบบจานวนเต็มแบบสั้น ไม่คิด เครื่องหมาย
long เก็บแบบจานวนเต็มแบบแบบยาว
unsigned long เก็บแบบจานวนเต็มแบบแบบยาว ไม่คิด
เครื่องหมาย
float เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 6 หลัก
double เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 12 หลัก
long double เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 24 หลัก
ตารางชนิดข้อมูลของภาษาซี
ตามมาตรฐาน
3. คาสั่งกาหนดข้อมูลแบบค่าคงที่ มี 3 ลักษณะคือ
3.1 ไม่ต้องกาหนดชื่อหน่วยความจารองรับข้อมูล
(Literal Constant)
ตัวอย่างคาสั่ง พิมพ์ค่าคงที่ไม่ผ่านการใช้
หน่วยความจา
อธิบาย เลข 4 กับ ‘c’ คือข้อมูลแบบค่าคงที่ ไม่
ต้องจัดเก็บในหน่วยความจา
3.2 เขียนบริเวณส่วนหัว ในโครงสร้างภาษาซี
(Defined Constant)
รูปแบบ
3.3 เขียนบริเวณส่วนฟังก์ชันหลัก main ( )
(Memory Constant)
รูปแบบ
printf (“2 * 2 = %d n” , 4 ) ;
printf (“c => %c %c n” , ‘c’ ) ;
#define macro_name data ;
const variable = data ;
การเขียนนิพจน์เชิงตรรกะ
1. ตัวดาเนินการทางคณิตศาสตร์
(Mathematical Operators)
ตัว
ดาเนินการ
ศัพท์เฉพาะ
ความห
มาย
ตัวอย่าง ผลลัพธ์
+ addition บวก 10+2 12
- subtraction ลบ 10-2 8
* multiplication คูณ 10*2 20
/ division หาร 10/2 5(หากมีเศษปัดทิ้ง)
% remainder
หารเอา
เศษ
10%2 0
ตารางสัญลักษณ์ตัวดาเนินการทางคณิตศาสตร์
2. ตัวดาเนินการความสัมพันธ์ (Relational Operators)
ใช้เขียนประโยคคาสั่งแบบมีเงื่อนไข 1 ประโยค
ตารางสัญลักษณ์ตัวดาเนินการความสัมพันธ์
ตัวดาเนินการ ศัพท์เฉพาะ ตัวอย่าง ผลลัพธ์
กาหนด a=3, b=2
< less than a<b ; คาตอบคือ false
> greater than a>b ; คาตอบคือ true
<= less than or equal a<=b ; คาตอบคือ false
>= greater than or equal a>=b ; คาตอบคือ true
= equal a=b ; คาตอบคือ false
!= not equal a!=b ; คาตอบคือ true
3. ตัวดาเนินการเชิงตรรกะ (Logical Operators)
เป็นสัญลักษณ์ใช้เชื่อมประโยคคาสั่งแบบมีเงื่อนไข 2 ประโยคขึ้นไป
ตรรกะ คือ การคิดเชิงเหตุผลที่มีความจริงค่าใดค่าหนึ่งคือ จริง (True: 1) หรือ (False: 0)
ตารางสัญลักษณ์ตัวดาเนินการเชิงตรรกะ
ตัวดาเนินการ ศัพท์เฉพาะ ตัวอย่าง ผลลัพธ์
กาหนด a=9
&& AND (a>0)&&(a<5) ; คาตอบคือ false
|| OR (a>0)||(a<5) ; คาตอบคือ true
! NOT !(a>0) ; คาตอบคือ false
คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
1. กรณีใช้ประโยคคาสั่งแบบ if
ประสิทธิภาพของคาสั่ง :
ควบคุมการทางานแบบมีทางเลือก
ลักษณะหากประโยคเงื่อนไข
ตรรกะได้ข้อสรุปค่าความจริงเป็น
จริง ให้ไปทางานตามคาลั่ง (กลุ่ม
คาสั่ง) ต่อจากประโยคเงื่อนไข
แล้วไปตาแหน่ง บรรทัดคาสั่งชุด
ต่อไป แต่หากเงื่อนไขเป็นเท็จไม่
ต้องทาคาสั่งใดให้ไปทางานที่
ตาแหน่งคาสั่งต่อไป
รูปแบบการเขียนคาสั่งและแนวทางผังงานแบบ If
รูปแบบที่ 1 กรณีหลังเงื่อนไข if มี 1 คาสั่ง
If (เงื่อนไข)
คาสั่ง ; (กรณีเงื่อนไขเป็นจริง)
คาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็น
เท็จ)
รูปแบบที่ 2 กรณีหลังเงื่อนไข if มีมากกว่า 1 คาสั่ง
If (เงื่อนไข)
{
กลุ่มคาสั่ง ; (กรณีเงื่อนไขเป็นจริง)
} ;
คาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ)
2. กรณีใช้ประโยคคาสั่งแบบ if – else
ประสิทธิภาพของคาสั่ง: ใช้กรณีควบคุม
การทางานในลักษณะ หากประโยคเงื่อนไขตรรกะ
ได้ข้อสรุปความจริงเป็นจริง ให้ทางานตามคาสั่ง
(กลุ่มคาสั่ง) ชุดที่ 1 แล้วไปที่คาสั่งต่อไป แต่หาก
เงื่อนไขตรรกะเป็นเท็จ ให้ทางานตามคาสั่ง (กลุ่ม
คาสั่ง) ชุดที่ 2 แล้วไปทางานที่ตาแหน่งคาสั่งชุด
ต่อไป
รูปแบบคาสั่ง
if (เงื่อนไข)
คาสั่งชุดที่ 1 (กรณีเงื่อนไขเป็นจริง) ;
else
คาสั่งชุดที่ 2 (กรณีเงื่อนไขเป็นเท็จ) ;
คาสั่งชุดต่อไป;
3. กรณีใช้ประโยคคาสั่งแบบ if–else if–else
ประสิทธิภาพคาสั่ง: ใช้กรณีควบคุมการ
ทางานในลักษณะ หากประโยคเงื่อนไขตรรกะมี
ทางเลือกทางานมากกว่า 2 ทางเลือก ระบบจะ
ตรวจสอบเงื่อนไข ดังนี้
รูปแบบ
if (เงื่อนไขประโยคที่ 1)
คาสั่งชุดที่ 1 ; (กรณีเงื่อนไขประโยคที่ 1 เป็นจริง)
else if (เงื่อนไขประโยคที่ 2)
คาสั่งชุดที่ 2 ; (กรณีเงื่อนไขประโยคที่ 2 เป็นจริง)
…
else
คาสั่งชุดที่ n ; (นอกเหนือจากเงื่อนไขข้างต้น)
คาสั่งชุดต่อไป ;
4. โครงสร้าง หรือ รูปแบบ ที่ใช้ if ซ้อนกัน หรือ
อาจเรียกว่า nested if
โครงสร้าง nested if เพิ่ม if เข้ามาใน
คาสั่ง if ทาให้ใช้คาสั่ง if เพิ่มได้ตามที่ต้องการ
ใช้กับการตัดสินใจที่มีทางเลือกมากกว่า 2
ทางเลือก อาจเขียนผังงานได้เป็น (มีได้หลาย
แบบ)
คาสั่งควบคุมแบบมีทางเลือก ลักษณะ switch
คาสั่ง switch ใช้ควบคุมการทางานแบบมี
ทางเลือก กรณีที่ทางเลือกการทางานมีจานวนมาก
ภาษาซีออกแบบคาสั่ง switch ให้ทางานลักษณะ
วิเคราะห์ตรวจสอบค่าของตัวแปรหรือนิพจน์ว่าตรง
กับค่าภายในคาสั่ง case ใด จะทางานตามคาสั่ง
ภายใต้การควบคุมของคาสั่ง case นั้น แต่หาก
ตรวจสอบแล้วไม่ตรงกับคาสั่งใดเลย จะทางาน
ภายใต้คาสั่ง default
** เงื่อนไขที่ใช้กับคาสั่ง switch ต้องเป็นคาสั่งแบบ
ประโยคเงื่อนไขแบบ 1 ประโยค การทางานของ
switch จะต้องมีคาสั่ง break เพื่อออกจากการ
ทางานของ case นั้นโดยไม่ต้องผ่าน case
ถัดไป
1. รูปแบบการเขียนคาสั่งและแนวทางผังงานแบบ
switch
การใช้คาสั่งswitch
switch ( ver / expression)
{
case ค่าที่ 1 : คาสั่งชุดที่ 1 ;
break ;
case ค่าที่ 2 : คาสั่งชุดที่ 2 ;
break ;
…
case ค่าที่ n : คาสั่งชุดที่ n ;
break ;
default : คาสั่ง ;
}
แนวการเขียนผังงานคาสั่งswitch
กรณีศึกษาการใช้คาสั่งควบคุมแบบมีทางเลือก
กรณีใช้คาสั่ง switch
โจทย์ : จงเขียนงานโปรแกรมในลักษณะ
เมนูเลือกการทางาน ด้วยคาสั่ง switch
ดังนี้
ขั้นตอนการพัฒนางานโปรแกรม
1. การวิเคราะห์ระบบงานเบื้องต้น
1.1 สิ่งที่ต้องการ โปรแกรมเมนูเลือกการคานวณพื้นที่
สี่เหลี่ยม และพื้นที่สามเหลี่ยม
1.2 สมการคานวณ พื้นที่สี่เหลี่ยม = กว้าง x ยาว
พื้นที่สามเหลี่ยม = ฐาน x สูง /2
1.3 ข้อมูลนาเข้า ตัวเลือกเมนู ความกว้าง ความยาว หรือ
ฐานกับสูง
1.4 การแสดงผลตามโจทย์กาหนด
1.5 กาหนดคุณสมบัติตัวแปร
กาหนดให้ กด 1 คานวณพื้นที่สี่เหลี่ยมจัตุรัส
กด 2 คานวณพื้นที่สามเหลี่ยม
กด 3 ออกจากระบบงาน
นอกเหนือจากนี้ แจ้งข้อความการกดหมายเลขผิดพลาด
ข้อมูล ชื่อหน่วยความจา ชนิดข้อมูล
ความกว้าง w ตัวเลขทศนิยม
ความยาว l ตัวเลขทศนิยม
ฐาน b ตัวเลขทศนิยม
สูง h ตัวเลขทศนิยม
พื้นที่ area ตัวเลขทศนิยม
ตัวเลือกเมนู ans อักษะ
1.6 ลาดับขั้นตอนการทางาน (action)
1) เริ่มต้นการทางาน
2) แสดงส่วนเมนูเลือกงาน
3) ป้อนค่าตัวเลือกเมนู (ans)
4) เลือกทางานด้วยคาสั่ง switch (ans)
4.1) ถ้า ans เป็น ‘1’ ให้ทา
งานกลุ่มคาสั่ง ดังนี้
- ป้อนคาสั่ง w, l
- คานวณ area = w * l
- พิมพ์ area
(ออกไปทางานข้อ 5)
4.2) ถ้า ans เป็น ‘2’
ให้ทางานกลุ่มคาสั่ง ดังนี้
- ป้อนคาสั่ง b, h
- คานวณ area = b * h/2
- พิมพ์ area
(ออกไปทางานข้อ 5)
4.3) ถ้า ans เป็น ‘3’ ให้ทางานกลุ่ม
คาสั่ง ดังนี้
- ออกจากส่วนการทางาน
(ออกไปทางานข้อ 5)
4.4) นอกเหนือจากนี้ พิมพ์ข้อความแจ้ง
ข้อผิดพลาด
(ออกไปทางานข้อ 5)
5) สิ้นสุดการทางาน
2. แผนผังงาน
3. คาสั่งควบคุมการทางาน
ตัวอย่างโปรแกรม กรณีศึกษา
โปรแกรมระบบงาน ลักษณะ
เมนูเลือกการทางาน ควบคุมการ
เลือกการทางานด้วยคาสั่ง
switch

บทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือก

  • 1.
  • 2.
    คาสั่งจัดเก็บข้อมูลลงหน่วยความจา 1. กฎเกณฑ์การกาหนดชื่อ ชื่อ (Identifier)หมายถึง ชื่อหน่วยความจาประเภทตัวแปร ชื่อหน่วยความจาประเภท ค่าคงที่ หรือ ชื่อ ในส่วนใดๆ ของโปรแกรมที่ผู้สร้างโปรแกรมเป็นผู้กาหนดด้วยตนเอง มีกฎเกณฑ์ ดังนี้ 1. อักขระแรกต้องเป็นตัวอักษร หรือเครื่องหมายขีดล่าง (_) ตัวถัดไปเป็นตัวอักษร หรือ ตัวเลข หรือ เครื่องหมายขีดล่าง (_) ก็ได้ 2. ชื่อที่ใช้อักษรตัวพิมพ์ใหญ่ หรือตัวพิมพ์เล็ก จะจัดเก็บข้อมูลในหน่วยความจาตาแหน่งที่ ต่างกัน 3. ห้ามใช้อักขระพิเศษ เช่น $ @ และห้ามมีช่องว่างระหว่างอักขระโดยเด็ดขาด 4. ควรตั้งชื่อให้มีความหมายสอดคล้องกับงาน 5. ต้องไม่ซ้ากับคาสงวนของภาษาซี (Reserved Word)
  • 3.
    2. ชนิดของข้อมูล ภาษาซีมีชนิดของข้อมูล พื้นฐานให้เลือกใช้งาน 3กลุ่ม หลักคือ อักขระ ตัวเลขจานวน เต็ม ตัวเลขทศนิยม ชนิดข้อมูล การเก็บข้อมูล char เก็บแบบอักขระ unsigned char เก็บแบบอักขระ ไม่คิดเครื่องหมาย int เก็บแบบจานวนเต็ม unsigned int เก็บแบบจานวนเต็ม ไม่คิดเครื่องหมาย Short เก็บแบบจานวนเต็มแบบสั้น unsigned short เก็บแบบจานวนเต็มแบบสั้น ไม่คิด เครื่องหมาย long เก็บแบบจานวนเต็มแบบแบบยาว unsigned long เก็บแบบจานวนเต็มแบบแบบยาว ไม่คิด เครื่องหมาย float เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 6 หลัก double เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 12 หลัก long double เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 24 หลัก ตารางชนิดข้อมูลของภาษาซี ตามมาตรฐาน
  • 4.
    3. คาสั่งกาหนดข้อมูลแบบค่าคงที่ มี3 ลักษณะคือ 3.1 ไม่ต้องกาหนดชื่อหน่วยความจารองรับข้อมูล (Literal Constant) ตัวอย่างคาสั่ง พิมพ์ค่าคงที่ไม่ผ่านการใช้ หน่วยความจา อธิบาย เลข 4 กับ ‘c’ คือข้อมูลแบบค่าคงที่ ไม่ ต้องจัดเก็บในหน่วยความจา 3.2 เขียนบริเวณส่วนหัว ในโครงสร้างภาษาซี (Defined Constant) รูปแบบ 3.3 เขียนบริเวณส่วนฟังก์ชันหลัก main ( ) (Memory Constant) รูปแบบ printf (“2 * 2 = %d n” , 4 ) ; printf (“c => %c %c n” , ‘c’ ) ; #define macro_name data ; const variable = data ;
  • 5.
    การเขียนนิพจน์เชิงตรรกะ 1. ตัวดาเนินการทางคณิตศาสตร์ (Mathematical Operators) ตัว ดาเนินการ ศัพท์เฉพาะ ความห มาย ตัวอย่างผลลัพธ์ + addition บวก 10+2 12 - subtraction ลบ 10-2 8 * multiplication คูณ 10*2 20 / division หาร 10/2 5(หากมีเศษปัดทิ้ง) % remainder หารเอา เศษ 10%2 0 ตารางสัญลักษณ์ตัวดาเนินการทางคณิตศาสตร์
  • 6.
    2. ตัวดาเนินการความสัมพันธ์ (RelationalOperators) ใช้เขียนประโยคคาสั่งแบบมีเงื่อนไข 1 ประโยค ตารางสัญลักษณ์ตัวดาเนินการความสัมพันธ์ ตัวดาเนินการ ศัพท์เฉพาะ ตัวอย่าง ผลลัพธ์ กาหนด a=3, b=2 < less than a<b ; คาตอบคือ false > greater than a>b ; คาตอบคือ true <= less than or equal a<=b ; คาตอบคือ false >= greater than or equal a>=b ; คาตอบคือ true = equal a=b ; คาตอบคือ false != not equal a!=b ; คาตอบคือ true
  • 7.
    3. ตัวดาเนินการเชิงตรรกะ (LogicalOperators) เป็นสัญลักษณ์ใช้เชื่อมประโยคคาสั่งแบบมีเงื่อนไข 2 ประโยคขึ้นไป ตรรกะ คือ การคิดเชิงเหตุผลที่มีความจริงค่าใดค่าหนึ่งคือ จริง (True: 1) หรือ (False: 0) ตารางสัญลักษณ์ตัวดาเนินการเชิงตรรกะ ตัวดาเนินการ ศัพท์เฉพาะ ตัวอย่าง ผลลัพธ์ กาหนด a=9 && AND (a>0)&&(a<5) ; คาตอบคือ false || OR (a>0)||(a<5) ; คาตอบคือ true ! NOT !(a>0) ; คาตอบคือ false
  • 8.
    คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if 1.กรณีใช้ประโยคคาสั่งแบบ if ประสิทธิภาพของคาสั่ง : ควบคุมการทางานแบบมีทางเลือก ลักษณะหากประโยคเงื่อนไข ตรรกะได้ข้อสรุปค่าความจริงเป็น จริง ให้ไปทางานตามคาลั่ง (กลุ่ม คาสั่ง) ต่อจากประโยคเงื่อนไข แล้วไปตาแหน่ง บรรทัดคาสั่งชุด ต่อไป แต่หากเงื่อนไขเป็นเท็จไม่ ต้องทาคาสั่งใดให้ไปทางานที่ ตาแหน่งคาสั่งต่อไป รูปแบบการเขียนคาสั่งและแนวทางผังงานแบบ If รูปแบบที่ 1 กรณีหลังเงื่อนไข if มี 1 คาสั่ง If (เงื่อนไข) คาสั่ง ; (กรณีเงื่อนไขเป็นจริง) คาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็น เท็จ)
  • 9.
    รูปแบบที่ 2 กรณีหลังเงื่อนไขif มีมากกว่า 1 คาสั่ง If (เงื่อนไข) { กลุ่มคาสั่ง ; (กรณีเงื่อนไขเป็นจริง) } ; คาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ)
  • 10.
    2. กรณีใช้ประโยคคาสั่งแบบ if– else ประสิทธิภาพของคาสั่ง: ใช้กรณีควบคุม การทางานในลักษณะ หากประโยคเงื่อนไขตรรกะ ได้ข้อสรุปความจริงเป็นจริง ให้ทางานตามคาสั่ง (กลุ่มคาสั่ง) ชุดที่ 1 แล้วไปที่คาสั่งต่อไป แต่หาก เงื่อนไขตรรกะเป็นเท็จ ให้ทางานตามคาสั่ง (กลุ่ม คาสั่ง) ชุดที่ 2 แล้วไปทางานที่ตาแหน่งคาสั่งชุด ต่อไป รูปแบบคาสั่ง if (เงื่อนไข) คาสั่งชุดที่ 1 (กรณีเงื่อนไขเป็นจริง) ; else คาสั่งชุดที่ 2 (กรณีเงื่อนไขเป็นเท็จ) ; คาสั่งชุดต่อไป;
  • 11.
    3. กรณีใช้ประโยคคาสั่งแบบ if–elseif–else ประสิทธิภาพคาสั่ง: ใช้กรณีควบคุมการ ทางานในลักษณะ หากประโยคเงื่อนไขตรรกะมี ทางเลือกทางานมากกว่า 2 ทางเลือก ระบบจะ ตรวจสอบเงื่อนไข ดังนี้ รูปแบบ if (เงื่อนไขประโยคที่ 1) คาสั่งชุดที่ 1 ; (กรณีเงื่อนไขประโยคที่ 1 เป็นจริง) else if (เงื่อนไขประโยคที่ 2) คาสั่งชุดที่ 2 ; (กรณีเงื่อนไขประโยคที่ 2 เป็นจริง) … else คาสั่งชุดที่ n ; (นอกเหนือจากเงื่อนไขข้างต้น) คาสั่งชุดต่อไป ;
  • 12.
    4. โครงสร้าง หรือรูปแบบ ที่ใช้ if ซ้อนกัน หรือ อาจเรียกว่า nested if โครงสร้าง nested if เพิ่ม if เข้ามาใน คาสั่ง if ทาให้ใช้คาสั่ง if เพิ่มได้ตามที่ต้องการ ใช้กับการตัดสินใจที่มีทางเลือกมากกว่า 2 ทางเลือก อาจเขียนผังงานได้เป็น (มีได้หลาย แบบ)
  • 13.
    คาสั่งควบคุมแบบมีทางเลือก ลักษณะ switch คาสั่งswitch ใช้ควบคุมการทางานแบบมี ทางเลือก กรณีที่ทางเลือกการทางานมีจานวนมาก ภาษาซีออกแบบคาสั่ง switch ให้ทางานลักษณะ วิเคราะห์ตรวจสอบค่าของตัวแปรหรือนิพจน์ว่าตรง กับค่าภายในคาสั่ง case ใด จะทางานตามคาสั่ง ภายใต้การควบคุมของคาสั่ง case นั้น แต่หาก ตรวจสอบแล้วไม่ตรงกับคาสั่งใดเลย จะทางาน ภายใต้คาสั่ง default ** เงื่อนไขที่ใช้กับคาสั่ง switch ต้องเป็นคาสั่งแบบ ประโยคเงื่อนไขแบบ 1 ประโยค การทางานของ switch จะต้องมีคาสั่ง break เพื่อออกจากการ ทางานของ case นั้นโดยไม่ต้องผ่าน case ถัดไป 1. รูปแบบการเขียนคาสั่งและแนวทางผังงานแบบ switch การใช้คาสั่งswitch switch ( ver / expression) { case ค่าที่ 1 : คาสั่งชุดที่ 1 ; break ; case ค่าที่ 2 : คาสั่งชุดที่ 2 ; break ; … case ค่าที่ n : คาสั่งชุดที่ n ; break ; default : คาสั่ง ; }
  • 14.
  • 15.
    กรณีศึกษาการใช้คาสั่งควบคุมแบบมีทางเลือก กรณีใช้คาสั่ง switch โจทย์ :จงเขียนงานโปรแกรมในลักษณะ เมนูเลือกการทางาน ด้วยคาสั่ง switch ดังนี้ ขั้นตอนการพัฒนางานโปรแกรม 1. การวิเคราะห์ระบบงานเบื้องต้น 1.1 สิ่งที่ต้องการ โปรแกรมเมนูเลือกการคานวณพื้นที่ สี่เหลี่ยม และพื้นที่สามเหลี่ยม 1.2 สมการคานวณ พื้นที่สี่เหลี่ยม = กว้าง x ยาว พื้นที่สามเหลี่ยม = ฐาน x สูง /2 1.3 ข้อมูลนาเข้า ตัวเลือกเมนู ความกว้าง ความยาว หรือ ฐานกับสูง 1.4 การแสดงผลตามโจทย์กาหนด 1.5 กาหนดคุณสมบัติตัวแปร กาหนดให้ กด 1 คานวณพื้นที่สี่เหลี่ยมจัตุรัส กด 2 คานวณพื้นที่สามเหลี่ยม กด 3 ออกจากระบบงาน นอกเหนือจากนี้ แจ้งข้อความการกดหมายเลขผิดพลาด
  • 16.
    ข้อมูล ชื่อหน่วยความจา ชนิดข้อมูล ความกว้างw ตัวเลขทศนิยม ความยาว l ตัวเลขทศนิยม ฐาน b ตัวเลขทศนิยม สูง h ตัวเลขทศนิยม พื้นที่ area ตัวเลขทศนิยม ตัวเลือกเมนู ans อักษะ 1.6 ลาดับขั้นตอนการทางาน (action) 1) เริ่มต้นการทางาน 2) แสดงส่วนเมนูเลือกงาน 3) ป้อนค่าตัวเลือกเมนู (ans) 4) เลือกทางานด้วยคาสั่ง switch (ans) 4.1) ถ้า ans เป็น ‘1’ ให้ทา งานกลุ่มคาสั่ง ดังนี้ - ป้อนคาสั่ง w, l - คานวณ area = w * l - พิมพ์ area (ออกไปทางานข้อ 5)
  • 17.
    4.2) ถ้า ansเป็น ‘2’ ให้ทางานกลุ่มคาสั่ง ดังนี้ - ป้อนคาสั่ง b, h - คานวณ area = b * h/2 - พิมพ์ area (ออกไปทางานข้อ 5) 4.3) ถ้า ans เป็น ‘3’ ให้ทางานกลุ่ม คาสั่ง ดังนี้ - ออกจากส่วนการทางาน (ออกไปทางานข้อ 5) 4.4) นอกเหนือจากนี้ พิมพ์ข้อความแจ้ง ข้อผิดพลาด (ออกไปทางานข้อ 5) 5) สิ้นสุดการทางาน
  • 18.
  • 19.
    3. คาสั่งควบคุมการทางาน ตัวอย่างโปรแกรม กรณีศึกษา โปรแกรมระบบงานลักษณะ เมนูเลือกการทางาน ควบคุมการ เลือกการทางานด้วยคาสั่ง switch