แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล...

20
1 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ แผนการสอนหนวยที่ 3 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ (Variable Data Type, Expression and operator) แนวคิด การเขียนโปรแกรมภาษาไพธอน สิ่งแรกที่ผูเริ่มพัฒนาโปรแกรมจําเปนตองรูคือ ตัวแปรและชนิด ขอมูล ซึ่งภาษาไพธอนไดจัดเตรียมชนิดขอมูลไวใหใชงานอยางมากมาย ในบทนี้ผูอานจะไดรูจักกับวิธีการ ประกาศสรางตัวแปร การกําหนดคาใหกับตัวแปรและชนิดขอมูลพื้นฐานตางๆ ไดแก ชนิดขอมูลจํานวนเต็มทีมีทั้งตัวเลขจํานวนเต็มบวก จํานวนเต็มลบ ชนิดขอมูลจํานวนทศนิยม ชนิดขอมูลคาความจริงที่ใหผลลัพธเปน คาจริง หรือเปนคาเท็จ ชนิดขอมูลสายอักขระหรือสตริง อีกทั้งยังจะไดรูจักกับชนิด ขอมูลจํานวนเชิงซอนดวย วัตถุประสงค เมื่อศึกษาหนวยที่ 3 จบแลวนักศึกษา 1. เพื่อใหเขาในหลักการใชงานตัวแปร การประกาศสรางตัวแปร การกําหนดคาใหตัวแปร 2. เพื่อใหเขาในหลักการตั้งชื่อตัวแปร ความสอดคลอง ความชัดเจนกับงานที่จะใชงานของตัวแปร 3. เพื่อฝกการเขียนโปรแกรมอยางงายดวยการใชงานตัวแปรและชนิดขอมูลพื้นฐาน กิจกรรมการเรียน 1. อานแผนการสอนประจําหนวยที่ 3 2. ศึกษาเนื้อหาและฝกปฏิบัติตาม 3. ศึกษาเพิ่มเติมจากเอกสารอื่นหรือสื่อเสริมออนไลน (ถามี) 4. ทํากิจกรรมใบงานที่กําหนดไวในเอกสารคําสอน

Upload: others

Post on 20-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

1 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

แผนการสอนหนวยท่ี 3

ตัวแปร ชนิดขอมูล นพิจน และตัวดําเนินการ (Variable Data Type, Expression and operator)

แนวคิด

การเขียนโปรแกรมภาษาไพธอน สิ่งแรกที่ผูเริ่มพัฒนาโปรแกรมจําเปนตองรูคือ ตัวแปรและชนิด ขอมูล ซึ่งภาษาไพธอนไดจัดเตรียมชนิดขอมูลไวใหใชงานอยางมากมาย ในบทนี้ผูอานจะไดรูจักกับวิธีการ ประกาศสรางตัวแปร การกําหนดคาใหกับตัวแปรและชนิดขอมูลพื้นฐานตางๆ ไดแก ชนิดขอมูลจํานวนเต็มที่ มีทั้งตัวเลขจํานวนเต็มบวก จํานวนเต็มลบ ชนิดขอมูลจํานวนทศนิยม ชนิดขอมูลคาความจริงที่ใหผลลัพธเปน คาจริง หรือเปนคาเท็จ ชนิดขอมูลสายอักขระหรือสตริง อีกทั้งยังจะไดรูจักกับชนิด ขอมูลจํานวนเชิงซอนดวย วัตถุประสงค

เมื่อศึกษาหนวยที ่3 จบแลวนักศึกษา 1. เพื่อใหเขาในหลักการใชงานตัวแปร การประกาศสรางตัวแปร การกําหนดคาใหตัวแปร 2. เพื่อใหเขาในหลักการตั้งชื่อตัวแปร ความสอดคลอง ความชัดเจนกับงานที่จะใชงานของตัวแปร 3. เพื่อฝกการเขียนโปรแกรมอยางงายดวยการใชงานตัวแปรและชนิดขอมูลพื้นฐาน กิจกรรมการเรียน

1. อานแผนการสอนประจําหนวยที่ 3 2. ศึกษาเนื้อหาและฝกปฏิบัติตาม 3. ศึกษาเพ่ิมเตมิจากเอกสารอื่นหรือสื่อเสริมออนไลน (ถามี) 4. ทํากิจกรรมใบงานที่กําหนดไวในเอกสารคําสอน

Page 2: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

2 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

หนวยท่ี 3

ตัวแปร ชนิดขอมูล นพิจน และตัวดําเนินการ

1. การตั้งชื่อตัวแปรในภาษาไพธอน ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นมาใชสําหรับเก็บคาหรือชนิดขอมูลตางๆ ที่ตองการ แลวนําตัวแปรที่ ตั้งขึ้นมาไปเขียนเปนคําสั่งโปรแกรมสําหรับประมวลผล ตัวแปรสามารถที่จะเปลี่ยนคาขอมูลที่เก็บอยูในขณะที่ โปรแกรมทําการประมวลผลได กฎการตั้งชื่อตัวแปรของภาษาไพธอนมีดังนี้ 1) การตั้งชื่อตัวแปรดวยตัวอักษรพิมพเล็กและตัวอักษรพิมพใหญ ภาษาไพธอนจะถือวาเปนคนละชื่อตัวแปรกัน เชน Answer ไมเทากับ answer 2) ชื่อตัวแปรตองขึ้นตนดวยตัวอักษรภาษาอังกฤษ (A-Z, a-z) เทานั้น และอาจตามดวยตัวเลขหรือตัวอักษรภาษาอังกฤษสลับกันได เชน Animal, animal_01, big10, book10group เปนตน 3) ชื่อตัวแปรตองไมมีชองวาง จุด และสัญลักษณพิเศษ ยกเวนเครื่องหมาย underscore) เชน msg_1, msg1_sum 4) ชื่อตัวแปรที่ตั้งขึ้นมาใชงานควรสื่อความหมายกับขอมูลที่ตองการจัดเก็บ เพราะทําใหอานและเขาใจงาย เชน Tax ใชเก็บคาภาษี, studentName หรือ St_name ใชเก็บชื่อนักเรียน, passwd ใชเก็บรหัสผาน เปนตน 5) สัญลักษณตอไปนี้หามนํามาใชตั้งชื่อตัวแปร !, @, #, $, %, ^, &, *, (, ), -, =, \, |, +, ~ 6) เมื่อตองการผสมคําตั้ งชื่อตัวแปรใหใช เครื่องหมาย undersCore เชื่อม หรือใชตัวอักษรภาษาอังกฤษตัวพิมพเล็กขึ้นตน แลวคําที่สองใหขึ้นตนดวยตัวใหญ เชน Table_name หรือ tableName เปนตน 7) การตั้งชื่อตัวแปรตองไมซ้ํากับคําสงวน (Reserved keywords) ซึ่งมีท้ังหมด 33 คํา มีตอดังไปนี้ ตารางที่ 3.1 Reserved Keywords

