สัปดาห์ที่ 4 : ฟังก์ชั่นและการควบคุม

» คำสั่ง for
» การใช้คำสั่ง if
» ทางเลือกหลายทาง
» ตัวดำเนินการสำหรับตรวจสอบเงื่อนไข 
» ปฏิบัติการลอจิก ซึ่งกระทำกับเงือนไขหลายตัว
» คำสั่ง break และ continue
» การวนรอบด้วยคำสั่ง while
» ประเภทของฟังก์ชั่น
» ไลบราลี่ฟังก์ชั่น (Library Functions)
» ฟังก์ชั่นที่สร้างขึ้นโดยตัวท่านเอง (User Defined Functions)
» ภาพรวมของฟังก์ชั่น
» ตัวแปรแบบ Global และ Local
» การเขียนฟังก์ชั่นแบบคืนค่า
» การเขียนฟังก์ชั่นแบบไม่คืนค่า (โพรซีเดอร์)
» ใบงาน 1 : การเขียนโปรแกรมสูตรคูณ
» ใบงาน 2 : การเขียนโปรแกรมสูตรคูณแบบกำหนดแม่ เลขเริ่มต้นและเลขสุดท้าย
» ใบงาน 3 : โปรแกรมตัดเกรดแบบ S/U 
» ใบงาน 4 : โปรแกรมตัดเกรดแบบแบบ A,B,C,D,F 
» ใบงาน 5 : การวนรอบแบบ break และ continue
» ใบงาน 6 : การใช้งานตัวแปรแบบ Global ภายในฟังก์ชั่น 
» คำถามท้ายบทเรียน

ฟังก์ชั่น (Function)

» ฟังก์ชั่น (Function) คือ คำสั่ง มี 2 แบบ 1) คำสั่งที่สร้างโดยคนอื่น 2) คำสั่งที่สร้างโดยตัวเราเอง
» ฟังก์ชั่น จะมีการคืนค่าเพื่อนำค่านั้น ๆ ไปใช้งานต่อไป โดยการคืนค่าจะเขียนคำสั่ง returen เอาไว้ในฟังก์ช่น
» ฟังก์ชั่น จะมีชื่อเรียก และจะมีสิ่งที่ส่งเข้าไปให้ฟังก์ชั่น ซึ่งเรียกว่า อาร์กิวเมนต์ 
» ฟังก์ชั่น จะมีอาร์กิวเมนต์หรือไม่มีขึ้นกับผู้ออกแบบฟังก์ชั่นนั้น ๆ
» ฟังก์ชั่น จะมีเครื่องหมาย () หลังชื่อของฟังก์ชั่น เช่น print(), dir((), sqrt() ฯลฯ
คำถาม : ข้อใดต่อไปนี้เป็นฟังก์ชั่น ?
ก) printf()  ข) print  ค) echo ง) echo() จ) sum ฉ) sum() 

ฟังก์ชั่นที่สร้างขึ้นโดยคนอื่น

» ฟังก์ชั่นประเภทนี้ ผู้ใช้สามารถเรียกใช้งานได้ เป็นฟังก์ชั่นที่พัฒนาขึ้นจากโปรแกรมเมอร์คนอื่น ๆ และเผยแพร่ให้ใช้งาน
» ฟังก์ชั่นที่รวบรวมเก็บเข้าไว้ด้วยกันจะเรียกว่า Library หรือ Module เช่น 
» ภาษาไพธอน มีคำสั่งต่าง ๆ เช่น คำสั่งทางคณิตศาสตร์ เมื่อจะใช้งานต้องใช้คำสั่ง import เช่น
รูปแบบที่ 1 : ขอใช้คำสั่งด้วยการประกาศเข้ามาทั้งหมด เช่น import math เมื่อใช้งานจะใช้คำสั่ง math.sqrt(9) เป็นต้น
รูปแบบที่ 2 : ขอใช้คำสั่งเพียงบางคำสั่ง เช่น from math import sqrt เมื่อใช้งานจะเรียกคำสั่ง sqrt(9) เป็นต้น

