ݺߣ

ݺߣShare a Scribd company logo
งาน อ.ทรงศักดิ์
งาน อ.ทรงศักดิ์
รหัสภาษาเครื่องเมื่อเก็บอยู่ในหน่วยความจาของคอมพิวเตอร์จะมี
ลักษณะเรียงต่อกันไป สมมติให้ส่วนของคาสั่งเก็บในหน่วยความจาเริ่มจาก
ตาแหน่ง 1000 และส่วนของข้อมูลเก็บไว้เริ่มจากตาแหน่ง 8000 ดังรูป
ภาษาเครื่องเป็ นภาษาสั่งการพื้นฐานที่ใช้รหัสตัวเลขฐานสอง
คอมพิวเตอร์ที่ใช้ หน่วยประมวลผลกลางต่างตระกูลกันจะมีภาษาเครื่องที่
แตกต่างกัน เช่น เครื่องที่ใช้ซีพียู เพนเตียม (Pentium) กับซีพียูที่ใช้ในเครื่อง
แมกอินทอช มีรหัสคาสั่งต่างกัน
1.คำสั่งจัดเก็บข้อมูลลงหน่วยควำมจำ
00111010
00000000
10000000
01000111
00111010
00000001
10000000
10000000
00110010
00000010
10000000
.
.
.
.
00000011
00000101
00001000
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
.
.
.
8000
8001
8002
0
0
1
0
0
1
1
1
1
1
1
.
.
.
0
0
1
รูปการเก็บข้อมูลและคาสั่งลงในหน่วยความจาด้วยรหัสเลขฐานสอง
1.คำสั่งจัดเก็บข้อมูลลงหน่วยควำมจำ
งาน อ.ทรงศักดิ์
2.กำรเขียนนิพจน์เชิงตรรกะ
2.1 ตัวดำเนินกำรทำงคณิตศำสตร์ (Mathematical Operators)
ตารางสัญลักษณ์ตัวดาเนินการทางคณิตศาสตร์
2.2 ตัวดำเนินกำรควำมสัมพันธ์ (relational Operators)
ตารางสัญลักษณ์ตัวดาเนินการความสัมพันธ์
2.กำรเขียนนิพจน์เชิงตรรกะ
2.3 ตัวดำเนินกำรเชิงตรรกะ (Logical Operators)
ตรรกะ คือ กำรคิดเชิงเหตุผลที่มีควำมจริงค่ำใดค่ำหนึ่งคือ
จริง (True:1)หรือ (False:0)
ตารางสัญลักษณ์ตัวดาเนินการความสัมพันธ์
2.กำรเขียนนิพจน์เชิงตรรกะ
งาน อ.ทรงศักดิ์
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
คาสั่ง if เป็นคาสั่งในการตรวจสอบเงื่อนไข โดยรูปแบบการใช้งาน
คาสั่ง if มีรูปแบบ 3 รูปแบบดังนี้ คือ
ประโยค if แบบง่ำย
ประโยค if แบบง่าย 1 ทางเลือก คือ การเขียนประโยค if ที่มีการ
ตรวจสอบเงื่อนไขเพียงหนึ่งทางเลือก คือ ถ้าเงื่อนไขเป็นจริง จะทางานในส่วนของ
คาสั่งที่กาหนด แต่ถ้าเงื่อนไขเป็นเท็จ จะข้ามการทางานของคาสั่งดังกล่าวไป ดัง
รูปแบบข้างล่างนี้
รูปแบบคำสั่ง if 1 ทำงเลือก
if (เงื่อนไข)
{
คาสั่ง 1 ;
คาสั่ง 2 ;
..........
คาสั่ง n ;
}
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ผังงานแสดงการเลือกกระทาของประโยค if แบบ 1 ทางเลือก
จำกภำพ แสดงให้เห็นว่า ถ้า เงื่อนไขหรือค่าของนิพจน์ที่ตรวจสอบ เป็นจริง ก็จะ
เลือกกระทาชุดคาสั่งหนึ่งแล้วไปกระทาตามคาสั่งต่อไป แต่ถ้าค่าของนิพจน์ เป็นเท็จ ก็ไม่
ทา ชุดคาสั่งใด ๆ ในทางเลือกเลย แต่ให้ไปทาชุดประโยคคาสั่งต่อไป
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ตัวอย่ำงที่ 1 โปรแกรมกำรใช้งำน if 1 ทำงเลือก
ต้องการตรวจสอบเงื่อนไขการผ่านเกณฑ์ กาหนดให้
คะแนนเต็ม 100 คะแนน ให้รับค่าข้อมูลคะแนนของนักเรียนผ่านทาง
แป้นพิมพ์ถ้านักเรียนทาคะแนนได้มากกว่าหรือเท่ากับ50 คะแนน ให้แสดง
ข้อความ "Pass" แล้วแสดงข้อความ "Good Luck" แต่ถ้าคะแนนสอบไม่
ผ่าน ให้แสดงข้อความ "Good Luck" อย่างเดียว
จำกโจทย์ เขียนผังงาน (Flowchart) ได้ดังนี้
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ผังงาน (Flowchart) แสดงทิศทางการแก้ปัญหาโจทย์ตัวอย่างที่ 1
จากผังงานนามาเขียนโปรแกรมได้ดังนี้
Source code คำอธิบำยโปรแกรม
1
2
3
4
5
6
7
#include <stdio.h>
#include <conio.h>
int main()
{
int score;
printf("Input Your score
: ");
scanf("%d",&score);
// ประกำศตัวแปร score เป็นชนิดจำนวนเต็ม
// แสดงข้อควำม Input Your score :
// รอรับคะแนนจำกแป้ นพิมพ์มำเก็บ
ที่ตัวแปร score
8
9
10
if (score>=50)
{
printf("Pass n",score);
// ตรวจสอบว่ำ score >= 50 ใช่หรือไม่? ถ้ำใช่
เริ่มกำรทำงำนใน block
// เริ่ม block ของ if
// แสดงข้อควำม Pass
11
12
13
14
15
}
printf("Good luck");
getch();
return 0;
}
// แสดงข้อควำม Good luck
// จบblock ของ if
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ผลที่ได้จากการ Run
ถ้าป้อน score มีค่ามากกว่า 50 เช่น ป้อน 75 จะได้ผลลัพธ์
ถ้าป้อน score มีค่าน้อยกว่า 50 เช่น ป้อน 40 จะได้ผลลัพธ์
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
เป็นคาสั่งที่ต่างจากคาสั่ง if แบบง่ายที่ผ่านมาตรงที่คาสั่ง if แบบง่ายนั้น มี
ทางเลือกที่จะให้ทาอยู่เพียงทางเลือกเดียว คือ ถ้าเป็นจริงก็ทาทางเลือกนั้น แต่ถ้าเป็นเท็จก็
ไม่ทา แต่คาสั่ง if - else นี้มีทางเลือกที่ให้ทาอยู่สองทางเลือกหรือสองกรณี คือ
กรณีที่ 1 ถ้ำเงื่อนไขเป็นจริง ให้ทากับสายงานหนึ่ง คือ ทาตามชุดคาสั่งที่
ตามหลังเงื่อนไข (Condition) ที่ใช้ตรวจสอบ
กรณีที่ 2 ถ้ำเงื่อนไขเป็นเท็จ ก็ให้ทากับอีกสายงานหนึ่ง คือ ทาตามชุดคาสั่งที่
ตามหลังคาสงวน else
รูปแบบคำสั่ง if - else 2 ทำงเลือก
if (เงื่อนไข)
{
คำสั่งชุด A ;
}
else
{
คำสั่งชุด B ;
}
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ภำพผังงำนแสดงกำรเลือกกระทำของประโยค if - else
จำกภำพ แสดงให้เห็นว่า เป็นการเลือกทาชุดคาสั่ง A หรือชุดคาสั่ง B ดังนี้
1. ถ้าเงื่อนไขการตรวจสอบเป็น "จริง" จะไปทาสายงานในชุดประโยคคาสั่ง A
แล้วไปทาชุดประโยคคาสั่ง C ต่อไป
2. ถ้าเงื่อนไขการตรวจสอบเป็น "เท็จ" จะไปทาสายงานในชุดประโยคคาสั่ง B
แล้วไปทาชุดประโยคคาสั่ง C ต่อไป
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ตัวอย่ำงที่ 2 โปรแกรมกำรใช้งำน if -
else 2 ทำงเลือก
โจทย์ : ร้านขายผลไม้แห่ง
หนึ่ง ขายมะม่วง โดยมีอัตราการขาย
ดังนี้ ถ้าซื้อมะม่วงมากกว่าหรือเท่ากับ
10 ลูกขึ้นไป มีอัตราการแถมอยู่ที่ 10
ต่อ 2 ลูก ซึ่งถ้าซื้อมะม่วง 10 ลูก จะได้
แถม 2 ลูก, ถ้าซื้อ 20 ลูก จะได้แถม 4
ลูก เป็นต้น แต่ถ้าซื้อไม่ถึง 10 ลูก จะ
ไม่แถม
จากโจทย์จงเขียนโปรแกรม
เพื่อรับค่าจานวนมะม่วงที่ซื้อ และ
คานวณหาจานวนมะม่วงที่ลูกค้าจะได้
จำกโจทย์ เขียนผังงาน(Flowchart) ได้ดังนี้
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ผังงาน (Flowchart)
แสดงทิศทางการแก้ปัญหาโจทย์
ตัวอย่างที่ 2
จากผังงานนามาเขียนโปรแกรม
ได้ดังนี้
Source code คำอธิบำยโปรแกรม
1
2
3
4
5
6
7
#include <stdio.h>
#include <conio.h>
int main()
{
int net,number;
printf("Input Number of Mango: ");
scanf("%d",&number);
/ ประกำศตัวแปร net, number
เป็นชนิดจำนวนเต็ม
// แสดงข้อควำม InputNumber of
Mango :
// รอรับคะแนนจำกแป้ นพิมพ์มำเก็บ
ที่ตัวแปร number
8
9
10
11
12
13
14
15
16
17
18
19
if (number>=10)
{
net=number+(number*2)/10;
}
else
{
net=number;
}
printf("Output Number of Mango:
%d",net);
getch();
return 0;
}
// ตรวจสอบว่ำ number >= 10
ใช่หรือไม่? ถ้ำใช่เริ่มกำรทำงำน
ใน block
// คำนวณหำจำนวนมะม่วงที่ลูกค้ำจะได้
// แสดงข้อควำม OutputNumber of
Mango : จำนวนมะม่วงที่ลูกค้ำจะได้
ผลที่ได้จำกกำร Run
ถ้าป้อนจานวนมะม่วงมากกว่าหรือเท่ากับ 10 ลูก เช่น ถ้าป้อนเท่ากับ 30 ลูก จะได้ผลลัพธ์
ถ้าป้อนจานวนมะม่วงน้อยกว่า 10 ลูก เช่น ถ้าป้อนเท่ากับ 4 ลูก จะได้ผลลัพธ์
หมำยเหตุ จากสูตร net=number+(number*2)/10 ยกตัวอย่างเช่น ถ้า
number มีค่าเท่ากับ 30 จะสามารถแทนสูตรได้ดังนี้ net=30+(30*2)/10 คือ net=30+6 จึง
มีค่าเป็น 36 ซึ่งก็คือ 10 ต่อ 2 ลูก นั่นเอง
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
คำสั่ง nested if หรือคำสั่ง if else if
การเขียนโปรแกรมคอมพิวเตอร์บาง
กรณีอาจจะต้องมีการตรวจสอบเงื่อนไข
มากกว่า 1 ชั้น ดังนั้นในการตรวจสอบเงื่อนไข
ในชั้นที่ 2 หรือชั้นต่อ ๆ ไป จึงมีการนา
ประโยคคาสั่ง if มาซ้อนลงในประโยคคาสั่ง if
เดิมอีกครั้งหนึ่ง ซึ่งการซ้อนประโยคคาสั่ง if
นี้ สามารถซ้อนลงไปหลังเงื่อนไข (Condition)
หรือ ซ้อนลงไปหลัง else ก็ได้ ขึ้นอยู่กับ
วัตถุประสงค์และลักษณะของการตัดสินใจ
เพื่อเลือกที่จะทางาน
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ข้อสังเกต ในการใช้คาสั่ง if ซ้อนกันนั้น ถ้าต้องการทราบว่าจะต้องใช้คาสั่ง if
ซ้อนกันกี่ตัวหรือกี่ชั้น ให้พิจารณาว่า ทางเลือกที่เกิดขึ้นทั้งหมดมีกี่ทางเลือก แล้วให้เอา
จานวนทางเลือก - 1 ก็จะเป็นจานวนชั้นของการซ้อนคาสั่ง if ดังตาราง
จานวนทางเลือกทั้งหมด
(n)
จานวนทางเลือกทั้งหมด - 1
(n-1)
จานวนคาสั่ง if ที่ใช้
2 2-1 1
3 3-1 2
4 4-1 3
5 5-1 4
ตำรำงแสดงจำนวนชั้นของกำรใช้คำสั่ง if เมื่อมีทำงเลือกมำกกว่ำ 1 ทำงเลือก
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ตัวอย่ำงที่ 3 โปรแกรมกำรใช้งำน nested - if หรือ if - else - if
โจทย์ : จงเขียนโปรแกรมตัดเกรด กาหนดให้รับค่าคะแนนผ่านทาง
แป้นพิมพ์และแสดงผลเกรดผ่านทางจอภาพ กาหนดเงื่อนไขการตัดเกรด ดังนี้
คะแนนระหว่าง 80 ถึง 100 ได้เกรด 4
คะแนนระหว่าง 60 ถึง 79 ได้เกรด 3
คะแนนระหว่าง 50 ถึง 59 ได้เกรด 2
คะแนนระหว่าง 40 ถึง 49 ได้เกรด 1
คะแนนระหว่าง 0 ถึง 39 ได้เกรด 0
จากโจทย์สามารถเขียนผังงาน (Flow chart) ได้ดังนี้
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
ผลที่ได้จำกกำร Run
ถ้าป้อนคะแนนอยู่ระหว่าง 80 - 100 จะได้เกรด 4 เช่น ถ้าป้อน 89
ถ้าป้อนคะแนนอยู่ระหว่าง 0 - 39 จะได้เกรด 0 เช่น ถ้าป้อน 35
3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
งาน อ.ทรงศักดิ์
การเลือกทาสายงานใดสายงานหนึ่งนั้น
นอกจากการใช้คาสั่ง if เพื่อกาหนดเงื่อนไขเพื่อให้
โปรแกรมเลือกที่จะทางานสายงานใดแล้ว ใน
ภาษาซี ยังมีคาสั่ง switch อีกคาสั่งหนึ่ง เพื่อ
อานวยความสะดวกแก่ผู้เขียนโปรแกรม ในการที่
นามาใช้แทนคาสั่ง if ที่ซ้อนกันหลาย ๆ ชั้น โดยที่
คาสั่ง switch จะนาค่าของตัวแปรที่อยู่หลังคาสั่ง
switch มาเปรียบเทียบกับค่าที่อยู่หลัง case
แต่ละคาสั่ง ถ้าตรงกัน ก็จะทาสายงานที่อยู่ใน
case นั้น ๆ แต่ถ้าไม่ตรงกับ case ใด ๆ เลย
จะทาหลังคาสั่ง default โดยมีรูปแบบประโยค
คาสั่งดังนี้
4.คำสั่งควบคุมแบบมีทำงเลือก ลักษณะSwitch
คอมไพล์เลอร์จะทำกำรตรวจสอบ
1. (ตัวแปร) จะต้องเป็นตัวแปรชนิด int หรือประเภทข้อมูลอื่น ๆ ที่มีลักษณะเป็นจานวนเต็มเช่น char ,
short , long จะเป็น string , float , double หรือ long double ไม่ได้
2. ค่าคงที่ ในแต่ละ case จะต้องเป็นข้อมูลชนิดchar , short , int , long เท่านั้น
3. ค่าคงที่ในแต่ละ case จะไปซ้ากับค่าคงที่ใน case อื่น ไม่ได้
4. ห้ามมี default มากกว่าหนึ่ง
ประโยคคำสั่ง break
เป็นคาสั่งที่ใช้ในการหลุดออกจากเงื่อนไข โดยไม่ต้องทางานจนจบบล๊อกของคาสั่ง
การนาคาสั่ง break มาซ้อนไว้ใน case ต่าง ๆ ของคาสั่ง switch จะช่วยให้
โปรแกรมไม่ล่วงล้าเข้าไปทาใน case ที่อยู่ถัดไป แต่ถ้าไม่มีประโยคคาสั่ง break เมื่อทา case
ใด ๆ เสร็จเรียบร้อยแล้ว คอมไพล์เลอร์ก็จะให้ไปทาใน case ที่อยู่ถัดไปเรื่อย ๆ จนกว่าจะจบบล๊อก
ของประโยคคาสั่ง switch จากนั้นจะทางานต่อไป ในประโยคคาสั่งที่อยู่ถัดไป
4.คำสั่งควบคุมแบบมีทำงเลือก ลักษณะSwitch
ตัวอย่ำงที่ การใช้งานคาสั่ง switch..case
โจทย์ : จงเขียนโปรแกรมรับระดับผลการเรียนหรือเกรดมาจากแป้นพิมพ์ แล้วนามา
พิจารณาตรวจสอบว่า เกรดที่รับเข้ามานั้นตรงกับตัวอักษรใดแล้วแสดงผลดังนี้
ถ้าเป็น A แสดงข้อความ "Excellent"
ถ้าเป็น B แสดงข้อความ "Good"
ถ้าเป็น C แสดงข้อความ "So so"
ถ้าเป็น D แสดงข้อความ "Fails"
ถ้าเป็น E แสดงข้อความ "Get lost"
ถ้าเป็นตัวอักษรอื่น ๆ แสดงข้อความ "Invalid data"
จากโจทย์สามารถเขียน ผังงาน (Flow chart) ได้ดังนี้
4.คำสั่งควบคุมแบบมีทำงเลือก ลักษณะSwitch
4.คำสั่งควบคุมแบบมีทำงเลือก ลักษณะSwitch
งาน อ.ทรงศักดิ์
กรณีใช้คำสั่ง switch
โจทย์ : จงเขียนงานโปรแกรมในลักษณะเมนูเลือกการทางาน ด้วยคาสั่ง switch ดังนี้
ขั้นตอนกำรพัฒนำงำนโปรแกรม
1. กำรวิเครำะห์ระบบงำนเบื้องต้น
1.1 สิ่งที่ต้องการ โปรแกรมเมนูเลือกการคานวณพื้นที่สี่เหลี่ยม และพื้นที่สามเหลี่ยม
1.2 สมการคานวณ พื้นที่สี่เหลี่ยม = กว้าง x ยาว
พื้นที่สามเหลี่ยม = ฐาน x สูง /2
1.3 ข้อมูลนาเข้า ตัวเลือกเมนู ความว้าง ความยาว หรือฐานกับสูง
1.4 การแสดงผลตามโจทย์กาหนด
1.5 กาหนดคุณสมบัติตัวแปร
5.กรณีศึกษำกำรใช้คำสั่งควบคุมแบบมีทำงเลือก
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) สิ้นสุดการทางาน
5.กรณีศึกษำกำรใช้คำสั่งควบคุมแบบมีทำงเลือก
2.แผนผังงำน
5.กรณีศึกษำกำรใช้คำสั่งควบคุมแบบมีทำงเลือก
5.กรณีศึกษำกำรใช้คำสั่งควบคุมแบบมีทำงเลือก
3. คำสั่งควบคุมกำรทำงำน
กรณีศึกษาโปรแกรมระบบงาน ลักษณะเมนูเลือกการทางาน ควบคุมการเลือก
การทางานด้วยคาสั่ง switch
https://pondkhaijeaw.wordpress.com/
http://documents.tips/education/55908f841a2
8ab856d8b47b5.html
https://support.office.com/th-th/article
http://www.krujintana.com/content/unit2_3.html
http://it.benchama.ac.th/prog/cpro/ctu7tg.php
1. นางสาว ณิสิตรา สนิทไทย
เลขที่ 16
2.นางสาว สุนิสา มหาสุด เลขที่
17
3.นางสาว อรพรรณ ใหมละเอียด เลขที่ 18
4.นางสาว นาขวัญ สอนใจ เลขที่
28
5.นางสาว พรรณชนก ชิตรรงค์ เลขที่
29
6.นางสาว สุขุมาล สัภยาหงส์สกุล เลขที่
32

More Related Content

What's hot (19)

รหัสเทียม Psuedo code
รหัสเทียม Psuedo codeรหัสเทียม Psuedo code
รหัสเทียม Psuedo code
ปณพล ดาดวง
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
นายแสงธรรม สระจันทร์
ความรู้เบื้องต้น๶กี่ยวกับโครงสร้างྺ้อมูลและอัลกอริทึม
ความรู้เบื้องต้น๶กี่ยวกับโครงสร้างྺ้อมูลและอัลกอริทึมความรู้เบื้องต้น๶กี่ยวกับโครงสร้างྺ้อมูลและอัลกอริทึม
ความรู้เบื้องต้น๶กี่ยวกับโครงสร้างྺ้อมูลและอัลกอริทึม
waradakhantee
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือกกลุ่ม3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
Naphamas
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก ม.4/5 กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก ม.4/5 กลุ่ม 3
Supicha Ploy
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก.
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก.การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก.
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก.
Mink Kamolwan
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Vi Vik Viv
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
Warawut
อัลกอริทึมและการวิ๶คราะห์ปัญหา
อัลกอริทึมและการวิ๶คราะห์ปัญหาอัลกอริทึมและการวิ๶คราะห์ปัญหา
อัลกอริทึมและการวิ๶คราะห์ปัญหา
supatra178
การแสดงผลและการรับข้อมูล
การแสดงผลและการรับข้อมูลการแสดงผลและการรับข้อมูล
การแสดงผลและการรับข้อมูล
korn27122540
งาȨอมพิวเตอร์
งาȨอมพิวเตอร์งาȨอมพิวเตอร์
งาȨอมพิวเตอร์
kaokhwanjai
งาȨอมพิวเตอร์
งาȨอมพิวเตอร์งาȨอมพิวเตอร์
งาȨอมพิวเตอร์
JOMKHWANJAI
งาȨอมพิวเตอร์
งาȨอมพิวเตอร์งาȨอมพิวเตอร์
งาȨอมพิวเตอร์
khwanjai
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Nookky Anapat
ความรู้เบื้องต้น๶กี่ยวกับโครงสร้างྺ้อมูลและอัลกอริทึม
ความรู้เบื้องต้น๶กี่ยวกับโครงสร้างྺ้อมูลและอัลกอริทึมความรู้เบื้องต้น๶กี่ยวกับโครงสร้างྺ้อมูลและอัลกอริทึม
ความรู้เบื้องต้น๶กี่ยวกับโครงสร้างྺ้อมูลและอัลกอริทึม
waradakhantee
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือกกลุ่ม3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
Naphamas
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก ม.4/5 กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก ม.4/5 กลุ่ม 3
Supicha Ploy
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก.
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก.การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก.
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก.
Mink Kamolwan
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Vi Vik Viv
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
Warawut
อัลกอริทึมและการวิ๶คราะห์ปัญหา
อัลกอริทึมและการวิ๶คราะห์ปัญหาอัลกอริทึมและการวิ๶คราะห์ปัญหา
อัลกอริทึมและการวิ๶คราะห์ปัญหา
supatra178
การแสดงผลและการรับข้อมูล
การแสดงผลและการรับข้อมูลการแสดงผลและการรับข้อมูล
การแสดงผลและการรับข้อมูล
korn27122540
งาȨอมพิวเตอร์
งาȨอมพิวเตอร์งาȨอมพิวเตอร์
งาȨอมพิวเตอร์
kaokhwanjai
งาȨอมพิวเตอร์
งาȨอมพิวเตอร์งาȨอมพิวเตอร์
งาȨอมพิวเตอร์
JOMKHWANJAI
งาȨอมพิวเตอร์
งาȨอมพิวเตอร์งาȨอมพิวเตอร์
งาȨอมพิวเตอร์
khwanjai
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Nookky Anapat

Viewers also liked (12)

Στέργος Μανώλακας Περιβάλλον και Διάστημα
Στέργος Μανώλακας Περιβάλλον και ΔιάστημαΣτέργος Μανώλακας Περιβάλλον και Διάστημα
Στέργος Μανώλακας Περιβάλλον και Διάστημα
ΚΠΕ Πεταλούδων Ρόδου
Mohammed cv
Mohammed cvMohammed cv
Mohammed cv
Mohammed Nageb
проектна діяльність
проектна діяльністьпроектна діяльність
проектна діяльність
Irina Kost
День Соборності
День СоборностіДень Соборності
День Соборності
tummenscool1
DevOps@TGT - When Dev Met Ops
DevOps@TGT - When Dev Met OpsDevOps@TGT - When Dev Met Ops
DevOps@TGT - When Dev Met Ops
Ross Clanton
Resiliency Inventory A-TA1
Resiliency Inventory A-TA1Resiliency Inventory A-TA1
Resiliency Inventory A-TA1
Destiny Devone
EXPOSICION NORMAS INTERNACIONALESEXPOSICION NORMAS INTERNACIONALES
EXPOSICION NORMAS INTERNACIONALES
Paola Casal
Decreto 3022-dic-de-2013-niif-pymes-grupo-2-Decreto 3022-dic-de-2013-niif-pymes-grupo-2-
Decreto 3022-dic-de-2013-niif-pymes-grupo-2-
Paola Casal
Sap fiori tutorial
Sap fiori tutorialSap fiori tutorial
Sap fiori tutorial
Nagendra Babu
5 implicaciones éticas en torno al acceso y5 implicaciones éticas en torno al acceso y
5 implicaciones éticas en torno al acceso y
ana rodriguez
Haccp basic ita
Haccp  basic  itaHaccp  basic  ita
Haccp basic ita
GEORGE DIAMANDIS
Disability for Lupus Seminar Sharon Christie
Disability for Lupus Seminar Sharon ChristieDisability for Lupus Seminar Sharon Christie
Disability for Lupus Seminar Sharon Christie
lupusdmv
Στέργος Μανώλακας Περιβάλλον και Διάστημα
Στέργος Μανώλακας Περιβάλλον και ΔιάστημαΣτέργος Μανώλακας Περιβάλλον και Διάστημα
Στέργος Μανώλακας Περιβάλλον και Διάστημα
ΚΠΕ Πεταλούδων Ρόδου
проектна діяльність
проектна діяльністьпроектна діяльність
проектна діяльність
Irina Kost
День Соборності
День СоборностіДень Соборності
День Соборності
tummenscool1
DevOps@TGT - When Dev Met Ops
DevOps@TGT - When Dev Met OpsDevOps@TGT - When Dev Met Ops
DevOps@TGT - When Dev Met Ops
Ross Clanton
EXPOSICION NORMAS INTERNACIONALESEXPOSICION NORMAS INTERNACIONALES
EXPOSICION NORMAS INTERNACIONALES
Paola Casal
Decreto 3022-dic-de-2013-niif-pymes-grupo-2-Decreto 3022-dic-de-2013-niif-pymes-grupo-2-
Decreto 3022-dic-de-2013-niif-pymes-grupo-2-
Paola Casal
5 implicaciones éticas en torno al acceso y5 implicaciones éticas en torno al acceso y
5 implicaciones éticas en torno al acceso y
ana rodriguez
Disability for Lupus Seminar Sharon Christie
Disability for Lupus Seminar Sharon ChristieDisability for Lupus Seminar Sharon Christie
Disability for Lupus Seminar Sharon Christie
lupusdmv

Similar to งาน อ.ทรงศักดิ์ (20)

Know009
Know009Know009
Know009
the pooh
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก กลุ่ม 3
KEk YourJust'one
งาȨอม 1
งาȨอม 1งาȨอม 1
งาȨอม 1
Warakuma Pengsuan
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือกการเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
Worapod Khomkham
การเขียนคำสั่งควบคุม แบบมีทางเลือก
การเขียนคำสั่งควบคุม แบบมีทางเลือกการเขียนคำสั่งควบคุม แบบมีทางเลือก
การเขียนคำสั่งควบคุม แบบมีทางเลือก
Sutinun Goodour
ม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocodeม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocode
Bansit Deelom
Know010
Know010Know010
Know010
the pooh
คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรมคำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม
JK133
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุมบทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม
View Nudchanad
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือกการเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
Pornpimon Aom
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือกการเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
Thanon Paktanadechanon
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม (2)
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม (2)บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม (2)
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม (2)
View Nudchanad
การควบคุมทิศทางการทำงาȨองโปรแกรม
การควบคุมทิศทางการทำงาȨองโปรแกรมการควบคุมทิศทางการทำงาȨองโปรแกรม
การควบคุมทิศทางการทำงาȨองโปรแกรม
korn27122540
บทที่ 4
บทที่ 4บทที่ 4
บทที่ 4
Wittaya Kaewchat
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก กลุ่ม 3
KEk YourJust'one
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือกการเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
Worapod Khomkham
การเขียนคำสั่งควบคุม แบบมีทางเลือก
การเขียนคำสั่งควบคุม แบบมีทางเลือกการเขียนคำสั่งควบคุม แบบมีทางเลือก
การเขียนคำสั่งควบคุม แบบมีทางเลือก
Sutinun Goodour
ม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocodeม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocode
Bansit Deelom
คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรมคำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม
JK133
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุมบทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม
View Nudchanad
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือกการเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
Pornpimon Aom
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือกการเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
การเขียนคำสั่งควบคุมแบบมีทาง๶ลือก
Thanon Paktanadechanon
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม (2)
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม (2)บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม (2)
บทที่ 6-๶งื่อȨข-การตัดสิȨจ-การควบคุม (2)
View Nudchanad
การควบคุมทิศทางการทำงาȨองโปรแกรม
การควบคุมทิศทางการทำงาȨองโปรแกรมการควบคุมทิศทางการทำงาȨองโปรแกรม
การควบคุมทิศทางการทำงาȨองโปรแกรม
korn27122540

งาน อ.ทรงศักดิ์

  • 3. รหัสภาษาเครื่องเมื่อเก็บอยู่ในหน่วยความจาของคอมพิวเตอร์จะมี ลักษณะเรียงต่อกันไป สมมติให้ส่วนของคาสั่งเก็บในหน่วยความจาเริ่มจาก ตาแหน่ง 1000 และส่วนของข้อมูลเก็บไว้เริ่มจากตาแหน่ง 8000 ดังรูป ภาษาเครื่องเป็ นภาษาสั่งการพื้นฐานที่ใช้รหัสตัวเลขฐานสอง คอมพิวเตอร์ที่ใช้ หน่วยประมวลผลกลางต่างตระกูลกันจะมีภาษาเครื่องที่ แตกต่างกัน เช่น เครื่องที่ใช้ซีพียู เพนเตียม (Pentium) กับซีพียูที่ใช้ในเครื่อง แมกอินทอช มีรหัสคาสั่งต่างกัน 1.คำสั่งจัดเก็บข้อมูลลงหน่วยควำมจำ
  • 6. 2.กำรเขียนนิพจน์เชิงตรรกะ 2.1 ตัวดำเนินกำรทำงคณิตศำสตร์ (Mathematical Operators) ตารางสัญลักษณ์ตัวดาเนินการทางคณิตศาสตร์
  • 7. 2.2 ตัวดำเนินกำรควำมสัมพันธ์ (relational Operators) ตารางสัญลักษณ์ตัวดาเนินการความสัมพันธ์ 2.กำรเขียนนิพจน์เชิงตรรกะ
  • 8. 2.3 ตัวดำเนินกำรเชิงตรรกะ (Logical Operators) ตรรกะ คือ กำรคิดเชิงเหตุผลที่มีควำมจริงค่ำใดค่ำหนึ่งคือ จริง (True:1)หรือ (False:0) ตารางสัญลักษณ์ตัวดาเนินการความสัมพันธ์ 2.กำรเขียนนิพจน์เชิงตรรกะ
  • 10. 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if คาสั่ง if เป็นคาสั่งในการตรวจสอบเงื่อนไข โดยรูปแบบการใช้งาน คาสั่ง if มีรูปแบบ 3 รูปแบบดังนี้ คือ ประโยค if แบบง่ำย ประโยค if แบบง่าย 1 ทางเลือก คือ การเขียนประโยค if ที่มีการ ตรวจสอบเงื่อนไขเพียงหนึ่งทางเลือก คือ ถ้าเงื่อนไขเป็นจริง จะทางานในส่วนของ คาสั่งที่กาหนด แต่ถ้าเงื่อนไขเป็นเท็จ จะข้ามการทางานของคาสั่งดังกล่าวไป ดัง รูปแบบข้างล่างนี้ รูปแบบคำสั่ง if 1 ทำงเลือก if (เงื่อนไข) { คาสั่ง 1 ; คาสั่ง 2 ; .......... คาสั่ง n ; }
  • 11. 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if ผังงานแสดงการเลือกกระทาของประโยค if แบบ 1 ทางเลือก จำกภำพ แสดงให้เห็นว่า ถ้า เงื่อนไขหรือค่าของนิพจน์ที่ตรวจสอบ เป็นจริง ก็จะ เลือกกระทาชุดคาสั่งหนึ่งแล้วไปกระทาตามคาสั่งต่อไป แต่ถ้าค่าของนิพจน์ เป็นเท็จ ก็ไม่ ทา ชุดคาสั่งใด ๆ ในทางเลือกเลย แต่ให้ไปทาชุดประโยคคาสั่งต่อไป
  • 12. 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if ตัวอย่ำงที่ 1 โปรแกรมกำรใช้งำน if 1 ทำงเลือก ต้องการตรวจสอบเงื่อนไขการผ่านเกณฑ์ กาหนดให้ คะแนนเต็ม 100 คะแนน ให้รับค่าข้อมูลคะแนนของนักเรียนผ่านทาง แป้นพิมพ์ถ้านักเรียนทาคะแนนได้มากกว่าหรือเท่ากับ50 คะแนน ให้แสดง ข้อความ "Pass" แล้วแสดงข้อความ "Good Luck" แต่ถ้าคะแนนสอบไม่ ผ่าน ให้แสดงข้อความ "Good Luck" อย่างเดียว จำกโจทย์ เขียนผังงาน (Flowchart) ได้ดังนี้
  • 13. 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if ผังงาน (Flowchart) แสดงทิศทางการแก้ปัญหาโจทย์ตัวอย่างที่ 1
  • 14. จากผังงานนามาเขียนโปรแกรมได้ดังนี้ Source code คำอธิบำยโปรแกรม 1 2 3 4 5 6 7 #include <stdio.h> #include <conio.h> int main() { int score; printf("Input Your score : "); scanf("%d",&score); // ประกำศตัวแปร score เป็นชนิดจำนวนเต็ม // แสดงข้อควำม Input Your score : // รอรับคะแนนจำกแป้ นพิมพ์มำเก็บ ที่ตัวแปร score 8 9 10 if (score>=50) { printf("Pass n",score); // ตรวจสอบว่ำ score >= 50 ใช่หรือไม่? ถ้ำใช่ เริ่มกำรทำงำนใน block // เริ่ม block ของ if // แสดงข้อควำม Pass 11 12 13 14 15 } printf("Good luck"); getch(); return 0; } // แสดงข้อควำม Good luck // จบblock ของ if 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
  • 15. 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if ผลที่ได้จากการ Run ถ้าป้อน score มีค่ามากกว่า 50 เช่น ป้อน 75 จะได้ผลลัพธ์ ถ้าป้อน score มีค่าน้อยกว่า 50 เช่น ป้อน 40 จะได้ผลลัพธ์
  • 16. 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if เป็นคาสั่งที่ต่างจากคาสั่ง if แบบง่ายที่ผ่านมาตรงที่คาสั่ง if แบบง่ายนั้น มี ทางเลือกที่จะให้ทาอยู่เพียงทางเลือกเดียว คือ ถ้าเป็นจริงก็ทาทางเลือกนั้น แต่ถ้าเป็นเท็จก็ ไม่ทา แต่คาสั่ง if - else นี้มีทางเลือกที่ให้ทาอยู่สองทางเลือกหรือสองกรณี คือ กรณีที่ 1 ถ้ำเงื่อนไขเป็นจริง ให้ทากับสายงานหนึ่ง คือ ทาตามชุดคาสั่งที่ ตามหลังเงื่อนไข (Condition) ที่ใช้ตรวจสอบ กรณีที่ 2 ถ้ำเงื่อนไขเป็นเท็จ ก็ให้ทากับอีกสายงานหนึ่ง คือ ทาตามชุดคาสั่งที่ ตามหลังคาสงวน else รูปแบบคำสั่ง if - else 2 ทำงเลือก if (เงื่อนไข) { คำสั่งชุด A ; } else { คำสั่งชุด B ; }
  • 17. 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if ภำพผังงำนแสดงกำรเลือกกระทำของประโยค if - else จำกภำพ แสดงให้เห็นว่า เป็นการเลือกทาชุดคาสั่ง A หรือชุดคาสั่ง B ดังนี้ 1. ถ้าเงื่อนไขการตรวจสอบเป็น "จริง" จะไปทาสายงานในชุดประโยคคาสั่ง A แล้วไปทาชุดประโยคคาสั่ง C ต่อไป 2. ถ้าเงื่อนไขการตรวจสอบเป็น "เท็จ" จะไปทาสายงานในชุดประโยคคาสั่ง B แล้วไปทาชุดประโยคคาสั่ง C ต่อไป
  • 18. 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if ตัวอย่ำงที่ 2 โปรแกรมกำรใช้งำน if - else 2 ทำงเลือก โจทย์ : ร้านขายผลไม้แห่ง หนึ่ง ขายมะม่วง โดยมีอัตราการขาย ดังนี้ ถ้าซื้อมะม่วงมากกว่าหรือเท่ากับ 10 ลูกขึ้นไป มีอัตราการแถมอยู่ที่ 10 ต่อ 2 ลูก ซึ่งถ้าซื้อมะม่วง 10 ลูก จะได้ แถม 2 ลูก, ถ้าซื้อ 20 ลูก จะได้แถม 4 ลูก เป็นต้น แต่ถ้าซื้อไม่ถึง 10 ลูก จะ ไม่แถม จากโจทย์จงเขียนโปรแกรม เพื่อรับค่าจานวนมะม่วงที่ซื้อ และ คานวณหาจานวนมะม่วงที่ลูกค้าจะได้ จำกโจทย์ เขียนผังงาน(Flowchart) ได้ดังนี้
  • 19. 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if ผังงาน (Flowchart) แสดงทิศทางการแก้ปัญหาโจทย์ ตัวอย่างที่ 2 จากผังงานนามาเขียนโปรแกรม ได้ดังนี้ Source code คำอธิบำยโปรแกรม 1 2 3 4 5 6 7 #include <stdio.h> #include <conio.h> int main() { int net,number; printf("Input Number of Mango: "); scanf("%d",&number); / ประกำศตัวแปร net, number เป็นชนิดจำนวนเต็ม // แสดงข้อควำม InputNumber of Mango : // รอรับคะแนนจำกแป้ นพิมพ์มำเก็บ ที่ตัวแปร number 8 9 10 11 12 13 14 15 16 17 18 19 if (number>=10) { net=number+(number*2)/10; } else { net=number; } printf("Output Number of Mango: %d",net); getch(); return 0; } // ตรวจสอบว่ำ number >= 10 ใช่หรือไม่? ถ้ำใช่เริ่มกำรทำงำน ใน block // คำนวณหำจำนวนมะม่วงที่ลูกค้ำจะได้ // แสดงข้อควำม OutputNumber of Mango : จำนวนมะม่วงที่ลูกค้ำจะได้
  • 20. ผลที่ได้จำกกำร Run ถ้าป้อนจานวนมะม่วงมากกว่าหรือเท่ากับ 10 ลูก เช่น ถ้าป้อนเท่ากับ 30 ลูก จะได้ผลลัพธ์ ถ้าป้อนจานวนมะม่วงน้อยกว่า 10 ลูก เช่น ถ้าป้อนเท่ากับ 4 ลูก จะได้ผลลัพธ์ หมำยเหตุ จากสูตร net=number+(number*2)/10 ยกตัวอย่างเช่น ถ้า number มีค่าเท่ากับ 30 จะสามารถแทนสูตรได้ดังนี้ net=30+(30*2)/10 คือ net=30+6 จึง มีค่าเป็น 36 ซึ่งก็คือ 10 ต่อ 2 ลูก นั่นเอง 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
  • 21. คำสั่ง nested if หรือคำสั่ง if else if การเขียนโปรแกรมคอมพิวเตอร์บาง กรณีอาจจะต้องมีการตรวจสอบเงื่อนไข มากกว่า 1 ชั้น ดังนั้นในการตรวจสอบเงื่อนไข ในชั้นที่ 2 หรือชั้นต่อ ๆ ไป จึงมีการนา ประโยคคาสั่ง if มาซ้อนลงในประโยคคาสั่ง if เดิมอีกครั้งหนึ่ง ซึ่งการซ้อนประโยคคาสั่ง if นี้ สามารถซ้อนลงไปหลังเงื่อนไข (Condition) หรือ ซ้อนลงไปหลัง else ก็ได้ ขึ้นอยู่กับ วัตถุประสงค์และลักษณะของการตัดสินใจ เพื่อเลือกที่จะทางาน 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
  • 22. ข้อสังเกต ในการใช้คาสั่ง if ซ้อนกันนั้น ถ้าต้องการทราบว่าจะต้องใช้คาสั่ง if ซ้อนกันกี่ตัวหรือกี่ชั้น ให้พิจารณาว่า ทางเลือกที่เกิดขึ้นทั้งหมดมีกี่ทางเลือก แล้วให้เอา จานวนทางเลือก - 1 ก็จะเป็นจานวนชั้นของการซ้อนคาสั่ง if ดังตาราง จานวนทางเลือกทั้งหมด (n) จานวนทางเลือกทั้งหมด - 1 (n-1) จานวนคาสั่ง if ที่ใช้ 2 2-1 1 3 3-1 2 4 4-1 3 5 5-1 4 ตำรำงแสดงจำนวนชั้นของกำรใช้คำสั่ง if เมื่อมีทำงเลือกมำกกว่ำ 1 ทำงเลือก 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
  • 23. ตัวอย่ำงที่ 3 โปรแกรมกำรใช้งำน nested - if หรือ if - else - if โจทย์ : จงเขียนโปรแกรมตัดเกรด กาหนดให้รับค่าคะแนนผ่านทาง แป้นพิมพ์และแสดงผลเกรดผ่านทางจอภาพ กาหนดเงื่อนไขการตัดเกรด ดังนี้ คะแนนระหว่าง 80 ถึง 100 ได้เกรด 4 คะแนนระหว่าง 60 ถึง 79 ได้เกรด 3 คะแนนระหว่าง 50 ถึง 59 ได้เกรด 2 คะแนนระหว่าง 40 ถึง 49 ได้เกรด 1 คะแนนระหว่าง 0 ถึง 39 ได้เกรด 0 จากโจทย์สามารถเขียนผังงาน (Flow chart) ได้ดังนี้ 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
  • 25. ผลที่ได้จำกกำร Run ถ้าป้อนคะแนนอยู่ระหว่าง 80 - 100 จะได้เกรด 4 เช่น ถ้าป้อน 89 ถ้าป้อนคะแนนอยู่ระหว่าง 0 - 39 จะได้เกรด 0 เช่น ถ้าป้อน 35 3.คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if
  • 27. การเลือกทาสายงานใดสายงานหนึ่งนั้น นอกจากการใช้คาสั่ง if เพื่อกาหนดเงื่อนไขเพื่อให้ โปรแกรมเลือกที่จะทางานสายงานใดแล้ว ใน ภาษาซี ยังมีคาสั่ง switch อีกคาสั่งหนึ่ง เพื่อ อานวยความสะดวกแก่ผู้เขียนโปรแกรม ในการที่ นามาใช้แทนคาสั่ง if ที่ซ้อนกันหลาย ๆ ชั้น โดยที่ คาสั่ง switch จะนาค่าของตัวแปรที่อยู่หลังคาสั่ง switch มาเปรียบเทียบกับค่าที่อยู่หลัง case แต่ละคาสั่ง ถ้าตรงกัน ก็จะทาสายงานที่อยู่ใน case นั้น ๆ แต่ถ้าไม่ตรงกับ case ใด ๆ เลย จะทาหลังคาสั่ง default โดยมีรูปแบบประโยค คาสั่งดังนี้ 4.คำสั่งควบคุมแบบมีทำงเลือก ลักษณะSwitch
  • 28. คอมไพล์เลอร์จะทำกำรตรวจสอบ 1. (ตัวแปร) จะต้องเป็นตัวแปรชนิด int หรือประเภทข้อมูลอื่น ๆ ที่มีลักษณะเป็นจานวนเต็มเช่น char , short , long จะเป็น string , float , double หรือ long double ไม่ได้ 2. ค่าคงที่ ในแต่ละ case จะต้องเป็นข้อมูลชนิดchar , short , int , long เท่านั้น 3. ค่าคงที่ในแต่ละ case จะไปซ้ากับค่าคงที่ใน case อื่น ไม่ได้ 4. ห้ามมี default มากกว่าหนึ่ง ประโยคคำสั่ง break เป็นคาสั่งที่ใช้ในการหลุดออกจากเงื่อนไข โดยไม่ต้องทางานจนจบบล๊อกของคาสั่ง การนาคาสั่ง break มาซ้อนไว้ใน case ต่าง ๆ ของคาสั่ง switch จะช่วยให้ โปรแกรมไม่ล่วงล้าเข้าไปทาใน case ที่อยู่ถัดไป แต่ถ้าไม่มีประโยคคาสั่ง break เมื่อทา case ใด ๆ เสร็จเรียบร้อยแล้ว คอมไพล์เลอร์ก็จะให้ไปทาใน case ที่อยู่ถัดไปเรื่อย ๆ จนกว่าจะจบบล๊อก ของประโยคคาสั่ง switch จากนั้นจะทางานต่อไป ในประโยคคาสั่งที่อยู่ถัดไป 4.คำสั่งควบคุมแบบมีทำงเลือก ลักษณะSwitch
  • 29. ตัวอย่ำงที่ การใช้งานคาสั่ง switch..case โจทย์ : จงเขียนโปรแกรมรับระดับผลการเรียนหรือเกรดมาจากแป้นพิมพ์ แล้วนามา พิจารณาตรวจสอบว่า เกรดที่รับเข้ามานั้นตรงกับตัวอักษรใดแล้วแสดงผลดังนี้ ถ้าเป็น A แสดงข้อความ "Excellent" ถ้าเป็น B แสดงข้อความ "Good" ถ้าเป็น C แสดงข้อความ "So so" ถ้าเป็น D แสดงข้อความ "Fails" ถ้าเป็น E แสดงข้อความ "Get lost" ถ้าเป็นตัวอักษรอื่น ๆ แสดงข้อความ "Invalid data" จากโจทย์สามารถเขียน ผังงาน (Flow chart) ได้ดังนี้ 4.คำสั่งควบคุมแบบมีทำงเลือก ลักษณะSwitch
  • 32. กรณีใช้คำสั่ง switch โจทย์ : จงเขียนงานโปรแกรมในลักษณะเมนูเลือกการทางาน ด้วยคาสั่ง switch ดังนี้ ขั้นตอนกำรพัฒนำงำนโปรแกรม 1. กำรวิเครำะห์ระบบงำนเบื้องต้น 1.1 สิ่งที่ต้องการ โปรแกรมเมนูเลือกการคานวณพื้นที่สี่เหลี่ยม และพื้นที่สามเหลี่ยม 1.2 สมการคานวณ พื้นที่สี่เหลี่ยม = กว้าง x ยาว พื้นที่สามเหลี่ยม = ฐาน x สูง /2 1.3 ข้อมูลนาเข้า ตัวเลือกเมนู ความว้าง ความยาว หรือฐานกับสูง 1.4 การแสดงผลตามโจทย์กาหนด 1.5 กาหนดคุณสมบัติตัวแปร 5.กรณีศึกษำกำรใช้คำสั่งควบคุมแบบมีทำงเลือก
  • 33. 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) สิ้นสุดการทางาน 5.กรณีศึกษำกำรใช้คำสั่งควบคุมแบบมีทำงเลือก
  • 37. 1. นางสาว ณิสิตรา สนิทไทย เลขที่ 16 2.นางสาว สุนิสา มหาสุด เลขที่ 17 3.นางสาว อรพรรณ ใหมละเอียด เลขที่ 18 4.นางสาว นาขวัญ สอนใจ เลขที่ 28 5.นางสาว พรรณชนก ชิตรรงค์ เลขที่ 29 6.นางสาว สุขุมาล สัภยาหงส์สกุล เลขที่ 32