and as assert break class continue

def del elif else except false

finally for from global If import

in is lambda none nonlocal Not

or pass raise return true Try

while with Yield

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

Page 3: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

3 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

2. การประกาศตัวแปร (Declaration) การประกาศสรางตัวแปร คือ การสรางตัวแปรสําหรับเก็บคาขอมูล เชน ตัวเลข ตัวอักขระ ขอความ เปนตน กอนนําไปประมวลผล ภาษาไพธอนไมจําเปนตองกําหนดชนิดขอมูลใหกับตัวแปร ตัวแปรที่ประกาศสราง ขึ้นมาใชงานจะกําหนดคาขอมูลไว หรืออาจจะสรางขึ้นมาเปนคาวางไวกอนก็ได แลวจึงกําหนดคาขอมูลใหทีหลัง ตัวอยางการสรางตัวแปรแสดงตัวอยาง ดังตอไปนี ้

ภาพที่ 3.1 การประกาศตัวแปร

จากตัวอยางการตั้งชื่อตัวแปรประกอบดวย 3 สวน ไดแก สวนที่ 1 คือ ชื่อตัวแปร จากตัวอยางไดแกmsg, num, sal จะอยูทางฝงซายมือเสมอ สวนที่ 2 คือ เครื่องหมายเทากับ (=) ซึ่งเปนเครื่องหมาย กําหนดคาขอมูลใหกับตัวแปร และสวนที่ 3 คือ ชนิดขอมูลที่จะถูกเก็บไวในตัวแปรที่เราไดสรางขึ้นมาใชงาน ซึ่งจะอยูทางฝงขวามือเสมอ นอกจากนี้เรายังสามารถสรางตัวแปรเก็บคาวางได แตตองอยูในเครื่องหมาย “” หรือ “...” แสดงดังตัวอยาง หรือถายังไมไดกําหนดชนิดขอมูลใหกับตัวแปรใหใช None เชน var = None ถาเพียงแตตั้งชื่อตัวแปรแลวสั่งใหโปรแกรมทํางานจะทําใหเกิดการแจงเตือนขอผิดพลาดขึ้น ในภาษาไพธอน เวอรชั่น 3 สามารถสรางตัวแปรเปนภาษาไทยได แตถึงอยางไรก็ตามเพื่อความเปนมาตรฐานในการเขียนคําสั่งโปรแกรม และใหงายตอผูที่ตองการนําโปแกรมของเราไปพัฒนาตอในอนาคต ดังนั้นจงตองสรางตัวแปรเปนภาษาอังกฤษและตั้งชื่อใหสื่อความหมาย 3. ตัวแปรชนิดคาคงที่ (Constant) คาคงที่ คือ ตัวแปรที่สรางขึ้นมาเก็บคาขอมูลที่จะไมมีการเปลี่ยนแปลงคาในระหวางการประมวลผล เชน คา π มีคาเทากับ 3.14 เราสามารถตั้งชื่อตัวแปรเปนคาคงท่ีไดเทากับ pi = 3.14 หรือคาภาษีมูลคาเพ่ิม มีคาเทากับ 7% เราสามารถตั้งชื่อตัวแปรเปนคาคงท่ีไดเทากับ vat = 0.07 เปนตน ดังแสดงตัวอยางตอไปนี ้

ภาพที่ 3.2 การประกาศตัวแปรชนิดคาคงทีห่าพื้นที่วงกลม จากตัวอยางอธิบายการทํางานของโปรแกรมไดดังนี้ บรรทัด 1 ประกาศสรางตัวแปรเปนคาคงท่ี pi = 3.14 " บรรทัด บรรทัด 2 ประกาศสรางตัวแปร area เก็บผลลัพธจากการคํานวณหาพื้นที่วงกลม บรรทัด 3 ประกาศสรางตัวแปร circumference เก็บผลลัพธจากการคํานวณหาเสนรอบวงกลม บรรทัด 4 ใชฟงกชั่น print() แสดงผลลัพธจากคาตัวแปร area

Page 4: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

4 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

บรรทัด 5 ใชฟงกชั่น print() แสดงผลลัพธจากคาตัวแปร circumference 4. ชนิดขอมูลจํานวนเต็ม (Integer) ชนิดขอมูลจํานวนเต็มประกอบไปดวยตัวเลขจํานวนเต็มบวกและตัวเลขจํานวนเต็มลบ เชน 10, 15, 255, 14, 2 เปนตน และยังรวมไปถึงเลขฐานตางๆ ไดแก เลขฐานสอง (Binary) เลขฐานแปด (Octal) และเลขฐานสิบ (Hexadecimal) จํานวนเต็มเลขฐานสิบประกอบดวยตัวเลข 0-9 เลขฐานสองประกอบตัวเลข 2 ตัว ไดแก 0 และ 1 เลขฐานแปดประกอบดวยตัวเลข 8 ตัว ไดแก 0-7 และเลขฐานสิบหกประกอบดวยตัวเลข 10 ตัว ไดแก 0-9 และตัวอักษรอีก 6 ตัว ไดแก A-F ในภาษาไพธอนไมไดกําหนดความยาวของชนิดขอมูลจํานวนเต็ม นั้นหมายความวาเราสามารถประกาศ ตัวแปรเก็บชนิดขอมูลจํานวนเต็มใหมีความยาวเทาไหรก็ได แตก็จะมีผลกระทบตอการประมวลผลหากเครื่อง คอมพิวเตอรมีหนวยความจํานอย

ภาพที่ 3.3 การดําเนินการกับตัวแปรจํานวนเต็มความยาวไมจํากัด จากตัวอยางอธิบายการทาํงานของโปรแกรมไดดังนี ้บรรทัด 1 สรางตัวแปร num1 และ num1 เปนชนิดขอมูลจาํนวนเต็ม บรรทัด 2 ใชฟงกชั่น print() แสดงผลบวกระหวางคาตัวแปร num1 กับ num2 บรรทัด 3 ใชฟงกชั่น print() แสดงผลลบระหวางคาตวัแปร num2 กับ num1 จากตัวอยางภาพที่ 3 เปนการดําเนินการกับชนิดขอมูลจาํนวนเต็มเลขฐานสบิ ถาตองการดาํเนนิการกับ ชนิด

ขอมูลจํานวนเต็มเลขฐานสอง ฐานแปด และฐานสิบหก มีวิธีการดังนี ้ถาตองการกําหนดเลขจํานวนเตม็เปนเลขฐานสองใหใชสัญลักษณ 0b นําหนา เชน 0b1001011 + 0b1101101