ฟังก์ชั่นที่สร้างขึ้นด้วยตนเอง

» การสร้างฟังก์ชั่น มีรูปแบบดังนี้
def ชื่อฟังก์ชั่น(): 
    คำสั่ง.....
    คำสั่ง.....
    return ผลลัพธ์
 ตัวอย่างการสร้างฟังก์ชั่น adder() 
def adder(a, b):
   return a+b


a = adder(3,2)
คำอธิบาย:
- ฟังก์ชั่นด้านบน ชื่อ บวก()
- ฟังก์ชั่นบวก() ต้องการอาร์กิวเมนต์ 2 ตัว คือ a และ b
- ฟังก์ชั่นบวก() คืนค่าเป็นผลรวมของ a และ b
- คำสั่ง a = บวก(3,2)  มีผลลัพธ์เท่ากับเลข 5
a = adder(3,2)
b = adder(4,3)
c = adder(a,b)
คำอธิบาย :
ฟังก์ชั่น บวก() จะคืนค่าเป็นตัวเลข ซึ่งเป็นผลรวมของอาร์กิวเมนต์ที่ป้อนให้กับฟังก์ชั่น และผลลัพธ์จะถือว่าเป็นเพียงตัวเลขที่นำไปใช้คำนวณได้

คำสั่ง for

การวนรอบด้วยภาษาไพธอน มีอยู่ 2 คำสั่ง คือ for และ while
1. การวนรอบแบบกำหนดจำนวนรอบ ใช้คำสั่ง for เช่น
x = range(1,13)
for i in x:
  print("รอบที่ %d : \tค่า i มีค่าเท่ากับ %d ถ้าเอา 30 x i \tจะเท่ากับ %d"%(i,i,30*i))
ผลลัพธ์:
รอบที่ 1 : 	ค่า i มีค่าเท่ากับ 1 ถ้าเอา 30 x i 	จะเท่ากับ 30
รอบที่ 2 : 	ค่า i มีค่าเท่ากับ 2 ถ้าเอา 30 x i 	จะเท่ากับ 60
รอบที่ 3 : 	ค่า i มีค่าเท่ากับ 3 ถ้าเอา 30 x i 	จะเท่ากับ 90
รอบที่ 4 : 	ค่า i มีค่าเท่ากับ 4 ถ้าเอา 30 x i 	จะเท่ากับ 120
รอบที่ 5 : 	ค่า i มีค่าเท่ากับ 5 ถ้าเอา 30 x i 	จะเท่ากับ 150
รอบที่ 6 : 	ค่า i มีค่าเท่ากับ 6 ถ้าเอา 30 x i 	จะเท่ากับ 180
รอบที่ 7 : 	ค่า i มีค่าเท่ากับ 7 ถ้าเอา 30 x i 	จะเท่ากับ 210
รอบที่ 8 : 	ค่า i มีค่าเท่ากับ 8 ถ้าเอา 30 x i 	จะเท่ากับ 240
รอบที่ 9 : 	ค่า i มีค่าเท่ากับ 9 ถ้าเอา 30 x i 	จะเท่ากับ 270
รอบที่ 10 : 	ค่า i มีค่าเท่ากับ 10 ถ้าเอา 30 x i 	จะเท่ากับ 300
รอบที่ 11 : 	ค่า i มีค่าเท่ากับ 11 ถ้าเอา 30 x i 	จะเท่ากับ 330
รอบที่ 12 : 	ค่า i มีค่าเท่ากับ 12 ถ้าเอา 30 x i 	จะเท่ากับ 360
2. การวนรอบแบบกำหนดเงื่อนไข ใช้คำสั่ง while
q = 1000
  
while q > 50:
  q = input("กรุณาป้อนตัวเลข :")
  q = int(q)
  print("ตัวเลขที่ป้อนเข้ามาคือ %d !!"%(q))

