สื่อวีดิทัศน์การสอน เรื่อง :: ฟังก์ชันที่มีการรับค่าเข้ามา แล้วส่งผลลัพธ์กลับคืน ::

——————————————————————————————————————————— 

3. ฟังก์ชันที่มีการรับค่าเข้ามา แล้วส่งผลลัพธ์กลับคืน 1
         ฟังก์ชันชนิดนี้ เป็นฟังก์ชันที่จะต้องมีการนำค่าตัวแปรเข้ามาประมวลผลในฟังก์ชัน และเมื่อประมวลผลได้คำตอบแล้ว จะต้องมีการส่งค่าของผลลัพธ์ที่ประมวลผลได้กลับออกไปสู่โปรแกรมหลัก (Main Program) หรือโปรแกรมอื่น ๆ ที่เรียกมา โดยการส่งค่ากลับออกไปนั้น จะต้องมีการเขียนคำสั่งในรูปแบบ ดังนี้

Variable = Function_Name(arg1,arg2,argN)

         อธิบายความหมาย

Variable
คือ ตัวแปรที่ต้องการรับค่าที่ส่งกลับออกมาจากฟังก์ชัน
Function_Name
คือ ชื่อของฟังก์ชันที่มีการรับค่าเข้ามา แล้วส่งผลลัพธ์กลับคืน
arg1,arg2,argN
คือ ค่าที่รับเข้ามาเพื่อประมวลผล ซึ่งจะมีกี่จำนวนก็ได้อย่างน้อยจะต้องมี 1 ค่า

         ตัวอย่างโปรแกรม
                  คุณครูต้องการคำนวณหาภาษีมูลค่าเพิ่ม Vat 7% จากการซื้อสินค้า เพื่อใช้ในการแข่งขัน
         งานศิลปหัตกรรมนักเรียนเป็นจำนวนเงิน 100 บาท จึงให้นักเรียนเขียนโปรแกรมเพื่อแสดงผลข้อมูล
         ดังนี้
                  “ให้นักเรียนเขียนโปรแกรมโดยใช้ฟังก์ชัน main( ) แสดงข้อความ Vat 7 Percent =
         ตามด้วยค่าของการคำนวณหาภาษี vat = vat7(100)  คือการเสียเงินซื้อสินค้าจำนวนเงิน 100 บาท
         ตามด้วยข้อความ Baths บนจอภาพ โดยค่าตัวแปร vat ใช้ Format Code ชนิด Float จากการเรียก
         ฟังก์ชัน vat7(float money) โดยมีตัวแปร x ที่เก็บค่าผลลัพธ์จากการคำนวณหาภาษี
         โดยใช้ Format Code ชนิด Float และการคำนวณหาภาษีจากสูตร x = (money*7) แล้วส่งค่า x
         ออกมายังฟังก์ชัน main( )”


         วิเคราะห์ปัญหา (Analysis)
                  สิ่งที่โจทย์กำหนด :: กำหนดให้ฟังก์ชัน vat7(float money) มีค่าตัวแปร x ที่เก็บผลลัพธ์ของ
         การคำนวณภาษี x = (money*7) / 100; โดยใช้ Format Code ชนิด Float แล้วส่งค่า x
         ออกมายังฟังก์ชัน main( ) กำหนดให้ฟังก์ชัน main( ) มีค่าตัวแปร money เก็บจำนวนเงินที่ซื้อ
         สินค้า และ vat เก็บผลลัพธ์ของการคำนวณภาษีโดยใช้ Format Code ชนิด Float    แล้วมีการ
         คำนวณหาภาษี vat = vat7(100)  จากการเรียกใช้ฟังก์ชัน vat7(100)   จากการซื้อสินค้า
         เป็นจำนวนเงิน 100 บาท 
                  สิ่งที่โจทย์ต้องการ :: ภาษีมูลค่าเพิ่ม Vat 7% จากการซื้อสินค้า เพื่อใช้ในการแข่งขัน
         งานศิลปหัตกรรมนักเรียนเป็นจำนวนเงิน 100 บาท

       การแก้ปัญหา (Problem Solving) ตามแนวทางการคิดเชิงคำนวณ โดยการคิดแบบ "ขั้นตอนวิธี" (Algorithm) ดังนี้

Pseudo Code
Flowchart
Algorithm Function vat7(float money)
  1. Start
  2. float x
  3. x = (money*7) / 100
  4. return(x);
  5. End
Algorithm Function main( )
  1. Start
  2. float money,vat;
  3. vat = vat7(100);
  4. Print ("Vat 7 Percent = %.2f Baths \n ",vat);
  5. End


         เขียนโปรแกรม (Coding) 

บรรทัดที่
โปรแกรม
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
float vat7(float money)
{
     float x;
     x = (money*7) / 100;
     return(x);
}
int main( )
{
     float money,vat;
     vat = vat7(100);
     printf("Vat 7 Percent = %.2f Bahts \n ",vat);
}

         อธิบายโปรแกรม

บรรทัดที่ 1
กำหนดใช้งานไลบรารีชื่อ stdio.h 
บรรทัดที่ 2
ประกาศฟังก์ชันชื่อ vat7 โดยมีการรับค่าเข้ามา 1 ค่า
บรรทัดที่ 3
จุดเริ่มต้นฟังก์ชัน vat7
บรรทัดที่ 4
ประกาศตัวแปรประเภท float ชื่อ x
บรรทัดที่ 5
กำหนดให้ตัวแปร x = money * 7 แล้วหารด้วย 100
บรรทัดที่ 6
ส่งค่าตัวแปร x กลับออกไป
บรรทัดที่ 7
สิ้นสุดการทำงานฟังก์ชัน vat7
บรรทัดที่ 8
กำหนดคำสั่งโปรแกรมหลัก int main( )
บรรทัดที่ 9
เริ่มชุดคำสั่งโปรแกรมหลัก int main ( ) ด้วยเครื่องหมาย {
บรรทัดที่ 10
กำหนดตัวแปร money และ vat เป็นชนิด float
บรรทัดที่ 11
กำหนดค่าตัวแปร vat ให้มีค่าเท่ากับผลลัพธ์ที่เกิดจากฟังก์ชัน vat7 โดยการรับค่า 100 เข้าไปประมวลผล
บรรทัดที่ 12
แสดงข้อความ Vat 7% ตามด้วยการแสดงผลลัพธ์เป็นเลขทศนิยม 2 ตำแหน่งของตัวแปร vat
บรรทัดที่ 13
ส่วนปิดของโปรแกรม int main( ) ด้วยเครื่องหมาย }

         ผลลัพธ์บนจอภาพ
                  เมื่อทำการทดสอบการทำงานของฟังก์ชัน โดยที่ในโปรแกรมมีการส่งค่า 100 เข้าไป
         ประมวลผลในฟังก์ชัน vat7 ก็จะทำให้ได้คำตอบคือ 7 บาท

Vat 7 Percent = 7 Bahts

          การทดสอบการทำงานของโปรแกรมจากเว็บ https://repl.it/languages/c
                 
   คลิกเครื่องหมาย  เพื่อดูผลผลลัพธ์การทำงานของโปรแกรมด้านล่าง
          (ลิงค์สำรอง https://repl.it/repls/CheeryKindheartedTexts)



———————————————————————————————————————————