ถาตองการกาํหนดเลขจํานวนเตม็เปนเลขฐานแปดใหใชสัญลักษณ 0o นําหนา เชน 0o12451 + 0o54125

ถาตองการกําหนดเลขจํานวนเตม็เปนเลขฐานสิบหกใหใชสัญลักษณ 0x นําหนา เชน 0x76ade + 0x97c7a

เราสามารถเรียกใชฟงกชั่นแปลงเลขฐานใหเปนเลขฐานอื่นๆ ได โดยรูปแบบการใชงาน คือ ชื่อฟงกชั่น(ตัวแปร)

ฟงกชั่น int( ) เปนฟงกชนัแปลงเลขฐานที่ตองการใหเปนเลขฐานสบิ

ฟงกชั่น bin( ) เปนฟงกชนัแปลงเลขฐานที่ตองการใหเปนเลขฐานสอง

ฟงกชั่น oct( ) เปนฟงกชันแปลงเลขฐานที่ตองการใหเปนเลขฐานแปด

ฟงกชั่น hex( ) เปนฟงกชันแปลงเลขฐานที่ตองการใหเปนเลขฐานสิบหก

Page 5: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

5 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

ภาพที่ 3.4 การแปลงเลขฐานจากฐานสิบไปเปนฐานอื่น บรรทัดที่ 1 ประกาศสรางตัวแปร x เก็บชนิดขอมูลจํานวนเต็มเลขฐานสิบ บรรทัดที่ 2 ใชฟงกชั่น print แสดงผลลัพธจากการแปลงเลขฐานสิบเปนเลขฐานสองดวยฟงกชั่น bin () บรรทัดที่ 3 ใชฟงกชั่น print แสดงผลลัพธจากการแปลงเลขฐานสิบเปนเลขฐานแปดดวยฟงกชั่น oct () บรรทัดที่ 4 ใชฟงกชั่น print แสดงผลลัพธจากการแปลงเลขฐานสิบเปนเลขฐานสิบหกดวยฟงกชั่น hex ()

ภาพที่ 3.5 การแปลงเลขฐานสอง ฐานแปด และฐานสิบหก เปนเลขฐานสิบ บรรทัดที่ 1 ประกาศสรางตัวแปร a เก็บชนิดขอมูลฐานสอง บรรทัดที่ 2 ประกาศสรางตัวแปร b เก็บชนิดขอมูลฐานแปด บรรทัดที่ 3 ประกาศสรางตัวแปร c เก็บชนิดขอมูลฐานสบิหก บรรทัดที่ 4 ใชฟงกชั่น print แสดงผลลัพธจากการแปลงเลขฐานสองเปนเลขฐานสิบดวยฟงกชั่น int () บรรทัดที่ 5 ใชฟงกชั่น print แสดงผลลัพธจากการแปลงเลขฐานแปดเปนเลขฐานสิบดวยฟงกชั่น int () บรรทัดที่ 6 ใชฟงกชั่น print แสดงผลลัพธจากการแปลงเลขฐานสิบหกเปนเลขฐานสิบดวยฟงกชั่น int () 5. ชนิดจํานวนทศนิยม (Float) ชนิดขอมูลประเภทนี้ประกอบดวยตัวเลข 2 สวน โดยมีเครื่องหมาย (.) คั่นระหวางตัวเลขที่อยูดานหนาและดานหลัง ตัวเลขดานหนาเปนตัวเลขจํานวนเต็ม และตัวเลขที่อยูดานหลังจุดเรียกวา ทศนิยม การเขียนและทศนิยมสามารถเขียนสองแบบ คือ แบบแรก เชน 15.5, 20.451, 4.5134000000 เปนตน และแบบที่สอง เชน 4517.458E-2 =4517.458 x 10 เปนตน ในแบบที่สองจะสังเกตเห็นวามีตัวอักษร E และ e ซึ่งเปนการเขียนในรูปแบบของเลขยกกําลังสิบ (Exponential Form)

Page 6: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

6 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

ภาพที่ 3.5 การแสดงผลการดําเนินการบวก ลบ กับชนิดขอมูลจํานวนทศนิยม จากตัวอยางอธิบายการทํางานของโปรแกรมไดดั้งนี้ บรรทัดที่ 1 ประกาศสรางตัวแปร a , b , c , x และ y เปนชนิดขอมูลจํานวนทศนิยม บรรทัดที่ 2 ดําเนินการลบคาตัวแปร a กับ b เก็บผลลัพธในตัวแปร d บรรทัดที่ 3 ดําเนินการบวกคาตัวแปร x กับ y เก็บผลลัพธในตัวแปร z บรรทัดที่ 4 ใชฟงกชั่น Print () แสดงผลลัพธคาตัวแปร b บรรทัดที่ 5 ใชฟงกชั่น Print () แสดงผลลัพธลบระหวางคาตัวแปร a กับ b ที่เก็บไวในคาตัวแปร d บรรทัดที่ 6 ใชฟงกชั่น Print () แสดงผลลัพธบวกระหวางคาตัวแปร x กับ y ที่เก็บไวในคาตัวแปร z ในกรณีที่ตองการแปลงชนิดขอมูลจํานวนเต็ม ใหเปนชนิดขอมูลจํานวนทศนิยม ใหใชฟงกชั่น float() มีวิธีการเรียกใชงานแสดงดังตัวอยางที่ 3.6

ภาพที่ 3.6 การแปลงชนิดขอมูลอักขระหรือสตริง เปนชนิดขอมูลจํานวนทศนิยม จากตัวอยางอธิบายการทํางานของโปรแกรมไดดังนี้ บรรทัด 1 ประกาศสรางตัวแปร a และตัวแปร b เก็บชนิดขอมูลจํานวนเต็ม บรรทัด 2-3 ประกาศสรางตัวแปร c และตัวแปร d เก็บผลลัพธการแปลงคาตัวแปร a และ b เปนชนิดขอมูล จํานวนทศนิยม ดวยฟงกชั่น float() ตามลําดับ บรรทัด 4 ประกาศสรางตัวแปร x เก็บผลลัพธจากการบวกคาตวัแปรระหวาง c กับ b บรรทัด 5 ประกาศสรางตัวแปร y เก็บผลลัพธจากการคูณคาตัวแปรระหวาง c กับ b บรรทัด 6 แสดงผลลัพธที่ไดจากการแปลงขอมูลที่เก็บไวในตัวแปร a ดวยฟงกชั่น print() บรรทัด 7 แสดงผลลัพธที่ไดจากการแปลงขอมูลที่เก็บไวในตัวแปร d ดวยฟงกชั่น print() บรรทัด 8 -9 แสดงผลลัพธจากคาตัวแปร x และตัวแปร y ตามลําดับ ดวยฟงกชั่น print()

