SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
ฟังก์ชันในภาษา C
สาหรับเนื้อหาในบทนี้จะกล่าวถึงฟังก์ชันในภาษา C โดยจะประกอบไปด้วยเ
นื้อหาหลัก
ๆ คือ เรื่องที่หนึ่ง ฟังก์ชันมาตรฐาน เป็นฟังก์ชันที่บริษัทที่ผลิตภาษา C ไ
ด้เขียนขึ้นและเก็บไว้ใน header file ภาษา C คือเก็บไว้ในแฟ้มที่มีนามส
กุล *.h ต่าง
ๆ ส่วนเรื่องที่สอง เป็นฟังก์ชันที่เขียนขึ้นหรือเรียกอีกอย่างว่าโปรแกรมย่อย
ที่ผู้เขียนโปรแกรมเขียนขึ้นมาใช้งานอย่างใดอย่างหนึ่งตามความต้องการของ
งานนั้นๆ โดยรายละเอียดของแต่ละฟังก์ชันมีดังต่อไปนี้
ฟังก์ชันมาตรฐาน (standard functions)
เป็นฟังก์ชันที่บริษัทที่ผลิตภาษา C ได้เขียนขึ้นและเก็บไว้ใน header file
ภาษา C คือเก็บไว้ในแฟ้มที่มีนามสกุล *.h ต่าง
ๆ เมื่อต้องการใช้ฟังก์ชันใด จะต้องรู้ว่าฟังก์ชันนั้นอยู่ใน header file ใดจ
ากนั้นจึงค่อยใช้คาสั่ง #include<header file.h> เข้ามาในส่วนตอนต้นข
องโปรแกรม จึงจะสามารถใช้ฟังก์ชันที่ต้องการได้ ซึ่งฟังก์ชันมาตรฐานเป็น
ฟังก์ชันที่บริษัทผู้ผลิต C compiler เขียนขึ้นเพื่อให้ผู้ใช้นาไปช่วยในการเ
ขียนโปรแกรมทาให้การเขียนโปรแกรมสะดวกและง่ายขึ้น บางครั้งเราอาจจะ
เรียกฟังก์ชันมาตรฐานว่า ”ไลบรารีฟังก์ชัน” (library functions)
ฟังก์ชันทางคณิตศาสตร์ (mathematic functions)
เป็นฟังก์ชันที่ใช้สาหรับการคานวณทางคณิตศาสตร์ และก่อนที่จะใช้
ฟังก์ชันประเภทนี้ จะต้องใช้คาสั่ง #include <math.h> แทรกอยู่ตอนต้
นของโปรแกรม และตัวแปรที่จะใช้ฟังก์ชันประเภทนี้จะต้องมีชนิด (type) เ
ป็น double เนื่องจากผลลัพธ์ที่ได้จากฟังก์ชันประเภทนี้จะได้ค่าส่งกลับของ
ข้อมูลเป็น double เช่นกัน
ฟังก์ชันทางคณิตศาสตร์ที่ควรทราบ มีดังนี้
acos(x) asin(x) atan(x)
sin(x) cos(x) tan(x)
sqrt(x) exp(x) pow(x,y)
log(x) log10(x) ceil(x)
floor(x) fabs(x)
1) ฟังก์ชัน acos(x)
เป็นฟังก์ชันที่ใช้คานวณหาค่า arc cosine ของ x โดยที่ x เป็
นค่ามุมในหน่วยเรเดียน (radian)
รูปแบบ acos(x);
2) ฟังก์ชัน asin(x)
เป็นฟังก์ชันที่ใช้คานวณหาค่า arc sine ของ x โดยที่ x เป็นค่า
มุมในหน่วยเรเดียน
รูปแบบ asin(x);
3) ฟังก์ชัน atan(x)
เป็นฟังก์ชันที่ใช้คานวณหาค่า arc tan ของ x โดยที่ x เป็นค่า
มุมในหน่วยเรเดียน
รูปแบบ atan(x);
4) ฟังก์ชัน sin(x)
เป็นฟังก์ชันที่ใช้คานวณหาค่า sine ของ x โดยที่ x เป็นค่ามุมใน
หน่วยเรเดียน
รูปแบบ sin(x);
5) ฟังก์ชัน cos(x)
เป็นฟังก์ชันที่ใช้คานวณหาค่า cosine ของ x โดยที่ x เป็นค่ามุม
ในหน่วย
เรเดียน
รูปแบบ cos(x);
6) ฟังก์ชัน tan(x)
เป็นฟังก์ชันที่ใช้คานวณหาค่า tan ของ x โดยที่ x เป็นค่ามุมในหน่วยเรเ
ดียน
โปรแกรมตัวอย่างที่ 7.1 แสดงการใช้งานฟังก์ชัน acos(x), asin(x),
atan(x), sin(x), cos(x) และ tan(x)
/* math1.c */
#include<stdio.h>
/* บรรทัดที่ 1 */
#include<math.h>
/* บรรทัดที่ 2 */
#include<conio.h>
/* บรรทัดที่ 3 */
void
main(void) /*
บรรทัดที่ 4 */
{ /
* บรรทัดที่ 5 */
double r, pi =
3.141592654; /* บรรทัดที่ 6 */
r =
pi/180; /* บรรทัดที่
7 */
clrscr(); /*
บรรทัดที่ 8 */
printf("%fn",asin(r)); /*
บรรทัดที่ 9 */
printf("%fn",acos(r)); /*
บรรทัดที่ 10 */
printf("%fn",atan(r)); /*
บรรทัดที่ 11 */
printf("%fn",sin(r)); /*
บรรทัดที่ 12 */
printf("%fn",cos(r)); /*
บรรทัดที่ 13 */
printf("%fn",tan(r)); /*
บรรทัดที่ 14 */
printf("nPress any key back to program ...");
/* บรรทัดที่ 15 */
getch(); /*
บรรทัดที่ 16 */
} /* บ
รรทัที่ 17 */
ผลลัพธ์ที่ได้จากโปรแกรม
คาอธิบายโปรแกรม
จากโปรแกรมตัวอย่างที่ 7.1 สามารถอธิบายการทางานของโปรแก
รมที่สาคัญ ๆ ได้ดังนี้
บรรทัดที่ 9 คาสั่ง printf("%fn",asin(r)); ฟังก์ชันคานวณหาค่า arc
sin ของตัวแปร r
โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ
บรรทัดที่ 10 คาสั่ง printf("%fn",acos(r)); ฟังก์ชันคานวณหาค่า arc
cosine ของตัวแปร r
โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ
บรรทัดที่ 11 คาสั่ง printf("%fn",atan(r)); ฟังก์ชันคานวณหาค่า arc
tan ของตัวแปร r
โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ
บรรทัดที่ 12 คาสั่ง printf("%fn",sin(r));
ฟังก์ชันคานวณหาค่า sine ของตัวแปร r
โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ
บรรทัดที่ 13 คาสั่ง printf("%fn",cos(r)); ฟังก์ชันคานวณหาค่า cosin
e ของตัวแปร r
โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ
บรรทัดที่ 14 คาสั่ง printf("%fn",tan(r)); ฟังก์ชันคานวณหาค่า tan ขอ
งตัวแปร r
โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ
บรรทัดที่ 15 และ 16 พิมพ์ข้อความให้กดคีย์ใด ๆ
เพื่อกลับสู่โปรแกรม และหยุดรอรับค่าใดๆ เช่น กด enter จะกลับเข้าสู่โป
รแกรม
7) ฟังก์ชัน sqrt(x)
เป็นฟังก์ชันที่ใช้หาค่ารากที่ 2 (square
root) ของค่าคงที่หรือตัวแปร x โดยที่ x จะต้องเป็นค่าคงที่ชนิดตัวเลขหรื
อตัวแปรที่มีค่าไม่ติดลบ
รูปแบบ sqrt(x);
8) ฟังก์ชัน exp(x)
เป็นฟังก์ชันที่ใช้หาค่า ex โดยที่ x เป็นค่าคงที่หรือตัวแปรที่จะใช้เ
ป็นค่ายกกาลังของ e โดยที่ e มีค่าประมาณ 2.718282
รูปแบบ exp(x);
9) ฟังก์ชัน pow(x,y)
เป็นฟังก์ชันที่ใช้หาค่า xy
โดยที
x เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นตัวฐานซึ่งจะต้องมีค่ามากกว่าศูนย์
y เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นค่ายกกาลัง
รูปแบบ pow(x, y);
โปรแกรมตัวอย่างที่ 7.2 แสดงการใช้งานฟังก์ชัน sqrt(x),
exp(x) และ pow(x, y)
/* math2.c */
#include<stdio.h>
/* บรรทัดที่ 1 */
#include<math.h>
/* บรรทัดที่ 2 */
#include<conio.h>
/* บรรทัดที่ 3 */
void
main(void) /*
บรรทัดที่ 4 */
{
/* บรรทัดที่ 5 */
double x = 2.5, y = 7.0, z =
21.5; /* บรรทัดที่ 6 */
clrscr(
); /* บรรทัดที่ 7
*/
printf("%.4fn",pow(x,y)); /*
บรรทัดที่ 8 */
printf("%.4fn",sqrt(z)); /*
บรรทัดที่ 9 */
printf("%.4fn",exp(y)); /*
บรรทัดที่ 10 */
printf("nPress any key back to program ...");
/* บรรทัดที่ 11 */
getch(); /*
บรรทัดที่ 12 */
} /*
บรรทัดที่ 13 */
คาอธิบายโปรแกรม
จากโปรแกรมตัวอย่างที่ 7.2 สามารถอธิบายการทางานของโปรแก
รมที่สาคัญ ๆ ได้ดังนี้
บรรทัดที่ 8 คาสั่ง printf("%.4fn",pow(x,y)); ฟังก์ชันคานวณหาค่า
xy โดยที่ x
เป็นค่าคงที่หรือตัวแปรที่ใช้ตัวฐานซึ่งจะต้องมีค่ามากกว่าศูนย์ และ
y เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นค่ายกกาลัง และแสดงผลที่ได้ออกจอภาพ
บรรทัดที่ 9 คาสั่ง printf("%.4fn",sqrt(z)); ฟังก์ชันคานวณหาค่ารากที่ส
อง (square root)
ของค่าคงที่หรือตัวแปร z โดยที่ z จะต้องเป็นค่าคงที่ชนิดตัวเลขหรือตัวแป
รที่มีค่าไม่ติดลบ และแสดงผลที่ได้ออกจอภาพ
บรรทัดที่ 10 คาสั่ง printf("%.4fn",exp(y)); ฟังก์ชันคานวณหาค่า ey
โดยที่ y
เป็นค่าคงที่หรือตัวแปรที่จะใช้เป็นค่ายกกาลังของ e โดยที่ e มีค่าประมาณ
2.718282 และแสดงผลที่ได้ออกจอภาพ
บรรทัดที่ 11 และ 12 พิมพ์ข้อความให้กดคีย์ใด ๆ
เพื่อกลับสู่โปรแกรม และหยุดรอรับค่าใด
ๆ เช่น กด enter จะกลับเข้าสู่โปรแกรม
10) ฟังก์ชัน log(x)
เป็นฟังก์ชันที่ใช้หาค่า log ฐาน n (natural
logarithm) ของค่าคงที่หรือตัวแปร x โดยที่ x เป็นค่าคงที่หรือตัวแปรที่มี
ค่าเป็นลบไม่ได้
รูปแบบ log(x);
11) ฟังก์ชัน log10(x)
เป็นฟังก์ชันที่ใช้หาค่า log ฐาน 10 ของค่าคงที่หรือตัวแปร x โด
ยที่ x เป็นค่าคงที่หรือตัวแปรที่มีค่าเป็นลบไม่ได้
รูปแบบ log10(x);
โปรแกรมตัวอย่างที่ 7.3 แสดงการใช้งานฟังก์ชัน log(x) และ log10(x)
/* math3.c */
#include<stdio.h>
/* บรรทัดที่ 1 */
#include<math.h>
/* บรรทัดที่ 2 */
#include<conio.h>
/* บรรทัดที่ 3 */
void
main(void) /*
บรรทัดที่ 4 */
{ /*
บรรทัดที่ 5 */
double m = 10.0, n =
3.0; /* บรรทัดที่ 6 */
clrscr(
); /* บรรทัดที่ 7
*/
printf("%.4fn",log(n)); /*
บรรทัดที่ 8 */
printf("%.4fn",log10(m)); /* บ
รรทัดที่ 9 */
printf("nPress any key back to program ...");
/* บรรทัดที่ 10 */
getch(); /*
บรรทัดที่ 11 */
} /*
บรรทัดที่ 12 */
ผลลัพธ์ที่ได้จากโปรแกรม
โปรแกรมย่อย Procedure และฟังก์ชัน (Function)
วัตถุประสงค์ของการสร้างโปรแกรมย่อย
1. เป็นส่วนโปรแกรมที่ใช้ซ้ากันในหลาย ๆ แห่ง
และจะแยกออกมาทาเป็นโปรแกรมย่อย
2. เป็นคาที่สร้างขึ้นใหม่ เพื่อเก็บไว้ใช้ต่อไป
3. เมื่อต้องการเขียนโปรแกรมเป็ น Module
จุดประสงค์ของการเขียนโปรแกรมเป็น Module ก็เพื่อตรวจหาที่ผิดได้ง่าย
ดังนั้น โปรแกรมย่อยหนึ่ง ๆ ก็คือ Module ๆ หนึ่ง
4. เพื่อสนองความต้องการของการเขียนโปรแกรมจากบนลงล่าง
การสร้างและการใช้งานโปรแกรมย่อย
โปรแกรมย่อย (Procedure) เป็นส่วนหนึ่งของโปรแกรม
มีหน้าที่เฉพาะในแต่ละตัว โดยแยกการทางาน
ออกจากโปรแกรมหลักอย่างอิสระ การแยกโปรแกรมออกเป็ นส่วนย่อยๆ
นี้มีข้อดีคือ
ลดความซ้าซ้อนในการเขียนโปรแกรมในส่วนที่ทางานอย่างเดียวกัน
ถ้านาโปรแกรมส่วนที่ต้องใช้ซ้าๆ
มาทาเป็นโปรแกรมย่อยจะทาให้โปรแกรมมีขนาดเล็กลง
ช่วยให้ทาความเข้าใจโปรแกรมได้ง่าย เพราะมีการแบ่งเป็นส่วนย่อยๆ
ทาให้สามารถแก้ไขและเพิ่มเติมการทางานของโปรแกรมได้ง่ายขึ้น
ช่วยให้นาโปรแกรมที่สร้างไปใช้งานในโปรแกรมอื่นได้ถ้าในโปรแกรมนั้นต้อ
งการฟังก์ชันในการทางานที่เหมือนกัน
โปรแกรมย่อยที่ใช้งานอยู่ใน VB.NET มีอยู่ 2 ประเภทคือ
* โปรแกรมย่อย Sub มาจากคาว่า Subroutine – ซับรูทีน
เป็นโปรแกรมย่อยที่เมื่อทางานอย่างหนึ่งเสร็จแล้วจะไม่มีการส่งผลการท
างานกลับไปยังโปรแกรมที่เรียกใช้งานซับรูทีนนี้
* โปรแกรมย่อย Function เป็นโปรแกรมย่อยที่เมื่อท
างานเสร็จแล้วจะคืนผลลัพธ์ที่ได้จากการทางานกลับไปยังโปรแกรมที่เรียกใช้ง
านฟังก์ชันนี้
ในบางครั้งโปรแกรมหลักจะมีการส่งข้อมูลไปทางานในโปรแกรมย่อยด้วย
โดยข้อมูลนั้นจะเก็บอยู่ในตัวแปรพิเศษที่เรียกว่า “พารามิเตอร์”
(Parameter)
โปรแกรมย่อยชนิด Sub
Sub เป็นโปรแกรมที่เขียนขึ้นมาเพื่อการทางานอย่างใดอย่างหนึ่ง
โดยที่ไม่มีการรับพารามิเตอร์หรืออาจจะมีการรับพารามิเตอร์มาทางานก็ได้
แต่ไม่มีการส่งผลการทางานกลับไปยังโปรแกรมที่เรียกซับรูทีนนี้ใช้งาน
มีรูปแบบการเขียน Sub ดังนี้
ตัวอย่างการใช้งาน Subroutine :
ตัวอย่างนี้จะสร้างแอพพลิเคชันแบบระบบลงทะเบียนซึ่งจะมีการใช้งาน
Subroutine ที่เราเขียนขึ้นมา
1. ออกแบบหน้าตาแอพพลิเคชัน และตั้งชื่อคอนโทรลต่างๆ ดังนี้
2. ดับเบิลคลิกที่ฟอร์มเพื่อเขียนโค้ดใน Even Load
โดยจะเริ่มแนะนาให้ผู้ใช้งานทราบวิธีการทางานโดยจะเรียก Sub ที่ชื่อว่า
InformUser
3. ให้หน้าต่างโค้ดของ Sub InformUser โดยเขียนต่อท้ายไปได้เลย
4. ดับเบิลคลิกที่ปุ่ม ลงทะเบียน
แล้วเขียนโค้ดเพื่อตรวจสอบความครวถ้วนถูกต้องของข้อมูลที่ป้อนเข้าไป
ถ้าเรียบร้อยถือว่าลงทะเบียนได้ แต่ถ้าไม่เรียนร้อยแจ้งให่ผู้ใช้ทราบ
5 . สาหรับ Sub CheckPassword
นั้นมีหลักการตรวจสอบความถูกต้องอยู่ 3 ข้อ
ดังรายละเอียดที่แสดดงในโค้ดต่อไปนี้
6 . ดับเบิลคลิกปุ่ม เคลียร์ แล้วเขียนโค้ดเพื่อเคลียร์ค่าข้อมูลใน TexBox
ต่างๆ ดังนี้
7 . กดปุ่ม F5 เพื่อทดสอบการทางานของแอพพลิเคชัน ได้ผลดังนี้
โปรแกรมย่อยชนิด Function
Function
เป็นโปรแกรมย่อยที่เขียนขึ้นมาเพื่อการทางานอย่างใดอย่างหนึ่ง
โดยที่ไม่มีการรับพารามิเตอร์หรืออาจจะมีการรับพารามิเตอร์มาทางานก็ได้
เมื่อทางานเสร็จแล้วจะมีการส่งผลการทางานกลับมายังโปรแกรมที่เรียกฟังก์ชั
นนั้นใช้งาน มีรูปในการเขียนฟังก์ชัน ดังนี้
ตัวอย่างการใช้งาน Function :
ตัวอย่างนี้จะสร้างแอพพลิเคชันที่คานวณผลตอบแทนจากการฝากเงินซึ่งผู้ใช้จ
ะต้องกรอกเงินต้น อัตราดอกเบี้ย และจานวนปีที่ฝาก
1. ออกแบบหน้าตาแอพพลิเคชัน
และตั้งชื่อคอนโทรลต่างๆ ดังนี้
2. ดับเบิลคลิกที่ปุ่ม คานวณ
เพื่อคานวณผลตอบแทนซึ่งจะมีการเรีกฟังก์ชัน CheckInput
เพื่อตรวจสอบว่าข้อมูลที่กรอกเข้ามาเหมาะสมหรือไม่
ถ้าเหมาะสมจานามาคานวณโดยเรียกใช้ ClacSaving
3. สาหรับฟังก์ชัน CheckInput จาทาหน้าที่ตรวจสอบว่า
ข้อมูลที่ผู้ใช้งานกรอกมาเหมาะสมหรือไม่โดยต้องเป็นตัวเลขที่มากกว่า 0
ทุกตัว และถ้าเป็น ดอกเบี้ยให้มีค่าระหว่าง 0 ถึง 100
โดยฟังก์ชันนี้จะรีเทิร์นค่าเป็น True หรือ False
4. สาหรับฟังก์ชัน CalaSaving จจะทาหน้าที่คานวณผลตอบแทนเงินฝาก
โดยจะคานวณให้เห็นในระยะเวลาตั้งแต่ปีที่ 1 ถึงปีที่กาหนดไว้
นั้นยอดเงินฝากเป็นเท่าใด
5. . ดับเบิลคลิกปุ่ม เคลียร์ แล้วเขียนโค้ดเพื่อเคลียร์ค่าข้อมูลใน TexBox
ต่างๆ ดังนี้
6. ทดสอบการทางานของแอพพลิเคชัน ได้ผลดังนี้
ฟังก์ชันมาตรฐาน (Standard
Function)
ฟังก์ชันมาตรฐาน คือ
ฟังก์ชันที่ผู้ใช้สามารถเรียกใช้งานจากไลบรารี่ของภาษาซีได้ทันที เช่น
ฟังก์ชันทางคณิตศาสตร์ ฟังก์ชันเกี่ยวกับสตริง
ฟังก์ชันเกี่ยวกับการเปรียบเทียบ ฟังก์ชันเกี่ยวกับการแสดงผล
และฟังก์ชันเกี่ยวกับวันเวลา เป็นต้น
โดยจะเรียกไลบรารี่ผ่านคาสั่ง #include แล้วตามด้วยชื่อของไลบรารี่นั้น ๆ
ในส่วนของ header directive ซึ่งมีรายละเอียดดังนี้
ไลบรารี่ (library) stdio.h เกี่ยวกับการแสดงผลทางจอภาพ
มีฟังก์ชันที่ใช้ดังนี้
- ฟังก์ชัน printf() ใช้ในการแสดงผลข้อมูล
- ฟังก์ชัน Scanf() ใช้ในการรับข้อมูล
ไลบรารี่ (library) conio.h เกี่ยวกับการแสดงผลทางจอภาพ
มีฟังก์ชันที่ใช้ดังนี้
- ฟังก์ชัน getchar() ใช้ในการรับข้อมูล 1 อักขระ
โดยการกด Enter
- ฟังก์ชัน getche() ใช้ในการรับข้อมูล 1 อักขระ
โดยไม่ต้องกด Enter
-
ฟังก์ชัน getch() ใช้ในการรับข้อมูล 1 อักขระไม่ปรากฏให้เห็น
ในการรับข้อมูล
-
ฟังก์ชัน putchar() ใช้ในการรับข้อมูล 1 อักขระออกทางจอภา
พ
- ฟังก์ชัน clrscr() ใช้ในการลบจอภาพ
ไลบรารี่ (library) string.h เกี่ยวกับข้อความ มีฟังก์ชันที่ใช้ดังนี้
-
ฟังก์ชัน strlen() ใช้ในการนับความยาวของอักขระที่รับเข้ามา
-
ฟังก์ชัน strcpy() ใช้ในการทาสาเนาข้อความจากข้อความหนึ่ง
ไปยังอีกข้อความหนึ่ง
- ฟังก์ชัน strcmp
() ใช้ในการเปรียบเทียบข้อความ 2 ข้อความ
-
ฟังก์ชัน strcal() ใช้ในการเชื่อมตั้งแต่ 2 ข้อความเข้าด้วยกัน
ไลบรารี่ (library)marth.h เกี่ยวกับทางคณิตศาสตร์ มีฟังก์ชันที่ใช้ดังนี้
- ฟังก์ชัน sqrt() ใช้ในการหาราก
(root) ที่สองของเลขจานวนเต็ม
- ฟังก์ชัน exp(x) เป็นฟังก์ชันที่ใช้หาค่า ex
(Exponential)
- ฟังก์ชัน pow(x,y) เป็นฟังก์ชันที่ใช้หาค่า xy
- ฟังก์ชัน sin(x) เป็นฟังก์ชันที่ใช้หาค่า sine ของ x
- ฟังก์ชัน cos(x) เป็นฟังก์ชันที่ใช้หาค่า cosine ของ x
- ฟังก์ชัน tan(x) เป็นฟังก์ชันที่ใช้หาค่า tan ของ x
- ฟังก์ชัน log(n) เป็นฟังก์ชันที่ใช้หาค่า log ฐาน n
- ฟังก์ชัน log10(x) เป็นฟังก์ชันที่ใช้หาค่า log ฐาน 10
-
ฟังก์ชัน ceil(x) เป็นฟังก์ชันที่ใช้หาค่าปัดเศษทศนิยมของตัวแป
ร x
-
ฟังก์ชัน floor(x) เป็นฟังก์ชันที่ใช้หาค่าตัดเศษทศนิยมทิ้งของตั
ว แปร x
- ฟังก์ชัน fabs(x) เป็นฟังก์ชันที่ใช้หาค่าสมบูรณ์
(absolute value) x
ไลบรารี่ (library) ctype.h เกี่ยวกับตัวอักษร มีฟังก์ชันที่ใช้ดังนี้
-
ฟังก์ชัน isalnum(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่ใ
นตัวแปรมีค่าเป็น ตัวอักษรหรือตัวเลข
-
ฟังก์ชัน isalpha(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่ใ
นตัวแปรมีค่าเป็นตัวอักษรหรือไม่
-
ฟังก์ชัน isdigit(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่ใน
ตัวแปรเป็นตัวเลข 0 ถึง 9 หรือไม่
-
ฟังก์ชัน islower(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่ใ
นตัวแปรเป็นตัวเล็กหรือไม่
-
ฟังก์ชัน isupper(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่
ในตัวแปรเป็นตัวใหญ่หรือไม่
-
ฟังก์ชัน tolowre(ch) เป็นฟังก์ชันที่ใช้ในการเปลี่ยนตัวอักษร
ตัวใหญ่ให้เป็นตัวเล็ก
-
ฟังก์ชัน toupper(ch) เป็นฟังก์ชันที่ใช้ในการเปลี่ยนตัวอักษร
ตัวเล็กให้เป็นตัวใหญ่
ไลบรารี่ (library) stdlib.h เกี่ยวกับการแปลงค่า string มีฟังก์ชันที่ใช้ดังนี้
- ฟังก์ชัน atoi(s) เป็นฟังก์ชันที่ใช้ในการแปลงค่า ข้อความ
(string) เป็นตัวเลขจานวนเต็ม (integer)
- ฟังก์ชัน atof(s) เป็นฟังก์ชันที่ใช้ในการแปลงค่า ข้อความ
(string) เป็นตัวเลขจานวนทศนิยม( flot)
- ฟังก์ชัน atol(s) เป็นฟังก์ชันที่ใช้ในการแปลงค่า ข้อความ
(string) เป็นตัวเลขจานวนเต็ม (integer) ชนิด long integer
ไลบรารี่ (library) dos.h เกี่ยวกับการติดต่อระบบปฏิบัติการ
มีฟังก์ชันที่ใช้ดังนี้
-
ฟังก์ชัน gettime() เป็นฟังก์ชันที่ใช้ในการติดต่อเวลาของระบ
บปฏิบัติการ
-
ฟังก์ชัน getdate() เป็นฟังก์ชันที่ใช้ในการติดต่อวันที่ของระบ
บปฏิบัติการ
ซึ่งฟังก์ชันมาตรฐานยังมีอีกเป็นจานวนมาก
ผู้ศึกษาสามารถลองศึกษาได้จากการใช้ Help เพื่อเป็นแนวทางในการเขียนแ
ละพัฒนาโปรแกรมด้วยภาษาซีขั้นสูงต่อไปในภายหลังได้
อ้างอิง
ที่มา
: http://www.tice.ac.th/division/website_c/about/page8.htm
https://nemo2475.wordpress.com/jiooj-j-k/

Weitere ähnliche Inhalte

Was ist angesagt?

59170249 ธิดารัตน์
59170249 ธิดารัตน์59170249 ธิดารัตน์
59170249 ธิดารัตน์Beam Suna
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1Latcha MaMiew
 
59170259 ผลคุณี
59170259 ผลคุณี59170259 ผลคุณี
59170259 ผลคุณีBeam Suna
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน Kanchana Theugcharoon
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีNattawut Kathaisong
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานPrapatsorn Keawnoun
 
บทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีบทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีNattawut Kathaisong
 
PHP Tutorial (introduction)
PHP Tutorial (introduction)PHP Tutorial (introduction)
PHP Tutorial (introduction)Tinnakorn Puttha
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีNattapon
 
ฟังก์ชันในภาษา
ฟังก์ชันในภาษาฟังก์ชันในภาษา
ฟังก์ชันในภาษาSedthawoot Pitapo
 
บทที่6 งานคอม
บทที่6 งานคอมบทที่6 งานคอม
บทที่6 งานคอมIce Ice
 

Was ist angesagt? (20)

3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
59170249 ธิดารัตน์
59170249 ธิดารัตน์59170249 ธิดารัตน์
59170249 ธิดารัตน์
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
59170259 ผลคุณี
59170259 ผลคุณี59170259 ผลคุณี
59170259 ผลคุณี
 
บทที่ 7
บทที่ 7บทที่ 7
บทที่ 7
 
โปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชันโปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชัน
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
บทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีบทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซี
 
งานทำ Blog บทที่ 13
งานทำ Blog บทที่ 13งานทำ Blog บทที่ 13
งานทำ Blog บทที่ 13
 
PHP Tutorial (introduction)
PHP Tutorial (introduction)PHP Tutorial (introduction)
PHP Tutorial (introduction)
 
Interactive C Robot with AX-11 Board
Interactive C Robot with AX-11 BoardInteractive C Robot with AX-11 Board
Interactive C Robot with AX-11 Board
 
Week8
Week8Week8
Week8
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
ฟังก์ชันในภาษา
ฟังก์ชันในภาษาฟังก์ชันในภาษา
ฟังก์ชันในภาษา
 
Chapter1
Chapter1Chapter1
Chapter1
 
บทที่6 งานคอม
บทที่6 งานคอมบทที่6 งานคอม
บทที่6 งานคอม
 

Andere mochten auch

KM Governance_Rhem - Final
KM Governance_Rhem - FinalKM Governance_Rhem - Final
KM Governance_Rhem - FinalTony Rhem
 
Top 8 tow truck dispatcher resume samples
Top 8 tow truck dispatcher resume samplesTop 8 tow truck dispatcher resume samples
Top 8 tow truck dispatcher resume samplesShayneWard678
 
30 type icecream
30 type icecream30 type icecream
30 type icecreamHG172
 
Food security
Food securityFood security
Food securityHG172
 
Population
Population  Population
Population HG172
 
Top 8 weight loss consultant resume samples
Top 8 weight loss consultant resume samplesTop 8 weight loss consultant resume samples
Top 8 weight loss consultant resume samplesShayneWard678
 
Sectors of indian economy
Sectors of indian economySectors of indian economy
Sectors of indian economyHG172
 
Forest and wild life resources
Forest and wild life resourcesForest and wild life resources
Forest and wild life resourcesHG172
 
Top 8 wardrobe consultant resume samples
Top 8 wardrobe consultant resume samplesTop 8 wardrobe consultant resume samples
Top 8 wardrobe consultant resume samplesShayneWard678
 
Robot’s personality neural networks
Robot’s personality neural networksRobot’s personality neural networks
Robot’s personality neural networksKafeza Law Offices
 
Top 8 what is a criminal lawyer resume samples
Top 8 what is a criminal lawyer resume samplesTop 8 what is a criminal lawyer resume samples
Top 8 what is a criminal lawyer resume samplesShayneWard678
 
Top 8 turndown attendant resume samples
Top 8 turndown attendant resume samplesTop 8 turndown attendant resume samples
Top 8 turndown attendant resume samplesShayneWard678
 
Top 8 wellness specialist resume samples
Top 8 wellness specialist resume samplesTop 8 wellness specialist resume samples
Top 8 wellness specialist resume samplesShayneWard678
 
Natural vegetation and wildlife concept
Natural vegetation and wildlife   conceptNatural vegetation and wildlife   concept
Natural vegetation and wildlife conceptHG172
 
Top 8 tv news editor resume samples
Top 8 tv news editor resume samplesTop 8 tv news editor resume samples
Top 8 tv news editor resume samplesShayneWard678
 
CHEMISTRY VOL 2
CHEMISTRY VOL 2CHEMISTRY VOL 2
CHEMISTRY VOL 2HG172
 
Auto-Ad Media Kit
Auto-Ad Media KitAuto-Ad Media Kit
Auto-Ad Media KitRyan Hammer
 

Andere mochten auch (20)

KM Governance_Rhem - Final
KM Governance_Rhem - FinalKM Governance_Rhem - Final
KM Governance_Rhem - Final
 
Top 8 tow truck dispatcher resume samples
Top 8 tow truck dispatcher resume samplesTop 8 tow truck dispatcher resume samples
Top 8 tow truck dispatcher resume samples
 
30 type icecream
30 type icecream30 type icecream
30 type icecream
 
Food security
Food securityFood security
Food security
 
SUMER_MECH_Er
SUMER_MECH_ErSUMER_MECH_Er
SUMER_MECH_Er
 
Population
Population  Population
Population
 
Why Planning
Why PlanningWhy Planning
Why Planning
 
Top 8 weight loss consultant resume samples
Top 8 weight loss consultant resume samplesTop 8 weight loss consultant resume samples
Top 8 weight loss consultant resume samples
 
Sectors of indian economy
Sectors of indian economySectors of indian economy
Sectors of indian economy
 
Forest and wild life resources
Forest and wild life resourcesForest and wild life resources
Forest and wild life resources
 
Top 8 wardrobe consultant resume samples
Top 8 wardrobe consultant resume samplesTop 8 wardrobe consultant resume samples
Top 8 wardrobe consultant resume samples
 
Robot’s personality neural networks
Robot’s personality neural networksRobot’s personality neural networks
Robot’s personality neural networks
 
Top 8 what is a criminal lawyer resume samples
Top 8 what is a criminal lawyer resume samplesTop 8 what is a criminal lawyer resume samples
Top 8 what is a criminal lawyer resume samples
 
Top 8 turndown attendant resume samples
Top 8 turndown attendant resume samplesTop 8 turndown attendant resume samples
Top 8 turndown attendant resume samples
 
Top 8 wellness specialist resume samples
Top 8 wellness specialist resume samplesTop 8 wellness specialist resume samples
Top 8 wellness specialist resume samples
 
Natural vegetation and wildlife concept
Natural vegetation and wildlife   conceptNatural vegetation and wildlife   concept
Natural vegetation and wildlife concept
 
Top 8 tv news editor resume samples
Top 8 tv news editor resume samplesTop 8 tv news editor resume samples
Top 8 tv news editor resume samples
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
 
CHEMISTRY VOL 2
CHEMISTRY VOL 2CHEMISTRY VOL 2
CHEMISTRY VOL 2
 
Auto-Ad Media Kit
Auto-Ad Media KitAuto-Ad Media Kit
Auto-Ad Media Kit
 

Ähnlich wie โปรแกรมย่อยและฟังก์ชันมาตรฐาน

โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานchanamanee Tiya
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซีmansuang1978
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาSaranporn Rungrueang
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นDararat Worasut
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซีPatipat04
 

Ähnlich wie โปรแกรมย่อยและฟังก์ชันมาตรฐาน (20)

โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
Presenter1234567
Presenter1234567Presenter1234567
Presenter1234567
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี
 
Presenter
PresenterPresenter
Presenter
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Pbl2
Pbl2Pbl2
Pbl2
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
โครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา Cโครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา C
 
C slide
C slideC slide
C slide
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้น
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซี
 
Lesson5
Lesson5Lesson5
Lesson5
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
3.6 ฟังก์ชัน
3.6 ฟังก์ชัน3.6 ฟังก์ชัน
3.6 ฟังก์ชัน
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
Lab intro-5-1
Lab intro-5-1Lab intro-5-1
Lab intro-5-1
 

โปรแกรมย่อยและฟังก์ชันมาตรฐาน

  • 1. โปรแกรมย่อยและฟังก์ชันมาตรฐาน ฟังก์ชันในภาษา C สาหรับเนื้อหาในบทนี้จะกล่าวถึงฟังก์ชันในภาษา C โดยจะประกอบไปด้วยเ นื้อหาหลัก ๆ คือ เรื่องที่หนึ่ง ฟังก์ชันมาตรฐาน เป็นฟังก์ชันที่บริษัทที่ผลิตภาษา C ไ ด้เขียนขึ้นและเก็บไว้ใน header file ภาษา C คือเก็บไว้ในแฟ้มที่มีนามส กุล *.h ต่าง ๆ ส่วนเรื่องที่สอง เป็นฟังก์ชันที่เขียนขึ้นหรือเรียกอีกอย่างว่าโปรแกรมย่อย ที่ผู้เขียนโปรแกรมเขียนขึ้นมาใช้งานอย่างใดอย่างหนึ่งตามความต้องการของ งานนั้นๆ โดยรายละเอียดของแต่ละฟังก์ชันมีดังต่อไปนี้ ฟังก์ชันมาตรฐาน (standard functions) เป็นฟังก์ชันที่บริษัทที่ผลิตภาษา C ได้เขียนขึ้นและเก็บไว้ใน header file ภาษา C คือเก็บไว้ในแฟ้มที่มีนามสกุล *.h ต่าง ๆ เมื่อต้องการใช้ฟังก์ชันใด จะต้องรู้ว่าฟังก์ชันนั้นอยู่ใน header file ใดจ ากนั้นจึงค่อยใช้คาสั่ง #include<header file.h> เข้ามาในส่วนตอนต้นข องโปรแกรม จึงจะสามารถใช้ฟังก์ชันที่ต้องการได้ ซึ่งฟังก์ชันมาตรฐานเป็น ฟังก์ชันที่บริษัทผู้ผลิต C compiler เขียนขึ้นเพื่อให้ผู้ใช้นาไปช่วยในการเ ขียนโปรแกรมทาให้การเขียนโปรแกรมสะดวกและง่ายขึ้น บางครั้งเราอาจจะ เรียกฟังก์ชันมาตรฐานว่า ”ไลบรารีฟังก์ชัน” (library functions) ฟังก์ชันทางคณิตศาสตร์ (mathematic functions) เป็นฟังก์ชันที่ใช้สาหรับการคานวณทางคณิตศาสตร์ และก่อนที่จะใช้ ฟังก์ชันประเภทนี้ จะต้องใช้คาสั่ง #include <math.h> แทรกอยู่ตอนต้ นของโปรแกรม และตัวแปรที่จะใช้ฟังก์ชันประเภทนี้จะต้องมีชนิด (type) เ ป็น double เนื่องจากผลลัพธ์ที่ได้จากฟังก์ชันประเภทนี้จะได้ค่าส่งกลับของ ข้อมูลเป็น double เช่นกัน ฟังก์ชันทางคณิตศาสตร์ที่ควรทราบ มีดังนี้ acos(x) asin(x) atan(x) sin(x) cos(x) tan(x) sqrt(x) exp(x) pow(x,y)
  • 2. log(x) log10(x) ceil(x) floor(x) fabs(x) 1) ฟังก์ชัน acos(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า arc cosine ของ x โดยที่ x เป็ นค่ามุมในหน่วยเรเดียน (radian) รูปแบบ acos(x); 2) ฟังก์ชัน asin(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า arc sine ของ x โดยที่ x เป็นค่า มุมในหน่วยเรเดียน รูปแบบ asin(x); 3) ฟังก์ชัน atan(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า arc tan ของ x โดยที่ x เป็นค่า มุมในหน่วยเรเดียน รูปแบบ atan(x); 4) ฟังก์ชัน sin(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า sine ของ x โดยที่ x เป็นค่ามุมใน หน่วยเรเดียน รูปแบบ sin(x); 5) ฟังก์ชัน cos(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า cosine ของ x โดยที่ x เป็นค่ามุม ในหน่วย เรเดียน รูปแบบ cos(x); 6) ฟังก์ชัน tan(x) เป็นฟังก์ชันที่ใช้คานวณหาค่า tan ของ x โดยที่ x เป็นค่ามุมในหน่วยเรเ ดียน โปรแกรมตัวอย่างที่ 7.1 แสดงการใช้งานฟังก์ชัน acos(x), asin(x), atan(x), sin(x), cos(x) และ tan(x)
  • 3. /* math1.c */ #include<stdio.h> /* บรรทัดที่ 1 */ #include<math.h> /* บรรทัดที่ 2 */ #include<conio.h> /* บรรทัดที่ 3 */ void main(void) /* บรรทัดที่ 4 */ { / * บรรทัดที่ 5 */ double r, pi = 3.141592654; /* บรรทัดที่ 6 */ r = pi/180; /* บรรทัดที่ 7 */ clrscr(); /* บรรทัดที่ 8 */ printf("%fn",asin(r)); /* บรรทัดที่ 9 */ printf("%fn",acos(r)); /* บรรทัดที่ 10 */ printf("%fn",atan(r)); /* บรรทัดที่ 11 */ printf("%fn",sin(r)); /* บรรทัดที่ 12 */ printf("%fn",cos(r)); /* บรรทัดที่ 13 */ printf("%fn",tan(r)); /* บรรทัดที่ 14 */ printf("nPress any key back to program ...");
  • 4. /* บรรทัดที่ 15 */ getch(); /* บรรทัดที่ 16 */ } /* บ รรทัที่ 17 */ ผลลัพธ์ที่ได้จากโปรแกรม คาอธิบายโปรแกรม จากโปรแกรมตัวอย่างที่ 7.1 สามารถอธิบายการทางานของโปรแก รมที่สาคัญ ๆ ได้ดังนี้ บรรทัดที่ 9 คาสั่ง printf("%fn",asin(r)); ฟังก์ชันคานวณหาค่า arc sin ของตัวแปร r โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ บรรทัดที่ 10 คาสั่ง printf("%fn",acos(r)); ฟังก์ชันคานวณหาค่า arc cosine ของตัวแปร r โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ บรรทัดที่ 11 คาสั่ง printf("%fn",atan(r)); ฟังก์ชันคานวณหาค่า arc tan ของตัวแปร r โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ บรรทัดที่ 12 คาสั่ง printf("%fn",sin(r)); ฟังก์ชันคานวณหาค่า sine ของตัวแปร r โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ บรรทัดที่ 13 คาสั่ง printf("%fn",cos(r)); ฟังก์ชันคานวณหาค่า cosin
  • 5. e ของตัวแปร r โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ บรรทัดที่ 14 คาสั่ง printf("%fn",tan(r)); ฟังก์ชันคานวณหาค่า tan ขอ งตัวแปร r โดย r เป็นมุมในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ บรรทัดที่ 15 และ 16 พิมพ์ข้อความให้กดคีย์ใด ๆ เพื่อกลับสู่โปรแกรม และหยุดรอรับค่าใดๆ เช่น กด enter จะกลับเข้าสู่โป รแกรม 7) ฟังก์ชัน sqrt(x) เป็นฟังก์ชันที่ใช้หาค่ารากที่ 2 (square root) ของค่าคงที่หรือตัวแปร x โดยที่ x จะต้องเป็นค่าคงที่ชนิดตัวเลขหรื อตัวแปรที่มีค่าไม่ติดลบ รูปแบบ sqrt(x); 8) ฟังก์ชัน exp(x) เป็นฟังก์ชันที่ใช้หาค่า ex โดยที่ x เป็นค่าคงที่หรือตัวแปรที่จะใช้เ ป็นค่ายกกาลังของ e โดยที่ e มีค่าประมาณ 2.718282 รูปแบบ exp(x); 9) ฟังก์ชัน pow(x,y) เป็นฟังก์ชันที่ใช้หาค่า xy โดยที x เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นตัวฐานซึ่งจะต้องมีค่ามากกว่าศูนย์ y เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นค่ายกกาลัง รูปแบบ pow(x, y); โปรแกรมตัวอย่างที่ 7.2 แสดงการใช้งานฟังก์ชัน sqrt(x), exp(x) และ pow(x, y) /* math2.c */ #include<stdio.h> /* บรรทัดที่ 1 */
  • 6. #include<math.h> /* บรรทัดที่ 2 */ #include<conio.h> /* บรรทัดที่ 3 */ void main(void) /* บรรทัดที่ 4 */ { /* บรรทัดที่ 5 */ double x = 2.5, y = 7.0, z = 21.5; /* บรรทัดที่ 6 */ clrscr( ); /* บรรทัดที่ 7 */ printf("%.4fn",pow(x,y)); /* บรรทัดที่ 8 */ printf("%.4fn",sqrt(z)); /* บรรทัดที่ 9 */ printf("%.4fn",exp(y)); /* บรรทัดที่ 10 */ printf("nPress any key back to program ..."); /* บรรทัดที่ 11 */ getch(); /* บรรทัดที่ 12 */ } /* บรรทัดที่ 13 */ คาอธิบายโปรแกรม จากโปรแกรมตัวอย่างที่ 7.2 สามารถอธิบายการทางานของโปรแก รมที่สาคัญ ๆ ได้ดังนี้ บรรทัดที่ 8 คาสั่ง printf("%.4fn",pow(x,y)); ฟังก์ชันคานวณหาค่า xy โดยที่ x เป็นค่าคงที่หรือตัวแปรที่ใช้ตัวฐานซึ่งจะต้องมีค่ามากกว่าศูนย์ และ
  • 7. y เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นค่ายกกาลัง และแสดงผลที่ได้ออกจอภาพ บรรทัดที่ 9 คาสั่ง printf("%.4fn",sqrt(z)); ฟังก์ชันคานวณหาค่ารากที่ส อง (square root) ของค่าคงที่หรือตัวแปร z โดยที่ z จะต้องเป็นค่าคงที่ชนิดตัวเลขหรือตัวแป รที่มีค่าไม่ติดลบ และแสดงผลที่ได้ออกจอภาพ บรรทัดที่ 10 คาสั่ง printf("%.4fn",exp(y)); ฟังก์ชันคานวณหาค่า ey โดยที่ y เป็นค่าคงที่หรือตัวแปรที่จะใช้เป็นค่ายกกาลังของ e โดยที่ e มีค่าประมาณ 2.718282 และแสดงผลที่ได้ออกจอภาพ บรรทัดที่ 11 และ 12 พิมพ์ข้อความให้กดคีย์ใด ๆ เพื่อกลับสู่โปรแกรม และหยุดรอรับค่าใด ๆ เช่น กด enter จะกลับเข้าสู่โปรแกรม 10) ฟังก์ชัน log(x) เป็นฟังก์ชันที่ใช้หาค่า log ฐาน n (natural logarithm) ของค่าคงที่หรือตัวแปร x โดยที่ x เป็นค่าคงที่หรือตัวแปรที่มี ค่าเป็นลบไม่ได้ รูปแบบ log(x); 11) ฟังก์ชัน log10(x) เป็นฟังก์ชันที่ใช้หาค่า log ฐาน 10 ของค่าคงที่หรือตัวแปร x โด ยที่ x เป็นค่าคงที่หรือตัวแปรที่มีค่าเป็นลบไม่ได้ รูปแบบ log10(x); โปรแกรมตัวอย่างที่ 7.3 แสดงการใช้งานฟังก์ชัน log(x) และ log10(x) /* math3.c */ #include<stdio.h> /* บรรทัดที่ 1 */ #include<math.h> /* บรรทัดที่ 2 */ #include<conio.h> /* บรรทัดที่ 3 */ void
  • 8. main(void) /* บรรทัดที่ 4 */ { /* บรรทัดที่ 5 */ double m = 10.0, n = 3.0; /* บรรทัดที่ 6 */ clrscr( ); /* บรรทัดที่ 7 */ printf("%.4fn",log(n)); /* บรรทัดที่ 8 */ printf("%.4fn",log10(m)); /* บ รรทัดที่ 9 */ printf("nPress any key back to program ..."); /* บรรทัดที่ 10 */ getch(); /* บรรทัดที่ 11 */ } /* บรรทัดที่ 12 */ ผลลัพธ์ที่ได้จากโปรแกรม
  • 9. โปรแกรมย่อย Procedure และฟังก์ชัน (Function) วัตถุประสงค์ของการสร้างโปรแกรมย่อย 1. เป็นส่วนโปรแกรมที่ใช้ซ้ากันในหลาย ๆ แห่ง และจะแยกออกมาทาเป็นโปรแกรมย่อย 2. เป็นคาที่สร้างขึ้นใหม่ เพื่อเก็บไว้ใช้ต่อไป 3. เมื่อต้องการเขียนโปรแกรมเป็ น Module จุดประสงค์ของการเขียนโปรแกรมเป็น Module ก็เพื่อตรวจหาที่ผิดได้ง่าย ดังนั้น โปรแกรมย่อยหนึ่ง ๆ ก็คือ Module ๆ หนึ่ง 4. เพื่อสนองความต้องการของการเขียนโปรแกรมจากบนลงล่าง การสร้างและการใช้งานโปรแกรมย่อย โปรแกรมย่อย (Procedure) เป็นส่วนหนึ่งของโปรแกรม มีหน้าที่เฉพาะในแต่ละตัว โดยแยกการทางาน ออกจากโปรแกรมหลักอย่างอิสระ การแยกโปรแกรมออกเป็ นส่วนย่อยๆ นี้มีข้อดีคือ ลดความซ้าซ้อนในการเขียนโปรแกรมในส่วนที่ทางานอย่างเดียวกัน ถ้านาโปรแกรมส่วนที่ต้องใช้ซ้าๆ มาทาเป็นโปรแกรมย่อยจะทาให้โปรแกรมมีขนาดเล็กลง ช่วยให้ทาความเข้าใจโปรแกรมได้ง่าย เพราะมีการแบ่งเป็นส่วนย่อยๆ ทาให้สามารถแก้ไขและเพิ่มเติมการทางานของโปรแกรมได้ง่ายขึ้น ช่วยให้นาโปรแกรมที่สร้างไปใช้งานในโปรแกรมอื่นได้ถ้าในโปรแกรมนั้นต้อ งการฟังก์ชันในการทางานที่เหมือนกัน โปรแกรมย่อยที่ใช้งานอยู่ใน VB.NET มีอยู่ 2 ประเภทคือ
  • 10. * โปรแกรมย่อย Sub มาจากคาว่า Subroutine – ซับรูทีน เป็นโปรแกรมย่อยที่เมื่อทางานอย่างหนึ่งเสร็จแล้วจะไม่มีการส่งผลการท างานกลับไปยังโปรแกรมที่เรียกใช้งานซับรูทีนนี้ * โปรแกรมย่อย Function เป็นโปรแกรมย่อยที่เมื่อท างานเสร็จแล้วจะคืนผลลัพธ์ที่ได้จากการทางานกลับไปยังโปรแกรมที่เรียกใช้ง านฟังก์ชันนี้ ในบางครั้งโปรแกรมหลักจะมีการส่งข้อมูลไปทางานในโปรแกรมย่อยด้วย โดยข้อมูลนั้นจะเก็บอยู่ในตัวแปรพิเศษที่เรียกว่า “พารามิเตอร์” (Parameter) โปรแกรมย่อยชนิด Sub Sub เป็นโปรแกรมที่เขียนขึ้นมาเพื่อการทางานอย่างใดอย่างหนึ่ง โดยที่ไม่มีการรับพารามิเตอร์หรืออาจจะมีการรับพารามิเตอร์มาทางานก็ได้ แต่ไม่มีการส่งผลการทางานกลับไปยังโปรแกรมที่เรียกซับรูทีนนี้ใช้งาน มีรูปแบบการเขียน Sub ดังนี้ ตัวอย่างการใช้งาน Subroutine : ตัวอย่างนี้จะสร้างแอพพลิเคชันแบบระบบลงทะเบียนซึ่งจะมีการใช้งาน Subroutine ที่เราเขียนขึ้นมา 1. ออกแบบหน้าตาแอพพลิเคชัน และตั้งชื่อคอนโทรลต่างๆ ดังนี้
  • 11. 2. ดับเบิลคลิกที่ฟอร์มเพื่อเขียนโค้ดใน Even Load โดยจะเริ่มแนะนาให้ผู้ใช้งานทราบวิธีการทางานโดยจะเรียก Sub ที่ชื่อว่า InformUser 3. ให้หน้าต่างโค้ดของ Sub InformUser โดยเขียนต่อท้ายไปได้เลย 4. ดับเบิลคลิกที่ปุ่ม ลงทะเบียน แล้วเขียนโค้ดเพื่อตรวจสอบความครวถ้วนถูกต้องของข้อมูลที่ป้อนเข้าไป ถ้าเรียบร้อยถือว่าลงทะเบียนได้ แต่ถ้าไม่เรียนร้อยแจ้งให่ผู้ใช้ทราบ
  • 12. 5 . สาหรับ Sub CheckPassword นั้นมีหลักการตรวจสอบความถูกต้องอยู่ 3 ข้อ ดังรายละเอียดที่แสดดงในโค้ดต่อไปนี้ 6 . ดับเบิลคลิกปุ่ม เคลียร์ แล้วเขียนโค้ดเพื่อเคลียร์ค่าข้อมูลใน TexBox ต่างๆ ดังนี้
  • 13. 7 . กดปุ่ม F5 เพื่อทดสอบการทางานของแอพพลิเคชัน ได้ผลดังนี้ โปรแกรมย่อยชนิด Function Function เป็นโปรแกรมย่อยที่เขียนขึ้นมาเพื่อการทางานอย่างใดอย่างหนึ่ง โดยที่ไม่มีการรับพารามิเตอร์หรืออาจจะมีการรับพารามิเตอร์มาทางานก็ได้
  • 14. เมื่อทางานเสร็จแล้วจะมีการส่งผลการทางานกลับมายังโปรแกรมที่เรียกฟังก์ชั นนั้นใช้งาน มีรูปในการเขียนฟังก์ชัน ดังนี้ ตัวอย่างการใช้งาน Function : ตัวอย่างนี้จะสร้างแอพพลิเคชันที่คานวณผลตอบแทนจากการฝากเงินซึ่งผู้ใช้จ ะต้องกรอกเงินต้น อัตราดอกเบี้ย และจานวนปีที่ฝาก 1. ออกแบบหน้าตาแอพพลิเคชัน และตั้งชื่อคอนโทรลต่างๆ ดังนี้ 2. ดับเบิลคลิกที่ปุ่ม คานวณ เพื่อคานวณผลตอบแทนซึ่งจะมีการเรีกฟังก์ชัน CheckInput เพื่อตรวจสอบว่าข้อมูลที่กรอกเข้ามาเหมาะสมหรือไม่ ถ้าเหมาะสมจานามาคานวณโดยเรียกใช้ ClacSaving
  • 15. 3. สาหรับฟังก์ชัน CheckInput จาทาหน้าที่ตรวจสอบว่า ข้อมูลที่ผู้ใช้งานกรอกมาเหมาะสมหรือไม่โดยต้องเป็นตัวเลขที่มากกว่า 0 ทุกตัว และถ้าเป็น ดอกเบี้ยให้มีค่าระหว่าง 0 ถึง 100 โดยฟังก์ชันนี้จะรีเทิร์นค่าเป็น True หรือ False 4. สาหรับฟังก์ชัน CalaSaving จจะทาหน้าที่คานวณผลตอบแทนเงินฝาก โดยจะคานวณให้เห็นในระยะเวลาตั้งแต่ปีที่ 1 ถึงปีที่กาหนดไว้ นั้นยอดเงินฝากเป็นเท่าใด
  • 16. 5. . ดับเบิลคลิกปุ่ม เคลียร์ แล้วเขียนโค้ดเพื่อเคลียร์ค่าข้อมูลใน TexBox ต่างๆ ดังนี้ 6. ทดสอบการทางานของแอพพลิเคชัน ได้ผลดังนี้ ฟังก์ชันมาตรฐาน (Standard Function) ฟังก์ชันมาตรฐาน คือ ฟังก์ชันที่ผู้ใช้สามารถเรียกใช้งานจากไลบรารี่ของภาษาซีได้ทันที เช่น ฟังก์ชันทางคณิตศาสตร์ ฟังก์ชันเกี่ยวกับสตริง ฟังก์ชันเกี่ยวกับการเปรียบเทียบ ฟังก์ชันเกี่ยวกับการแสดงผล และฟังก์ชันเกี่ยวกับวันเวลา เป็นต้น โดยจะเรียกไลบรารี่ผ่านคาสั่ง #include แล้วตามด้วยชื่อของไลบรารี่นั้น ๆ ในส่วนของ header directive ซึ่งมีรายละเอียดดังนี้ ไลบรารี่ (library) stdio.h เกี่ยวกับการแสดงผลทางจอภาพ มีฟังก์ชันที่ใช้ดังนี้ - ฟังก์ชัน printf() ใช้ในการแสดงผลข้อมูล - ฟังก์ชัน Scanf() ใช้ในการรับข้อมูล ไลบรารี่ (library) conio.h เกี่ยวกับการแสดงผลทางจอภาพ มีฟังก์ชันที่ใช้ดังนี้
  • 17. - ฟังก์ชัน getchar() ใช้ในการรับข้อมูล 1 อักขระ โดยการกด Enter - ฟังก์ชัน getche() ใช้ในการรับข้อมูล 1 อักขระ โดยไม่ต้องกด Enter - ฟังก์ชัน getch() ใช้ในการรับข้อมูล 1 อักขระไม่ปรากฏให้เห็น ในการรับข้อมูล - ฟังก์ชัน putchar() ใช้ในการรับข้อมูล 1 อักขระออกทางจอภา พ - ฟังก์ชัน clrscr() ใช้ในการลบจอภาพ ไลบรารี่ (library) string.h เกี่ยวกับข้อความ มีฟังก์ชันที่ใช้ดังนี้ - ฟังก์ชัน strlen() ใช้ในการนับความยาวของอักขระที่รับเข้ามา - ฟังก์ชัน strcpy() ใช้ในการทาสาเนาข้อความจากข้อความหนึ่ง ไปยังอีกข้อความหนึ่ง - ฟังก์ชัน strcmp () ใช้ในการเปรียบเทียบข้อความ 2 ข้อความ - ฟังก์ชัน strcal() ใช้ในการเชื่อมตั้งแต่ 2 ข้อความเข้าด้วยกัน ไลบรารี่ (library)marth.h เกี่ยวกับทางคณิตศาสตร์ มีฟังก์ชันที่ใช้ดังนี้ - ฟังก์ชัน sqrt() ใช้ในการหาราก (root) ที่สองของเลขจานวนเต็ม - ฟังก์ชัน exp(x) เป็นฟังก์ชันที่ใช้หาค่า ex (Exponential) - ฟังก์ชัน pow(x,y) เป็นฟังก์ชันที่ใช้หาค่า xy
  • 18. - ฟังก์ชัน sin(x) เป็นฟังก์ชันที่ใช้หาค่า sine ของ x - ฟังก์ชัน cos(x) เป็นฟังก์ชันที่ใช้หาค่า cosine ของ x - ฟังก์ชัน tan(x) เป็นฟังก์ชันที่ใช้หาค่า tan ของ x - ฟังก์ชัน log(n) เป็นฟังก์ชันที่ใช้หาค่า log ฐาน n - ฟังก์ชัน log10(x) เป็นฟังก์ชันที่ใช้หาค่า log ฐาน 10 - ฟังก์ชัน ceil(x) เป็นฟังก์ชันที่ใช้หาค่าปัดเศษทศนิยมของตัวแป ร x - ฟังก์ชัน floor(x) เป็นฟังก์ชันที่ใช้หาค่าตัดเศษทศนิยมทิ้งของตั ว แปร x - ฟังก์ชัน fabs(x) เป็นฟังก์ชันที่ใช้หาค่าสมบูรณ์ (absolute value) x ไลบรารี่ (library) ctype.h เกี่ยวกับตัวอักษร มีฟังก์ชันที่ใช้ดังนี้ - ฟังก์ชัน isalnum(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่ใ นตัวแปรมีค่าเป็น ตัวอักษรหรือตัวเลข - ฟังก์ชัน isalpha(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่ใ นตัวแปรมีค่าเป็นตัวอักษรหรือไม่ - ฟังก์ชัน isdigit(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่ใน ตัวแปรเป็นตัวเลข 0 ถึง 9 หรือไม่ - ฟังก์ชัน islower(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่ใ นตัวแปรเป็นตัวเล็กหรือไม่
  • 19. - ฟังก์ชัน isupper(ch) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลที่อยู่ ในตัวแปรเป็นตัวใหญ่หรือไม่ - ฟังก์ชัน tolowre(ch) เป็นฟังก์ชันที่ใช้ในการเปลี่ยนตัวอักษร ตัวใหญ่ให้เป็นตัวเล็ก - ฟังก์ชัน toupper(ch) เป็นฟังก์ชันที่ใช้ในการเปลี่ยนตัวอักษร ตัวเล็กให้เป็นตัวใหญ่ ไลบรารี่ (library) stdlib.h เกี่ยวกับการแปลงค่า string มีฟังก์ชันที่ใช้ดังนี้ - ฟังก์ชัน atoi(s) เป็นฟังก์ชันที่ใช้ในการแปลงค่า ข้อความ (string) เป็นตัวเลขจานวนเต็ม (integer) - ฟังก์ชัน atof(s) เป็นฟังก์ชันที่ใช้ในการแปลงค่า ข้อความ (string) เป็นตัวเลขจานวนทศนิยม( flot) - ฟังก์ชัน atol(s) เป็นฟังก์ชันที่ใช้ในการแปลงค่า ข้อความ (string) เป็นตัวเลขจานวนเต็ม (integer) ชนิด long integer ไลบรารี่ (library) dos.h เกี่ยวกับการติดต่อระบบปฏิบัติการ มีฟังก์ชันที่ใช้ดังนี้ - ฟังก์ชัน gettime() เป็นฟังก์ชันที่ใช้ในการติดต่อเวลาของระบ บปฏิบัติการ - ฟังก์ชัน getdate() เป็นฟังก์ชันที่ใช้ในการติดต่อวันที่ของระบ บปฏิบัติการ ซึ่งฟังก์ชันมาตรฐานยังมีอีกเป็นจานวนมาก ผู้ศึกษาสามารถลองศึกษาได้จากการใช้ Help เพื่อเป็นแนวทางในการเขียนแ ละพัฒนาโปรแกรมด้วยภาษาซีขั้นสูงต่อไปในภายหลังได้