การใช้คำสั่ง if

การเปรียบเทียบ เป็นความสามารถของคอมพิวเตอร์ โดยคำตอบจะมีค่า จริง/ไม่จริง (True/False) เท่านั้น เช่น 
ดิน = "แห้ง"
if ดิน == "แห้ง":
    print("รดน้ำต้นไม้")

ทางเลือกหลายทาง

ดิน = "แห้ง"
if ดิน == "แห้ง":
  print("รดน้ำต้นไม้")
elif ดิน == "เปียก":
  print("ปิดวาล์วน้ำ")
else:
  print("งง ไม่รู้เรื่อง")
ผลลัพธ์ :
รดน้ำต้นไม้
ดิน = "เปียก"
if ดิน == "แห้ง":
  print("รดน้ำต้นไม้")
elif ดิน == "เปียก":
  print("ปิดวาล์วน้ำ")
else:
  print("งง ไม่รู้เรื่อง")
ผลลัพธ์ :
ปิดวาล์วน้ำ
ดิน = "ดินดำ"
if ดิน == "แห้ง":
  print("รดน้ำต้นไม้")
elif ดิน == "เปียก":
  print("ปิดวาล์วน้ำ")
else:
  print("งง ไม่รู้เรื่อง")
ผลลัพธ์ :
.......................................

ตัวดำเนินการสำหรับตรวจสอบเงื่อนไข

ตัวดำเนินการในการเปรียบเทียบได้แก่
- > มากกว่า 		เช่น print( 3 > 5 ) ตอบ .........................
- < น้อยกว่า			เช่น print( 3 < 5 ) ตอบ .........................
- >= มากกว่าหรือเท่ากับ	เช่น print( 3 >= 3 ) ตอบ .........................
- <= น้อยกว่าหรือเท่ากับ	เช่น print( 3 <= 3 ) ตอบ .........................

ปฏิบัติการลอจิก ซึ่งกระทำกับเงือนไขหลายตัว

ลอจิก (Logical) คือ ความเป็นเหตุผล มี 3 โอเปอร์เรเตอร์ ได้แก่ 
ก) แอนด์ ( & หรือ and ) คือ ประตูต้องเปิดทุกบาน จึงมีผลลัพธ์เท่ากับ 1 ให้กลับไปดูเรื่อง AND Gate เพิ่มเติม เช่น
a = 3 > 2
print(a) ผลลัพธ์ คือ ....................
b = 10 < 5
print(b) ผลลัพธ์ คือ ....................
c = a and b
print(c) ผลลัพธ์ คือ ....................
a = 3 > 2
print(a) ผลลัพธ์ คือ ....................
b = 10 < 5
print(b) ผลลัพธ์ คือ ....................
c = a & b
print(c) ผลลัพธ์ คือ ....................
print ( (3 > 2) and (3 < 2) ) มีค่าเท่ากับ ( 1 and 0 ) คำตอบคือ .............................
ข) ออร์ ( | หรือ or ) คือ ประตูบานใดบานหนึ่งเปิด ผลลัพธ์มีค่าเป็นจริง ให้กลับไปดูเรื่อง OR Gate
a = 3 > 2
print(a) ผลลัพธ์ คือ ....................
b = 10 < 5
print(b) ผลลัพธ์ คือ ....................
c = a or b
print(c) ผลลัพธ์ คือ ....................
a = 3 > 2
print(a) ผลลัพธ์ คือ ....................
b = 10 < 5
print(b) ผลลัพธ์ คือ ....................
c = a | b
print(c) ผลลัพธ์ คือ ....................
ค) น็อต ( ~ หรือ not ) คือ ตรงข้าม ถ้าป้อน 1 ผลลัพธ์เป็น 0 ถ้าป้อน 0 ผลลัพธ์เป็น 1 เช่น 
a = not True
print(a)   # ผลลัพธ์ คือ ...............
b = True
print(a)   # ผลลัพธ์ คือ ...............
c = ~True
print(a)   # ผลลัพธ์ คือ ...............
d = True
print(a)   # ผลลัพธ์ คือ ...............

