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

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

2. ฟังก์ชันที่มีการรับค่าเข้ามา 1
         ฟังก์ชันชนิดนี้เป็นฟังก์ชันที่จะต้องรับค่าตัวแปรเข้ามาทำงานในฟังก์ชัน ซึ่งค่าที่ส่งเข้ามานั้นจะต้องตรงกับชนิดของตัวแปรที่ประกาศไว้ด้วย เช่น หากมีการประกาศว่ารับค่าชนิด int การส่งค่าเข้ามาประมวลผลจะต้องเป็นค่าชนิด Int ด้วยเช่นกัน หากส่งมาผิดชนิดจะไม่สามารถประมวลผลได้     

         ตัวอย่างโปรแกรม
                  คุณครูต้องการให้นักเรียนแสดงผลลัพธ์การคูณกันของแม่สูตรคูณ โดยให้นักเรียนกรอกเลข
         แม่สูตรคูณลงไป แล้วทำการแสดงผลแม่สูตรคูณแม่นั้น โดยเริ่มคูณจากเลข 1 จนถึงเลข 12 เช่น
         นักเรียนกรอกเลขแม่สูตรคูณแม่ 5 จะแสดงผล 5 x 1 = 5 ไปจนถึง 5 x 12 = 60 เป็นต้น   
         จึงให้นักเรียนเขียนโปรแกรมเพื่อแสดงผลข้อมูล ดังนี้
                   “ให้นักเรียนเขียนโปรแกรมโดยแสดงข้อความว่า Enter multiply number : และรับเลข
         แม่สูตรคูณเข้ามาในระบบ เช่น แม่สูตรคูณแม่ 5 จากนั้นทำการเรียกฟังก์ชัน multiply(x);
         เพื่อกำหนดการวนซ้ำด้วยคำสั่ง for (y=1; y<=12; y++)    และแสดงผลลัพธ์ของการคูณ บนจอภาพ
         เช่น 5 x 1 = 5 ไปจนถึง 5 x 12 = 60 เป็นต้น”


         วิเคราะห์ปัญหา (Analysis)
                  สิ่งที่โจทย์กำหนด :: กำหนดตัวแปร arg1 เก็บค่าจำนวนครั้งในการคูณ กำหนดฟังก์ชัน
         multiply( ); เพื่อกำหนดการวนซ้ำด้วยคำสั่ง for(y=1; y<=12; y++) และแสดงผลการคูณ กำหนด
         ฟังก์ชัน main( ) แสดงข้อความ Enter multiply number :   และตัวแปร x รับเลข แม่สูตรคูณ
         โดยใช้ Format Code ชนิด Integer จากนั้นส่งค่าตัวแปร x ไปยังฟังก์ชัน multiply(x);
                  สิ่งที่โจทย์ต้องการ :: แสดงผลลัพธ์การคูณกันของแม่สูตรคูณ โดยแสดงข้อความว่า Enter
         multiply number : รับค่าของตัวแปร x ที่เก็บเลขแม่สูตรคูณ   และแสดงผลการคูณของตัวแปร
         agr1 x y = arg1*y บนจอภาพ


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

Pseudo Code
Flowchart
Algorithm Function multiply(arg1)
  1. Start
  2. int y , arg1
  3. Print ("\n");
  4. for (y=1; y<=12; y++)
    4.1 Print arg1 x y = arg1*y
  5. End
Algorithm Function main( )
  1. Start
  2. int x;
  3. Print Enter multiply number :
  4. Input x
  5. Call Function multiply(x);

  6. End

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

บรรทัดที่
โปรแกรม
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
void multiply(arg1)
int arg1;
{
     printf("\n");
     int y;
     for (y=1; y<=12; y++)
     {
          printf(" %d x %d = %d \n",arg1,y,arg1*y);
     }
}
int main( )
{
     int x;
     printf("Enter multiply number : ");
     scanf("%d",&x);
     multiply(x);
}

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

บรรทัดที่ 1
กำหนดใช้งานไลบรารีชื่อ stdio.h ให้ทำงาน
บรรทัดที่ 2
สร้างฟังก์ชันชนิดรับค่าเข้ามาชื่อ multiply( ) พร้อมกับการรับค่าเข้ามา 1 ค่า
บรรทัดที่ 3
กำหนดตัวแปรที่ใช้ในการรับค่าชื่อ arg1 เป็นประเภท int
บรรทัดที่ 4
เริ่มต้นการทำงานของฟังก์ชัน multiply( ) ด้วย {
บรรทัดที่ 5
ขึ้นบรรทัดใหม่ 1 บรรทัด
บรรทัดที่ 6
สร้างตัวแปร y เพื่อใช้ในการวนรอบสำหรับคำสั่ง for
บรรทัดที่ 7
กำหนดคำสั่ง for เพื่อใช้ในการวนรอบด้วยตัวแปร y จำนวน 12 รอบจาก 1 ถึง รอบที่ 12
บรรทัดที่ 8
เริ่มการทำงานการวนรอบของตัวแปร y ด้วย {
บรรทัดที่ 9
ทำการแสดงผลลัพธ์ของแม่สูตรคูณ โดยกำหนดให้ arg1 แทนด้วยตัวเลขของแม่สูตรคูณ
ที่รับเข้ามา ส่วน y แทนด้วยการวนรอบแต่ละรอบจาก 1 ถึง 12 และ arg1 * y คือผลลัพธ์การคูณกันของตัวแปร arg1 และ y ในแต่ละรอบ
บรรทัดที่ 10
สิ้นสุดการทำงานของ for ด้วย }
บรรทัดที่ 11
สิ้นสุดการทำงานของฟังก์ชัน multiply( ) ด้วย }
บรรทัดที่ 12
กำหนดคำสั่งโปรแกรมหลัก int main()
บรรทัดที่ 13
เริ่มชุดคำสั่งด้วย {
บรรทัดที่ 14
กำหนดตัวแปร x เป็นประเภท int
บรรทัดที่ 15
แสดงข้อความ Enter multiply number :
บรรทัดที่ 16
ทำการรับค่าแม่สูตรคูณเข้ามา โดยเก็บไว้ในตัวแปร x
บรรทัดที่ 17
เรียกใช้ฟังก์ชัน multiply( ) โดยการรับค่าตัวแปร x เข้าไป ประมวลผล
บรรทัดที่ 18
สิ้นสุดการทำงานของโปรแกรมหลัก int main( )

         ผลลัพธ์ของโปรแกรม
                  โปรแกรมจะทำการแสดงผลลัพธ์ของแม่สูตรคูณ ตามที่นักเรียนกรอกเข้ามาในระบบ          ในที่นี้ทดสอบพิมพ์ 5 จะได้ผลลัพธ์จอภาพนี้

Enter multiply number : 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
5 x 11 = 55
5 x 12 = 60

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


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