SlideShare a Scribd company logo
1 of 18
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
ความหมายของฟังก์ชันและฟังก์ชันมาตรฐานของภาษาซี
ฟังก์ชันหรือโปรแกรมย่อย (Function) ในการเขียนโปรแกรม
คอมพิวเตอร์ บ่อยครั้งจะต้องมีชุดคําสั่งบางชุดทีจะต้องถูกทํางานบ่อยๆ
ถ้าหากโปรแกรมต้องทําชุดคําสั่งเหล่านั้นอีกครั้งผู้เขียนโปรแกรมจะต้อง
เขียนชุดคําสั่งชุดเดิมใหม่อกครั้งทําให้ โปรแกรมมีขนาดใหญ่ขน แต่เรา
สามารถนําชุดคําสั่งทีจะต้องถูกใช้งานบ่อย ๆ มารวม เป็นฟังก์ชนได้
แล้วจึงเรียกใช้ชื่อฟังก์ชันแทนการทีจะต้องเขียน ชุดคําสั่งนั้นใหม่อีกครั้ง
โครงสร้างของฟังก์ชันการสร้างฟังก์ชันทั้งฟังก์ชันมาตรฐานและฟังก์ชันที่ผู้ใช้สร้างขึ้นมีรูปแบบ
โครงสร้างดังนี้
คําอธิบาย type คือ ชนิดของฟังก์ชัน หรือ ชนิดของข้อมูล เช่นint , float , char , double , void
ที่ส่งไปให้ตําแหน่งที่เรียกใช้ถ้าไม่มีการส่งค่ากลับไปให้ตาแหน่งที่เรียกใช้ จะใช้ void ถ้าไม่มี
การกําหนดจะได้ขอมูลทีส่งกลับมาเป็น int เสมอ function_name คือ ชื่อของฟังก์ชัน ควรต้อง
ชื่อให้สื่อความหมายถึงการทํางานของฟังก์ชัน และต้องเป็นไปตามกฏเกณฑ์การตั้งชื่อตัวแปร
ในภาษาซี type parameter คือ ชนิดและชื่อของ parameter ค่าที 1 , 2 ถึง N ทีจะรับมาจากผู้
เรียกใช้ฟังก์ชัน ถ้าเป็นฟังก์ชันทีไม่มีการรับส่งค่า parameter จะใช้คาว่า void { คือ จุดเริ่มต้น
ของฟังก์ชัน location variable declaration คือ ส่วนทีมีการประกาศชนิดและชื่อของตัวแปรที่
จะใช้เฉพาะในฟังก์ชัน โดยส่วนที่อยู่นอกฟังก์ชัน จะไม่สามารถเรียกใช้ตัวแปรเหล่านี้ได้
statement_1; statement_2;... statement_N คือ คําสั่งที่ใช้งานในฟังก์ชัน return(value); คือ
คําสั่งที่ใช้ส่งข้อมูลหรือค่าที่เป็นผลลัพธ์จากการประมวลผลในฟังก์ชัน ไปให้ผู้เรียกใช้ฟังก์ชัน
โดยชนิดของข้อมูลที่ส่งต้องเป็นชนิดเดียวกับชนิดของ ฟังก์ชันหรือชนิดของข้อมูลของ
ฟังก์ชันถ้าเป็นฟังก์ชันทีไม่มีการส่งค่า(void) จะไม่ตองใช้คําสั่ง return } คือ ส่วนสินสุดของ
ฟังก์ชัน
ฟังก์ชันในภาษาซีแบ่งตามที่มาของฟังก์ชันแบ่งได้เป็น 2 ประเภทคือ
1. ฟังก์ชันทีผู้เขียนโปรแกรมสร้างขึ้นเอง (User-defined Function) เป็น
ฟังก์ชันหรือโปรแกรมย่อยที่ผู้ใช้สร้างขึ้นมาใช้ในการเขียนโปรแกรมเพื่อ
ทํางานอย่างใดอย่างหนึ่ง
2. ฟังก์ชันมาตรฐาน (Standard Function) เป็นฟังก์ชันทีถูกสร้างขึ้นและ เก็บ
ไว้ในไลบรารี ในการใช้งานเราต้องเรียกใช้ include directives เพื่อเรียก
header file ขนมาก่อนจงจะสามารถใช้งานฟังก์ชันนั้นได้
ฟังก์ชันที่ผู้เขียนโปรแกรมสร้างขึ้นเอง หรือการเขียนโปรแกรม
แบบโปรแกรมย่อย
โปรแกรมย่อยเป็นวิธีเขียนโปรแกรมที่ต้องการแยกระบบงานเป็นส่วน เช่น
ระบบงาน เป็นระเบียบเพราะแบ่งเป็นส่วนงาน สามารถสร้างทีมงานช่วยพัฒนา
ระบบได้ เมื่อเกิด ข้อผิดพลาดจุดใด สามารถแก้ไขได้แทนที่
1.1 โครงสร้างของฟังก์ชัน
type function_name(type1 arg1, type2 arg2,.., typeN
argN) { local variable declaration; statement(s);
return( varlue); }
คําอธิบายโปรแกรม
จากโปรแกรม สามารถอธิบายการทํางานของโปรแกรมที่สําคัญๆ ได้ดังนี้ บรรทัดที 3 และ 4
คําสั่ง void one(void); และ void two(void); คําสั่งประกาศชื่อ ฟังก์ชนและชนิดของการส่งค่า
กลับมายังฟังก์ชัน ซึ่งในกรณีนี้ทั้งฟังก์ชัน one( ) และ two( ) เป็นฟังก์ชันชนิดทีไม่มีการส่งค่าไป
และรับค่ากลับ เนื่องจากคําว่า void ทีอยู่หน้าชื่อฟังก์ชัน one( ) และ two( ) เป็นการบอกว่าไม่มี
การรับค่าทีส่งกลับ ส่วนคําว่า void ทีอยู่ภายใน ( ) ของฟังก์ชัน one( ) และ two เป็นการบอกว่า
ไม่มี argument นั้นคือไม่มีการส่งค่าไปนั้นเองข้อสังเกต การประกาศชื่อและชนิดของฟังก์ชัน
จะต้องประกาศไว้ก่อนฟังก์ชัน main( ) เพราะจะทําให้เราสามารถใช้ฟังก์ชันทีประกาศไว้ในส่วน
ใดของโปรแกรมก็ได้ บรรทัดที 8 และ 9 คําสั่ง one( ); และ two( ); เป็นการเรียกใช้ฟังก์ชันชื่อ
one( ) และ two( ) ตามลําดับ โดยฟังก์ชัน one( ) อยู่ที่คําสั่งบรรทัดที 14 ถึง 18 และ ฟังก์ชัน two(
) อยู่ที่20 ถึง 25 บรรทัดที 14 ถึง 18 ฟังก์ชัน one( ) ให้พิมพ์ค่าทีเก็บไว้ในตัวแปร a และ b แสดงที่
จอภาพ บรรทัดที 20 ถึง 25 ฟังก์ชัน two( ) ให้พิมพ์คําที่เก็บไว้ในตัวแปร p และ q และพิมพ์
ค่าตัวแปร q แสดงทีจอภาพ บรรทัดที่10 และ 11 ภายหลังจากทํางานตามฟังก์ชัน one( ) และ
two( ) แล้ว พิมพ์ขอความให้ กดคีย์ใด ๆ เพื่อกลับสูโปรแกรม และหยุดรอรับค่าใด ๆ เช่น กด
enter จะกลับเข้าสู่โปรแกรม
โปรแกรมย่อย
ฟังก์ชันที่เขียนขึ้นเองใหม่เพื่อให้ทางานตามต้องการ
นิยมเขียนเพื่อทางานอย่างใดอย่างหนึ่ง
สามารถเรียกใช้ฟังก์ชันนี้หลายๆ ที่ได้
ประโยชน์
ทาให้ทั้งโปรแกรมมีโครงสร้างทีดี กะทัดรัด เข้าใจง่าย
ง่ายต่อการทดสอบและแก้ไข นากลับมาใช้ง่ายและรวดเร็ว
1.2 การวางตําแหน่งโปรแกรมย่อย ภาษาซีมีให้เลือกใช้งาน 2 ลักษณะคือ
วางโปรแกรมย่อยไว้ในตําแหน่งก่อนส่วนโปรแกรม
วางโปรแกรมย่อยไว้ในตําแหน่งหลังส่วนโปรแกรมหลัก
วางโปรแกรมย่อยไว้ในตําแหน่งก่อนส่วน
โปรแกรม
#include <stdio.h>Main Main () {
Function-name2(); …………………...
Function-name1 ();
}
วางโปรแกรมย่อยไว้ในตําแหน่งหลังส่วน
โปรแกรมหลัก
#include <stdio.h>Main Main ()
{
Function-name1();
Function-name2
();
…………………...
}
ข้อแนะนําในการเขียนโปรแกรมย่อย
กรณีเลือกวางโปรแกรมย่อยไว้หลังโปรแกรมหลัก ต้องประกาศชื่อโปรแกรมย่อยต่อ
จาก #include เสมอ มิฉะนั้นจะเกิดข้อผิดพลาดได้ กรณีมีโปรแกรมย่อยหลาย
ส่วนงาน วางโปรแกรมย่อยไว้หลังโปรแกรมหลัก เพราะหลักการอ่านคาสั่งงาน
จะต้องอ่านในส่วนโปรแกรมหลักก่อน แล้วจึงโนยงไปทีโปรแกรม ย่อย หากมี
โปรแกรมย่อยจานวนมากจะดันโปรแกรมหลักไปอยู่ส่วนล่าง ทาให้เสียเวลา
ค้นหาโปรแกรมหลัก
ฟังก์ชันทางคณิตศาสตร์ (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
เป็นค่ามุมในหน่วยเรเดียน รูปแบบ tan(x);
1 แสดงการใช้งานฟังก์ชัน acos(x), asin(x), atan(x), sin(x),
cos(x) และ tan(x)
math1.c */
#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("nPressany key back to program ...");/* บรรทัดที่ 15 */
getch(); /* บรรทัดที่ 16 */
} /* บรรทัดที่ 17 */
ผลลัพธ์ที่ได้จากโปรแกรม
คาอธิบายโปรแกรม สามารถอธิบายการทางานของโปรแกรมที่สาคัญ ๆ ได้ดังนี้
บรรทัดที่ 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)); ฟังก์ชันคานวณหาค่า cosine ของตัวแปร r โดย r เป็นมุม
ในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ
บรรทัดที่ 14 คาสั่ง printf("%fn",tan(r)); ฟังก์ชันคานวณหาค่า tan ของตัวแปร r โดย r เป็นมุมใน
หน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ
บรรทัดที่ 15 และ 16 พิมพ์ข้อความให้กดคีย์ใด ๆ เพื่อกลับสู่โปรแกรม และหยุดรอรับค่าใด ๆ เช่น กด enter จะ
กลับเข้าสู่โปรแกรม /* บรรทัดที่ 17 */
ฟังก์ชัน sqrt(x)
เป็นฟังก์ชันที่ใช้หาค่ารากที่ 2 (square root) ของค่าคงที่หรือตัวแปร x โดยที่ x จะต้องเป็น
ค่าคงที่ชนิด
ตัวเลขหรือตัวแปรที่มีค่าไม่ติดลบ
รูปแบบ
sqrt(x);
ฟังก์ชัน exp(x)
เป็นฟังก์ชันที่ใช้หาค่า ex โดยที่ x เป็นค่าคงที่หรือตัวแปรที่จะใช้เป็นค่ายกกาลังของ e โดยที่ e มีค่าประมาณ
2.718282
รูปแบบ
exp(x);
ฟังก์ชัน pow(x,y)
เป็นฟังก์ชันที่ใช้หาค่า xy
โดยที่
x เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นตัวฐานซึ่งจะต้องมีค่ามากกว่าศูนย์
y เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นค่ายกกาลัง
รูปแบบ
pow(x, y);
ในการเขียนฟังก์ชันขึ้นมาใช้งานอย่างใดอย่างหนึ่ง เราสามารถจําแนกฟังก์ชันที่เขียน
ขึ้นตามลักษณะการส่งค่าไปและรับค่ากลับได้ 3 แบบ คือ
1. ฟังก์ชันที่ไม่มีการส่งค่าไปและรับค่ากลับ
2.ฟังก์ชันที่มีการส่งค่าไปแต่ไม่มีรับค่ากลับ
3.ฟังก์ชันที่มีทั้งการส่งค่าไปและรับค่ากลับ
ซึ่งฟังก์ชันแต่ละแบบก็เหมาะกับงานแต่ละอย่าง ดังนั้นผู้เขียนฟังก์ชันจึงจาเป็นท
จะต้องศึกษาทาความเข้าใจฟังก์ชันแต่ละแบบ เพื่อจะได้มาประยุกต์ใช้กับงานได้
อย่างเหมาะสม
• นาย ปรัชญา ยังดี เลขที่ 4
• นางสาว จันทมณี ติเยาว์ เลขที่ 12
• นางสาวรัชนิกรณ์ แซ่เล้า เลขที่ 9
• นางสาว กมลนัทธ์ สามพ่วงบุญ เลขที่ 22
• นางสาว สมฤทัย พรหมมา เลขที่ 27
ชั้นมัธยมศึกษาปีที่ 4/5

