วันจันทร์ที่ 15 พฤศจิกายน พ.ศ. 2553

Controls Statements

การแปลงข้อมูลหรือไทป์
เพื่อนๆทราบแล้วว่าไทป์พื้นฐานใน CLR ล้วนมาจากคลาส System.Object คลาสดังกล่าวนี้มีเมธอด (method) ที่คำคัญชื่อ ToString ซึ่งทำหน้าที่แปลงข้อมูลนั้นให้กลายเป็นสตริง (String) เช่น
     Object x;
     String s = x.ToString();

การแปลงข้อมูลหรือไทป์มีสองประเภท
- อิมพลิสิต (implicit conversion)
- เอ็กซ์พลิสิต (explicit conversion)

การแปลงแบบอิมพลิสิต หมายถึง คอมไฟเลอร์ (compiler) แปลงให้โดยอัติโนมัติขณะคอมไฟล์ (compile) ซึ่งสามารถกระทำได้เมื่อแปลงจากไทป์ที่เล็กกว่าไปยังชนิดที่ใหญ่กว่า โดยข้อมูลไม่สูญหายหรือถูกลดทอด เช่น
     short s = 105;
     int i = s;

การแปลงแบบเอ็กซ์พลิสิต หมายถึง การแปลงที่ผู้เขียนโปรแกรมต้องระบุไทป์ปลายทางเป็นการเฉพาะ เราเรียกกระบวนการนี้ว่า คาสติ้ง (casting) ซึ่งสามารถทำได้ไม่เกี่ยงขนาดครับ เช่น
     int i = 105;
     char c = (char)i;

ตาราง primitive types
***แหล่งที่มา www.csharpcourses.com

Comment
คือข้อความที่แทรกเข้าไปเพื่ออธิบายการทำงานของโปรแกรม เป็นประโยชน์ต่อผู้อ่านให้ทำความเข้าใจกับโปรแกรมนั้นมากขึ้น โดยคอมไพเลอร์จะไม่สนใจ comment ฉะนั้นมันจึงไม่มีผลกระทบต่อการทำงานของโปรแกรม

ภาษา C# (เท่าที่ผมใช้เป็น) มี comment สองแบบ คือ
- เริ่มด้วยเครื่องหมาย // ไปจนจบบรรทัดนั้น โดยไม่ต้องมีตัวปิด เช่น
     //Object x;
- เริ่มด้วยเครื่องหมาย /* ไปจนถึง */ ใช้สำหรับ comment ข้อความที่ยาวหลายบรรทัด เช่น
     /* Object x;
     String s = x.ToString(); */

***แหล่งที่มา www.blackwasp.co.uk

Controls Statements
หรือประโยคควบคุม เพื่อกำหนดการดำเนินไปของโปรแกรมในที่ทิศทางที่ต้องการ แบ่งออกเป็นสามประเภท คือ
- decision สำหรับการตัดสินใจเลือกทำงานทางใดทางหนึ่ง ได้แก่ if และ switch
- iteration สำหรับการกระทำซ้ำ ได้แก่ while, do-while, for และ foreach
- jump สำหรับควบคุมให้โปรแกรมดำเนินออกจากเส้นทางปกติ ได้แก่ break, continue, return และ throw

P05_IfStatements
- สร้างโปรเจ็กค์ใหม่เพิ่มเข้าไปยังโซลูชัน CsharpTutorialForFriends เหมือนเคย
- ตั้งชื่อมันว่า P05_IfStatements โดยโค้ดเพิ่มดังนี้

- ผลลัพธ์

P06_SwitchStatements
- สร้างโปรเจ็กค์ใหม่เพิ่มเข้าไปยังโซลูชัน CsharpTutorialForFriends เหมือนเคย
- ตั้งชื่อมันว่า P06_SwitchStatements โดยโค้ดเพิ่มดังนี้

- ผลลัพธ์

***ข้อสังเกต
- case หรือ default ของคำสั่ง switch ต้องถูกระบุด้วย controls statements ประเภท jump เช่น break ด้วยทุกครั้ง เพื่อป้องกันความผิดพลาด
- switch ของภาษา C# สามารถใช้ค่าคงที่ของคลาส String เป็นเงื่อนไขได้

P07_WhileStatements
***ภาพจาก tidno1.exteen.com
- สร้างโปรเจ็กค์ใหม่เพิ่มเข้าไปยังโซลูชัน CsharpTutorialForFriends เหมือนเคย
- ตั้งชื่อมันว่า P07_WhileStatements โดยโค้ดเพิ่มดังนี้

-ผลลัพธ์

P08_DoWhileStatements
***ภาพจาก tidno1.exteen.com
- สร้างโปรเจ็กค์ใหม่เพิ่มเข้าไปยังโซลูชัน CsharpTutorialForFriends เหมือนเคย
- ตั้งชื่อมันว่า P08_DoWhileStatements โดยโค้ดเพิ่มดังนี้

- ผลลัพธ์
- โปรแกรมจะแสดงค่าของ count
- ผลของคำสั่ง count++ จะทำให้ค่า count เพิ่มขึ้นทุกรอบทีละหนึ่งค่า
- จากนั้นจะหยุดรอให้ป้อนอักษร y หรอื Y เพื่อกระทำรอบต่อไป
- ป้อนอักษรอื่นๆเพื่อจบการทำงานของโปรแกรม

สำหรับคำสั่งอื่นๆที่ไม่ได้กล่าวถึง ค่อยเรียนรู้จากตัวตัวอย่างอื่นๆในภายหน้าครับ

แบบฝึกหัด
- จงเขียนโปรแกรมรับจำนวนเต็มใดๆหนึ่งจำนวนจากแป้นพิมพ์ แล้วแสดงให้ทราบว่าเป็นจำนวนคู่หรือจำนวนคี่
- จงเขียนโปรแกรมแสดงเลขจำนวนเต็ม 0 ถึง 99 ออกทางจอภาพโดยใช้ while
- จงเขียนโปรแกรมแสดงเลขจำนวนเต็ม 0 ถึง 99 ออกทางจอภาพโดยใช้ do-while และบอกความต่างของการทำงานลักษณะนี้เทียบระหว่าง while และ do-while
- จงเขียนโปรแกรมรับตัวเลขทางแป้นพิมพ์ ไม่จำกัดจำนวน กระทั่งผู้ใช้กดอักษร n หรือ N โปรแกรมจะคำนวนผลลัพธ์การบวกออกทางจอภาพ

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

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