งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

What is a method? Method คือ คำสั่งที่เกิดจากกลุ่มของโค้ด คำสั่งที่รวมกันอยู่ภายใต้คำสั่งเดียว เพื่อให้คำสั่งใหม่ ที่ได้นั้นทำงานได้ตามวัตถุประสงค์ ประโยชน์ของ.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "What is a method? Method คือ คำสั่งที่เกิดจากกลุ่มของโค้ด คำสั่งที่รวมกันอยู่ภายใต้คำสั่งเดียว เพื่อให้คำสั่งใหม่ ที่ได้นั้นทำงานได้ตามวัตถุประสงค์ ประโยชน์ของ."— ใบสำเนางานนำเสนอ:

1

2 What is a method? Method คือ คำสั่งที่เกิดจากกลุ่มของโค้ด คำสั่งที่รวมกันอยู่ภายใต้คำสั่งเดียว เพื่อให้คำสั่งใหม่ ที่ได้นั้นทำงานได้ตามวัตถุประสงค์ ประโยชน์ของ method เมื่อ programmer ได้รับ method มา method นั้น จะเป็น service ให้กับ programmer ในการแก้ไขปัญหา โดยที่ programmer ไม่จำเป็นต้องทราบรายละเอียด ภายใน method

3 กลไกการทำงาน 1. รับค่ามาจากผู้ใช้งาน (Programmer) 2. ประมวลผล 3. ส่งค่ากลับมาในตำแหน่งที่เรียก แนวคิดการทำงานของ method Concept การใช้งาน method คือ ให้เรามอง method เป็น กล่องดำ (Black box) โดยให้เราสนใจ เพียงว่า สิ่งที่เราต้องส่งให้ method คืออะไร ? method ทำอะไร ? ค่าที่ method ส่งกลับมาคืออะไร ?