Page 7: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

7 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

6. ชนิดขอมูลจํานวนเชิงซอน (Complex) จากเชิงซอน (Complex) ไดถูกนํามาใชงานในสาขาตางๆ เชน Electrical Engineering, Fluid Dynamics, Quantum Mechanics, Computer Graphics, Dynamic Systems และสาขาอื่นๆ อีกโดยฉะเพราะอยางยิ่งในดานวิทยาศาสตรและวิศวกรรม จํานวนเชิงซอนจะเขียนอยูในรูปของคู x + yi เชน 5 + 2i, 30 – 6i เปนตน เราเรียก x เปนจํานวนจริง (real part) และ y เปนสวนจินตภาพ (imaginary part) ภาษา ไพธอนจะใชตัวอักษร j แทนตัวอักษร i เพราะตัวอักษร i ใชสัญญาลักษณทางกระแสไฟฟา ดังนั้นภาษา ไพธอนจึงนําตัวอักษร j ที่ใชในสาขาวิศวกรรมไฟฟาแทน การใชตัวดําเนินการกับชนิดขอมูลจํานวนเชิงซอนทําไดปกติเหมือนกับชนิดขอมูลจํานวนเต็มและชนิดขอมูลทศนิยม ดังตัวอยางตอไปนี ้

ภาพที่ 3.7 การใชตัวดําเนินการบวก ลบ กับชนิดขอมูลเชิงซอน

7. ชนิดขอมูลตรรกะ (Boolean) ชนิดขอมูลตรรกะหรือชนิดขอมูลคาความจริง (Boolean) ใหผลลัพธเพียงสองคา คือ คาจริง (True) และ คาเท็จ (False) เราสามารถกําหนดคา True หรือ False ใหกับตัวแปรเพื่อนําไปเปรียบเทียบไดเลย

ภาพที่ 3.8 การเขียนคําสั่งโปรแกรมใชงานชนิดขอมูลตรรกะ

จากตัวอยางอธิบายการทํางานของโปรแกรมไดดังนี้ บรรทัดที่ 1 สรางตัวแปร x เอาความจริง (True) สรางตัวแปร y เก็บคาเท็จ (False) และ z เก็บคาจริง (True) ตามลําดับ บรรทัดที่ 2 ใชฟงกชั่น Print () แสดงผลการเปรียบเทียบคาตัวแปร x เทากับคาตัวแปร Y หรือไมผลลัพธ คือ False บรรทัดที่ 3 ใชฟงกชั่น Print () ฟงกชันการเปรียบเทียบคาตัวแปร y เทากับคาตัวแปร z ไมผลลัพธที่ไดคือ False บรรทัดที่ 4 ใชฟงกชั่น Print () ผลการเปรียบเทียบตัวแปร z เทากับTrue หรือไม ผลลัพธที่ไดคือ True เราสามารถเรียกใชงานฟงกชั่น bool () ตรวจสอบคาขอมูลในตัวแปรที่สรางขึ้นมาใชงานไดเก็บคาขอมูลไวหรือไม ถาตัวแปรใดมีการกําหนดคาขอมูลไวจะใหผลลัพธเปน True แตถาตัวแปรใดไมมีการ

Page 8: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

8 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

กําหนดคาหรือกําหนดคาเปน 0 , None หรือ “” จะใหผลลัพธเปน True คาตัวแปรใดไมมีการกําหนดคาหรือ True ใหผูอานพิจารณาการใชงานฟงกชั่น bool () จากตัวอยางที่ 3.9

ภาพที่ 3.9 การเรียกใชงานฟงกชัน bool() คาขอมูลในตัวแปร

8. ชนิดขอมูลสายอักขระหรือสตริง (String) ชนิดขอมูลสายอักขระหรือเรียกสั้นๆ วาชนิดขอมูลสตริง (String) การนําตัวอักขระหลายๆ ตัวมาเรียงตอกันเปนประโยคการประกาศชนิดขอมูลนี้ขึ้นมาใชงานจะอยูในเครื่องหมาย double quote (“...”) หรือ String (‘...’) ใหเลือกใชรูปแบบใดรูปแบบหนึ่ง ดังตัวอยางตอไปนี ้

ภาพที่ 3.10 การเรียกใชตัวแปรสายอักขระหรือสตริง จากตัวอยางอธิบายการทํางานของโปรแกรมไดดังนี้ บรรทัด 1 ประกาศตัวแปร msg ชนิดขอมูลอยูในเครื่องหมาย double quote (“”) บรรทัด 2 ประกาศตัวแปร msg1 ชนิดขอมูลอยูในเครื่องหมาย Single quote (“”) บรรทัด 3-4 ใชฟงกชัน Print () แสดงผลคาตัวแปร msg และ msg1 ตามลําดับ บรรทัด 5 นําคาตัวแปร msg และ msg1 มาตอกัน และ ใชฟงกชั่น Print () แสดงผล 9. การแปลงชนิดขอมูล (Data type conversion) ในการพัฒนาโปรแกรมบางครั้งเรามีความจําเปนตองแปลงชนิดขอมูลกอนนําไปดําเนินการ หากไมมีการแปลงชนิดขอมูลกอนจะทําใหเกิดขอผิดพลาดขึ้นมาได ตัวอยางการปอนขอมูลผานทางแปนพิมพดวยฟงกชั่น input() ถึงแมจะปอนขอมูลเปนตัวเลขจํานวนเต็มหรือจํานวนทศนิยม เมื่อนําไปดําเนินการกับชนิดขอมูลจํานวนเต็มหรือชนิดขอมูลทศนิยมจะทําใหเกิดการแจงเตือนขอผิดพลาดขึ้น เนื่องจากตัวเลขที่ปอนเขามานั้นเปนชนิดขอมูลสตริงดังแสดงตัวอยางตอไปนี ้

Page 9: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

9 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

ภาพที่ 3.11 การแจงเตือนขอผิดพลาดเมื่อนําชนิดขอมูลสตริงดําเนินการกับชนิดขอมูลจํานวนเต็ม

จากตัวอยางจะเห็นไดวาเกิดการแจงเตือนขึ้น เนื่องจากตัวแปร num เปนขอมูลชนิดสตริงจึงทําใหไมสามารถนําไปดําเนินการกับ 50 ในบรรทัดที่ 2 ที่เปนชนิดขอมูลจํานวนเต็มไดดังนั้นเราจึงตองแปลงชนิดขอมูลกอนโดยการใชงานฟงกชั่นแปลงคาชนิดขอมูลกอนดําเนินการ ถาตองการแปลงชนิดขอมูลจํานวนเต็มใหเรียกใชงานใชฟงกชั่น int () ถาตองการแปลงเปนชนิดขอมูลจํานวนทศนิยมผูใชงานฟงกชั่น float () ถาตองการแปลงเปนชนิดขอมูลจํานวนเชิงซอนใหเรียกใชงานใชฟงกชัน complex()