More Related Content

What's hot

59170249 ธิดารัตน์
59170249 ธิดารัตน์59170249 ธิดารัตน์
59170249 ธิดารัตน์Beam Suna
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซีPatipat04
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
บทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีบทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีNattawut Kathaisong
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซีmansuang1978
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีNattawut Kathaisong
 
4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซี4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซีmansuang1978
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีNattapon
 
การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++dechathon
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาSarocha Makranit
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1nitchakan
 

What's hot (20)

โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
งานทำ Blog บทที่ 13
งานทำ Blog บทที่ 13งานทำ Blog บทที่ 13
งานทำ Blog บทที่ 13
 
59170249 ธิดารัตน์
59170249 ธิดารัตน์59170249 ธิดารัตน์
59170249 ธิดารัตน์
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซี
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
บทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีบทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซี
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
 
4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซี4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซี
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
โครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา Cโครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา C
 
Learn 2
Learn 2Learn 2
Learn 2
 
การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
โครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีโครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซี
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 

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

โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1Latcha MaMiew
 
ภาษา C
ภาษา Cภาษา C
ภาษา C0872671746
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาSaranporn Rungrueang
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)Thachanok Plubpibool
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานThachanok Plubpibool
 
บทที่6 งานคอม
บทที่6 งานคอมบทที่6 งานคอม
บทที่6 งานคอมIce Ice
 
