More Related Content
Similar to Presenter1234567
Similar to Presenter1234567 (20)
Presenter1234567
- 2. ประเภทของโปรแกรมย่อย
ประเภทของโปรแกรมย่อย (Procedure) เป็นส่วนหนึ่งของโปรแกรม มีหน้าที่เฉพาะตัวโดยแยกการทางานออกจาก โปรแกรมอย่างอิสระ
การเขียนโปรแกรมที่มีการทางานแบบโปรแกรมย่อยจะช่วยลด ความซับซ้อนของโปรแกรม ซึ่งจะทาให้สามารถแก้ไขและเพิ่มเติม การทางาน ของโปรแกรมได้ง่ายขึ้น ในบางครั้งโปรแกรมหลักจะมีการส่งข้อมูลไปทางาน ในโปรแกรมย่อยด้วย โดยข้อมูลนั้นจะเก็บอยู่ในรูป ตัวแปรพิเศษเรียกว่า พารามิเตอร์ (Parameter)
โปรแกรมย่อย
- 3. Subมาจากคาเต็มว่า ซับรูทีน (Subroutine) เป็นโปรแกรมย่อย เมื่อทางานแล้ว จะไม่มีการส่งผลการทางานกลับไปยังโปรแกรมที่เรียก ซับรูทีนนี้ใช้งาน
สามารแบ่งโปรแกรมย่อยได้ 2 ประเภท คือ
Functionเป็นโปรแกรมย่อยเมื่อทางานเสร็จแล้ว จะต้องมีการส่งผล การทางานกลับไปยังโปรแกรมที่เรียกฟังก์ชันนี้ใช้งาน
- 4. ฟังก์ชันในภาษา C
สาหรับเนื้อหาในบทนี้จะกล่าวถึงฟังก์ชันในภาษา Cโดยจะประกอบ ไปด้วยเนื้อหาหลัก ๆ คือ เรื่องที่หนึ่ง ฟังก์ชันมาตรฐาน เป็นฟังก์ชันที่บริษัทที่ ผลิตภาษา Cได้เขียนขึ้นและเก็บไว้ใน headerfileภาษา Cคือ เก็บไว้ในแฟ้ม ที่มีนามสกุล *.hต่าง ๆ ส่วนเรื่องที่สอง เป็นฟังก์ชันที่เขียนขึ้นหรือเรียกอีกอย่างว่า โปรแกรมย่อย ที่ผู้เขียนโปรแกรมเขียนขึ้นมาใช้งานอย่างใดอย่างหนึ่งตาม ความต้องการของงานนั้น ๆ โดยรายละเอียดของแต่ละฟังก์ชันมีดังต่อไปนี้
- 5. ฟังก์ชันมาตรฐาน (standardfunctions)
เป็นฟังก์ชันที่บริษัทที่ผลิตภาษา Cได้เขียนขึ้นและเก็บไว้ ใน headerfileภาษา Cคือเก็บไว้ในแฟ้มที่มีนามสกุล *.hต่าง ๆ เมื่อต้องการใช้ฟังก์ชันใด จะต้องรู้ว่าฟังก์ชันนั้นอยู่ใน headerfileใดจากนั้นจึง ค่อยใช้คาสั่ง #include<headerfile.h>เข้ามาในส่วนตอนต้นของโปรแกรม จึงจะสามารถใช้ฟังก์ชันที่ต้องการได้ ซึ่งฟังก์ชันมาตรฐานเป็นฟังก์ชันที่ บริษัทผู้ผลิต Ccompilerเขียนขึ้นเพื่อให้ผู้ใช้นาไปช่วยในการเขียนโปรแกรม ทาให้การเขียนโปรแกรมสะดวกและง่ายขึ้น บางครั้งเราอาจจะเรียกฟังก์ชัน มาตรฐานว่า “ไลบรารีฟังก์ชัน” (libraryfunctions)
- 6. ตัวอย่างฟังก์ชันมาตรฐาน เช่น ฟังก์ชัน pow(x,y)คือ ฟังก์ชันที่ใช้ หาค่ายกกาลังของ xyโดยที่ตัวแปร xและตัวแปร yมีชนิดเป็น doubleซึ่งฟังก์ชัน pow(x,y)จะถูกเก็บไว้ใน headerfileที่ชื่อว่า math.hดังนั้นจึงต้องใช้คาสั่ง #include<math.h>แทรกอยู่ในส่วนตอนต้นของโปรแกรม เหนือฟังก์ชัน main( )จึงจะสามารถเรียกใช้ฟังก์ชัน pow(x,y)มาใช้งานภายใน โปรแกรมนี้ได้
สาหรับฟังก์ชันมาตรฐานที่จะกล่าวถึงในหัวข้อนี้จะกล่าวเฉพาะฟังก์ชัน มาตรฐานที่จาเป็น และเรียกใช้งานบ่อย ๆ เท่านั้น ซึ่งมีดังต่อไปนี้
- 8. 1) ฟังก์ชัน acos(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า arccosineของ xโดยที่ xเป็นค่า มุมในหน่วยเรเดียน (radian) รูปแบบ acos(x); 2) ฟังก์ชัน asin(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า arcsine ของ xโดยที่ xเป็นค่ามุม ในหน่วยเรเดียน รูปแบบasin(x);
ฟังก์ชันทางคณิตศาสตร์ที่ควรทราบ มีดังนี้
- 9. 3) ฟังก์ชัน atan(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า arctanของ xโดยที่ xเป็นค่ามุม ในหน่วยเรเดียน รูปแบบ atan(x);
4) ฟังก์ชัน sin(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า sineของ xโดยที่ xเป็นค่ามุม ในหน่วยเรเดียน รูปแบบ sin(x);
5) ฟังก์ชัน cos(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า cosineของ xโดยที่ xเป็นค่ามุม ในหน่วยเรเดียน รูปแบบcos(x);
- 10. 6) ฟังก์ชัน tan(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า tanของ xโดยที่ xเป็นค่ามุม ในหน่วยเรเดียน รูปแบบtan(x);
7) ฟังก์ชัน sqrt(x) เป็นฟังก์ชันที่ใช้หาค่ารากที่ 2 (square root)ของค่าคงที่หรือ ตัวแปร xโดยที่ xจะต้องเป็นค่าคงที่ชนิดตัวเลขหรือตัวแปรที่มีค่าไม่ติดลบ รูปแบบsqrt(x);
8) ฟังก์ชัน exp(x) เป็นฟังก์ชันที่ใช้หาค่า exโดยที่ xเป็นค่าคงที่หรือตัวแปรที่จะใช้เป็นค่า ยกกาลังของ eโดยที่ eมีค่าประมาณ 2.718282 รูปแบบexp(x);
- 11. 9) ฟังก์ชัน pow(x,y) เป็นฟังก์ชันที่ใช้หาค่า xyโดยที
xเป็นค่าคงที่หรือตัวแปรที่ใช้เป็นตัวฐานซึ่งจะต้องมีค่ามากกว่าศูนย์ yเป็นค่าคงที่หรือตัวแปรที่ใช้เป็นค่ายกกาลัง
รูปแบบ pow(x, y);
10) ฟังก์ชัน log(x) เป็นฟังก์ชันที่ใช้หาค่า logฐาน n(natural logarithm)ของค่าคงที่ หรือตัวแปร xโดยที่ xเป็นค่าคงที่หรือตัวแปรที่มีค่าเป็นลบไม่ได้ รูปแบบlog(x);
11) ฟังก์ชัน log10(x) เป็นฟังก์ชันที่ใช้หาค่า logฐาน 10 ของค่าคงที่หรือตัวแปร xโดย ที่ xเป็นค่าคงที่หรือตัวแปรที่มีค่าเป็นลบไม่ได้ รูปแบบ log10(x);
- 12. 12) ฟังก์ชัน ceil(x) เป็นฟังก์ชันที่ใช้ในการปัดเศษทศนิยมขึ้นของตัวแปร xถ้า xเป็นตัวเลข จานวนทศนิยม แต่ถ้า xเป็นเลขจานวนเต็มจะไม่มีการปัดเศษทศนิยม
รูปแบบ ceil(x);
13) ฟังก์ชัน floor(x) เป็นฟังก์ชันที่ใช้ในการตัดเศษทศนิยมทิ้งของตัวแปร xถ้า xเป็นตัวเลขจานวนทศนิยม แต่ถ้า xเป็นเลขจานวนเต็มจะไม่มีการ ตัดเศษทศนิยมทิ้ง รูปแบบfloor(x);
14. ฟังก์ชัน fabs(x) เป็นฟังก์ชันที่ใช้หาค่าสัมบูรณ์ (absolute value)ของค่าคงที่หรือ ตัวแปร xโดยที่ xเป็นค่าคงที่หรือตัวแปรที่เก็บค่าตัวเลขจุดทศนิยมที่มีค่าบวก หรือลบก็ได้ รูปแบบ fabs(x);
- 14. 1) ฟังก์ชัน isalnum(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่เก็บไว้ในตัวแปร ch เป็นตัวอักษร หรือตัวเลข (letter or digit) ถ้าข้อมูลที่เก็บไว้เป็นตัวอักษรหรือตัวเลข ก็จะส่งค่ากลับที่เป็นจานวนเต็มที่มีค่าไม่เท่ากับศูนย์มายังฟังก์ชัน และถ้าข้อมูล ที่เก็บไว้ในตัวแปร ch ไม่ได้เก็บตัวอักษรหรือตัวเลขก็จะส่งค่ากลับที่มีค่า เป็นศูนย์มายังฟังก์ชัน รูปแบบ isalnum(ch);
- 15. 2) ฟังก์ชัน isalpha(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่เก็บไว้ในตัวแปร ch เป็นตัวอักษร (letter) หรือไม่ ถ้าใช่ฟังก์ชันนี้จะให้ค่าส่งกลับเป็นเลขจานวน เต็มที่ไม่เท่ากับศูนย์ ถ้าไม่ใช่ฟังก์ชันนี้จะให้ค่าส่งกลับมาเป็นเลขศูนย์ (0) รูปแบบ isalpha(ch);
3) ฟังก์ชัน isdigit(ch)
เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่เก็บไว้ในตัวแปร ch เป็นตัวเลข 0 ถึง 9 หรือไม่ ถ้าใช่ฟังก์ชันนี้จะให้ค่าส่งกลับเป็นเลข จานวนเต็มที่ไม่เท่ากับศูนย์ ถ้าไม่ใช่ฟังก์ชันนี้จะไม่มีการส่งค่ากลับ รูปแบบ isdigit(ch);
- 16. 4) ฟังก์ชัน islower(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่เก็บไว้ในตัวแปร ch เป็นตัวอักษรตัวเล็กหรือไม่ ถ้าใช่ให้ส่งค่ากลับเป็นเลขจานวนเต็ม ที่ไม่เท่ากับศูนย์ ถ้าไม่ใช่ฟังก์ชันนี้จะให้ค่าส่งกลับเป็นเลขศูนย์ (0)
รูปแบบ islower(ch);
5) ฟังก์ชัน isupper(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่เก็บไว้ในตัวแปร ch เป็นตัวอักษรตัวใหญ่หรือไม่ ถ้าใช่ให้ส่งค่ากลับเป็นเลขจานวนเต็ม ที่ไม่เท่ากับศูนย์ ถ้าไม่ใช่ฟังก์ชันนี้จะให้ค่าส่งกลับเป็นเลขศูนย์ (0) รูปแบบ isupper(ch);
- 17. 6) ฟังก์ชัน tolower(ch) เป็นฟังก์ชันที่ใช้เปลี่ยนตัวอักษรตัวใหญ่ที่เก็บไว้ในตัวแปร ch
ให้เป็นอักษรตัวเล็ก รูปแบบtolower(ch);
7) ฟังก์ชัน toupper(ch) เป็นฟังก์ชันที่ใช้เปลี่ยนตัวอักษรตัวเล็กที่เก็บไว้ในตัวแปร ch
ให้เป็นอักษรตัวใหญ่ รูปแบบtoupper(ch);
- 18. 8) ฟังก์ชัน isspace(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าค่าข้อมูลที่อยู่ในตัวแปร ch มีค่า เป็น whitespace หรือไม่ (whitespace) ได้แก่ space, tab, vertical tab, formfeed, carriage return และ new line
ถ้าเป็น whitespace เพียงแค่ตัวใดตัวหนึ่ง ฟังก์ชันนี้จะให้ค่า ส่งกลับที่เป็นเลขจานวนเต็มที่ไม่เท่ากับศูนย์ถ้าไม่ป็น whitespace ฟังก์ชัน นี้จะให้ค่าส่งกลับเป็นเลขศูนย์ (0)
รูปแบบisspace(ch);
- 19. 9) ฟังก์ชัน isxdigit(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลตัวเลขที่อยู่ในตัวแปร ch
เป็นตัวเลขฐานสิบหก(0-9, A-F, หรือ a-f)หรือไม่ ถ้าใช่ฟังก์ชันนี้จะมีการ ส่งค่ากลับตัวเลขที่ไม่เท่ากับศูนย์มายังฟังก์ชัน ถ้าไม่ใช่ฟังก์ชันนี้จะส่งค่าเป็น ตัวเลขศูนย์กลับมายังฟังก์ชัน รูปแบบ isxdigit(ch);
- 21. ฟังก์ชันทั่วไปที่ใช้งานบ่อย ๆ
1) ฟังก์ชัน clrscr( ) เป็นฟังก์ชันที่ใช้ในการลบข้อมูลออกจากจอภาพแบบ textmode
รูปแบบ clrscr();
2) ฟังก์ชัน gotoxy(x,y) เป็นฟังก์ชันที่ใช้คาสั่งให้ตัวชี้ตาแหน่ง (cursor)เคลื่อนที่ไปยังตาแหน่งที่ ระบุไว้บนจอภาพ
รูปแบบgotoxy(x,y);
โดยที่ xคือ ตาแหน่ง columnบนจอมีค่าตั้งแต่ 1 ถึง 79 ส่วน columnที่ 80 สงวนไว้ yคือ ตาแหน่ง rowบนจอภาพมีค่า ตั้งแต่ 1 ถึง 24 ส่วน rowที่ 25 สงวนไว้
- 22. 3) ฟังก์ชัน clreol( ) เป็นฟังก์ชันที่ใช้ลบข้อความในบรรทัดที่ตัว cursorอยู่ โดยลบข้อความ ถัดจากตาแหน่งของ cursorไปจนกระทั่งจบบรรทัด
รูปแบบ clreol();
4)ฟังก์ชัน deline( ) เป็นฟังก์ชันที่ใช้ลบข้อความทั้งบรรทัดที่มีตัว cursorอยู่ จากนั้นก็เลื่อน ข้อความในบรรทัดที่อยู่ข้างล่างขึ้นมาแทนที่
รูปแบบdeline();
5)ฟังก์ชัน insline( ) เป็นฟังก์ชันที่ใช้แทรกบรรทัดว่าง 1 บรรทัด โดยแทรกอยู่ใต้บรรทัดที่ มี cursorอยู่ รูปแบบinsline();
- 23. 6) ฟังก์ชัน sizeof(x) เป็นฟังก์ชันที่ใช้ตรวจสอบขนาดของตัวแปร xว่ามีขนาดกี่ Byte
รูปแบบsizeof(x); หรือ sizeof(type);
โดยที่ xเป็นชื่อตัวแปรที่ต้องการตรวจสอบขนาด typeเป็นชนิดของตัวแปร เช่น int, float, char, doubleเป็นต้น
7) ฟังก์ชัน system( ) เป็นฟังก์ชันที่ช่วยให้สามารถเรียกใช้คาสั่งที่อยู่ใน MS-DOSมาใช้งานได้
รูปแบบ system(“dos-command”);
โดยที่ dos-commandคือคาสั่ง dosที่ต้องการใช้ เช่น cls, dir, date, time, etc.เป็นต้น
- 24. 8) ฟังก์ชัน abort( ) เป็นฟังก์ชันที่ใช้ยกเลิกการทางานของโปรแกรมโดยทันที่ทันใดไม่ว่าจะ ทางานเสร็จหรือไม่ และจะมีข้อความบอกว่า “Abnormal program termination”แสดงออกทางจอภาพด้วย
รูปแบบabort();
9) ฟังก์ชัน abs(x) เป็นฟังก์ชันที่ใช้ค่าสัมบูรณ์ของ xโดยที่ xเป็นตัวแปรที่เก็บตัวเลข จานวนเต็มเท่านั้น รูปแบบabs(x);
เช่น intx = -65; printf(“%d”, abs(x)); ผลลัพธ์ที่ได้ คือค่า 65
- 25. 10) ฟังก์ชัน labs(x) เป็นฟังก์ชันที่ใช้หาค่าสมบูรณ์ของ xโดยที่ xเป็นตัวแปรที่เก็บตัวเลข ชนิด long integer
รูปแบบ labs(x);
11) ฟังก์ชัน atoi(s) เป็นฟังก์ชันที่เปลี่ยนค่า stringให้เป็นตัวเลขจานวนเต็ม (integer)ที่ สามารถนาไปคานวณได้
รูปแบบatoi(s);
- 26. 12) ฟังก์ชัน atof(s) เป็นฟังก์ชันที่ใช้เปลี่ยนค่า string ให้เป็นตัวเลขจานวนทศนิยม (floating point)ที่สามารถนาไปคานวณได้ รูปแบบatof();
13) ฟังก์ชัน atol(s) เป็นฟังก์ชันที่ใช้เปลี่ยนค่า stringให้เป็นตัวเลขจานวนเต็ม ชนิด longintegerที่สามารถนาไปใช้คานวณได้ รูปแบบ atol(s);