ภาพที่ 3.12 การแปลงชนิดขอมูลจํานวนเต็ม

บรรทัด 1 ประกาศสรางตัวแปร num รอรับคาจากการปอนตัวเลขจํานวนเต็มผานทางคียบอรดจากผูใชงาน บรรทัด 2 ใชฟงกชั่น print() พรอมทั้งมีการแปลงคาจากชนิดขอมูลสตริง จากตัวแปร num เปนชนิดขอมูล จํานวนเต็มดวยฟงกชั่น int() กอนนําคาตัวแปรไปดําเนินการ บวกคากัน

ภาพที่ 3.13 การแปลงชนิดขอมูลสตริงเปนชนิดขอมูลทศนิยม จากตัวอยางอธิบายการทํางานของโปรแกรมไดดังนี้ บรรทัด 1 สรางตัวแปร a รอรับคาจากการปอนตัวเลขจํานวนเต็มผานคียบอรดจากผูใชงานพรอมทั้งมีการ แปลงจากชนิดขอมูลสตริงเปนชนิดขอมูลจํานวนทศนิยมดวยฟงกชั่น float() บรรทัด 2 สรางตัวแปร x เก็บชนิดขอมูลสตริงเปนตัวเลขจํานวนทศนิยม บรรทัด 3 แปลงคาตัวแปร x เปนชนิดขอมูลทศนิยมดวยฟงกชั่น float() กอนดําเนินการบวกกับคาตัวแปร a แลวเก็บผลลัพธไวในตัวแปร y

Page 10: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

10 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

บรรทัด 4 ใชฟงกชั่น print() แสดงผลลัพพธคาตัวแปร y

ภาพที่ 3.14 การแปรชนิดขอมูลสตริงเปนชนิดขอมูลเชิงซอน

จากตัวอยางอธิบายการทํางานของโปรแกรมไดดังนี้ บรรทัด 1 ประกาศสรางตัวแปร a และ b เปนชนิดขอมูลสตริง บรรทัด 2-3 ประกาศสรางตัวแปร x และตัวแปร y เก็บผลลัพธการแปลคาขอมูลจากตัวแปร a และตัวแปร b ดวยฟงกชัน complex()ตามลําดับ บรรทัด 4 เรียกใชฟงกชันcomplex(real , imag) สรางชนิดขอมูลเชิงซอน บรรทัด 5-6 แสดงผลลัพธที่เก็บไวในตัวแปร x และ y ตามลําดับ บรรทัด 7 แสดงผลลัพธจํานวนจริงผานฟงกชัน real และคาจินตภาพฟงกชัน imag จากตัวแปร x บรรทัด 8 แสดงผลลัพธการเปลี่ยนเครื่องหมายดวยฟงกชัน conjugate() ชนิดขอมูลเชิงซอนที่เก็บไวในตัวแปร y บรรทัด 9 แสดงผลลัพธจากการสรางชนิดขอมูลชิงซอนที่เก็บไวในตัวแปร z

ภาพที่ 3.15 การแปลงชนิดสตริงเปนชนิดขอมูลเซิงซอน กรณีเกิดการแจงเตือนขอผิดพลาด

จากตัวอยางอธิบายการทํางานของโปรแกรมไดดังนี้ บรรทัด 1 ประกาศสรางตัวแปรเก็บชนิดขอมูลจริงเก็บไวในตัวแปร c ที่มีชองวาง บรรทัด 2 แสดงผลลัพธที่เก็บไวในตัวแปร c แตจะมีการแจงเตือนขอผิดพลาดเกิดขึ้น

Page 11: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

11 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

10. การกําหนดคาใหกับตัวแปร ตัวแปรที่ประกาศสรางขึ้นมาใชงานจะมีการกําหนดคาให ในภาษาไพธอนมีรูปแบบการกําหนดคาใหกับตัวแปรหลากหลายวิธีผูอานสามารถศึกษาไดจากตัวอยางดังตอไปนี้

ภาพที่ 3.16 การสรางตัวแปรครั้งละหลายๆ ตัว และกําหนดเปนชนิดขอมูลเดียวกัน จากตัวอยางในบรรทัดที่ 1 ไดประกาศตัวแปร num 1 num2 และ num3 พรอมทั้งกําหนดคาใหกับตัวแปร 3 ตัว มีคาเทากับ 50 และแสดงผลคาขอมูลที่เก็บอยูในตัวแปรทั้ง 3 ดวยฟงกชั่น print () ในบรรทัดที่2-4 ตามลําดับ

ภาพที่ 3.17 การสรางตัวแปรครั้งละหลายๆ ตัว และกําหนดชนิดขอมูลจํานวนเต็มและชนิดขอมูลสตริง

จากตัวอยางไดประกาศสรางตัวแปร num1 num2 และ msg แตละตัวแปรจะถูกคั่นดวยเครื่องหมาย comma (,) และกําหนดเปนชนิดขอมูลจํานวนเต็มและชนิดขอมูลสตริงมีคาเทากับ 50 , 300 และ “Hello Python” ตามลําดับ การประกาศตัวแปรเชนนี้ จะมีการเรียงลําดับตัวแปรในการเก็บคาขอมูลไดกําหนดไว สังเกตไดจากเมื่อใชฟงกชั่น print() แสดงผลคาขอมูลที่เก็บอยูในแตละตัวแปร

ภาพที่ 3.18 การสรางตัวแปรครั้งละหลายๆ ตัว แตแยกเก็บชนิดขอมูลอยูในบรรทัดเดียวกัน จากตัวอยางการเขียนคําสั่งโปรแกรมไดประกาศสรางตัวแปร num1 และ num2 พรอมทั้งกําหนดคาขอมูลเทากับ 50 และ 400 ตามลําดับเปนชนิดขอมูลจํานวนเต็มอีกทั้งยังไดประกาศสรางตัวแปร msg

Page 12: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

12 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