คำสั่ง break และ continue

โดยปกติการวนรอบทำงานจะทำตามจำนวนรอบที่กำหนดไว้ แต่ในโปรแกรมภาษาคอมพิวเตอร์สามารถสั่งให้หยุดการทำงานเพื่อตรวจสอบอะไรบางอย่าง และนอกจากนั้นยังสามารถให้กลับมาทำตามจำนวนรอบที่กำหนดได้อีกด้วย โดยใช้คำสั่ง break และ continue
ระยะทาง = range(10)
ใบขับขี่ = False
print("วันนี้ฉันจะกลับบ้าน บ้านฉันห่างจากนี่ %d กม. วันนี้ใบขับขี่ฉันมีสถานะเป็น %d"%(ระยะทาง[-1], ใบขับขี่))
for i in ระยะทาง:
  print(">> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : %d"%(i))
  if i == 5:
    print("\t>> ฉัน : ตายล่ะตำรวจ ๆ")
    print("\t>> ตำรวจ : ขอตรวจใบขับขี่ด้วยครับ :)")

    if ใบขับขี่ == True:
      print("\t>> ฉัน : แป๊บนึงนะครับ นี่ครับ !!")
      print("\t>> ตำรวจ : โอเค เดินทางกลับบ้านโดยสวัสดิภาพนะ !!")
      continue
    else:
      print("\t>> ฉัน : อืม.. ลืมเอามาอะ !!")
      print("\t>> ตำรวจ : งั้นวันนี้ไม่ต้องกลับบ้านนะ !!")
      break
ถ้าใบขับขี่มีค่า เป็น True ผลลัพธ์ :
วันนี้ฉันจะกลับบ้าน บ้านฉันห่างจากนี่ 9 กม. วันนี้ใบขับขี่ฉันมีสถานะเป็น 1
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 0
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 1
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 2
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 3
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 4
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 5
	>> ฉัน : ตายล่ะตำรวจ ๆ
	>> ตำรวจ : ขอตรวจใบขับขี่ด้วยครับ :)
	>> ฉัน : แป๊บนึงนะครับ นี่ครับ !!
	>> ตำรวจ : โอเค เดินทางกลับบ้านโดยสวัสดิภาพนะ !!
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 6
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 7
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 8
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 9
ถ้าใบขับขี่มีค่า เป็น False ผลลัพธ์ :
วันนี้ฉันจะกลับบ้าน บ้านฉันห่างจากนี่ 9 กม. วันนี้ใบขับขี่ฉันมีสถานะเป็น 0
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 0
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 1
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 2
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 3
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 4
>> สบายใจฉันกำลังกลับบ้าน กี่โลเมตรที่ : 5
	>> ฉัน : ตายล่ะตำรวจ ๆ
	>> ตำรวจ : ขอตรวจใบขับขี่ด้วยครับ :)
	>> ฉัน : อืม.. ลืมเอามาอะ !!
	>> ตำรวจ : งั้นวันนี้ไม่ต้องกลับบ้านนะ !!

การวนรอบด้วยคำสั่ง while

 คำสั่ง while เป็นการวนรอบแบบมีเงื่อนไข กล่าวคือ จะทำงานเมื่อเงื่อนไขเป็นจริง และจะหยุดการทำงานเมื่อเงื่อนไขเป็นเท็จ
q = 1000
  
while q > 50:
  q = input("กรุณาป้อนตัวเลข :")
  q = int(q)
  print("ตัวเลขที่ป้อนเข้ามาคือ %d !!"%(q))

ประเภทของฟังก์ชั่น

