BC320 Introduction to Computer Programming บทที่ 3 นิพจน์ (Expression) BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming 3.1 ความหมายของนิพจน์ นิพจน์ (Expression) หมายถึง การนำกลุ่มข้อมูล (ค่าคงที่ ตัวแปร ฟังก์ชัน) มากระทำหรือดำเนินการ โดยใช้ตัวดำเนินการต่างๆ เพื่อให้เกิดเป็นชนิดของข้อมูลที่แน่นอน เช่น เลขจำนวนเต็ม ค่าบูลีน อักษร หรือสตริง เป็นต้น BC320 Introduction to Computer Programming
ตัวอย่างนิพจน์ X+Y 10 > X+Y “นิพจน์คณิตศาสตร์” “นิพจน์บูลีน” กระทำด้วยตัวดำเนินการ + “นิพจน์คณิตศาสตร์” 10 > X+Y ข้อมูลชนิดตัวแปร X และ Y และข้อมูลชนิดค่าคงที่ กระทำด้วยตัวดำเนินการ + และ > “นิพจน์บูลีน” BC320 Introduction to Computer Programming
3.2 ประเภทของตัวดำเนินการ (operator) ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operators) ตัวดำเนินการในระดับบิตหรือตัวดำเนินการตรรกะ (Bitwise and Logical Operators) ตัวดำเนินการเปรียบเทียบ (Relational Operations) ตัวดำเนินการบูลีน (Boolean Operators) ตัวดำเนินการแอดเดรส (Address Operators) ตัวดำเนินการเซต (Set Operators) ตัวดำเนินการข้อความ (String Operators) BC320 Introduction to Computer Programming
3.2.1. ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operators) เป็นตัวคำนวณที่ใช้ในการคำนวณต่างๆ โดยกระทำกับข้อมูลที่เป็นตัวเลข เมื่อคำนวณเสร็จแล้วผลลัพธ์ที่ได้จะเป็นข้อมูลตัวเลข บวก (+), ลบ (-), คูณ (*) และหาร (/) เช่น 10+20 Age-3 BC320 Introduction to Computer Programming
3.2.2. ตัวดำเนินการในระดับบิต (Bitwise and Logical Operators) เป็นตัวดำเนินการที่ดำเนินการกับข้อมูลในระดับบิต โดยต้องกระทำกับข้อมูลที่เป็นเลขจำนวนเต็ม ตัวดำเนินการในระดับบิตมีดังนี้ AND OR ข้อควรจำ 1 AND 1 ได้ 1 ที่เหลือ ได้ 0 0 OR 0 ได้ 0 ที่เหลือ ได้ 1 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างการ AND 12 AND 22 = ? BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างการ OR 30 OR 16 = ? BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming Ex 10 AND 3 =? 10 OR 3 = ? ? OR AND 1010 0011 0010 ตอบ 2 1010 0011 1011 ตอบ 11 BC320 Introduction to Computer Programming
3.2.3. ตัวดำเนินการเปรียบเทียบ (Relational Operators) เป็นตัวดำเนินการที่ใช้ในการเปรียบเทียบค่าสองค่าว่าเป็นจริงหรือเท็จ (TRUE or FALSE) ซึ่งตัวดำเนินการที่ใช้ในการเปรียบเทียบมีดังนี้ > มากกว่า > = มากกว่าหรือเท่ากับ < น้อยกว่า < = น้อยกว่าหรือเท่ากับ < > ไม่เท่ากับ in เป็นสมาชิกของ BC320 Introduction to Computer Programming
ตัวอย่างการเปรียบเทียบ นิพจน์ ค่าของนิพจน์ 2>3 FALSE ‘B’<‘F’ TRUE 2=0 BC320 Introduction to Computer Programming
3.2.4. ตัวดำเนินการบูลีน (Boolean Operators) เป็นตัวดำเนินการที่เหมือนตัวดำเนินการในระดับบิต แต่แตกต่างกันตรงที่ข้อมูลที่ถูกกระทำ ต้องเป็นชนิดข้อมูลแบบบูลีน ไม่ใช่เลขจำนวนเต็ม มีตัวดำเนินการ 4 ตัว AND, OR, XOR, NOT BC320 Introduction to Computer Programming
ตารางแสดงผลจากการใช้ตัวดำเนินการบูลีน A B A AND B A OR B A XOR B NOT A T F BC320 Introduction to Computer Programming
ตัวอย่างการหาผลลัพธ์ของนิพจน์บูลีน นิพจน์ (A>18) AND (A<21) โดย A มีค่าเป็น 15 มีผลลัพธ์ เป็น? A>18? FALSE A<21? TRUE FALSE AND TRUE ? FALSE BC320 Introduction to Computer Programming
Ex (‘F’<‘M’) OR NOT(3^2=4*2) BC320 Introduction to Computer Programming
3.2.5. ตัวดำเนินการแอดเดรส (Address Operators) เป็นตัวดำเนินการที่ใช้ร่วมกับตัวแปรชนิดข้อมูลแบบพอยน์เตอร์ ตัวดำเนินการแบบนี้มีอยู่ด้วยกัน 2 แบบ คือ @ และ ^ @ ทำหน้าที่ ให้ค่าตำแหน่งในหน่วยความจำของตัวแปรที่ระบุ เช่น Sum ตัวแปร Integer @Sum ตำแหน่งของตัวแปร Sum ^ ใช้กับข้อมูลแบบพอยน์เตอร์ เช่น pt ตัวชี้ข้อมูลของ Integer pt^ ตัวเลขที่ pt ชี้อยู่ BC320 Introduction to Computer Programming
3.2.6. ตัวดำเนินการเซ็ต (Set Operators) เป็นตัวดำเนินการเซต มีด้วยกัน 3 ตัว คือ + - และ * + (Union) ใช้เพื่อรวมสมาชิกข้อมูลแบบเซตเข้าด้วยกัน - (Difference) ใช้เพื่อหาสมาชิกที่มีเฉพาะเซตใดเซตหนึ่ง * (Intersection) ใช้เพื่อหาสมาชิกร่วมของเซต BC320 Introduction to Computer Programming
3.2.7. ตัวดำเนินการข้อความ (String Operators) มีตัวดำเนินการเพียงตัวเดียวคือ + ใช้ได้เฉพาะใน เทอร์โบปาสคาลโดยมีหน้าที่นำข้อมูลแบบสตริง 2 ค่ามาต่อกัน เช่น ‘Hello’ + ‘BC320’ Hello BC320 BC320 Introduction to Computer Programming
3.3 นิพจน์คณิตศาสตร์ (Arithmetic Expression) ประกอบด้วย 2 ส่วน Operand (ตัวเลข,ค่าคงที่) Operator (เครื่องหมายต่างๆ) เครื่องหมาย ลำดับการประมวลผล ( ) - (เครื่องหมายลบหน้าตัวเลข) * / + - 1 2 3 4 BC320 Introduction to Computer Programming
ตัวอย่างการลำดับในการประมวลผลในนิพจน์คณิตศาสตร์ นิพจน์ ผลลัพธ์ คำอธิบาย 10 + 8 * 2 26 1. 8*2 = 16 2. 10+16 = 26 10 + 8 * 2 BC320 Introduction to Computer Programming
ตัวอย่างการลำดับในการประมวลผลในนิพจน์คณิตศาสตร์ นิพจน์ ผลลัพธ์ คำอธิบาย -1*(5.5+2)/5 -1.5 1. (5.5+2) = 7.5 2. -1*7.5 = -7.5 3. -7.5/5 = - 1.5 -1*(5.5+2)/5 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming Ex (8/2*3)+4^2 ( 8 / 2 * 3 ) + 4 ^ 2 =4 =16 =12 =28 BC320 Introduction to Computer Programming
3.3 นิพจน์บูลีน (Boolean Expression) ให้ผลลัพธ์ 2 ค่า คือ TRUE หรือ FALSE นิพจน์บูลีนนี้ ตัวดำเนินการ ลำดับการประมวลผล NOT AND OR XOR 1 2 3 BC320 Introduction to Computer Programming
ตัวอย่างเกี่ยวกับนิพจน์บูลีน NOT ((X<0) OR (X > 25)) = ? Ex1. ถ้า X = 1 ผลลัพธ์ที่ได้เป็น TRUE Ex2. ถ้า X = 30 ผลลัพธ์ที่ได้เป็น ??? BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming บทสรุป นิพจน์ (Expression) ประกอบด้วยกลุ่มข้อมูลที่ถูกกระทำ (Operands) ด้วยตัวดำเนินการ (Operator) ผลลัพธ์ที่ได้จะเป็นชนิดข้อมูลที่แน่นอน เช่น ตัวเลข หรือ TRUE หรือ FALSE ตัวอย่างประเภทนิพจน์ ได้แก่ นิพจน์คณิตศาสตร์ นิพจน์บูลีน BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming QUESTIONS??? การบ้านท้ายบทที่ 3 ข้อ 3,4 (ใหญ่) BC320 Introduction to Computer Programming