เครื่องหมายดำเนินการและนิพจน์

นิพจน์ (Expression) คือ การนำตัวแปรและตัวเลขมาเชื่อมด้วยเครื่องหมายคณิตศาสตร์ เช่น "a+b**2" 
หมายเหตุ : ** คือเครื่องหมายยกกำลัง เช่น a**4 คือ a คูณกัน 4 ครั้ง  (a * a * a * a) 
1) เครื่องหมายทางคณิตศาสตร์ (Arithmetic Operators) 
» การบวก ( + )  			เช่น  3 + 2
» การลบ ( - )  			เช่น   3 - 2
» การคูณ ( * )  			เช่น  3 * 2
» การหาร ( / )  			เช่น  3 / 2
» การยกกำลัง ( ** )  		เช่น  2**4
» การลดค่าตัวแปร ( -= )  	เช่น  a=3 ; a -= 1 	# ค่า a เท่ากับ 2
» การเพิ่มค่าตัวแปร ( += )  	เช่น  a=3 ; a+=1  	# ค่า a เท่ากับ 4
» การคูณค่าตัวแปร ( *= )  	เช่น  a=3 ; a*=3  		# ค่า a เท่ากับ 9
» การหารค่าตัวแปร ( /= )  	เช่น  a=4 ; a/=2  		# ค่า a เท่ากับ 2
2) เครื่องหมายเปรียบเทียบ (Comparison operators) 
» เท่ากับ ( == ) 			เช่น 3 == 3 		# ตอบ : จริง (true)
» ไม่เท่ากับ ( != ) 			เช่น 3 != 3 			# ตอบ : เท็จ (false)
» น้อยกว่า ( < ) 			เช่น 3 <  2 			# ตอบ : ____
» น้อยกว่าหรือเท่ากับ ( <= ) 	เช่น 3 <= 3 		# ตอบ : ____
» มากกว่า ( > ) 			เช่น 3 >  2 			# ตอบ : ____
» มากกว่าหรือเท่ากับ ( >= ) 	เช่น 3 >= 3 		# ตอบ : ____
3) เครื่องหมายตรรกะ (Logical operators) 
เครื่องหมายตรรกะใช้การใช้เหตุผลในการตัดสินใจ ได้แก่
» AND ( & ) 	คือ เมื่อค่าใดค่าหนึ่งเป็น 0 ผลลัพธ์มีค่า 0 
» OR ( | ) 	คือ เมื่อค่าใดค่าหนึ่งเป็น 1 ผลลัพธ์มีค่า 1 
» NOT ( ! ) 	คือ ผลลัพธ์ตรงกันข้าม

» ลำดับและความสำคัญของตัวดำเนินการ

1) เครื่องหมาย วงเล็บ ()
2) เครื่องหมายยูนารีลบ เช่น x = 10 ; -x
3) เครื่องหมาย คูณ ( * ) หาร ( / ) โมดูลัส (หารเอาเศษ) ( % )
4) เครื่องหมาย บวก ( + ) ลบ ( - )

» ตัวอย่างนิพจน์การคำนวณ

»  (5 - 2) * 3  ลำดับการคำนวณคือ ก) ทำในวงเล็บก่อน (5-2) = 3  ข) นำผลลัพธ์ไปบวก 3 ได้เท่ากับ 6
»  5 + 2 * 2  ลำดับการคำนวณคือ ก) นำ 2 * 2 ข) นำผลลัพธ์ไปบวกกับ 5
»  (2 + 5) * 4 % 20 ลำดับการคำนวณคือ ก) ทำในวงเล็บก่อน (2+5) = 7 ข) ทำคูณ 7x4 = 28 ค) ทำการหารเอาเศษด้วย 20 ได้ 8
» 2 + 5 * 4 % 20 ลำดับการคำนวณ คือ ก) ทำคูณก่อน จะได้ 5 * 4 = 20 ข) ทำหารเอาเศษ จะได้ 0 ค) นำ 0 บวก 2 จะได้ 2

การแปลงเลขฐานสิบและฐานสอง

พิจารณาปริมาณต่อไปนี้
» เลข 7 ประกอบด้วยผลรวมของเลขอะไรบ้าง ? ตอบ : 1 + 2 + 4 ดังนั้น เลข 7 เขียนเป็นเลขฐานสองได้เท่ากับ  0111 
» เลข 9 ประกอบด้วยผลรวมของเลขอะไรบ้าง ? ..........................  ดังนั้น เลข 9 เขียนเป็นเลขฐานสองได้เท่ากับ  .............................
» เลข 10 ประกอบด้วยผลรวมของเลขอะไรบ้าง ? ..........................  ดังนั้น เลข 9 เขียนเป็นเลขฐานสองได้เท่ากับ  .............................
» เลข 13 ประกอบด้วยผลรวมของเลขอะไรบ้าง ? ..........................  ดังนั้น เลข 13 เขียนเป็นเลขฐานสองได้เท่ากับ  .............................
» เลข 15 ประกอบด้วยผลรวมของเลขอะไรบ้าง ? ..........................  ดังนั้น เลข 15 เขียนเป็นเลขฐานสองได้เท่ากับ  .............................