ความหมายของโปรแกรมคอมพิวเตอร์
ความหมายของโปรแกรมคอมพิวเตอร์ความหมายของโปรแกรมคอมพิวเตอร์
ความหมายของโปรแกรมคอมพิวเตอร์Onrutai Intanin
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานPrapatsorn Keawnoun
 
Algorithm flow chart
Algorithm flow chartAlgorithm flow chart
Algorithm flow chartbbgunner47
 

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

โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
C lu
C luC lu
C lu
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
Computer Programming 1
Computer Programming 1Computer Programming 1
Computer Programming 1
 
Pbl2
Pbl2Pbl2
Pbl2
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
บทที่6 งานคอม
บทที่6 งานคอมบทที่6 งานคอม
บทที่6 งานคอม
 
ความหมายของโปรแกรมคอมพิวเตอร์
ความหมายของโปรแกรมคอมพิวเตอร์ความหมายของโปรแกรมคอมพิวเตอร์
ความหมายของโปรแกรมคอมพิวเตอร์
 
650 1
650 1650 1
650 1
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
Algorithm flow chart
Algorithm flow chartAlgorithm flow chart
Algorithm flow chart
 
Presenter1234567
Presenter1234567Presenter1234567
Presenter1234567
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 

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

  • 2. ความหมายของฟังก์ชันและฟังก์ชันมาตรฐานของภาษาซี ฟังก์ชันหรือโปรแกรมย่อย (Function) ในการเขียนโปรแกรม คอมพิวเตอร์ บ่อยครั้งจะต้องมีชุดคําสั่งบางชุดทีจะต้องถูกทํางานบ่อยๆ ถ้าหากโปรแกรมต้องทําชุดคําสั่งเหล่านั้นอีกครั้งผู้เขียนโปรแกรมจะต้อง เขียนชุดคําสั่งชุดเดิมใหม่อกครั้งทําให้ โปรแกรมมีขนาดใหญ่ขน แต่เรา สามารถนําชุดคําสั่งทีจะต้องถูกใช้งานบ่อย ๆ มารวม เป็นฟังก์ชนได้ แล้วจึงเรียกใช้ชื่อฟังก์ชันแทนการทีจะต้องเขียน ชุดคําสั่งนั้นใหม่อีกครั้ง
  • 4. คําอธิบาย type คือ ชนิดของฟังก์ชัน หรือ ชนิดของข้อมูล เช่นint , float , char , double , void ที่ส่งไปให้ตําแหน่งที่เรียกใช้ถ้าไม่มีการส่งค่ากลับไปให้ตาแหน่งที่เรียกใช้ จะใช้ void ถ้าไม่มี การกําหนดจะได้ขอมูลทีส่งกลับมาเป็น int เสมอ function_name คือ ชื่อของฟังก์ชัน ควรต้อง ชื่อให้สื่อความหมายถึงการทํางานของฟังก์ชัน และต้องเป็นไปตามกฏเกณฑ์การตั้งชื่อตัวแปร ในภาษาซี type parameter คือ ชนิดและชื่อของ parameter ค่าที 1 , 2 ถึง N ทีจะรับมาจากผู้ เรียกใช้ฟังก์ชัน ถ้าเป็นฟังก์ชันทีไม่มีการรับส่งค่า parameter จะใช้คาว่า void { คือ จุดเริ่มต้น ของฟังก์ชัน location variable declaration คือ ส่วนทีมีการประกาศชนิดและชื่อของตัวแปรที่ จะใช้เฉพาะในฟังก์ชัน โดยส่วนที่อยู่นอกฟังก์ชัน จะไม่สามารถเรียกใช้ตัวแปรเหล่านี้ได้ statement_1; statement_2;... statement_N คือ คําสั่งที่ใช้งานในฟังก์ชัน return(value); คือ คําสั่งที่ใช้ส่งข้อมูลหรือค่าที่เป็นผลลัพธ์จากการประมวลผลในฟังก์ชัน ไปให้ผู้เรียกใช้ฟังก์ชัน โดยชนิดของข้อมูลที่ส่งต้องเป็นชนิดเดียวกับชนิดของ ฟังก์ชันหรือชนิดของข้อมูลของ ฟังก์ชันถ้าเป็นฟังก์ชันทีไม่มีการส่งค่า(void) จะไม่ตองใช้คําสั่ง return } คือ ส่วนสินสุดของ ฟังก์ชัน
  • 5. ฟังก์ชันในภาษาซีแบ่งตามที่มาของฟังก์ชันแบ่งได้เป็น 2 ประเภทคือ 1. ฟังก์ชันทีผู้เขียนโปรแกรมสร้างขึ้นเอง (User-defined Function) เป็น ฟังก์ชันหรือโปรแกรมย่อยที่ผู้ใช้สร้างขึ้นมาใช้ในการเขียนโปรแกรมเพื่อ ทํางานอย่างใดอย่างหนึ่ง 2. ฟังก์ชันมาตรฐาน (Standard Function) เป็นฟังก์ชันทีถูกสร้างขึ้นและ เก็บ ไว้ในไลบรารี ในการใช้งานเราต้องเรียกใช้ include directives เพื่อเรียก header file ขนมาก่อนจงจะสามารถใช้งานฟังก์ชันนั้นได้
  • 6. ฟังก์ชันที่ผู้เขียนโปรแกรมสร้างขึ้นเอง หรือการเขียนโปรแกรม แบบโปรแกรมย่อย โปรแกรมย่อยเป็นวิธีเขียนโปรแกรมที่ต้องการแยกระบบงานเป็นส่วน เช่น ระบบงาน เป็นระเบียบเพราะแบ่งเป็นส่วนงาน สามารถสร้างทีมงานช่วยพัฒนา ระบบได้ เมื่อเกิด ข้อผิดพลาดจุดใด สามารถแก้ไขได้แทนที่ 1.1 โครงสร้างของฟังก์ชัน type function_name(type1 arg1, type2 arg2,.., typeN argN) { local variable declaration; statement(s); return( varlue); }
  • 7. คําอธิบายโปรแกรม จากโปรแกรม สามารถอธิบายการทํางานของโปรแกรมที่สําคัญๆ ได้ดังนี้ บรรทัดที 3 และ 4 คําสั่ง void one(void); และ void two(void); คําสั่งประกาศชื่อ ฟังก์ชนและชนิดของการส่งค่า กลับมายังฟังก์ชัน ซึ่งในกรณีนี้ทั้งฟังก์ชัน one( ) และ two( ) เป็นฟังก์ชันชนิดทีไม่มีการส่งค่าไป และรับค่ากลับ เนื่องจากคําว่า void ทีอยู่หน้าชื่อฟังก์ชัน one( ) และ two( ) เป็นการบอกว่าไม่มี การรับค่าทีส่งกลับ ส่วนคําว่า void ทีอยู่ภายใน ( ) ของฟังก์ชัน one( ) และ two เป็นการบอกว่า ไม่มี argument นั้นคือไม่มีการส่งค่าไปนั้นเองข้อสังเกต การประกาศชื่อและชนิดของฟังก์ชัน จะต้องประกาศไว้ก่อนฟังก์ชัน main( ) เพราะจะทําให้เราสามารถใช้ฟังก์ชันทีประกาศไว้ในส่วน ใดของโปรแกรมก็ได้ บรรทัดที 8 และ 9 คําสั่ง one( ); และ two( ); เป็นการเรียกใช้ฟังก์ชันชื่อ one( ) และ two( ) ตามลําดับ โดยฟังก์ชัน one( ) อยู่ที่คําสั่งบรรทัดที 14 ถึง 18 และ ฟังก์ชัน two( ) อยู่ที่20 ถึง 25 บรรทัดที 14 ถึง 18 ฟังก์ชัน one( ) ให้พิมพ์ค่าทีเก็บไว้ในตัวแปร a และ b แสดงที่ จอภาพ บรรทัดที 20 ถึง 25 ฟังก์ชัน two( ) ให้พิมพ์คําที่เก็บไว้ในตัวแปร p และ q และพิมพ์ ค่าตัวแปร q แสดงทีจอภาพ บรรทัดที่10 และ 11 ภายหลังจากทํางานตามฟังก์ชัน one( ) และ two( ) แล้ว พิมพ์ขอความให้ กดคีย์ใด ๆ เพื่อกลับสูโปรแกรม และหยุดรอรับค่าใด ๆ เช่น กด enter จะกลับเข้าสู่โปรแกรม
  • 9. 1.2 การวางตําแหน่งโปรแกรมย่อย ภาษาซีมีให้เลือกใช้งาน 2 ลักษณะคือ วางโปรแกรมย่อยไว้ในตําแหน่งก่อนส่วนโปรแกรม วางโปรแกรมย่อยไว้ในตําแหน่งหลังส่วนโปรแกรมหลัก วางโปรแกรมย่อยไว้ในตําแหน่งก่อนส่วน โปรแกรม #include <stdio.h>Main Main () { Function-name2(); …………………... Function-name1 (); } วางโปรแกรมย่อยไว้ในตําแหน่งหลังส่วน โปรแกรมหลัก #include <stdio.h>Main Main () { Function-name1(); Function-name2 (); …………………... }
  • 10. ข้อแนะนําในการเขียนโปรแกรมย่อย กรณีเลือกวางโปรแกรมย่อยไว้หลังโปรแกรมหลัก ต้องประกาศชื่อโปรแกรมย่อยต่อ จาก #include เสมอ มิฉะนั้นจะเกิดข้อผิดพลาดได้ กรณีมีโปรแกรมย่อยหลาย ส่วนงาน วางโปรแกรมย่อยไว้หลังโปรแกรมหลัก เพราะหลักการอ่านคาสั่งงาน จะต้องอ่านในส่วนโปรแกรมหลักก่อน แล้วจึงโนยงไปทีโปรแกรม ย่อย หากมี โปรแกรมย่อยจานวนมากจะดันโปรแกรมหลักไปอยู่ส่วนล่าง ทาให้เสียเวลา ค้นหาโปรแกรมหลัก
  • 11. ฟังก์ชันทางคณิตศาสตร์ (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)
  • 12. 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 เป็นค่ามุมในหน่วยเรเดียน รูปแบบ tan(x);
  • 13. 1 แสดงการใช้งานฟังก์ชัน acos(x), asin(x), atan(x), sin(x), cos(x) และ tan(x) math1.c */ #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("nPressany key back to program ...");/* บรรทัดที่ 15 */ getch(); /* บรรทัดที่ 16 */ } /* บรรทัดที่ 17 */
  • 15. คาอธิบายโปรแกรม สามารถอธิบายการทางานของโปรแกรมที่สาคัญ ๆ ได้ดังนี้ บรรทัดที่ 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)); ฟังก์ชันคานวณหาค่า cosine ของตัวแปร r โดย r เป็นมุม ในหน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ บรรทัดที่ 14 คาสั่ง printf("%fn",tan(r)); ฟังก์ชันคานวณหาค่า tan ของตัวแปร r โดย r เป็นมุมใน หน่วยเรเดียน และแสดงผลลัพธ์ที่ได้ออกจอภาพ บรรทัดที่ 15 และ 16 พิมพ์ข้อความให้กดคีย์ใด ๆ เพื่อกลับสู่โปรแกรม และหยุดรอรับค่าใด ๆ เช่น กด enter จะ กลับเข้าสู่โปรแกรม /* บรรทัดที่ 17 */
  • 16. ฟังก์ชัน sqrt(x) เป็นฟังก์ชันที่ใช้หาค่ารากที่ 2 (square root) ของค่าคงที่หรือตัวแปร x โดยที่ x จะต้องเป็น ค่าคงที่ชนิด ตัวเลขหรือตัวแปรที่มีค่าไม่ติดลบ รูปแบบ sqrt(x); ฟังก์ชัน exp(x) เป็นฟังก์ชันที่ใช้หาค่า ex โดยที่ x เป็นค่าคงที่หรือตัวแปรที่จะใช้เป็นค่ายกกาลังของ e โดยที่ e มีค่าประมาณ 2.718282 รูปแบบ exp(x); ฟังก์ชัน pow(x,y) เป็นฟังก์ชันที่ใช้หาค่า xy โดยที่ x เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นตัวฐานซึ่งจะต้องมีค่ามากกว่าศูนย์ y เป็นค่าคงที่หรือตัวแปรที่ใช้เป็นค่ายกกาลัง รูปแบบ pow(x, y);
  • 17. ในการเขียนฟังก์ชันขึ้นมาใช้งานอย่างใดอย่างหนึ่ง เราสามารถจําแนกฟังก์ชันที่เขียน ขึ้นตามลักษณะการส่งค่าไปและรับค่ากลับได้ 3 แบบ คือ 1. ฟังก์ชันที่ไม่มีการส่งค่าไปและรับค่ากลับ 2.ฟังก์ชันที่มีการส่งค่าไปแต่ไม่มีรับค่ากลับ 3.ฟังก์ชันที่มีทั้งการส่งค่าไปและรับค่ากลับ ซึ่งฟังก์ชันแต่ละแบบก็เหมาะกับงานแต่ละอย่าง ดังนั้นผู้เขียนฟังก์ชันจึงจาเป็นท จะต้องศึกษาทาความเข้าใจฟังก์ชันแต่ละแบบ เพื่อจะได้มาประยุกต์ใช้กับงานได้ อย่างเหมาะสม
  • 18. • นาย ปรัชญา ยังดี เลขที่ 4 • นางสาว จันทมณี ติเยาว์ เลขที่ 12 • นางสาวรัชนิกรณ์ แซ่เล้า เลขที่ 9 • นางสาว กมลนัทธ์ สามพ่วงบุญ เลขที่ 22 • นางสาว สมฤทัย พรหมมา เลขที่ 27 ชั้นมัธยมศึกษาปีที่ 4/5