ฟังก์ชั่นมี 2 อย่าง คือ
ก) ไลบรารี่ (Library) คือ ฟังก์ชั่นที่โปรแกรมเมอร์คนอื่นเขียนเอาไว้ให้เราใช้งาน มีเยอะมาก หากต้องการรู้ว่ามีไลบรารี่อะไรบ้างให้ค้นได้ที่ https://pypi.org/
ข) ฟังก์ชั่นที่เราเขียนขึ้นมาเองใช้เอง

ไลบราลี่ฟังก์ชั่น (Library Functions)

- ไลบรารี่ฟังก์ชั่น เป็นฟังก์ชั่นที่อยู่ภายในไลบรารี่ หรือ แพคเกจ เช่น หากต้องอ่านข้อมูลจาก wiki pedia สามารถใช้ไลบรารี่ wikipedia โดยต้องติดตั้งก่อนใช้งาน ด้วยคำสั่ง 
!sudo pip install wikipedia
!sudo pip install wikipedia-api

- หลังจากติดตั้งไลบรารี่แล้วจึงสามารถใช้งานฟังก์ชั่นต่าง ๆ ในไลบรารี่นั้นได้ เช่น
import wikipedia as wiki
wiki.set_lang("th")
data = wiki.summary("โลก", sentences=1)
print(data)

ฟังก์ชั่นที่สร้างขึ้นโดยตัวท่านเอง (User Defined Functions)

การสร้างฟังก์ชั่นในภาษาไพธอน ใช้คำสั่ง def ในการประกาศ เช่น
def adder(a,b):
     return a+b

m = adder(3,2)
print(m)   			# ผลลัพธ์ คือ ......................
print(adder(7,2))	# ผลลัพธ์ คือ ......................

n = adder(adder(1,2), adder(2,2))
print(n)		# ผลลัพธ์ คือ ......................

o = adder(adder(adder(4,4),2), adder(2,adder(3,3)))
print(n)		# ผลลัพธ์ คือ ......................
print(o)		# ผลลัพธ์ คือ ......................

ตัวแปรแบบ Global และ Local

ในฟังก์ชั่นสามารถประกาศตัวแปรภายในได้แต่จะมีคุณสมบัติเป็น private คือ ใช้ภายในฟังก์ชั่นเท่านั้น
หากต้องการให้ตัวแปรภายนอกสามารถใช้งานภายในฟังก์ชั่นได้ ให้ประกาศคำสั่ง global ตามด้วยชื่อตัวแปร เช่น
def ฉันคือเอ1():
  a = 7
  print("ฉันชื่อ a : ฉันอยู่ในฟังก์ชั่น \"ฉันคือเอ()\" -> ฉันมีค่าเท่ากับ ",a)
  return 7

def ฉันคือเอ2():
  global a
  print("ฉันชื่อ a : ฉันอยู่ในฟังก์ชั่น \"ฉันคือเอ()\" -> ฉันมีค่าเท่ากับ ",a)
  return a

a = 20
z = ฉันคือเอ1()
z = ฉันคือเอ2()
ผลลัพธ์ :
ฉันชื่อ a : ฉันอยู่ในฟังก์ชั่น "ฉันคือเอ()" -> ฉันมีค่าเท่ากับ  7
ฉันชื่อ a : ฉันอยู่ในฟังก์ชั่น "ฉันคือเอ()" -> ฉันมีค่าเท่ากับ  20

การเขียนฟังก์ชั่นแบบไม่คืนค่า (โพรซีเดอร์)

Procedure (โพรซีเดอร์) คือ ฟังก์ชั่นแบบไม่คืนค่า ดังนั้น เรียกใช้แต่ไม่ต้องคืนค่ากลับมาหาตัวแปรที่เรียกใช้  ดังนั้น โพรซีเดอร์จึงไม่มีคำสั่ง return อยู่ภายในฟังก์ชั่น

ตัวอย่าง 1 : การเขียนโปรแกรมสูตรต่อไปนี้ด้วย for loop