เครื่องหมายดำเนินการเกี่ยวกับบิต

ลอจิกเกตพื้นฐานเพียง 3 ชนิด (and, or, not) สร้างโลกดิจิตอลทั้งใบ

» And Gate

1. And gate คือ ประตูต้องเปิดทั้งหมดผลลัพธ์จึงมีค่าเป็น 1  กรณีอื่น ๆ จะมีค่าเป็น 0


» OR Gate

2. Or gate คือ ประตูเปิดเพียงบานเดียวจะมีผลลัพธ์เป็น 1 กรณีปิดทุกบานจะมีค่าเป็น 0


» Not Gate

3. Not gate คือ สัญญาณเข้าและออกจะตรงกันข้ามเสมอ เช่น เมื่อสัญญาณเข้าเป็น 0 สัญญาณญาณออกจะเป็น 1
หมายเหตุ : ถ้าเราผลักเจ้าเหมียวไปข้างหน้ามันจะถอยหลัง ถ้าเราดึงเจ้าเหมียวให้ถอยหลังมันก็จะไปข้างหน้า เหมือนน็อตเก็ตเลย :) 

สรุปการทำงานของ AND และ OR Gate

สรุปการทำงานของ NOT Gate

หลักกการคำนวณของดิจิทัลคอมพิวเตอร์

คอมพิวเตอร์ คือเครื่องคำนวณที่สามารถเขียนโปรแกรมควบคุมให้ทำงานตามต้องการ หัวใจสำคัญของคอมพิวเตอร์คือหน่วยประมวลผลกลาง CPU (Central Processing Unit)
CPU บวกเลขได้อย่างไร ? คำตอบคือการนำเอาลอจิกเกตพื้นฐาน ได้แก่ And, Or และ Not มาเรียงต่อกันดังภาพต่อไปนี้ เรียกวงจรนี้ว่า Adder Logic
» ในวงจร Adder ด้านบนจะมีกล่องสีเขียวอยู่ 4 ชุด ชุดบนสุดเรียกว่า Half Adder ส่วน 3 ชุดด้านล่างเรียกว่า Full Adder ต่างกันที่ใน Full adder จะมีบิตตัวทดเข้ามาในวงจรด้วย 

» เมื่อต้องการบวกเลข 6 และเลข 4 เข้าด้วยกัน

»  1. เขียนเลข 6 ในรูปฐานสองได้ 0 1 1 0 
»  2. เขียนเลข 4 ในรูปฐานสองได้ 0 1 0 0
»  นำสัญญาณทั้งสองป้อนเข้าไปยังวงจรบวกเลข (Adder Logic)  และให้ทำงานตามสัญญาณนาฬิกาของคอมพิวเตอร์ ปัจจุบัน CPU ใช้สัญญาณนาฬิกาประมาณ 3GHz หรือสามพันล้านรอบต่อวินาที

» ดาวน์โหลดโปรแกรม adder logic

» คลิ๊กที่นี่ Adder Logic

» การลบ คูณ และหาร

» การลบ คูณ และหาร สามารถนำวงจรบวกไปประยุกต์ใช้งานได้ เช่น 3 x 2 คือ การนำ 3 มาบวกกัน 2 ครั้ง 
» การลบ เช่น 3 - 2 มีค่าเท่ากับ 3 + (-2) ดังนั้น เมื่อสามารถแทนตัวเลขเป็นค่าลบได้ จะสามารถนำไปใช้กับวงจรบวกได้

การแทนเลขลบ ด้วยวิธี Sign Magnitude, One’s complement และ Two’s Complement

จากวงจรบวกเลข พบว่าหากเราต้องการลบโดยใช้วงจรบวกสามารถทำได้โดยแปลงตัวเลขให้เป็นเลขลบ ซึ่งมี 3 วิธี ตามวิวัฒนาการ ได้แก่
1) Sign Magnitude วิธีนี้เป็นให้บิตซ้ายมือสุดเป็นบิตเครื่องหมาย 1 คือเครื่องหมายลบ และ 0 คือเครื่องหมายบวก 
2) One's Complement คือการกลับบิต เช่น เลข 4 แทนด้วย 0100 จากนั้นกลับบิตจะได้ 1011 
3) Two's Complement คือ การนำ One's complement มาบวกด้วย 1 จะได้ 1011 + 0001 

การเลื่อนบิตไปทางซ้ายและขวา

ในภาษา python ใช้เครื่องหมายเลื่อนบิตต่อไปนี้
» เลื่อนบิตไปทางซ้าย ใช้เครื่องหมาย << เช่น print(4 << 2) เขียนเป็นฐาน 2 ได้ 0000100 เลื่อนไปทางซ้าย 2 ผลลัพธ์คือ 0010000 มีค่าเท่ากับ 16
» เลื่อนบิตไปทางขวา ใช้เครื่องหมาย >> เช่น print(8 >> 2) เขียนเป็นฐาน 2 ได้ 0001000 เลื่อนไปทางขวา 2 ผลลัพธ์คือ 0000010 มีค่าเท่ากับ 2