กําหนดคาขอมูลเปนชนิดขอมูลสตริงผูอานจะสังเกตเห็นวาเมื่อสรางตัวแปรใหอยูในบรรทัดเดียวกันจะมีเครื่องหมาย Semicolon (;) ขั้นระหวางตัวแปร 10. การตรวจสอบชนิดขอมูล การพัฒนาโปรแกรมที่มีขนาดใหญและมีการประกาศสรางตัวแปรไวเปนจํานวนมาก อาจจะมีการทําใหผูพัฒนาโปรแกรมหลงลืมตัวแปรเก็บชนิดขอมูลประเภทใดไว เพื่อปองกันการนําตัวแปรมาประมวลผลหรือดําเนินการผิดพลาดเราอาจจะตองตรวจสอบชนิดขอมูลของตัวแปรนั้นกอนโดยการเรียกใชงานฟงกชัน type() ซึ่งเปนฟงกชัน Built-in แสดงตัวอยางการเรียกใชงานดังไปนี้

ภาพที่ 3.19 การตรวจสอบชนิดขอมูลดวยฟงกชั่น type จากตัวอยางการเขียนคําสั่งประกาศสรางตัวแปร msg num a ตองการอยากรูวาทั้ง 3 ตัวแปรเก็บชนิดขอมูลประเภทใดไวใหเรียกใชงานฟงกชั่น type() เปดวงเล็บปดบังแสดงในบรรทัดที่ 4-6 11. นิพจน (Expressions) นิพจน (Expressions) เปนการดําเนินการทางคณิตศาสตร เพื่อคํานวณหรือทําการเปรียบเทียบหาคาตางๆ ตามที่ตองการในการดําเนินการประกอบดวยคาคงที่ หรือ ตัวแปร สิ่งเหลานี้เรียกวา ตัวถูกดําเนินการ (Operand) และตัวดําเนินการ (Operator) คือ สัญลักษณ เชน + - * / < > = เปนตน

จากตัวอยางนิพจน ประกอบดวยตัวถูกดําเนิน 5 ตัว คือ a b c d และ z หรับตัวดําเนินการไดแกเครื่องหมาย + / * และ = ตัวดําเนินการในภาษาไพธอนมีหลายแบบใหเลือกใชงาน และแตละแบบทําหนาที่แตกตางกันออกไป ผูเรียนสามรถที่จะนําตัวดําเนินการมาผสมเปนนิพจนใหทํางานรวมกันได โดยแบงตัวดําเนินการออกเปนกลุม ดังตอไปนี้

Page 13: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

13 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

12. ตัวดําเนินการทางคณิตศาสตร (Arithmetic Operator) ตารางที่ 3.2 แสดงสัญลักษณ ตัวดําเนินการทางคณิตศาสตรความหมายของสัญลักษณตัวอยางการใชงานและผลลัพธที่ไดจากการดําเนินการคํานวณผลลัพธที่ไดจากการดําเนินการคํานวณจะแสดงผลลัพธของชนิดขอมูลที่ไมเหมือนกันขึ้นอยูกับการกําหนดชนิดขอมูลใหกับตัวแปร จากตารางกําหนดคาตัวแปร a และ b ชนิดขอมูลจํานวนเต็ม (Integer) ผลลัพธที่ไดจากการหารแสดงผลออกมาไดเปนชนิดขอมูลจํานวนทศนิยม(float) สวนผลลัพธที่เหลือจะแสดงผลเปนชนิดขอมูลจํานวนเต็ม (Integer) ตารางที่ 3.2 สัญลักษณตัวดําเนินการคํานวณคณิตศาสตร

สัญลักษณ ความหมาย ตัวอยางการใช ผลลัพธ (a=5 ,b=3) + บวก C=a+b C=8 - ลบ C=a-b C=2 * คูณ C=a*b C=15 / หาร C=a/b C=1.6666666666666667 % หารเอาเศษ C=a%b C=2 ** ยกกําลัง C=a**b C=125 // หารปดเศษ C=a//b C=1

ภาพที่ 3.20 การนําตัวดําเนินการทางคณิตศาสตรมาใชดําเนินการคํานวณหาผลลัพธ

Page 14: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

14 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

13. ตัวดําเนินการเปรียบเทียบ (Comparison Operator) ตัวดําเนินการประเภทนี้จะทําการเปรียบเทียบคาขอมูลทีละ 2 ตัว ดวยเครื่องหมายการเปรียบเทียบดังแสดงในตารางที่ 3.3 ผลลัพธที่ไดจะมีเพียง 2 คา คือ (True) และ (False) ซึ่งเปนรูปแบบของตรรกะ ตารางที่ 3.3 สัญลักษณตัวดําเนินการเปรียบเทียบ

สัญลักษณ ความหมาย ตัวอยางการใช ผลลัพธ (a=5,b=3) == เทากับ a=b False != ไมเทากับ A!=b True < นอยกวา a<b False <= นอยกวาหรือเทากับ A<=b False > มากกวา a>b True >= มากกวาหรือเทากับ a>=b True

จากตัวอยางการเขียนคําสั่งโปรแกรมภาพที่ 3.21 แสดงการเขียนคําสั่งโปรแกรมโดยใชตัวดําเนินการเปรียบเทียบแบบตางๆ ผูเรียนจะสังเกตเห็นวาในบรรทัดที่ 8 สามารถประยุกต ใชตัวดําเนินการเปรียบเทียบกับตัวถูกดําเนินการไดมากกวา 2 ตัว โดยการทํางานจะเปรียบเทียบตัวถูกดําเนินการคูทางดานซายมือกอนจากนั้นจึงเปรียบเทียบกับตัวถูกดําเนินการทางดานขวามือ เชน b==d หรือไม ผลลัพธคือ จริงและ <a หรือไมคําตอบคือ จริง ทําใหผลลัพธการเปรียบเทียบเปนจริง

ภาพที่ 3.21 การใชงานตัวดําเนินการเปรียบเทียบและผลลัพธ 14. ตัวดําเนินการการกําหนดคา (Assignment Operator) เปนตัวดําเนินการที่ทําหนาที่กําหนดคาขอมูล หรือขอมูลที่เก็บไวในตัวแปรที่อยูทางดานขวามือ ใหกับตัวแปรที่อยูทางดานซายมือ มีสัญลักษณของตัวดําเนินการประเภทนี้แสดงในตารางที่ 3.4

Page 15: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

15 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

ตารางที่ 3.4 สัญลักษณตัวดําเนินการกําหนดคา สัญลักษณ ความหมาย ตัวอยางการใช ผลลัพธ (a=5,b=3) = กําหนดคา a=b คือ นําคาตัวแปร bมาใสในตัว

แปร a a=3

+= บวกกอนแลวกําหนดคา

a+=b คือ a+bแลวเอาผลมาเก็บไวที่ a

a=8

-= ลบกอนแลวกําหนดคา

a-=b คือ a-bแลวเอาผลมาเก็บไวที่ a a=2

*= คูณกอนแลวกําหนดคา

a*=b คือ a*bแลวเอาผลมาเก็บไวที่ a a=15

/= หารกอนแลวกําหนดคา