$$ \sum_{i=1}^{n} x_{i}+2 $$ $$ x = [ 3 , 2 , 5 , 8 , 2 ] $$ $$ x_{new} = [ ... ,... , ... , ... , ... ] $$
def main():
    x = [ 3 , 2 , 5 , 8 , 2 ]
    x_new = []
    for i in x:
        b = i + 2
        x_new.append(b)
    z = sum(x_new)
    print("x = ", x)
    print("x_new = ", x_new)
    print("z = %.2f"%(z))
    
main()
ผลลัพธ์ : 
x =  [3, 2, 5, 8, 2]
x_new =  [5, 4, 7, 10, 4]
z = 30.00
คำอธิบาย : 
บรรทัด 1 : ประกาศฟังก์ชั่น main() 
บรรทัด 2 : ประกาศตัวแปร x มีค่า [ 3 , 2 , 5 , 8 , 2 ]
บรรทัด 3 : ประกาศตัวแปร x_new สำหรับเก็บค่า x ใหม่ ซึ่งจะมีค่าเปลี่ยนไปตามสูตร
บรรทัด 4 : วนเข้าไปในตัวแปร x ทีละรอบ ในรอบที่ 1 ค่า i มีค่าเท่ากับ 3 , รอบที่ 2 ค่า i มีค่าเท่ากับ 2 โดยวนรอบจนถึงรอบสุดท้าย ค่า i มีค่าเท่ากับ 2 ตามลำดับ
บรรทัด 5 : กำหนดให้ตัวแปร b มาเก็บค่าชั่วคราว โดย b = i + 2 ตามสูตรที่กำหนด
บรรทัด 6 : นำค่า b ที่คำนวณได้เพิ่มต่อท้ายตัวแปร x_new 
บรรทัด 7 : เมื่อวนรอบจนเสร็จ สังเกตย่อหน้าบรรทัดใหม่จะถอยมาอยู่ในระดับเดียวกับ for จากนั้นให้นำผลรวมของ x_new มาเก็บไว้ในตัวแปร z
บรรทัด 8 : พิมพ์ค่าตัวแปร x ซึ่งมีผลลัพธ์ คือ x = [3, 2, 5, 8, 2]
บรรทัด 9 : พิมพ์ค่าตัวแปร x_new ซึ่งเป็นผลจากการคำนวณตามสูตร คือ x_new = [5, 4, 7, 10, 4]
บรรทัด 10 : พิมพ์ค่าตัวแปร z ซึ่งเป็นผลรวมของ x_new มีค่าคือ z = 30.0 โดยที่เครื่องหมาย %f มีการกำหนด %.2f คือทศนิยมสองตำแหน่ง ผลลัพธ์จึงมีค่า 30.00 (ทศนิยมสองตำแหน่ง)
บรรทัด 12 : เรียกใช้คำสั่ง main() 

ตัวอย่าง 2 : การเขียนโปรแกรมสูตรต่อไปนี้ด้วย for loop

