More Related Content
Similar to การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Similar to การเขียนคำสั่งควบคุมขั้นพื้นฐาน (20)
More from KEk YourJust'one
More from KEk YourJust'one (8)
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
- 1. รายงาน
วิชา การเขียนโปรแกรมเพืองานอาชีพ
เรือง การเขียนคําสั งควบคุมขันพืนฐาน
จัดทําโดย
นายณัฐนันท์ วันเพ็ญ เลขที &
นายกุลธวัช จันทร์ อมรสิ นธุ์ เลขที &(
นางสาวกนิษฐา เนตรสว่ าง เลขที ,(
นางสาวทิพย์ วรรณ เชือวงษ์ เลขที ,&
นางสาวมนัสนันต์ ทับทิมใส เลขที ,.
นางสาวสุ กานดา เฉินจุณวรรณ เลขที ,0
ชันมัธยมศึกษาปี ที 3/,
เสนอ
อาจารย์ ทรงศักดิ5 โพธิ5เอียม
ภาคเรียนที ( ปี การศึกษา &000
โรงเรียนเฉลิมพระเกียรติสมเด็จพระศรีนครินทร์ กาญจนบุรี
- 2. รายงาน
วิชา การเขียนโปรแกรมเพืองานอาชีพ
เรือง การเขียนคําสั งควบคุมขันพืนฐาน
จัดทําโดย
นายณัฐนันท์ วันเพ็ญ เลขที &
นายกุลธวัช จันทร์ อมรสิ นธุ์ เลขที &(
นางสาวกนิษฐา เนตรสว่ าง เลขที ,(
นางสาวทิพย์ วรรณ เชือวงษ์ เลขที ,&
นางสาวมนัสนันต์ ทับทิมใส เลขที ,.
นางสาวสุ กานดา เฉินจุณวรรณ เลขที ,0
ชันมัธยมศึกษาปี ที 3/,
เสนอ
อาจารย์ ทรงศักดิ5 โพธิ5เอียม
ภาคเรียนที ( ปี การศึกษา &000
โรงเรียนเฉลิมพระเกียรติสมเด็จพระศรีนครินทร์ กาญจนบุรี
- 3. คํานํา
รายงานเล่มนีเป็ นส่ วนหนึงของวิชา การเขียนโปรแกรมเพืองานอาชีพ ซึ งฝึ กให้ทุกคนได้มี
ความรู ้ความสามารถด้านคอมพิวเตอร์ ในการใช้ภาษาซี เพือไปประกอบอาชีพ รายงานเล่มนีจะ
ประกอบไปด้วย ลักษณะการทํางานของภาษาซี ความเป็ นมา คําสังควบคุมการทํางานขันพืนฐาน
และต่างๆ ซึ งได้ถูกจัดทําขึนเพือเป็ นความรู ้แก่ผอ่านไม่มากก็นอย ทําให้เข้าใจมากยิงขึนเกียวกับ
ู้ ้
โปรแกรมนี
ถ้าผิดพลาดประการใดก็ขออภัย ณ ทีนีด้วย
จัดทําโดย
นายณัฐนันท์ วันเพ็ญ
นายกุลธวัช จันทร์ อมรสิ นธุ์
นางสาวกนิษฐา เนตรสว่าง
นางสาวทิพย์วรรณ เชือวงษ์
นางสาวมนัสนันต์ ทับทิมใส
นางสาวสุ กานดา เฉิ นจุณวรรณ
- 4. สารบัญ
เรือง หน้ า
คํานํา ก
ลักษณะการทํางานของภาษาซี 8-2
ส่ วนประกอบโครงสร้างของภาษาซี ;-<
คําสังจัดเก็บข้อมูลลงหน่วยความจํา <-=
คําสังควบคุมการทํางานขันพืนฐาน =-88
คําสังแสดงผล – รับข้อมูล เฉพาะอักขระ 88-8>
คําสังแสดงผล- รับข้อมูล เฉพาะข้อความ 8>-8?
กรณี ศึกษาการใช้คาสังควบคุมขันพืนฐาน
ํ 8?-AB
สรุ ปเนื อหา A8
Mind Maping 32
คําถามท้ายบท AA-AK
เฉลย A<
- 5. การเขียนคําสั งควบคุมขันพืนฐาน&
1. ลักษณะการทํางานของภาษาซี
ภาษาซี เป็ นภาษาทีมีพฒนาการมาอย่างต่อเนือง ภาษาซี รุ่นแรกทํางานภายใต้
ั
ระบบปฏิบติการคอส (cos) ปั จจุบนทํางานภายใต้ระบบปฏิบติการวินโดวส์ (Windows) ภาษาซี ใช้
ั ั ั
วิธีแปลรหัสคําสังให้เป็ นเลขฐานสองเรี ยกว่า คอมไพเลอร์ การศึกษาภูมิหลังการเป็ นมาของภาษาซี
และกระบวนการแปลภาษาจะช่วยให้ผใช้ภาษาซี ในรุ่ นและบริ ษทผูผลิตแตกต่างกัน
ู้ ั ้ สามารถใช้
ภาษาได้อย่างเข้าใจมากขึน
(.( ความเป็ นมาของภาษาซี
ภาษาซี ได้รับการพัฒนาเมือปี ค.ศ. 8V=; โดยนายเดนนิส ริ ตซี ตังชื อว่าซี เพราะพัฒนามา
จากภาษา BCLP และภาษา B ในช่วงแรกใช้ทดลองเขียนคําสังควบคุมในห้องปฏิบติการเบล( Bell
ั
Laboratoories) เท่านัน เมือปี ค.ศ. 8V=? นายไบรอัน เคอร์ นิกฮัน และนายเดนนิส ริ ตซี ร่ วมกัน
กําหนดนิยามรายละเอียดของภาษาซี เผยแพร่ ความรู ้โดยจัดทําหนังสื อ The C Programming
Language มีหลายบริ ษทให้ความสนใจนําไปพัฒนาต่อ จนมีภาษาซี หลายรู ปแบบและแพร่ หลายไป
ั
ทัวโลก แต่ยงไม่มีมาตรฐานคําสังเพือให้สามารถใช้งานร่ วมกันได้ ดังนันเมือปี ค.ศ. 8V?? นายริ ตซี
ั
ได้ร่วมกับสถาบันกําหนดมาตรฐาน ANSI สร้างมาตรฐานภาษาซี ขึนมา มีผลให้ โปรแกรมคําสังที
สร้างด้วยภาษาซี สังกัดบริ ษทใดๆ ก็ตามทีใช้คาสังมาตรฐานของภาษาสามารถนํามาทํางานร่ วมกัน
ั ํ
ได้
1.2 การทํางานของคอมไพเลอร์ ภาษาซี
คอมไพเลอร์ เป็ นโปรแกรมทีได้รับการพัฒนามาเพือแปลภาษาคอมพิวเตอร์ รูปแบบหนึง
ั
มักใช้กบโปรแกรมเชิงโครงสร้าง ลักษณะการแปลจะอ่านรหัสคําสังทังโปรแกรมตังแต่บรรทัด
คําสังแรกถึงบรรทัดสุ ดท้าย หากมีขอผิดพลาดจะรายงานทุกตําแหน่งคําสังทีใช้งานผิดกฎไวยากรณ์
้
ของภาษา กระบวนการคอมไพล์โปรแกรมคําสังของภาษาซี มีดงนี
ั
1. จัดทําโปรแกรมต้ นฉบับ (Source Program) หลักจากพิมพ์คาสังงาน ตามโครงสร้าง
ํ
ภาษาทีสมบูรณ์แล้วทุกส่ วนประกอบ ให้บนทึกโดยกําหนดชนิ ดงานเป็ น .c เช่น
ั
work.c
- 6. รู ปที &.( แสดงโปรแกรมต้ นฉบับภาษาซี รู ปที &.& การบันทึกกําหนดชนิดเป็ น .C
2. การแปลรหัสคําสั งเป็ นภาษาเครือง (Compile) หรื อการบิวด์ (Build) เครื องจะ
่
ตรวจสอบคําสังทีละคําสัง เพือวิเคราะห์วาใช้งานได้ถูกต้องตามรู ปแบบไวยากรณ์ที
ํ
ภาษาซี กาหนดไว้หรื อไม่หากมีขอผิดพลาดจะแจ้งให้ทราบ หากไม่มีขอผิดพลาดจะ
้ ้
ไปกระบวนการ A
3. การเชื อมโยงโปรแกรม( Link) ภาษาซี มีฟังก์ชนมาตรฐานให้ใช้งาน เช่น printf () ซึ ง
ั
จัดเก็บไว้ในเฮดเดอร์ ไพล์ หรื อเรี ยกว่า ไลบรารี ในตําแหน่งทีกําหนดชื อแตกต่างกัน
้ ้ ั
ไป ผูใช้ตองศึกษาและเรี ยกใช้เฮดเดอร์ ไฟล์กบฟังก์ชนให้สัมพันธ์ เรี ยกว่าเชื อมโยงกับ
ั
ไลบรารี กระบวนการนีได้ผลลัพธ์เป็ นไฟล์ชนิด exe
รู ปที &., แสดงกระบวนการแปลรหัสคําสั งของภาษาซี
2. ส่ วนประกอบโครงสร้ างภาษาซี
สําหรับโครงสร้างของภาษาซี ในเบืองต้นนีจะกล่าวถึงเฉพาะรายละเอียดทีนําไปใช้ในการ
เขียนคําสังควบคุมระดับพืนฐาน ผูสร้างงานโปรแกรมจะใช้งานส่ วนประกอบในภาษาซี
้
เพียง ; ส่ วน คือ ส่ วนหัวและส่ วนฟังก์ชนหลัก ดังนี
ั
- 7. # include < header file > 1
Main ( )
{
Statements ; 2
}
รู ปที &.. แสดงส่ วนประกอบในโครงสร้ างภาษาซี
&.( ส่ วนหัวของโปรแกรม (Header File)
หรื อเรี ยกว่าฟรี โปรเซสเซอร์ ไดเรกทีฟ ใช้ระบุชือเฮดเดอร์ ไฟล์ ควบคุมการทํางานของฟังก์ชน ั
มาตรฐานทีถูกเรี ยกใช้งานในส่ วนของ main ( ) เฮดเดอร์ ไฟล์มีชนิ ดเป็ น.h จัดเก็บในไลบรารี
ั ั ่
ฟังก์ชน ผูเ้ ขียนคําสังงานต้องศึกษาว่าฟังก์ชนทีใช้งานนันอยูในเฮดเดอร์ ไฟล์ชืออะไร จึงจะเรี ยกใช้
งานได้ถูกต้อง นิยมใช้รูปแบบคําสัง ดังนี
รู ปแบบ # include < header_name>
อธิบาย header_name ชือเฮดเดอร์ ไฟล์ทีควบคุมฟังก์ชนมาตรฐาน เช่น ฟังก์ชน printf ใช้ควบคุม
ั ั
การแสดงผล จัดเก็บในไลบรารี ชือ #include <stdio.h>
ตัวอย่ างคําสั ง ประกาศฟรี โปรเซสเซอร์ ไดเรกทีฟ ทีใช้ควบคุมฟังก์ชนมาตรฐานภาษาซี
ั
# include <stdio.h>
อธิบาย ให้คอมไพเลอร์ คนหาไลบรารี ไฟล์ชือ stdio.h จากไดเรกเทอรี include
้
ข้ อควรจํา
#include <stdio.h>เก็บฟังก์ชนรับข้อมูลแสดงผลทีต้องใช้งานทุกโปรแกรม
ั
ดังนัน ส่ วนดันทุกโปรแกรมจึงปรากฏคําสังนี
- 8. รู ปที &.0 แสดงตําแหน่ งไฟล์ stdio.h ในไดเรกทอรี include
2.2 ส่ วนฟังก์ ชันหลัก (Main Function)
เป็ นส่ วนเขียนคําสังควบคุมการทํางานภายในขอบเขตเครื องหมาย { }ของฟังก์ชนหลักคือ main
ั
( ) ต้องเขียนคําสังตามลําดับขันตอนจากกระบวนการวิเคราะห์ระบบงานเบืองต้นและขัน
วางแผนลําดับการทํางานทีได้จดทําล่วงหน้าไว้ เช่น ลําดับการทํางานด้วยแผนผังโปรแกรม
ั
เพือลดข้อผิดพลาดในขันตอนลําดับคําสังควบคุมงาน ในส่ วนนีพึงระมัดระวังเรื องเดียวคือ ต้อง
ใช้งานคําสังตามรู ปแบบไวยากรณ์ของภาษาซี ทีกําหนดไว้
2.3 การพิมพ์ คําสั งควบคุมงานในโครงสร้ างภาษาซี
คําแนะนําในการพิมพ์คาสังงาน ซึ งภาษาซี รียกว่า ฟังก์ชน (ต่อไปนีจะเรี ยกว่า คําสัง ตามทีนิยม
ํ ั
ทัวไป) ในส่ วนประกอบภายในโครงสร้างภาษาซี มีแนวทางปฏิบติดงนี ั ั
1. คําสังทีใช้ควบคุมการประมวลผลตามลําดับทีได้วเิ คราะห์ไว้ ต้องเขียนภายในเครื องหมาย
่
{}ทีอยูภายใต้การควบคุมของ ฟังก์ชนหลักชือ main ()
ั
2. ปกติคาสังควบคุมงานจะเป็ นอักษรตัวพิมพ์เล็ก ยกเว้นบางคําสังทีภาษากําหนดว่าต้องเป็ น
ํ
อักษรตัวพิมพ์ใหญ่ ต้องปฏิบติตามนัน เพราะภาษาซี มีความแตกต่างในเรื องตัวอักษร
ั
3. เมือสิ นสุ ดคําสังงาน ต้องพิมพ์เครื องหมายเซมิโคลอน (;)
- 9. 4. ใน 1 บรรทัด พิมพ์ได้มากกว่า 1 คําสัง แต่นิยมบรรทัดละ 1 คําสัง เพราะว่าอ่านโปรแกรม
ง่ายเมือมีขอผิดพลาด ย่อมตรวจสอบและค้นหาเพือแก้ไขได้เร็ ว
้
5. การพิมพ์คาสัง หากมีส่วนย่อย นิยมเคาะเยืองเข้าไป เพืออ่านโปรแกรมได้ง่ายขึน เมือมี
ํ
ข้อผิดพลาดย่อมตรวจสอบและค้นหาเพือแก้ไขได้รวดเร็ ว
รู ปที &.3 แสดงลักษณะการพิมพ์ คาสั งในโครงสร้ างภาษาซี
ํ
3. คําสั งจัดเก็บข้ อมูลลงหน่ วยความจํา (1)
การจัดเก็บข้อมูลลงหน่วยความจําคอมพิวเตอร์ ภาษากําหนดให้ดาเนินการผ่านซื อ
ํ
้ํ
(identifier) ทีผูสร้างงานโปรแกรมเป็ นผูกาหนดเอง ระบบคอมพิวเตอร์ จะจัดเก็บชือและ
้
ตําแหน่งทีอยู่ (Address ) ในหน่วยความจํา เพืออ้างอิงนําข้อมูลทีจัดเก็บนันมาใช้งาน การ
ํ
กําหนดชือทีใช้เก็บข้อมูลต้องทําภายใต้กฎเกณฑ์ และต้องศึกษาวิธีกาหนดลักษณะการ
จัดเก็บข้อมูลตามทีภาษากําหนดไว้ ลักษณะการจัดเก็บข้อมูลมี 2 แบบคือ แบบค่าคงทีและ
แบบตัวแปร ทังนีก่อนทีจะเขียนคําสังกําหนดการจัดเก็บข้อมูล ควรมีความรู ้ในเรื องชนิด
ข้อมูลก่อน
,.( ชนิดข้ อมูลแบบพืนฐาน
การจัดเก็บข้อมูลลงหน่วยความจําทังแบค่าคงทีหรื อแบบตัวแปร ต้องกําหนดชนิ ดข้อมูลให้
ระบบรับทราบ ในทีนีกล่าวถึงชนิดข้อมูลแบบพืนฐาน 3 กลุ่มหลักเท่านัน
ตารางที 2.1 ชนิดข้อมูลแบบพืนฐาน
ชนิดข้อมูล ขอบเขตของข้อมูล อธิบาย
char -128ถึง 8;= เก็บข้อมูลแบบอักขระ
int -A;=>?ถึง A;=>= เก็บข้อมูลแบบตัวเลขจํานวน
เต็ม
float A.Kx8B ถึงA.Kx10 เก็บข้อมูลแบบตัวเลขทศนิยม
ตัวเลขหลังจุด >หลัก
- 10. ข้ อควรจํา
ข้อมูลแบบข้อความใช้แบบข้อมูลแบบตัวแปรชุ ด เช่น char a [20] :
หมายเหตุ
ตารางแสดงชนิดข้อมูลของภาษาซีทุกชนิดแสดงในภาคผนวก
,.& คําสั งจัดเก็บข้ อมูลแบบค่ าคงที
ประสิ ทธิภาพคําสั ง : ลักษณะการจัดเก็บข้อมูลในหน่วยความจําไม่สามารถเปลียนแปลงได้
รู ปแบบ Const data_type var = data ;
อธิบาย data_type คือทีชนิ ดข้อมูลแบบพืนฐาน
Var คือชือหน่วยความจําทีผูใช้ตองกําหนดตามกฎการตังชื อ
้ ้
Data คือข้อมูลทีกําหนดเป็ นค่าคงที
ตัวอย่ างคําสั ง จัดเก็บข้อมูลแบบค่าคงที
Const float pi = 3.14 ;
Const char ans = ‘n ‘ ;
ข้อควรจํา char words [9] = “ computer”
Const
ข้ อควรจํา
่
กรณี ขอมูลมี 1 อักขระ กําหนดให้อยูใน ‘ ‘ (single quotation)
้
่
กรณี ขอมูลมีมากกว่า 1 อักขระ กําหนดให้อยูใน “ ” (double
้
quotation)
้ ่
กรณี ขอมูลเป็ นชนิดตัวเลขใช้ในการคํานวณไม่ตองอยูใน ‘’ หรื อ “ ”
้
,., คําสั งจัดเก็บข้ อมูลแบบตัวแปร
ประสิ ทธิ ภาพคําสัง : ลักษณะการจัดเก็บข้อมูลในหน่วยความจําสามารถเปลียนแปลงได้
var_type var_name[,….];
รู ปแบบ 1
รู ปแบบ 2 var_type var_name = data ;
อธิ บาย var_type คือหน่วยชนิดข้อมูลแบบพืนฐาน
- 11. var name คือชือหน่วยความจํา ทีผูใช้ตองกําหนดตามกฎการตังชื อ
้ ้
data คือข้อมูลทีกําหนดเป็ นค่าเริ มต้น (อาจมีหรื อไม่ก็ได้)
หมายเหตุ หากมีตวแปรมากกว่า 1 ตัว แต่เป็ นตัวแปรเก็บข้อมูลประเภทเดียว ใช้คอมม่า (,)
ั
คัน
ตัวอย่ างคําสั ง กําหนดคุณสมบัติให้ตวแปรในการจัดเก็บข้อมูล
ั
Char ans ;
List salary , bonus ;
Short value = 2;
4. คําสั งควบคุมการทํางานขันพืนฐาน
คําสังทีใช้ควบคุมการทํางานขันพืนฐานมี 3 กลุ่มคือ คําสังรับข้อมูลจากแป้ นพิมพ์แล้ว
นําไปจัดเก็บหน่ายความจํา (input ) การเขียนสมการคํานวณโดยใช้นิพจน์ทางคณิ ตศาสตร์
(Process) และคําสังแสดงผลข้อมูล หรื อข้อมูลทีจัดเก็บในหน่วยความจํา (Qutput )
..( คําสั งแสดงผล : printf ( )
ประสิ ทธิภาพคําสั ง : ใช้แสดงผล สิ งต่อไปนี เช่น ข้อความ ข้อมูลจากค่าคงที หรื อตัวแปร
ทีจอภาพ
รู ปแบบ 1 Printf (“ string_format” , data_list ) ;
รู ปแบบ 2 Printf (“string_format” ) ;
อธิบาย string_format คือลักษณะของสิ งต่อไปนี เช่น ข้อความ (text ) รหัสรู ปแบบ
ข้อมูล เช่น %d รหัสควบคุม เช่นn
Data_list คือข้อมูลแสดงผลอาจเป็ นค่าคงที ตัวแปร นิพจน์ หากมีหลายตัว
ใช้ , คัน
- 12. ตารางที 2.2 รหัสรู ปแบบข้อมูลระดับพืนฐาน
รหัส format code ความหมาย
%c ั
ใช้กบข้อมูลแบบ char
%d ั
ใช้กบข้อมูลแบบ int เฉพาะฐาน10
%s ั
ใช้กบข้อมูลแบบ string
หมายเหตุ รหัสรู ปแบบข้อมูลรู ปแบบ แสดงในภาคผนวก
ตัวอย่ างคําสั ง ควบคุมการแสดงผลด้วย printf
Printf ( “ Data is %d n ” , score ) ;
อธิบาย พิมพ์ขอความคําว่า data is ตามด้วยค่าข้อมูลในหน่วยความจําตัวแปรชื อ score ซึ ง
้
เป็ นข้อมูลชนิ ดจํานวนเต็ม (%) แล้วเลือนคอร์ เซอร์ ไปไว้บรรทัดถัดไป (n)
..& คําสั งรับข้ อมูล : รับข้อมูลจากแป้ นพิมพ์ แล้วจัดเก็บลงหน่วยความจําของตัวแปร
รู ปแบบ Scanf ( “ string_format” , & address_list ) ;
อธิบาย string_format คือรู ปแบบการแสดงผลของข้อมูลเท่านัน เช่น %d
Address_list ่
คือการระบุตาแหน่งทีอยูในหน่วยความจําต้องใช้สัญลักษณ์&
ํ
(Ampersand) นําหน้าชื อตัวแปรเสมอ
ข้ อควรจํา กรณี เป็ นตัวแปรข้อความ (String) สามารถยกเว้นไม่ตองใช้ & นําหน้าได้
้
ตัวอย่ างคําสั ง เขียนคําสังควบคุมการรับค่าจากแป้ นพิมพ์ดวย scanf
้
Scanf ( “%d ” , &score ) ;
อธิบาย รับข้อมูลจากแป้ นพิมพ์ นําไปเก็บในหน่วยความจําชือ score เป็ นข้อมูลประเภท
จํานวนเต็ม
- 13. .., คําสั งประมวลผล : expression
ประสิ ทธิภาพคําสั ง : เขียนคําสังแบบนิพจน์เพือประมวลผล แล้วนําข้อมูลทีได้ไปจัดเก็บ
ในหน่วยความจําของตัวแปรทีต้องกําหนดชือและชนิดข้อมูลไว้แล้ว
รู ปแบบ Var = expression ;
อธิบาย var คือชือหน่วยความจําชนิดตัวแปร
Expression คือสมการนิพจน์ เช่น สู ตรคํานวณทางคณิ ตศาสตร์
ตัวอย่ างคําสั ง นิพจน์ทีเป็ นสู ตรคํานวณทางคณิ ตศาสตร์
Sum = a+b ;
อธิบาย ให้นาค่าในหน่วยความจําตัวแปรชือ a กับ b มา+กันแล้วนําค่าไปเก็บใน
ํ
หน่วยความจําตัวแปรชือ sum
ตารางที 2.3 สั ญลักษณ์ ตัวดําเนินการคณิตศาสตร์ ตารางที2.4 ลําดับการคํานวณตัวดําเนินการคณิตศาสตร์
หมายเหตุ : หากลําดับเท่ ากันให้ คํานวณ
ตัวอย่ างโปรแกรมที 2.1 เขียนคําสังควบคุมให้ประมวลผลนิพจน์คณิ ตศาสตร์
- 14. #include <stdio . h >
/*file name // project_loop // operator3. C */
Main ( )
{
Int x ,y,r,s,t,;
Printf (“t arithmetic operator n”);
Printf (“-------------------------n”);
Printf ( “ Data x=” ) ; scanf (“%d” , &x ) ; ปอนข้ อมูลเข้ าระบบ
้
Printf ( “ Data x=” ) ; scanf(“%d” , &y) ;
Printf (“n”);
R=x+y *2;
ประมวลผลตามนิพจน์ คณิตศาสตร์
S = (x+y) *;;
T = x+y *2-1 ;
Printf ( “R=x+y *2 = %d n” , r ) ;
Printf ( “R= (x+y) *;= %d n” , s ) ; แสดงผลข้ อมูลทีจัดเก็บในตัวแปร
Printf ( “R= x+y *2-1 = %d n” , t) ;
Printf (“-------------------------n”);
}
รู ปที &.[ ผลทดสอบโปรแกรมตัวอย่ างที &.(
แนวคิดในการเขียนคําสั งควบคุมการทํางาน
1. ส่ วนปอนข้ อมูล ผูใช้ระบบงานป้ อนค่า ; เก็บในหน่วยความจํา x และป้ อนค่า A เก็บใน
้ ้
หน่วยความจํา y ด้วยคําสัง
Printf ( “data x=” ) ; scanf ( “%d ,&x ) ;
Printf ( “data y=” ) ; scanf ( “%d ,&y ) ;
&.ส่ วนประมวลผล ระบบจะนําค่าไปประมวลผลตามนิ พจน์คณิ ตศาสตร์
r = 2 + 3 * 2 ; ได้คาตอบคือ ?
ํ
- 15. s = (; + A ) * ; ; ได้คาตอบคือ 8B
ํ
t = 2 + 3 * 2-1 ; ได้คาตอบคือ 7
ํ
ทังนีคอมพิวเตอร์ ประมวลผล โดยยึดหลักลําดับความสําคัญของเครื องหมายทางคณิ ตศาสตร์ เช่น
คํานวณเครื องหมาย * ก่อนเครื องหมาย +
,.ส่ วนแสดงผล คําสังควบคุมให้แสดงผลลัพธ์
Printf ( “r = x + y * 2 = %d n” , r ) ;
Printf ( “r = (x + y X* 2 = %d n” , s ) ;
Printf ( “r = x + y * 2-1 = %d n” , t ) ;
5.คําสั งแสดงผล-รับข้ อมูล เฉพาะอักขระ
ภาษาซี มีคาสังแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี
ํ
5.1 คําสัง putchar ( ) <.; คําสัง getchar ( )
<.A คําสัง getch ( ) <.K คําสัง getche ( )
5.1 คําสั ง putchar ( )
แสดงผลข้อมูลจากหน่วยความจําของตัวแปร ทางจอภาพครังละ1อักขระเท่านัน
รู ปแบบ Putchar ( char_argument) ;
อธิบาย putchar_argument คือ ข้อมูลชนิดอักขระ
ตัวอย่ างโปรแกรมที 2.2 แสดงประสิ ทธิ ภาพคําสัง putchar ( )
#include <stdio.h>
/*// exput 1// exput.c*/
main( )
{
Char word1 =’A’ ,word2 = ‘1’ ;
printf ( “t * Test putchar ( ) command * n” );
printf (“ ***********************************n” );
printf ( “ Display 2 character = “ ) ;
putchar ( word1) ;
putchar ( word1) ;
printf (“n”);
printf (“***************************n”);
}
- 16. รู ปที &.^ ผลทดสอบโปรแกรมตัวอย่ างที &.&
แนวคิดในการเขียนคําสั งควบคุมการทํางาน
1. กําหนดค่ า ‘A’ เก็บในตัวแปรประเภท char ชื อ word1 และกําหนดค่า ‘1’ เก็บในตัวแปรชื อ
word2 ด้วยคําสัง char word1=’A’ , word2=’1’
2. เขียนคําสั งควบคุมการแสดงผลทีละ 1 อักขระโดยไม่ตองใช้สัญลักษณ์ขึนบรรทัดใหม่ดวย
้ ้
คําสัง putchar(word1); putcar(word2);
จึงพิมพ์คาว่า A1 ทีจอภาพ
ํ
5.2คําสั ง getchar ( )
รับข้อมูลจากแป้ นพิมพ์ครังละ 1 อักขระ และแสดงอักขระทีจอภาพ จากนันต้องกด
แป้ นพิมพ์ที Enter เพือนําข้อมูลบันทึกลงหน่วยความจําด้วย
รู ปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจําของตัวแปร
ํ
getchar ( ) ;
รู ปแบบ 2 นําข้อมูลจัดเก็บลงหน่วยความจําของตัวแปร
char_var = getchar ( ) ;
อธิบาย char_var คือ ข้อมูลชนิด char
ตัวอย่ างโปรแกรมที 2.3 แสดงประสิ ทธิภาพคําสั ง getchar ( )
- 17. #include <stdio.h>
/*// getchar//getchar.c*/
main( )
{
Char word1;
printf ( “t * Test getchar ( ) command * n” );
printf (“ ***********************************n” );
printf( “Key 1 Character = “ );
Word = getchar ( ) ;
printf (“n”);
printf( You key Character is = %c n”, word) ;
printf (“***************************n”);
}
รู ปที &.d ผลทดสอบโปรแกรมตัวอย่ างที &.,
แนวคิดในการเขียนคําสั งควบคุมการทํางาน
1.เขียนคําสั งควบคุมการปอนข้ อมูลประเภทอักขระด้ วยคําสั ง
้
printf ( “Key 1 Character = “ ) ;
word = getchar ( );
หมายถึงป้ อนอักขระ 1 ตัว เช่น a จะแสดงค่า ให้เห็นทีหน้าจอด้วย แล้ว ต้องกดแป้ น
Enter เพือนําข้อมูลบันทึกลงหน่วยความจําตัวแปรประเภท char ชือ word
2 . เขียนคําสั งควบคุมการแสดงผลจากหน่ วยความจํา word จึงเห็นค่ า a ( แทนที
word)
printf ( “You key Character is = %cn”, word ) ;
- 18. 5.3 คําสั ง getch ( )
รับข้อมูลจากแป้ นพิมพ์ครังละ 1 อักขระ แต่ ไม่ปรากฏ อักษรบนจอภาพ และ ไม่ตอง
้
กดแป้ น Enter
รู ปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจําของตัวแปร
ํ
getch( ) ;
รู ปแบบ 2 นําข้อมูลจัดเก็บลงหน่วยความจําของตัวแปร
char_var = getch 1( ) ;
อธิบาย char_var คือ ข้อมูลชนิดอักขระ
ตัวอย่ างโปรแกรมที 2.4 แสดงประสิ ทธิภาพคําสั ง getch ( )
#include <stdio.h>
/*// getch//getch.c*/
main( )
{
Char word;
printf ( “t * Test getch ( ) command * n” );
printf (“ ***********************************n” );
printf( “Key 1 Character = “ );
word = getch( );
printf (“n”);
printf( You key Character is = %c n”, word) ;
printf (“***************************n”);
}
แนวคิดในการเขียนคําสั งควบคุมการทํางาน
1.เขียนคําสั งควบคุมการปอนข้ อมูลประเภทอักขระด้ วยคําสั ง
้
printf ( “Key 1 Character = “ ) ;
word = getch ( );
หมายถึงป้ อนค่าใดทางแป้ นพิมพ์เป็ นอักขระ 1 ตัว เช่น a จะ ไม่แสดง ค่าให้เห็นทีหน้าจอ
ไม่ตอง กดแป้ น Enter เพือนําข้อมูลบันทึกลงหน่วยความจําตัวแปรประเภท char ชือ word
้
- 19. 2.เขียนคําสั งควบคุมการแสดงผลจากหน่ วยความจํา word จึงเห็นค่ า a ( แทนทีword )
printf ( “You key Character is = %cn”, word ) ;
5.4 คําสั ง getche( )
รับข้อมูลจากแป้ นพิมพ์ครังละ 1 อักขระ และ แสดง อักษรบนจอภาพ และ ไม่ตอง กด
้
แป้ น Enter
รู ปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจําของตัวแปร
ํ
getche ( );
รู ปแบบ 2 นําข้อมูลจัดเก็บลงหน่วยความจําของตัวแปร
char_var = getche ( );
อธิบาย char_var คือ ข้อมูลชนิดอักขระ
ตัวอย่ างโปรแกรมที 2.5 แสดงประสิ ทธิภาพคําสั ง getche ( )
#include <stdio.h>
#include <conio.h>
/*// getch//getche.c*/
main( )
{
Char word;
printf ( “t * Test getche ( ) command * n” );
printf (“ ***********************************n” );
printf( “Key 1 Character = “ );
word = getche ( ) ;
printf (“n”);
printf( You key Character is = %c n”, word) ;
printf (“***************************n”);
}
รู ปที &.(( ผลทดสอบโปรแกรมตัวอย่ างที &.0
- 20. แนวคิดในการเขียนคําสั งควบคมการทํางาน
1.เขียนคําสั งควบคุมการปอนข้ อมูลประเภทอักขระด้ วยคําสั ง
้
printf ( “Key 1 Character = “ ) ;
word = getche ( );
หมายถึงป้ อนค่าใดทางแป้ นพิมพ์เป็ นอักขระ 1 ตัว เช่น a จะ แสดง ค่าให้เห็นทีหน้าจอ และ
ไม่ตอง กดแป้ น Enter เพือนําข้อมูลบันทึกลงหน่วยความจําตัวแปรประเภท char ชือ word
้
2.เขียนคําสั งควบคุมการแสดงผลเพือแสดงค่ าจากหน่ วยความจํา word จึงเห็นค่ า a
( แทนทิword )
printf ( “You key Character is = %cn”, word ) ;
6.คําสั งแสดงผล-รับข้ อมูล เฉพาะข้ อความ
ภาษาซี มีคาสังใช้ในการรับข้อมูลเฉพาะประเภทข้อความ (String) ในภาษาซี คือ
ํ
ชนิดข้อมูล char [n] จัดเก็บในหน่วยความจํา และแสดงผลข้อมูลประเภทข้อความเท่านัน มี
รายละเอียดดังนี
6.1.คําสัง puts( )
6.2.คําสัง gets( )
6.1.คําสั ง puts( )
แสดงผลข้อมูลเฉพาะประเภทข้อความทางจอภาพครังละ 1 ข้อความ
รู ปแบบ puts ( string_argument ) ;
อธิบาย string_argument คือ ข้อมูลชนิดข้อความ
ตัวอย่ างโปรแกรมที2.6 แสดงประสิ ทธิภาพคําสั ง puts ( )
#include <stdio.h>
#include <conio.h>
/*// puts//puts.c*/
main ( )
{
char word [15] = “*Example * “ ;
puts(word) ;
puts(“**************”) ;
}
- 21. รู ปที &.(& ผลทดสอบโปรแกรมตัวอย่ างที &.3
แนวคิดในการเขียนคําสั งควบคุมการทํางาน
1.เขียนคําสั งกําหนดค่ าข้ อความเก็บในตัวแปรชื อ word
Char word [15] = “*Example * “ ;
2.เขียนคําสั งควบคุมการแสดงผลในลักษณะข้ อความด้ วย puts
Puts ( word ) ;
Puts (“**************”);
6.2คําสั ง gets ( )
รับข้อมูล ข้อความ จากแป้ นพิมพ์ และต้องกดแป้ น Enter
รู ปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจําของตัวแปร
ํ
gets ( );
รู ปแบบ 2 นําข้อมูลจัดเก็บลงหน่วยความจําของตัวแปร
string_var =gets ( ) ;
อธิบาย string_var คือ ข้อมูลชนิดข้อความ
ตัวอย่ างโปรแกรมที2.7 แสดงประสิ ทธิภาพคําสั ง gets ( )
- 22. #include <stdio.h>
/* gets.c */
main( )
{
Char word[40];
printf ( “t * Test gets ( ) command * n” );
printf (“ ***********************************n” );
printf( “Key your name = “ );
gets (word) ;
printf (“n”); printf( “You name is %s n”, word) ;
printf (“***************************n”);
}
รู ปที &.(, ผลทดสอบโปรแกรมตัวอย่ างที &.[
แนวคิดในการเขียนคําสั งควบคมการทํางาน
1.เขียนคําสั งให้ รับข้ อมูล ชนิดข้ อความ จากแปนพิมพ์ และต้อง กดแป้ น Enter เพือนํา
้
ข้อความบันทึกลงตัวแปรชนิ ดข้อความ ด้วยคําสัง gets (word) ;
2.เขียนคําสั งควบคุมให้ แสดงผลลักษณะข้ อความด้ วย
printf ( “You name is = %sn”, word ) ;
7.กรณีศึกษาการใช้ คําสั งควบคุมขันพืนฐาน
7.1กรณีศึกษาการใช้ คําสั งควบคุมพืนฐาน ดําเนินงานข้ อมูลประเภทตัวแปร
โจทย์ : จงเขียนโปนแกรมให้ประมวลผลหาผลรวมเลข 2 จํานวนตามทีผูใช้ป้อนเข้าระบบ
้
ตัวอย่ างโปรแกรมที2.8กรณีศึกษาระบบงานคํานวณหาผลรวมเลข 2 จํานวน
- 23. #include <stdio.h>
/* calulate // call.c*/
main( )
{
int n1 ,n2 ,result ;
printf ( “*Calulate Add * nn “ );
Printf (“Key number 1 = “) ; scanf (“%d “ ,& n1);
ส่ วนปอนข้ อมูล
้
Printf (“Key number 2 = “) ; scanf (“%d “ ,& n2);
Rusule = n1+n2 ; ส่ วนประมวลผล
Printf(“n ** Result = %d n” , result) ; ส่ วนแสดงผล
}
รู ปที &.(. ผลทดสอบโปรแกรมตัวอย่ างที &.^
แนวคิดในการเขียนคําสั งควบคุมการทํางาน
1.ประกาศพรีดปรเซสเซอร์ ไดเรกทีฟ #include <stdio.h>ระบุไลบรารี ควบคุมคําสัง
2.เขียนหมายเหตุ (remark) เช่ น /* calculate// cal1.c*/ชือแฟ้ มงานทีจัดเก็บโปรแกรมนี
3.กําหนดชื อหน่ วยความจํา ประเภทตัวแปรและชนิ ดข้อมูลทีจัดเก็บในทีนีคือ int
n1,n2,result;(ตัวแปร3ตัว คือ n1,n2และresult เก็บค่าจํานวนเต็ม)
4.พิมพ์ หัวข้ อรายงานของโปรแกรมระบบงานนี เช่ น printf(“*calculate Add*nn*);n คือ
เลือนเคอร์ เซอร์ ขึนบรรทัดใหม่
5.ส่ วนปอนข้ อมูลเข้ าระบบ เขียนคําสังควบคุม printf (“key number 1 =”) ; scanf(“%d”
้
,&n1); ผลลัพธ์ คือ key number 1 =(ป้ อนข้อมูลตัวเลขจํานวนเต็ม)
6.ส่ วนเขียนนิพจน์ เพือประมวลผลสมการ เช่น result= n1+n2;(นําค่าในตัวแปร n1 กับ n2
บวกกัน แล้วเก็บในตัวแปรชื อ result
- 24. 7.ส่ วนแสดงผล ทีเก็บไว้ในตัวแปรจากนิพจน์ เช่น printf (“n**Result =%dn” ,result);
(เลือนเคอร์ เซอร์ ขึนบรรทัดใหม่แล้วพิมพ์ ** Result = ตามด้วยค่า result ทีเป็ นเลขจํานวนเต็ม %d
แล้วเลือนเคอร์ เซอร์ ขึนบรรทัดใหม่)
7.2 กรณีศึกษาใช้ คําสั งควบคุมพืนฐาน ดําเนินงานข้ อมูลประเภทค่ าคงทีและแสดงนิพจน์ ที
ระบบคํานวณตามลําดับความสํ าคัญของเครืองหมาย
โจทย์ : จงเขียนโปรแกรมให้ประมวลผลสองเท่าของสมการผลบวกของเลข 2 จํานวนที
ผูใช้ป้อนเข้าระบบ
้
ตัวอย่ างโปรแกรมที2.9กรณี ศึกษาโปรแกรมระบบงานคํานวณหาสองเท่าของผลรวม
เลข 2 จํานวน
#include <stdio.h>
/* calulate // cal2.c*/
main( )
{
const char line [20] = “******************” ;
const int n3 = 2 ; int n1, n2 ,result ;
printf ( “* Calculate Value *nn”) ;
printf (line) ;
printf (*n key number 1 = “ ; scanf (”%d” , &n1 ) ; ส่ วนปอนข้ อมูล
้
Printf (“ key number 2 = “ ; scanf (”%d” , &n2 ) ;
Result = n1 +n2 *n3 ; ส่ วนประมวลผล
printf (“n” ) ; printf (line);
printf (“n %d +%d x %d =%d n” ,n1,n2,n3,result); ส่ วนแสดงผล
printf (line) ; printf (“n”);
}
รู ปที &.(0 ผลทดสอบโปรแกรมตัวอย่ างที &.d
- 25. อธิบาย ผลของ คําตอบผิด เพราะต้องการให้แสดงสองเท่าของผลบวกของเลข 2 จํานวน
นันคือ 2+3 ได้ 5แล้วจึงนําไปคูณกับ 2 ต้องได้ 10 มิใช่ 8 ดังนันจึงต้องแก้ไขนิพจน์เป็ น
Result = ( n1+n2 ) * n3 ;
รู ปที ;.8> ผลทดสอบโปรแกรมตัวอย่างที ;.V ทีแก้ไขนิ พจน์แล้ว
แนวคิดในการเขียนคําสั งควบคุมการทํางาน
1.เขียนคําสั งกําหนดชื อหน่ วยความจํา
1.1)หน่วยความจําประเภทค่าคงที พร้อมกําหนดค่าให้เก็บในหน่วยความจํา
const char line[20] = “**************”;
const int n3 =2;
1.2)หน่วยความจําประเภทตัวแปร
int n1,n2 ,result ;
&. พิมพ์ หัวข้ อรายงาน
printf("*Calculate Value * nn");
printf(line);
,. ส่ วนปอนข้ อมูล เขียนคําสั งควบคุมให้ พมพ์ ข้อความ และคําสั งควบคุมให้ ปอนข้ อมูลเข้ า
้ ิ ้
ระบบ
printf("n key number 8 = "); scanf("%d" , &n8);
printf(" key number ; = "); scanf("%d" , &n;);
.. ส่ วนประมวลผล เขียนคําสั งควบคุมประมวลผลนิพจน์ คณิตศาสตร์
result = n8 + n; * nA;
0. ส่ วนแสดงผล เขียนคําสั งควบคุมการแสดงผลตัวแปร
printf("n %d + %d * %d = %d n" , n8, n;, nA, result);
- 26. 7.3 กรณีศึกษาการใช้ คําสั งควบคุมพืนฐานดําเนินงานข้ อมูลประเภททศนิยม
โจทย์: จงเขียนโปรแกรมควบคุมการทํางานให้สามารถรับข้อมูลชือนักศึกษาและคะแนน
เพือประมวลผลหาคะแนนร้อยละของคะแนนนัน กําหนดให้การสอบครังนีมีคะแนนเต็ม ;<B
คะแนน
#include <stdio.h>
/* file name //calculate //ca14.c */
main ( ) ป้ อนข้อมูลชื อและคะแนนดิบ
{
คะแนนร้อยละจากการคํานวณ
const char line [26] = “==========================”;
int score ; float result ; char name [30] ;
printf(“* calculate score * n n”);
printf(line);
printf(“n key student name :”); scanf(“%s” , name);
ส่วนป้ อนข้อมูล
printf(“ key score :”) ; scanf(“%d” , &score);
result = (score * 100) /250; ส่วนประมวลผล
printf(“n”); printf(line) ;
printf(“n * percentage = %f n” , result);
printf(line) ; ส่วนแสดงผล
printf(“n press any key to continue”) ; scanf(“%d” , &score) ;
printf(line) ; printf(“n”);
}
ตัวอย่ างโปรแกรมที &.(m กรณี ศึกษาโปรแกรมระบบงานคํานวณหาร้อยละของคะแนน
รู ปที &.([ ผลทดสอบโปรแกรมตัวอย่ างที &.(m
แนวคิดในการเขียนคําสั งควบคุมการทํางาน
(. ส่ วนปอนข้ อมูล เขียนคําสังควบคุมให้ผใช้ระบบป้ อนข้อมูลชือนักศึกษาและคะแนนด้วย
้ ู้
คําสัง
printf (“n key syudent name :”) ; scanf (“%s” , name);
printf (“key score :”); scanf(“%d” , &score);
ํ
2. ส่ วนประมวลผล เขียนคําสังควบคุมการประมวลผลนิพจน์ตามโจทย์กาหนด
- 27. result = (score * 100) /250 ;
,. ส่ วนแสดงผล เขียนคําสังควบคุมการแสดงผลด้วยคําสัง
printf(“n * percentage = %f n” , result) ;
แนะนํา กําหนดตําแหน่งทศนิยม เขียนฟังก์ชนได้ดงนี
ั ั
Printf (“n * percentage = %.2f n” , result);
รู ปที &.(^ ผลทดสอบโปรแกรมตัวอย่ างที &.(mทีแก้ไขรู ปแบบแสดงผลแล้ ว
7.4 กรณีศึกษา แสดงขันตอนการสร้ างงานโปรแกรม และชุ ดคําสั งควบคุมพืนฐาน
จากโจทย์บทที 8 (คัดมาทบทวนเฉพาะบางส่ วนเท่านัน)
โจทย์ : บริ ษท OK ต้องการคํานวณยอดขายเฉลียของพนักงานขายแต่ละราย และ
ั
กําหนดการแสดงผลทางจอภาพ ดังนี
Report Average
**************************************************************
Code (รหัสพนักงาน) = ………
Name (ชือพนักงาน) =………..
Summit (ยอดขาย) =………..
Number (จํานวนสิ นค้า) =……….
**************************************************************
Average (ยอดขายเฉลีย) =………
**************************************************************
- 28. 1. การวิเคราะห์ ระบบงานเบืองต้ น (หัวข้ อ (.( – (.. ให้ ไปศึกษาได้ จากบทที ()
กําหนดคุณสมบัติตัวแปร
2. ลําดับการทํางานด้ วยผังงานโปรแกรม
start
พิมพ์ heading
ป้ อนค่า no, name, sum, num
คํานวณ avg = sum/num
พิมพ์ค่า avg
end
รู ปผังงานที &.( ผังงานจากโปรแกรมตัวอย่ างที &.((
3. คําสั งควบคุมการทํางาน
ตัวอย่ างโปรแกรมที &.(( กรณี ศึกษาโปรแกรมระบบงาน คํานวณหายอดขายเฉลีย
- 29. #include <stdio.h>
#include <conio.h>
/* ok // summit.c */
main ( )
{
char name [30];
int code,sum,num; ส่ วนกําหนดคุณสมบัติตวแปร
ั
float avg;
printf(“*******************n”);
printf(“ report average n”);
printf(“*******************nn”);
printf(“code => ”); scanf(“%d”, &code);
printf(“name =>”); scanf(“%s”, name); ส่ วนป้ อนข้อมูล
printf(“summit =>”); scanf(“%d”, &sum);
printf(“number =>”); scanf(“%d”, &num);
printf(“*******************n”);
avg = sum/num; ส่ วนประมวลผล
printf(“*********************n”);
printf(“*******************n”);
printf(“* average = %.2f n”, avg); ส่ วนแสดงผล
printf(“n press any key to continue”) ; scanf(“%d”);
printf(“*****************n”);
}
}
ป้ อนข้อมูลเข้าระบบ
ผลการคํานวณ หลังการคํานวณตามนิ พจน์
รู ปที &.(d ผลทดสอบโปรแกรมตัวอย่ างที &.((
- 30. แนวคิดในการเขียนคําสั งควบคุมการทํางาน
1. วิเคราะห์ คุณสมบัติหน่ วยความจํา ด้วยการกําหนดชือตัวแปรและชนิดข้อมูล
char name[30];
int code, sum,num;
float avg;
2. ส่ วนปอนข้ อมูล เขียนคําสังควบคุมการนําข้อมูลเข้าหน่วยความจําตัวแปร
้
printf(“ code =>”); scanf(“%d”, &code);
printf(“ name =>”); scanf(“%s”, &name);
printf(“ summit =>”); scanf(“%d”, &sum);
printf(“ number =>”); scanf(“%d”, &num);
3. ส่ วนประมวลผล เขียนคําสังควบคุมการทํางานของนิพจน์
avg = sum/num;
4. ส่ วนแสดงผล เขียนคําสังควบคุมแสดงผลลัพธ์จากตัวแปร
printf(“* average = % .2f n” , avg);
โจทย์ : บริ ษท Thank you ต้องการวิเคราะห์เงินคงเหลือของโครงการวิจยทีนําเสนอ กําหนด
ั ั
แสดงผล ดังนี
Report Thank you Company
***************************************************************
Project Name (ชือโครงการวิจย)........
ั
Budget (งบประมาณ)..............
****************************************************************
Maintenance (หักค่าบํารุ ง ;B%).........
Public utility (หักค่าสาธารณูปโภค <%)........
Remaining (เงินคงเหลือ).......
1. การวิเคราะห์ ระบบงานเบืองต้ น
สิ งทีต้องการ เงินหักค่าบํารุ ง ;B% เงินหักค่าสาธารณูปโภค <% และเงินคงเหลือ
สมการคํานวณ
1.) เงินหักค่าบํารุ ง ;B % คํานวณตามสมการดังนี
เงินหักค่าบํารุ ง ;B% = งบประมาณ * ;B/8BB
2.) เงินหักค่าสาธารณูปโภค <% คํานวณตามสมการดังนี
เงินหักค่าสาธารณูปโภค <% = (งบประมาณ – เงินหักค่าบํารุ ง ;B %) * </8BB
- 31. 3.) เงินคงเหลือ คํานวณตามสมการดังนี
เงินคงเหลือ = งบประมาณ – เงินหักค่าบํารุ ง ;B% - เงินหักค่าสาธารณูปโภค
<%
ข้อมูลนําเข้า ชื อโครงการวิจย งบประมาณ
ั
การแสดงผลตามโจทย์กาหนด ํ
กําหนดคุณสมบัติตวแปร ั
ข้อมูล ชือหน่วยความจํา ชนิดข้อมูล
ชือโครงการวิจย ั Name กลุ่มอักขระ
งบประมาณ Budget ตัวเลขทศนิยม
เงินหักค่าบํารุ ง 20% Maint ตัวเลขทศนิยม
หักค่าสาธารณูปโภค 5% Pub ตัวเลขทศนิยม
เงินคงเหลือ Remain ตัวเลขทศนิยม
ลําดับขันตอนการทํางาน action
1. พิมพ์หวข้อรายงาน
ั
2. ป้ อนข้อมูล ชื อโครงการวิจย name งบประมาณ budget
ั
3. เงินหักค่าบํารุ ง ;B% คํานวณตามสมการดังนี
Maint = budget * 20/100
4. เงินหักค่าสาธารณูปโภค 5% คํานวณตามสมการดังนี
pub = (budget – maint) *5/100
5. เงินคงเหลือ คํานวณตามสมการดังนี
Remain = budget – maint – pub
6. พิมพ์ค่า maint, pub, remain
7. จบการทํางาน
2. ลําดับการทํางานด้ วยผังงานโปรแกรม
- 32. start
พิมพ์ heading
ป้ อนค่า name,budget
คํานวณ maint = budget *20/100
คํานวณ pub = (budget - maint) *</8BB
คํานวณ remain = budget – maint - pub
พิมพ์ค่า maint,pub,remain
end
รู ปผังงานที &.& ผังงานจากตัวอย่ างโปรแกรมที &.(&
3. คําสั งควบคุมการทํางาน
ตัวอย่ างโปรแกรมที &.(& กรณี ศึกษาโปรแกรมระบบงานคํานวณหาเงินคงเหลือของ
โครงการวิจย ั
- 33. #include <stdio.h>
/* lesson2// remain.c */
main ( )
{
char name[40]; ส่ วนกําหนดคุณสมบัติ
float budget, maint, pub, remain ; ตัวแปร
printf(“* report thank you company * nn”);
printf(“--------------------------------n”);
printf(“project name = ”); scanf(“%s” , name);
printf(“n”); ส่ วนป้ อนข้อมูล
printf(“budget = ”) ; scanf(“%f” , &budget) ;
printf (“n”);
maint = budget * 20/100 ;
pub = (budget - maint) * </8BB ; ส่ วนประมวลผล
remain = budget – maint – pub ;
printf(“-------------------------n”);
printf(“n ** maintenance = %.2f n” , maint);
printf(“n ** public utility = %.2f n” , pub); ส่ วนแสดงผล
printf(“n ** remain = %.2f n” , remain);
printf(“-----------------------------------n”);
}
รู ปที &.&m ผลทดสอบโปรแกรมตัวอย่ างที &.(&
- 34. แนวคิดในการเขียนคําสั งควบคุมการทํางาน
1. วิเคราะห์ คุณสมบัติหน่ วยความจํา ด้วยการกําหนดชือตัวแปรและชนิดข้อมูล
char name[40];
float budget, maint, pub, remain ;
2. ส่ วนปอนข้ อมูล เขียนคําสังควบคุมการนําข้อมูลเข้า หน่วยความจําตัวแปร
้
printf(“project name = ”); scanf(“%s” , name);
printf(“budget = ”) ; scanf(“%f” , &budget) ;
3. ส่ วนประมวลผล เขียนคําสังควบคุมประมวลผลนิพจน์
maint = budget * 20/100 ;
pub = (budget - maint) * </8BB ;
remain = budget – maint – pub ;
4. ส่ วนแสดงผล เขียนคําสังควบคุมการแสดงผลลัพธ์จากตัวแปร
printf(“n ** maintenance = %.2f n” , maint);
printf(“n ** public utility = %.2f n” , pub);
printf(“n ** remain = %.2f n” , remain);
- 35. สรุ ปเนือหา
การเริ มต้นฝึ กทักษะเขียนคําสังควบคุมการทํางาน เพือสร้างโปรแกรมประยุกต์งานด้วย
ภาษาซี ตองเรี ยนรู ้วธีเขียนคําสังในส่ วนประกอบทัง ; ส่ วน ของโครงสร้างภาษา กล่าวคือ
้ ิ
โครงสร้างส่ วนที 8 เรี ยกว่า ส่ วนหัวโปรแกรมนันใช้เขียนคําสังเหล่านี เช่น ประกาศ
ไลบรารี #include<stdio.h> เพือใช้ควบคุมการทํางานฟั งก์ชนมาตรฐานในกลุ่มนําเข้าข้อมูล กลุ่ม
ั
แสดงผลข้อมูล นอกจากนียังใช้เขียนคําสังประกาศคุณสมบัติของหน่วยความจําประเภทตัวแปร
หรื อค่าคงที ทีต้องทําภายใต้กฎเกณฑ์ทีภาษากําหนดไว้ และผูสร้างงานโปรแกรมควรจะต้อง
้
วิเคราะห์ได้ดวยว่าข้อมูลทีจะใช้งาน หรื อทีได้จากนิพจน์คณิ ตศาสตร์ นนเป็ นข้อมูลชนิดใด เช่น
้ ั
ข้อมูลประเภทอักขระ (char) ข้อมูลประเภทข้อความ (string) ข้อมูลประเภทจํานวนเต็ม (int) หรื อ
ข้อมูลประเภททศนิยม (float) ทังนีการเขียนคําสังเพือกําหนดชนิ ดหน่วยความจํา อาจเลือกเขียนใน
ส่ วนฟังก์ชนหลัก main() ได้
ั
โครงสร้างส่ วนที ; เป็ นส่ วนฟังก์ชนหลัก หรื อ main() ใช้เขียนคําสังควบคุมการทํางาน
ั
ภายใต้เครื องมือ { } ทังนีต้องเขียนตามลําดับขันตอนทีได้วเิ คราะห์และวางแผนแล้ว การเขียนคําสัง
ควบคุมการทํางานขันพืนฐานแบ่งได้เป็ น A กลุ่มคือ
1.) คําสังควบคุมการรับข้อมูลเข้าหน่วยความจําคือ scanf, getchar(), getch(),
getche(),gets()
2.) คําสังควบคุมการแสดงผลทางจอภาพคือ printf, putchar(), puts() และ
3.) คําสังควบคุมให้ประมวลผลสมการคณิ ตศาสตร์ ทีเรี ยกว่านิพจน์ ระบบจะประมวลผล
โดยยึดหลักลําดับความสําคัญของสัญลักษณ์ตวดําเนินการ
ั
บทนีเป็ นการฝึ กทักษะทีมีความสําคัญมาก เพราะเป็ นรากฐานในการเขียนคําสังควบคุมการ
ทํางานของคอมพิวเตอร์ ในลําดับต่อไปอีกด้วย
- 37. คําถามท้ ายบท
8. ภาษาซี มีพฒนาการจากรุ่ นแรกโดยการทํางานภายใต้ระบบอะไร
ั
ก. ระบบปฏิบติการ cos
ั ข. Windows
ค. คอมไพเลอร์ ง. ถูกทุกข้อ
;. เครื องหมายใดทีใช้เขียนแทนคําสังควบคุมการประมวลผล
ก. ( ) ข. { }
ค. ( ; ) ง. ,
A. เมือสิ นสุ ดคําสังงานจะต้องพิมพ์เครื องหมายใด
ก. { } ข. ( )
ค. ( ; ) ง. ,
K. การจัดเก็บข้อมูลลงหน่วยความจําทังแบบค่าคงทีหรื อแบบตัวแปร เป็ นความหมายของชนิด
ข้อมูลประเภทใด
ก. ชนิดข้อมูลแบบพืนฐาน ข. คําสังจัดเก็บข้อมูลแบบค่าคงที
ค. คําสังจัดเก็บข้อมูลแบบตัวแปร ง. ไม่มีขอมูล
้
<. คําสัง printf () เป็ นคําสังอะไร
ก. ชนิดข้อมูลแบบพืนฐาน ข. คําสังแสดงผล
ค. คําสังประมวลผล ง. คําสังเก็บข้อมูล
>. คําสังรับข้อมูล จะรับข้อมูลจากส่ วนใดของคอมพิวเตอร์
ก. เมาส์ ข. หน้าจอ
ค. ซี พียู ง. แป้ นพิมพ์
=. คําสัง putchar () แสดงผลข้อมูลจากหน่วยความจําของตัวแปรทางจอภาพได้ครังละกีอักขระ
ก. 8 อักขระ ข. ; อักขระ
ค. A อักขระ ง. K อักขระ
- 38. ?. คําสัง put () แสดงข้อมูลเฉพาะประเภทข้อความทางจอภาพได้ครังละกีข้อความ
ก. 8 ข้อความ ข. A ข้อความ
ค. < ข้อความ ง. > ข้อความ
V. คําสัง gets () รับข้อมูลข้อความจากแป้ นพิมพ์มีกีรู ปแบบ
ก. 8 รู ปแบบ ข. ; รู ปแบบ
ค. A รู ปแบบ ง. < รู ปแบบ
8B. การสร้างโปรแกรมประยุกต์งานด้วยภาษาซี ตองเรี ยนรู ้สิงใด
้
ก. การรับข้อมูล ข. การวิเคราะห์ขอมูล
้
ค. การเขียนคําสัง ง. การประมวลผล
- 39. เฉลย
1. ตอบ ก
2. ตอบ ข
3. ตอบ ค
4. ตอบ ก
5. ตอบ ข
6. ตอบ ง
7. ตอบ ก
8. ตอบ ก
9. ตอบ ข
10. ตอบ ค