ตัวอย่าง 1 : การเขียนโปรแกรมคำนวณค่าและแสดงผลสูตรเส้นรอบวงกลม

สูตรเส้นรอบวง คือ \( R = 2 \pi r \)
เขียนโปรแกรมภาษาไพธอนคำนวณเส้นรอบวงได้ดังนี้
from math import pi
def main():
   r = input("ป้อนรัศมี : ")
   r = float(r)
   R = 2 * pi * r
   print("เส้นรอบวง ที่มีรัศมี %f มีค่าเท่ากับ %f"%(r,R))

main()
คำถาม : 
» \( \pi \) เป็นค่าคงที่มีค่าเท่ากับ : ..................
» ภาษาไพธอนขอใช้ตัวแปร pi ด้วยคำสั่งใด ? : ...................
» ตัวแปรที่ต้องป้อนค่ามีกี่ตัว อะไรบ้าง ? .............
» %f ด้านซ้ายมือแสดงผลตัวแปรใด ? ............... ก) r ข) R
» %f ด้านขวามือแสดงผลตัวแปรใด ? ............... ก) r ข) R
» ผลลัพธ์การคำนวณแสดงผลว่าอย่างไร ? ............................................

ตัวอย่าง 2 : การเขียนโปรแกรมคำนวณค่าจากสูตรด้านล่าง

กำหนดสูตร \( R = 3600 \frac{a}{b} \) จงเขียนโปรแกรมเพื่อคำนวณผลลัพธ์
คำถาม
» มีตัวแปรที่ต้องรับค่ากี่ตัว ? ........... อะไรบ้าง ก) a  ข) a และ b ค) a ,b และ R ง) ผิดทุกข้อ
» ตัวแปรที่ใช้เก็บค่าผลลัพธ์ คือ ? .................. ก) a ข) b ค) R ง) ผิดทุกข้อ
def main():
   a = input("ป้อนค่า a : ")
   a = float(a)
   b = input("ป้อนค่า b : ")
   b = float(b)
   R = 3600 * (a / b)
   print("ค่า a = %f และค่า b = %f คำนวณค่า R ได้เท่ากับ %f"%(a, b, R))

main()

กิจกรรม 1 : ให้นิสิตเขียนโปรแกรมคำนวณค่าจากสูตรด้านล่าง

กำหนดสูตร $$ T = \frac{h}{R . 2 . \pi} $$

กิจกรรม 2 : ให้นิสิตเขียนโปรแกรมคำนวณค่าจากสูตรด้านล่าง

กำหนดสูตร $$ Q = \frac{5 . T}{S} $$

กิจกรรม 3 : ให้นิสิตเขียนโปรแกรมคำนวณค่าจากสูตรด้านล่าง

กำหนดสูตร $$ b = \sqrt{a^2 - c^2} $$

กิจกรรม 4 : ให้นิสิตเขียนโปรแกรมคำนวณค่าจากสูตรด้านล่าง

กำหนดสูตร $$ H = \frac{50}{8 . hr} $$

กิจกรรม 5 : ให้นิสิตเขียนโปรแกรมคำนวณค่าจากสูตรด้านล่าง

กำหนดสูตร $$ A = a^2 + 2*a*b + b^2 $$

กิจกรรม 6 : ให้นิสิตกำหนดสูตรด้วยตนเองและเขียนโปรแกรมอย่างน้อย 3 สูตร

กิจกรรม 7 : ให้นิสิตคำนวณสูตรต่อไปนี้

$$ \sum_{i=0}^nx_{i} $$

กิจกรรม 8 : ให้นิสิตคำนวณสูตรต่อไปนี้

$$ \sum_{i=0}^nx_{i}^{2} $$

กิจกรรม 9 : ให้นิสิตคำนวณสูตรต่อไปนี้

หากต้องการตรวจสอบความถูกต้อง ให้กำหนดค่า a=2, b=2.75 และ c=2.6 จะได้ค่า r = 0.673 และ area = 1.424 ตารางหน่วย

กิจกรรม 10 : ให้นิสิตคำนวณสูตรต่อไปนี้

หากต้องการตรวจสอบความถูกต้อง ให้กำหนดค่า a=9, b=8 และ c=10 จะได้ค่า r = 5.264 และ area = 87.04 ตารางหน่วย

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

ตรวจสอบผลลัพธ์โดยแทนค่า a=23.5 , b=4.6 และ c=7.6 จะได้ค่า volume = 821.56 ลูกบาศก์หน่วย และ surface area = 6.4332 x 10^8 ตารางหน่วย

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

ตรวจสอบผลลัพธ์โดยแทนค่า r = 25.6, h=70.5 จะได้ volume = 1.0858E+6 และ Surface area = 1.134E+4 ตารางหน่วย

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

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