a/=b คือ a/bแลวเอาผลมาเก็บไวที่ a a=1.6666666666666667

%= หารเอาเศษแลวกําหนดคา

a%=b คือ a%bแลวเอาผลมาเก็บไวที่ a

a=2

**= ยกกําลังแลวกําหนดคา

A**=b คือ a**bแลวเอาผลมาเก็บไวที่ a

a=125

//= หารเอาสวนแลวกําหนดคา

a//=b คือ a//bแลวเอาผลมาเก็บไวที่ a

a=1

ภาพที่ 3.22 การใชงานตัวดําเนินการกําหนดคาและผลลัพธ

15. ตัวดําเนินการตรรกศาสตร (Logical Operator) ตัวดําเนินการที่ใชเปรียบเทียบระหวางตัวถูกดําเนินการ 2 ตัว เพื่อตัดสินใจวาเปนจริง (True) หรือ เปนเท็จ (False) มีตัวดําเนินการประเภทนี้ใชในภาษาไพธอนใหใชงานอยู 3 ชนิดไดแก and, or และ not สามารถนําตารางความจริงหรือ (Truth table) มาประยุกตเปรียบเทียบระหวางตัวถูกดําเนินการได

Page 16: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

16 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

ตารางที่ 3.5 ตัวดําเนินการตรรกศาสตร ตัวดําเนินการ ความหมาย ตัวอยางการใช ผลลัพธ (a=true, b=False) And และ a and b False (ถาเปน True, a และ b ตองเปน True ทั้งคู) Or หรือ a or b True (คาใดคาหนึ่งเปน True) Not ไม Not a, not b Not a=False , not b= True (ใหคาตรงขาม)

ตารางที่ 3.6 ตารางความจริง (Truth table) P q P and q P or q Not p Not q True True True True False False True False False True False True False True False True True False False False False False True True

จากตารางที่ 3.6 แสดงคาความจริงเมื่อนําตัวดําเนินมาดําเนินการตรรกศาสตรมาดําเนินการกับตัวถูกดําเนินการ p และ q เมื่อใชตัวดําเนินการ and จะไดผลลัพธ True เมื่อ p และ q เปน True เทานั้น แตหากใชดําเนินการ or จะไดผลลัพธ False เมื่อ p และ q เปน False สําหรับการใชตัวดําเนินการ not เปนการเปลี่ยนคาตรงขาม จาก True เปน False

ภาพที่ 3.23 การใชงานตัวดําเนินการตรรกศาสตรและการประยุกตใชคําสั่งเขียนโปรแกรม 16. ตัวดําเนินการระดับบิต (Bitwise Operator) เปนตัวดําเนินการเปรียบเทียบขอมูลในระดับบิตที่มีคาเปน 0 และ 1 โดยไมคํานึงถึงวาชนิดขอมูลเปนอะไร ภาษาไพธอนจะแปลงฐานขอมูลในรูปแบบเลขฐาน 2 คือ 0 และ1 กอน แลวจึงนําไปดําเนินการหาผลลัพธ การดําเนินการระหวางตัวดําเนินการและตัวถูกดําเนินการจะใหคาเปนเท็จ (0) หรือจริง (1) ผูเรียนสามารถเปรียบเทียบการคํานวณไดกับตารางที่ 3.6 สําหรับสัญลักษณตางๆ ที่ใชดําเนินการระดับบิตแสดงในตารางที ่3.7

Page 17: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

17 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

ตารางที่ 3.7 สัญลักษณตัวเนินการระดับบิตท่ีใชในภาษาไพธอน สัญลักษณ ความหมาย ตัวอยางการใช ผลลัพธ(a=5,b=3) & และ and a & b a=0101,b=0011 (a & b=1) I หรือ or a I b a=0101,b=0011(a I b=7) ^ xor a ^ b a=0101,b=0011 (a ^ b=6) ~ คอมพลีเมนต a ~ b a=0101,b=0011 (~a=6, ~ b=4) << เลื่อนบิตไปทางซาย a << b a=0101,b=0011 (a<<1= 10. B<<1=6) >> เลื่อนบิตไปทางขวา a >> b a=0101,b=0011 (a>>1= 2, b>>1=1)

ภาพที่ 3.24 การใชงานตัวดําเนินการระดับบิต 17. ตัวดําเนินการตรวจสอบสมาชิก (Membership Operator) ใชสําหรับดําเนินการเปรียบเทียบคนหาคาที่กําหนดในตัวแปรที่สนใจ เปนสมาชิกในตัวแปรที่จะทําการเปรียบเทียบหรือไม ใชกับชนิดขอมูลสตริง (string) ลิสต (list) หรือทูเพิล (tuple) ตารางที ่3.8 ตัวดําเนินการตรวจสอบสมาชิก (กําหนดให cars = [Honda’‚‘Toyota’‚‘BMW’‚‘Benz’‚‘Nissan’‚‘Masda’] และ my_car=“Ford”) สัญลักษณ ความหมาย ตัวอยางการใช อธิบายผลลัพธ In อยูใน my_car in cars ใหคําเปน False เพราะ Ford ไมมีอยูในลิสตของ cars Not in ไมอยูใน my_car not in

cars ใหคําเปน True เพราะ Ford ไมมีอยูในลิสตของ cars

ภาพที่ 3.25 การใชงานตัวดําเนินการตรวจสอบสมาชิก

Page 18: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

18 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

18. ตัวดําเนินการเอกลักษณ (Identity Operator) เปนตัวดําเนินการที่นํามาใชเพื่อเปรียบเทียบขอมูลรหวาง 2 ตัว มีใหเลือกใชงานอยู 2 ตัว คือ is และ is not เพื่อบอกวามีความเทากันหรือไมเทากัน ตัวดําเนินการ is จะใหคําตอบเหมือนกับใชตัวดําเนินการ == สวน is not ใหคําตอบเหมือนกับใชตัวดําเนินการ I= ตารางที่ 3.9 ตัวดําเนินการเอกสัญลักษณที่ใชในภาษาไพธอน ตัวดําเนินการ ความหมาย ตัวอยางการใช อธิบายผลลัพธ(a=5,b=3) Is เปน,อยู a is b ใหคําเปนFalsเพราะ aไมเทากับb Is not ไมเปน,ไมอยู a is not b ใหคําเปนTrueเพราะ aไมเทากับb