$$ \sum_{i=1}^{n} x_{i}^2 $$
def main():
   tmp = []
   x = [ 3 , 2 , 5 , 8 , 2 ]
   for i in x:
       b = i ** 2
       tmp.append(b)
   z = sum(tmp)
   print("z = %f" % (float(z))

main()

ตัวอย่าง 3 : การเขียนโปรแกรมสูตรต่อไปนี้ด้วย for loop

$$ \frac{\sum_{i=1}^{n} x_{i}}{n} หรือเขียนได้ว่า \frac{\sum x_{i}}{n} $$
def main():
   tmp = []
   x = [ 3 , 2 , 5 , 8 , 2 ]
   for i in x:
       b = i ** 2
       tmp.append(b)
   z = sum(tmp)
   print("z = %f" % (float(z))

main()

กิจกรรม 1 : การเขียนโปรแกรมสูตรคูณ

กิจกรรม 2 : การเขียนโปรแกรมสูตรคูณแบบกำหนดแม่ เลขเริ่มต้นและเลขสุดท้าย

กิจกรรม 3 : โปรแกรมตัดเกรดแบบ S/U

กิจกรรม 4 : โปรแกรมตัดเกรดแบบแบบ A,B,C,D,F

กิจกรรม 5 : ให้นิสิตเขียนโปรแกรมด้วยสูตรต่อไปนี้ด้วย for

$$ \sum_{i=1}^{n} = x_{i} - \bar{x} $$

กิจกรรม 6 : ให้นิสิตเขียนโปรแกรมด้วยสูตรต่อไปนี้ด้วย for

$$ \frac{\sum_{i=1}^{n} = x_{i} - \bar{x}}{n} $$

กิจกรรม 7 : ให้นิสิตเขียนโปรแกรมด้วยสูตรต่อไปนี้ด้วย for

$$ \sum_{i=1}^{n} = x_{i}^2 - \bar{x} $$

กิจกรรม 8 : ให้นิสิตเขียนโปรแกรมด้วยสูตรต่อไปนี้ด้วย for

$$ \sum_{i=1}^{n} = (x_{i} - \bar{x})^2 $$

กิจกรรม 9 : ให้นิสิตเขียนโปรแกรมด้วยสูตรต่อไปนี้ด้วย for

$$ \sum_{i=1}^{n} = x_{i} + 3 $$

กิจกรรม 10 : ให้นิสิตเขียนโปรแกรมด้วยสูตรต่อไปนี้ด้วย for

$$ \sum_{i=1}^{n} = \frac{x_{i}}{2} $$

กิจกรรม 11 : ให้นิสิตเขียนโปรแกรมด้วยสูตรต่อไปนี้ด้วย for

$$ \sum_{i=1}^{n} = \sqrt{x_{i}} $$

กิจกรรม 12 : ให้นิสิตเขียนโปรแกรมด้วยสูตรต่อไปนี้ด้วย for

$$ \sum_{i=1}^{n} = \sqrt{x_{i}}^{5} $$

กิจกรรม 13 : ให้นิสิตเขียนโปรแกรมด้วยสูตรต่อไปนี้ด้วย for

$$ SD = \sqrt{ \sum \frac{|x - \bar{x} | ^2}{n} } $$

กิจกรรม 14 : ให้นิสิตเขียนโปรแกรมแสดงเครื่องหมาย * ด้วย for ดังนี้

*
**
***
****
หมายเหตุ : ทดลองพิมพ์คำสั่ง "*" * 1 และสังเกตผลลัพธ์ จากนั้นลองเปลี่ยนเลขจากเลข 1 เป็นเลขอื่น ๆ เช่น 2 3 4 5 เป็นต้น จากนั้นสังเกตผลลัพธ์ ให้ใช้หลักการดังกล่าวมาเขียนโปรแกรมกิจกรรมที่ 14

กิจกรรม 15 : ให้นิสิตเขียนโปรแกรมสร้างฟังก์ชั่นคำนวณค่าเบี่ยงเบนมาตรฐาน จากสูตรตัวอย่างที่ 13

การเรียกใช้งาน
def SD(x):
   ....
   ....

x = [3,2,1,6,3,2,5]
sd = SD(x)
print("ค่า sd มีค่าเท่ากับ %f"%(sd))
หมายเหตุ : กิจกรรม  15 จะเหมือนกิจกรรม 13 เพียงแต่ฟังก์ชั่น SD() จะต้องมีการกำหนดอาร์กิวเมนต์ด้วย และบรรทัดล่างสุดของฟังก์ชั่นจะมีคำสั่ง return ให้ดูตัวอย่างฟังก์ชั่น adder(a,b) เป็นตัวอย่าง

รายชื่อการเข้าเรียนและส่งงาน

» ไม่พบกิจกรรมการเรียนในสัปดาห์นี้ กรุณาตรวจสอบเวลา : วันนี้ คือ วันที่ 27-04-2024
สัปดาห์ที่ 4 : ฟังก์ชั่นและการควบคุม