วันศุกร์ที่ 9 พฤษภาคม พ.ศ. 2557

โอเปอเรเตอร์

     โอเปอเรเตอร์ (Operator) คือ สัญลักษณ์ที่ใช้ในการประมวลผลทางคณิตศาสตร์ หรือทางตรรกะ ใน VC# สามารถแบ่ง Operator ได้หลายกลุ่มดังนี้

โอเปอเรเตอร์สำหรับการคำนวน

ใช้ในการคานวณทางคณิตศาสตร์ ซึ่งโอเปอเรเตอร์บางตัวเราก็คุ้นเคยกันดีอยู่แล้ว


โอเปอเรเตอร์สำหรับการคำนวนค่า (Assignment)

     Assignment เป็นเครื่องหมายสาหรับการกาหนดค่าของตัวแปรทางด้านซ้ายของเครื่องหมาย
ด้วยค่าที่อยู่ทางด้านขวาของเครื่องหมาย

ข้อควรระวังเกี่ยวกับการใช้ ++ และ - ร่วมกับชอร์ตคัต

    การเครื่องหมาย ++ หรือ -- ไว้ด้านหน้าหรือหลังตัวแปร หากตัวแปรนั้นอยู่เดี่ยว ๆ ค่าที่ได้จะไม่ต่างกัน เช่น

แต่หากนำไปใช้ในรูปแบบของ Expression หรือกระทำกับค่าอื่น ๆ ด้วย ค่าที่ได้อาจแตกต่างกันไป เช่น ลองกรณีต่อไปนี้

***ความจริงหลักการที่กล่าวมานี้พิจารณาจากลำดับความสำคัญของโอเปอเรเตอร์ ตามที่จะกล่าวถึงในลำดับต่อไป

โอเปอเรเตอร์สำหรับการเปรียบเทียบ (Comparison)

      Comparison เป็นเครื่องหมายสำหรับการเปรียบเทียบเพื่อหาค่าความจริงระหว่างข้อมูล 2 อย่าง ซึ่งหากผลการเปรียบเทียบเป็นจริงจะได้ผลลัพธ์เป็น true แต่หากเป็นเท็จจะได้ false

เช่น

 

โอเปอเรเตอร์ทางตรรกะ (Logic)

       เป็นการเปรียบเทียบระหว่าง 2 เงื่อนไข ซึ่งแต่ละเงื่อนไขที่นำมาเปรียบเทียบจะต้องมีค่าเป็น true หรือ false อย่างใดอย่างหนึ่ง และผลลัพธ์ที่ได้ก็จะเป็น true หรือ false อย่างใดอย่างหนึ่งเช่นกัน


      การเปรียบเทียบทางตรรกะนี้สาคัญมากในการเขียนโปรแกรม ซึ่งเราต้องได้ใช้งานกันไปตลอด ดังนั้นขอให้ทำความเข้าใจหลักการตรรกะการเปรียบเทียบนี้ให้ดี ตัวอย่างเช่น

Ternary Operator

    Ternary เป็นโอเปอเรเตอร์ในการเปรียบเทียบในอีกลักษณะหนึ่งคือ ถ้าตรงกับเงื่อนไขผลลัพธ์จะเป็นอย่างไร และกรณีที่ไม่ตรงตามเงื่อนไขผลลัพธ์จะเป็นอย่างไร รูปแบบการใช้งาน คือ


 หมายความว่า หาก Expression มีค่าเป็นจริงผลลัพธ์จะเป็น x แต่หากเป็นเท็จผลลัพธ์จะเป็น y เช่น

 

ลำดับความสำคัญของโอเปอเรเตอร์ใน VC#

       ในการคำนวณนั้นอาจจะต้องใช้โอเปอเรเตอร์ร่วมกันมากกว่า 1 อย่าง จึงอาจเกิดปัญหาว่าเราจะนำโอเปอเรเตอร์ตัวใดมาพิจารณาก่อน เพราะการวางตำแหน่งหรือจัดกลุ่มที่ต่างกัน ผลลัพธ์ที่ได้ก็อาจแตกต่างกันไปด้วย ดังนั้น การจัดลำดับความสำคัญของโอเปอเรเตอร์เป็นสิ่งที่สำคัญอย่างหนึ่งสำหรับโอเปอเรเตอร์ทั้งหมดที่เราได้ศึกษามา สามารถจัดลำดับความสำคัญได้ดังนี้


โอเปอเรเตอร์ที่ลำดับความสำคัญเท่ากัน โอเปอเรเตอร์ที่มาก่อนจะถูกนำมาใช้ในการคำนวณก่อน เช่น

     ในทางปฏิบัติเพื่อหลีกเลี่ยงความผิดพลาดจากลาดับความสำคัญของโอเปอเรเตอร์ ควรใช้วงเล็บในการจัดแบ่งกลุ่มให้ชัดเจน

ตัวอย่างที่ 3.1

     การเปลี่ยนอุณหภูมิจากฟาเรนไฮต์เป็นเซลเซียส โดยมีสูตรการคำนวณคือ 5 * (F - 32)/ 9 และแปลงจากเซลเซียสเป็นฟาเรนไฮต์โดยใช้สูตร (C * 9) / 5 + 32

1. จัดวางคอนโทรลลงไปบนฟอร์มพร้อมกำหนดชื่อดังรูป
2. ดับเบิลคลิกที่ปุ่ม แปลงเป็นเซลเซียส แล้วกาหนดโค้ดลงไปดังนี้
3. ดับเบิลคลิกที่ปุ่ม แปลงเป็นฟาเรนไฮต์ แล้วกาหนดโค้ดลงไปดังนี้
4.รันโปรแกรม แล้วกาหนดอุณหภูมิในหน่วยที่ต้องการแปลงลงไป เมื่อคลิกปุ่มสาหรับการแปลงในแต่ละ
   หน่วย ลักษณะผลลัพธ์เป็นดังนี้


ไม่มีความคิดเห็น:

แสดงความคิดเห็น