ภาพที่ 3.26 การใชงานตัวดําเนินการเอกลักษณเปรียบเทียบคาตัวแปร 19. ลําดับความสําคัญตัวดําเนินการ (Operator Precedence) ในหนึ่งนิพจนจะมีมากกวาตัวดําเนินการ แตละตัวดําเนินการมีลําดับความสําคัญในการทํางานกอนหลังแตกตางกัน บางตัวดําเนินการมีความสําคัญในการทํางานที่เทากัน เราจึงมีความจําเปนที่จะตองทราบถึงลําดับการทํางานของตัวดําเนินการ เพื่อนําไปเขียนเปนคําสั่งในโปรแกรมใหทํางานไดถูกตองและปองกันขอผิดพลาดจากการทํางานของโปรแกรม ตารางที ่3.10 ลําดับความสําคัญของตัวดําเนินการ ลําดับ ตัวดําเนินการ คําอธิบาย 1 (….) ใชเพื่อแบงนิพจนและลําดับในการทํางาน 2 ** สัญลักษณยกกําลัง 3 ~‚ +‚ – คอมพลีเมนต, unary plus, unary minus 4 *, /, %, // การคูณ การหาร การหารเอาเศษ การหารเอาสวน 5 +, - การบวกและการลบ 6 >>, << การเลื่อนบิตทางขวา, การเลื่อนบิตทางซาย 7 & AND ในระดับบิต 8 ^‚ | xor,or ในระดับบิต 9 <=, <‚ >‚ >= ตัวดําเนินการเปรียบเทียบ 10 ==‚ Ị= เทากับและไมเทากับ

Page 19: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

19 ตัวแปร ชนิดขอมูล นิพจน และตัวดําเนินการ

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

11 =‚%=,/=,//=, -=,+=

ตัวดําเนินการกําหนดคา

12 is, is not อยู,ไมอยู ตัวดําเนินการเอกลักษณ 13 in, not in อยูใน, ไมอยูในตัวดําเนินการความเปนสมาชิก 14 not ,or, and ตัวดําเนินการตรรกศาสตร

การหาคําตอบจากนิพจนเริ่มจากทางดานซายไปหาทางดานขวาเสมอ ในทางคอมพิวเตอรก็ทําแบบนี้เชนเดียวกัน แตมีลําดับความสําคัญของเครื่องหมายเขามาเกี่ยวของ เพื่อควบคุมการหาผลลัพธจําเปนตองใชเครื่องหมายวงเล็บ (…) ครอบนิพจนที่เราตองการใหดําเนินการกอน เพราะเครื่องหมายวงเล็บมีลําดับความสําคัญที่สุด ใหผูเรียนพิจารณาดังตัวอยางตอไปนี ้

ภาพที่ 3.27 การเขียนคําสั่งโปรแกรมเปรียบเทียบการจัดลําดับความสําคัญของตัวดําเนินการ จากตัวอยางคําสั่งการเขียนโปรแกรม แสดงใหเห็นถึงลําดับการประมวลผลของตัวดําเนินการในบรรทัด 1 จะเริ่มจากตัวดําเนินการหารกอนคือ 50/2 ไดเทากับ 25 จากนั้นคูณกับ 9 ไดเทากับ 225 แลวบวกกับ 100 ผลลัพธที่ไดจึงเทากับ 325.0 ในบรรทัดที่ 3 มีการจัดลําดับการประมวลผลโดยใชเครื่องหมายวงเล็บ โดยเริ่มจากวงเล็บดานในสุด คือ 100 + 50 ไดเทากับ 150 แลวจึงหารดวย 2 ไดเทากับ 75 จากนั้นคูณกับ 9 ผลลัพธที่ไดจึงเทากับ 675.0 20. สรุปทายบทท ในบทนี้ผูเรียนไดรูจักกับชนิดขอมูลตางๆ การสรางตัวแปรและกําหนดคาขอมูลกอนนําไปใชงาน การแปลงชนิดขอมูลหนึ่งใหเปนอีกชนิดขอมูลหนึ่ง นอกจากนี้ยังไดรูจักฟงกชั่นที่ใชสําหรับแปลงเลขฐานสอง ฐานแปด ฐานสิบและฐานสิบหก และยังไดรูจักกับฟงกชั่นที่ใชตรวจสอบชนิดขอมูลอักษรดวย และไดรูจักกับนิพจนและตัวดําเนินการประเภทตางๆ เชน ตัวดําเนินการทางคณิตศาสตร ตัวดําเนินการเปรียบเทียบ เปนตน ซึ่งชวยใหผูเรียนนําไปประยุกตสําหรับการพัฒนาโปรแกรม แบบฝกหัดทายบท (5p) 1) จงบอกชนิดขอมูลจากการประกาศตัวแปรดังตอไปนี้ money=3 4 5 4 ; academy =“Khonkean University”; num_s = “3 2 4 1 . 2 1 4 5 ” ; flo_num=3241.2145 money เปนชนิดขอมูล…………………………………………………………….. academy เปนชนิดขอมูล…………………………………………………………….. flo_num เปนชนิดขอมูล……………………………………………………………..

Page 20: แผนการสอนหน วยที่ 3 ตัวแปร ชนิดข อมูล นิพจน และตัว ...€¦ · เพื่อให เข าในหลักการตั้งชื่อตัวแปร

20 1046419 การเขียนโปรแกรมเชิงวัตถุเบื้องตน

สําราญ วานนท์ | คอมพิวเตอร์ธุรกิจ

2) จงเขียนโปรแกรมคํานวณภาษีที่ตองจาย โดยมีอัตราภาษีเทากับ 7% กําหนดใหตัวแปรภาษีเปนคาคงที่และใหผูใชงานปอนทางคียบอรด 3) จงเขียนโปรแกรมคํานวณอายุ โดยใหผูใชงานปอนปเกิดผานทางคียบอรด โดยภายในคําสั่งโปรแกรมตองมีการเรียกใชฟงกชั่นแปลงชนิดขอมูลกอนนําไปคํานวณ 4) จงเขียนคําสั่งโปรแกรมเพ่ือหาคําตอบจากโจทยที่กําหนดให x=456 print(oct(x)) =……………………………………………………………………………………………………. print(hex(x)) =……………………………………………………………………………………………………. print(bin(x)) =……………………………………………………………………………………………………. 5) จากนิพจน x=451 + 315 / 3 + 5 * 2 * 3 + 15 * 4 * 12 จงหาผลลัพธให x=1306 เอกสารอางอิง

สุพจน สงาทอง และปยะ นากสงค. (2561). การเขียนโปรแกรมภาษา Python. รีไววา : กรุงเทพฯ.

ณัฐวัตร คําภักดี. (2561). คูมือเขียนโปรแกรมดวยภาษาไพธอน. โปรวิชั่น : กรุงเทพฯ.

โชติพันธุ หลอเลิศสุนทร. (2554). คูมือเรียน เขียนโปรแกรมดวยภาษา Python (ภาคปฏิบัติ). คอรฟงกชั่น : กรุงเทพฯ.