4 แนวคิดการทำงานของ Method( ต่อ ) { int x; for(int i=0;i<x;i++){ ………………….. } Method ค่าที่ส่งให้ method ค่าที่ Method ส่งกลับ

5 วิเคราะห์ Method readInt() สิ่งที่เราต้องส่งให้ method readInt() คืออะไร ? method readInt() ทำอะไร ? ค่าที่ method readInt() ส่งกลับมาคืออะไร ? readInt(…….){ …………………….. } ข้อความที่ต้องการ แสดง เลขจำนวนเต็ม จาก keyboard

6 ตัวอย่างโปรแกรมที่ 1 import acm.program.*; public class Program001 extends ConsoleProgram { public void run() { int x; x=2+readInt(“?”)*3; println(“x = ”+x); }

7 ตัวอย่างโปรแกรมที่ 1 import acm.program.*; public class Program001 extends ConsoleProgram { public void run() { int x; x=2+readInt(“?”)*3; println(“x = ”+x); } x = ?

8 ตัวอย่างโปรแกรมที่ 1 import acm.program.*; public class Program001 extends ConsoleProgram { public void run() { int x; x=2+readInt(“?”)*3; println(“x = ”+x); } x = ? ? 5 5

9 ตัวอย่างโปรแกรมที่ 1 import acm.program.*; public class Program001 extends ConsoleProgram { public void run() { int x; x=2+readInt(“?”)*3; println(“x = ”+x); } x = 17 ? 5

10 ตัวอย่างโปรแกรมที่ 1 import acm.program.*; public class Program001 extends ConsoleProgram { public void run() { int x; x=2+readInt(“?”)*3; println(“x = ”+x); } x = 17 ? 5 x = 17

11 ประเภทของ method 1. Medthod สำเร็จรูป Medthod สำเร็จรูป คือ method ที่มีใน Compiler หรือ Package สำเร็จรูป ที่โปรแกรมดึงมา ใช้ ( ผ่านการ import) 2. Method ที่ผู้ใช้นิยามขึ้นเอง การสร้าง method ขึ้นมาใช้งานเองเป็นเทคนิค การเขียนโปรแกรมขนาดใหญ่ โดยแบ่งงานขนาด ใหญ่ออกเป็นงานย่อยที่มีขนาดเล็กลงแล้วจัดการงาน ย่อยเหล่านั้นให้อยู่ในรูปของ method

12 1. Method สำเร็จรูป Method สำเร็จรูปในบางครั้ง Method เหล่านี้ จะถูกจัดรวมกันเป็นกลุ่มในรูปแบบของ class ลักษณะการเรียกใช้ Method ที่ถูกเขียนอยู่ใน class class_name. method_name (argument_list)

13 method ใน class Math Math.abs(x)Returns the absolute value of x Math.sqrt(x)Returns the correctly rounded positive square root of x Math.pow(x,y)Returns the value of x raised to the power of y. Math.log(x)Returns the natural logarithm (base e) of x Math.log10(x)Returns the base 10 logarithm of x. Math.sin(x)Returns the trigonometric sine of an angle. Math.cos(x)Returns the trigonometric cosine of an angle. Math.tan(x)Returns the trigonometric tangent of an angle.

14 ตัวอย่างโปรแกรมที่ 2 import acm.program.*; public class Program002 extends ConsoleProgram { public void run() { int a=3,b=4; double c; c=Math.sqrt(a*a+b*b); println(“c = ”+c); }

15 ตัวอย่างโปรแกรมที่ 2 import acm.program.*; public class Program002 extends ConsoleProgram { public void run() { int a=3,b=4; double c; c=Math.sqrt(a*a+b*b); println(“c = ”+c); } a=3 b=4

16 ตัวอย่างโปรแกรมที่ 2 import acm.program.*; public class Program002 extends ConsoleProgram { public void run() { int a=3,b=4; double c; c=Math.sqrt(a*a+b*b); println(“c = ”+c); } a=3 b=4 c=?

17 ตัวอย่างโปรแกรมที่ 2 import acm.program.*; public class Program002 extends ConsoleProgram { public void run() { int a=3,b=4; double c; c=Math.sqrt(a*a+b*b); println(“c = ”+c); } a=3 b=4 c=? 25

18 ตัวอย่างโปรแกรมที่ 2 import acm.program.*; public class Program002 extends ConsoleProgram { public void run() { int a=3,b=4; double c; c=Math.sqrt(a*a+b*b); println(“c = ”+c); } a=3 b=4 c=? 5.0

19 ตัวอย่างโปรแกรมที่ 2 import acm.program.*; public class Program002 extends ConsoleProgram { public void run() { int a=3,b=4; double c; c=Math.sqrt(a*a+b*b); println(“c = ”+c); } a=3 b=4 c=5.0

20 ตัวอย่างโปรแกรมที่ 2 import acm.program.*; public class Program002 extends ConsoleProgram { public void run() { int a=3,b=4; double c; c=Math.sqrt(a*a+b*b); println(“c = ”+c); } a=3 b=4 c=5.0

21 2. Method ที่ผู้ใช้นิยามขึ้นเอง Method ที่ผู้ใช้นิยามขึ้นเอง จำแนกได้ 3 แบบ 2.1 Method ที่ไม่มีการรับค่าและส่งค่ากลับ 2.2 Method ที่มีการรับค่าแต่ไม่ส่งค่ากลับ 2.3 Method ที่มีการรับค่าและส่งค่ากลับ

22 2.1 Method ที่ไม่มีการรับค่าและ ส่งค่ากลับ รูปแบบทั่วไปของการนิยาม method ที่ไม่มีการส่งค่าและรับค่ากลับ scope void method_name () { statements …………… } * Scopepublic

23 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); }

24 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); }

25 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); } i=0

26 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); } i=0 *

27 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); } i=1 **

28 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); } i=20 ********************

29 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); } ********************

30 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); } ******************** Wisuwat Sunhem

31 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); } ******************** Wisuwat Sunhem KMITL

32 ตัวอย่างโปรแกรมที่ 3 import acm.program.*; public class Program003 extends ConsoleProgram { public void run() { print20Star(); println(“Wisuwat Sunhem”); println(“KMITL); print20Star(); } public void print20Star(){ for(int i=0;i<20;i++) print(“*”); println(); } ******************** Wisuwat Sunhem KMITL ********************

33 2.2 Method ที่มีการรับค่าแต่ไม่ส่ง ค่ากลับ รูปแบบทั่วไปของการนิยาม method ที่มีการรับค่าแต่ไม่ส่งค่ากลับ scope void method_name (parameter_list) { statements …………… }

34 ตัวอย่าง Parameter_list หากมีการนิยาม method ในลักษณะ public void method_name(int v1,int v2,char v3) { ………………………………….. } ___________________________________________ หากมีการเรียกใช้ method ในลักษณะ ดังนี้ method_name(24, -2, ‘A’); ค่าของตัวแปร parameter จะมีค่าดังนี้ v1=24, v2=-2, v3=‘A’

35 Do you know it? * ** *** **** *****

36 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); }

