บทที่ 3 ตัวดำเนินการ และ นิพจน์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
Advertisements

ความรู้พื้นฐานเกี่ยวกับการเขียนโปรแกรม
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
บทที่ 2 ภาษาปาลคาลเบื้องต้น.
ประเภทของข้อมูลและตัวดำเนินการ Data Types and Operator (บทที่ 3)
BC320 Introduction to Computer Programming
Introduction to C Programming
Control Statement if..else switch..case for while do-while.
ข้อผิดพลาดของโปรแกรม และตัวดำเนินการ
CS Assembly Language Programming
ชนิดของข้อมูลและตัวดำเนินการ
บทที่ 2 Operator and Expression
Week 6 ประกาศค่าตัวแปร.
ภาษาปาสคาล บทนำ.
Visual Basic 6 By Samaporn Yendee VB6.
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
NUMBER SYSTEM เลขฐานสิบ (Decimal Number) เลขฐานสอง (Binary Number)
Repetitive Statements (Looping)
โครงสร้างคำสั่งแบบเลือก (Selection)
ภาษาปาสคาล ผู้สร้าง Dr.Niklaus Wirth ปี 2513
คำสั่งเงื่อนไขและการควบคุม
การเขียนโปรแกรม ASP การประกาศตัวแปร
ตัวดำเนินการ (Operator) คือสัญลักษณ์หรือเครื่องหมายแทนการกระทำกับข้อมูล เพื่อบอกให้เครื่องคอมพิวเตอร์ทราบว่าจะต้องดำเนินการใดกับข้อมูลใดบ้าง แบ่งออกเป็น.
หน่วยที่ 5 ตัวดำเนินการ (Operators)
การจัดการข้อมูลด้วยคอมพิวเตอร์
Operators ตัวดำเนินการ
ตัวอย่างคำสั่ง FOR.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
ดร.สุรศักดิ์ มังสิงห์ SPU, Computer Science Dept.
บทที่ 9 การรับและแสดงผลข้อมูล
บทที่ 2 ประเภทข้อมูล (DATA TYPE)
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
บทที่ 11 การเขียนโปรแกรมภาษาซี
ตัวแปรและชนิดข้อมูล (Variables and Data Types)
หน่วยที่ นิพจน์ในภาษา C
อาร์เรย์และข้อความสตริง
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
ไวยากรณ์ของภาษาการทำโปรแกรม (1) (Syntax of programming languages)
C# Operation สุพจน์ สวัตติวงศ์ Reference:
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
ตัวดำเนินการ(Operator)
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
บทที่ 3 ชนิดของข้อมูลและตัวดำเนินการ
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
นิพจน์และตัวดำเนินการ
ตัวดำเนินการในภาษาซี
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
โครงสร้างแบบลำดับ คำสั่ง x คำสั่ง y.
ตัวแปร ชนิดข้อมูล และ ตัวดำเนินการใน PHP
Week 2 Variables.
Computer Programming for Engineers
พื้นฐานการเขียนโปรแกรม
บทที่ 8 ตัวดำเนินการ และ นิพจน์
คำสั่งควบคุมขั้นตอน Flow control statements
Operators ตัวดำเนินการ
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
ค21201 คณิตศาสตร์เพิ่มเติม 1
ตัวดำเนินการ และนิพจน์คณิตศาสตร์
ชนิดของข้อมูลแบบพื้นฐาน 1. จํ านวนเต็ม (Integer Data Type) 2. จํ านวนจริง (Real Data Type) 3. ตัวอักขระ (Character Data Type) 4. ตรรกศาสตร ? (Boolean.
หลักการเขียนโปรแกรม ( )
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การกระทำทางคณิตศาสตร์
ตัวแปร และชนิดข้อมูล.
การรับและแสดงผลข้อมูล (Input/Output)
โครงสร้างข้อมูลแบบ สแตก (stack)
CHAPTER 2 Operators.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
BC320 Introduction to Computer Programming
ใบสำเนางานนำเสนอ:

บทที่ 3 ตัวดำเนินการ และ นิพจน์ OUTLINE 1. ตัวดำเนินการ (Operator) 2. นิพจน์(Expression) 3. คำสั่งเชิงเดียว และ คำสั่งเชิงกลุ่ม

ตัวดำเนินการ (Operator) เทียบได้กับคำสั่งให้ดำเนินกรรมวิธีกับข้อมูล ทางคณิตศาสตร์ บูลีน การเปรียบเทียบ และ อื่นๆ

ตัวดำเนินการ (Operator) ตัวดำเนินการทางคณิตศาสตร์ (arithmetic operator) มี +, -, *, /, div, mod ตัวดำเนินการระดับบิต (bitwise operators/ logical operator) ตัวดำเนินการเปรียบเทียบ (relational operators)

ตัวดำเนินการ (Operator) ตัวดำเนินการบูลีน (boolean operator) ตัวดำเนินการแอดเดรส (address operator) ตัวดำเนินการเซต (set operator) ตัวดำเนินการสตริง (string operator)

ตัวดำเนินการระดับบิต ตัวดำเนินการระดับบิต (bitwise operators) ต้องเป็นเลขจำนวนเต็มเท่านั้น shl(shift left) เลื่อนข้อมุลทุกบิตไปทางซ้าย โดยจำนวนครั้งอยู่ทางขวาของตัวดำเนินการ เช่น 2 shl 1 จะได้ค่า 4 2 shl 2 จะได้ค่า 8

ตัวดำเนินการระดับบิต ถ้าข้อมูลเป็น byte จะใช้เนื้อที่ 1 ไบต์ มี 8 บิต และมี ค่าเป็น 2แล้วการ shl ทำได้ดังนี้ 1. ข้อมูลมีค่า 2 0000 0010 มีค่า 2 2. ถ้าใช้ 2 shl 1 0000 0100 หลังเลื่อนมีค่าเป็น 4 3. ถ้าใช้ 15 shl 2 0011 1100 หลังเลื่อนมีค่าเป็น 60

ตัวดำเนินการระดับบิต Shl ถ้าเลื่อนไปทางซ้าย จะเหมือนกับเอาข้อมูล คูณด้วย สองยกกำลังจำนวนครั้งที่เลื่อน เช่น 15 shl 2 จะเท่ากับ 15 * 22 = 60 shr(shift right) เลื่อนข้อมูลทุกบิตไปทางขวา Shl ถ้าเลื่อนไปทางขวา จะเหมือนกับเอาข้อมูล หารด้วย สองยกกำลังจำนวนครั้งที่เลื่อน เช่น 15 shr 2 จะเท่ากับ 15 / 22 = 3 ได้ผลหารไม่มีเศษ

ตัวดำเนินการระดับบิตแบบตรรกะ AND ระดับบิต ทำกับเลขจำนวนเต็ม 2 จำนวน จะ and เฉพาะบิตที่ตรงกันเท่านั้น เช่น 15 and 9 ค่า 15 0000 1111 ค่า 9 0000 1100 15 and 9 0000 1100

ตัวดำเนินการระดับบิตแบบตรรกะ OR ระดับบิต ทำกับเลขจำนวนเต็ม 2 จำนวน จะ OR ในบิตที่ตรงกัน เช่น 15 OR 9 ค่า 15 0000 1111 ค่า 9 0000 1100 15 OR 9 0000 1111

ตัวดำเนินการระดับบิตแบบตรรกะ XOR (Exclusive or) ระดับบิต ทำกับเลขจำนวนเต็ม ลักษณะการทำงานคือ ถ้าบิตตรงกันมีค่าต่างกันผลลัพธ์เป็น 1 ถ้าบิตตรงกันมีค่าเหมือนกันผลลัพธ์เป็น 0 ค่า 15 0000 1111 ค่า 9 0000 1100 15 XOR 9 0000 0011

ตัวดำเนินการระดับบิตแบบตรรกะ Not ระดับบิต เป็นตัวดำเนินการที่มีค่าอยู่หลัง not ซึ่งจะทำการกลับบิต เช่น not 17 ค่า 17 0001 0001 not 17 1110 1110 มีค่า -18

โปรแกรมการใช้ Operator PROGRAM operator1; USES Wincrt; begin writeln('+: ',25+50); writeln('/: ',25/50:5:2); writeln('MOD: ',50 mod 3); writeln('DIV: ',50 div 3);

โปรแกรมการใช้ Operator writeln('shl: ',1 shl 1:5, 2 shl 2:5, 2 shl 3:5); writeln('shr: ',15 shr 1:5, 15 shr 2:5, 15 shr 3:5); writeln('and: ',25 and 50); writeln('OR: ', 25 or 50); writeln('XOR: ',25 XOR 50); writeln('not: ', not 25); end.

ตัวดำเนินการเปรียบเทียบ มีค่าที่ต้องการเปรียบเทียบอยู่ระหว่างตัวดำเนินการ ผลลัพธ์เป็นบูลีน คือ false , true >, <, >=, <=, <>, in ‘E’ in [‘a’,’e’,’i’,’o’,’u’] 2 < 3

ตัวดำเนินการบูลีน ตัวดำเนินการบูลีน มี 4 ตัว and, or, xor, not มีการทำงานเหมือนระดับบิต ต่างตรงที่ สองข้างของตัวดำเนินการเป็นบูลีน เช่น (a>13) and (b < 5) ผลลัพธ์มี จริงกับเท็จ

ตัวดำเนินการบูลีน Aมีค่า B มีค่า A and B A or B A xor B not A T T T T F F T F F T T F F T F T T T F F F F F T

ตัวดำเนินการแอดเดรส ตัวดำเนินการแอดเดรส มี 2 ตัวคือ @ และ^ @ ใช้บอกตำแหน่งในหน่วยความจำของตัวแปร เช่น ตัวแปร sum ถ้าเขียน @sum จะได้ที่อยู่ในหน่วยความจำของ sum

ตัวดำเนินการเซต และ สตริง ตัวดำเนินการเซต มี + union - intersection * difference ตัวดำเนินการสตริง มี ตัวเดียว คือ concatenate +เป็นการเชื่อมตัวอักษรเข้าด้วยกัน เช่น ‘a’ +’bc’ ได้ abc

ลำดับการทำงานของตัวดำเนินการ 1. @, not 2. *, /, div, mod, and, shl, shr 3. +, -, or, xor 4. =, <> , < , > , <= , >= , IN ถ้ามีฟังก์ชัน หรือ วงเล็บให้ทำก่อน

นิพจน์คณิตศาสตร์ นิพจน์ อาจเป็น ตัวแปร ค่าคงที่ หรือ ฟังก์ชัน นิพจน์ทางคณิตศาสตร์ คือ นิพจน์ที่ใช้ตัวดำเนินการทางคณิตศาสตร์ +, - , * , / , div , mod โดยข้อมูลต้องเป็นตัวเลข หากมีการผสมระหว่างเลขจำนวนเต็ม และ จำนวนจริง เลขจำนวนเต็มจะถูกเปลี่ยนเป็นจำนวนจริงโดยอัตโนมัต หากต้องการเก็บค่าของเลขจำนวนจริงไว้ในเลขจำนวนเต็มต้องใช้ ฟังก์ชัน trunc(R) round( R) ก่อน

การสร้างนิพจน์ทางคณิตศาสตร์ 5(num+total ) ===> 5 * (num + total) (x2 +y2)2 ====> SQR(x*x + y*y) หรือ SQR(SQR(x)+SQR (y)) -b+ b2- 4ac ===> (-b+SQRT(SQR(b)-4*a*c))/ (2*a) 2a

ตัวอย่างนิพจน์ทางคณิตศาสตร์ PROGRAM expression1; USES Wincrt; VAR a,b,tem1,tem2 :integer; c,d,tem3 : real; BEGIN clrscr; a:= 27; b:=4; c:= 56.2; d:= 7.0;

ตัวอย่างนิพจน์ทางคณิตศาสตร์ Writeln ('int,int: ', A+B:15, a-b:15, a*b:15, a/b:25); Writeln('int,rel: ',a+c:18, a-c:18, a*c:18, a/c:18); Writeln('rel,int: ',d+b:18,d-b:18,d*b:18,d/c:18); Writeln('rel,rel: ',c+d:18,c-d:18,c*d:18,c/d:18); tem1 := a div b; tem2 := a mod b; tem3 := a div b; Writeln (tem1:20,tem2:20,tem3:20) End.

นิพจน์แบบบูลีน Count < total นิพจน์แบบบูลีน มีค่า จริงกับเท็จเท่านั้น เพราะฉะนั้นต้องประกาศตัวแปลงแบบบูลีน ตัวอย่าง: VAR count,total :integer; length,height : real; done : boolean: Count < total (count=total) and(length>height) and done (count mod total =0) or(count <= 100)

นิพจน์แบบบูลีน PROGRAM operator1; USES Wincrt; VAR a, b : real; flag : boolean; begin write('Enter a:'); Readln (a); write('Enter b:'); Readln (b); flag := a < b; Writeln(flag); end.

คำสั่งเชิงเดียว และ คำสั่งเชิงกลุ่ม คำสั่งเชิงเดียว คือ ประโยคคำสั่ง 1 คำสั่ง คำสั่งเชิงกลุ่ม (compound statement) เมื่อต้องการให้มีคำสั่งหลายประโยคหรือ เป็นกลุ่มคำสั่งให้จัดอยู่ในคอมเปานด์ มีรูปแบบดังนี้ begin statement 1; : statement N end