37 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=1

38 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=1 #n=1 #ch=‘*’

39 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=1 #n=1 #ch=‘*’ $i=0->1 *

40 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=1 #n=1 #ch=‘*’ *

41 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=2 *

42 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=2 #n=2 #ch=‘*’ *

43 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=2 #n=2 #ch=‘*’ $i=0->2 * **

44 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=2 #n=2 #ch=‘*’ * **

45 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=3 * **

46 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=3 #n=3 #ch=‘*’ * **

47 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=3 #n=3 #ch=‘*’ $i=0->3 * ** ***

48 ตัวอย่างโปรแกรมที่ 4 import acm.program.*; public class Program004 extends ConsoleProgram { public void run() { for(int i =1;i<=3;i++){ printStar(i, ‘*’); } public void printStar(int n,char ch){ for(int i=0;i<n;i++) print(ch); println(); } i=3 #n=3 #ch=‘*’ * ** ***

49 2.3 Method ที่มีการรับค่าและส่ง ค่ากลับ รูปแบบทั่วไปของการนิยาม method ที่มีการรับค่าและส่งค่ากลับ scope method_type method_name (parameter_list) { statements …………… return value; } * method_type Data_type (int, double, …)

50 return value การ return ค่ากลับของ method สามารถอยู่ใน ลักษณะของ Expression ที่มี data_type -> method_type เช่น method_type เป็น boolean สามารถ return เป็น true,false,(4+4)==(3/2) int สามารถ return เป็น 5, x(int type), 5*2+4-4

51 what is GCD? (Greatest common divisor)

52 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; }

53 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33

54 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=78 #y=33

55 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=78 #y=33 #r=12

56 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=78 #y=33 #r=12

57 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=33 #y=33 #r=12

58 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=33 #y=12 #r=12

59 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=33 #y=12 #r=9

60 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=33 #y=12 #r=9

61 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=12 #y=12 #r=9

62 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=12 #y=9 #r=9

63 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=12 #y=9 #r=3

64 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=12 #y=9 #r=3

65 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=9 #y=9 #r=3

66 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=9 #y=3 #r=3

67 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=9 #y=3 #r=0

68 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=9 #y=3 #r=0

69 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 #x=9 #y=3 #r=0

70 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 3

71 ตัวอย่างโปรแกรมที่ 5 import acm.program.*; public class Program005 extends ConsoleProgram { public void run() { int x = 78, b = 33; pritnln(gcd(x,b)); } public int gcd(int x,int y){ int r = x % y; while(r!=0) { x = y; y = r; r = x % y; } return y; } x=78 b=33 3 3

72 How to program efficiently

73 Predicate Method return (a*b == a+b) if(a*b == a+b) return true; else return false; 1. การคืนค่ากลับของพรีดิเคทเมธอดสามารถทำ ได้ ดังนี้

74 if(isPrime(n)){ statement1; statement2; ………………. } if(isPrime(n)==true){ statement1; statement2; ………………. } 2. การเรียกใช้งานพรีดิเคทเมธอด ภายใต้คำสั่ง if สามารถ ทำได้ ดังนี้

75 การตรวจสอบว่าเลขมีกี่หลัก ? int n=0; while(true){ if(num==0) break; num/=10; n++; } การตรวจสอบจำนวนหลักของตัวเลขทำได้ดังนี้ กำหนดให้ num เป็นตัวแปรชนิดจำนวนเต็มที่มีค่า มากกว่า 0 int n=0; if(num!=0) n=(int)Math.log10(num)+1;

76 การตัดเลขโดดด้านหลังออกจาก จำนวนเต็ม num/100.0 กำหนดให้ num = 2632 เป็นตัวแปรชนิดจำนวนเต็ม 26.32 num/100 26 int temp=num/(int)Math.pow(10,n); //n: เลขชี้กำลัง


ดาวน์โหลด ppt What is a method? Method คือ คำสั่งที่เกิดจากกลุ่มของโค้ด คำสั่งที่รวมกันอยู่ภายใต้คำสั่งเดียว เพื่อให้คำสั่งใหม่ ที่ได้นั้นทำงานได้ตามวัตถุประสงค์ ประโยชน์ของ.

งานนำเสนอที่คล้ายกัน


Ads by Google