28
3-1 บบบบบ 3 บบบบบบบบบบบบบ บบบ บบบบบบ OUTLINE 1. บบบบบบบบบบบบบ (Operator) 2. บบบบบบ(Expression) 3. บบบบบบบบบบบบบบบบ บบบ บบบ บบบบบบบบบบบบบ

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

  • Upload
    ugo

  • View
    48

  • Download
    4

Embed Size (px)

DESCRIPTION

บทที่ 3 ตัวดำเนินการ และ นิพจน์. OUTLINE 1. ตัวดำเนินการ (Operator) 2. นิพจน์(Expression) 3. คำสั่งเชิงเดียว และ คำสั่งเชิงกลุ่ม. ตัวดำเนินการ (Operator). ตัวดำเนินการ (Operator) เทียบได้กับคำสั่งให้ดำเนินกรรมวิธีกับข้อมูล ทางคณิตศาสตร์ บูลีน การเปรียบเทียบ และ อื่นๆ. - PowerPoint PPT Presentation

Citation preview

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

3-1

บทท��3 ตั�วดำเนิ นิกร และ นิ พจนิ�

OUTLINE 1. ตั�วดำเนิ นิกร (Operator)

2. นิ พจนิ�(Expression) 3. คำสั่��งเชิ งเดำ�ยว และ คำสั่��งเชิ งกล��ม

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

3-2

ตั�วดำเนิ นิกร (Operator)

ตั�วดำเนิ นิกร (Operator)เท�ยบไดำ ก�บคำสั่��งให้ ดำเนิ นิกรรมว ธี�

ก�บข้ อม&ล ทงคำณิ ตัศสั่ตัร� บ&ล�นิ กร เปร�ยบเท�ยบ และ อ*�นิๆ

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

3-3

ตั�วดำเนิ นิกร (Operator)

ตั�วดำเนิ นิกร (Operator) ในิปสั่คำลแบ�งออกเป,นิ ตั�วดำเนิ นิกรทงคำณิ ตัศสั่ตัร� (arithmetic operator) ม� +, -, *, /, div, mod

ตั�วดำเนิ นิกรระดำ�บบ ตั (bitwise operators/ logical operator)

ตั�วดำเนิ นิกรเปร�ยบเท�ยบ (relational operators)

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

3-4

ตั�วดำเนิ นิกร (Operator)

ตั�วดำเนิ นิกรบ&ล�นิ (boolean operator)

ตั�วดำเนิ นิกรแอดำเดำรสั่ (address operator)

ตั�วดำเนิ นิกรเซตั (set operator) ตั�วดำเนิ นิกรสั่ตัร ง (string operator)

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

3-5

ตั�วดำเนิ นิกรระดำ�บบ ตั

ตั�วดำเนิ นิกรระดำ�บบ ตั (bitwise operators) ตั องเป,นิเลข้จนิวนิเตั.มเท�นิ�/นิ shl(shift left) เล*�อนิข้ อม�ลท�กบ ตัไปทง ซ ย

โดำยจนิวนิคำร�/งอย&�ทงข้วข้องตั�วดำเนิ นิกร เชิ�นิ

2 shl 1 จะไดำ คำ� 42 shl 2 จะไดำ คำ� 8

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

3-6

ตั�วดำเนิ นิกรระดำ�บบ ตั

ถ้ ข้ อม&ลเป,นิ byte จะใชิ เนิ*/อท�� 1 ไบตั� ม� 8 บ ตั และม� คำ� เป,นิ2 แล วกร shl ทไดำ ดำ�งนิ�/

1 ข้ อม&ลม�คำ� 2 00000010 ม�คำ�2 2. ถ้ ใชิ 2 shl 1 0000 0100 ห้ล�งเล*�อนิม�คำ� เป,นิ 4

3. ถ้ ใชิ 15 shl 2 0011 1100 ห้ล�ง เล*�อนิม�คำ�เป,นิ60

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

3-7

ตั�วดำเนิ นิกรระดำ�บบ ตั

Shl ถ้ เล*�อนิไปทงซ ย จะเห้ม*อนิก�บเอข้ อม&ล คำ&ณิดำ วย สั่องยกกล�งจนิวนิคำร�/งท��เล*�อนิ เชิ�นิ1

5 shl 2 จะเท�ก�บ 15*22 = 60

shr(shift right) เล*�อนิข้ อม&ลท�กบ ตัไปทงข้วShl ถ้ เล*�อนิไปทงข้ว จะเห้ม*อนิก�บเอข้ อม&ล

ห้รดำ วย สั่องยกกล�งจนิวนิคำร�/งท��เล*�อนิ เชิ� นิ 15 shr 2 จะเท�ก�บ 2152

2 = 3 ไดำ ผลห้รไม�ม�เศษ

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

3-8

ตั�วดำเนิ นิกรระดำ�บบ ตัแบบตัรรกะ

AND ระดำ�บบ ตั ทก�บเลข้จนิวนิเตั.ม 2 จนิวนิ จะ and เฉพะบ ตัท��ตัรงก�นิเท�นิ�/นิ

เชิ�นิ 15 and 9 คำ� 15 00001111

คำ� 9 00001100

15 and 9 0000 1100

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

3-9

ตั�วดำเนิ นิกรระดำ�บบ ตัแบบตัรรกะ

OR ระดำ�บบ ตั ทก�บเลข้จนิวนิเตั.ม 2 จนิวนิ จะ OR ในิบ ตัท��ตัรงก�นิ เชิ�นิ 15 OR 9 คำ� 15 00001111

คำ� 9 00001100

15 OR 9 0000 1111

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

3-10

ตั�วดำเนิ นิกรระดำ�บบ ตัแบบตัรรกะ

XOR (Exclusive or) ระดำ�บบ ตั ทก�บ เลข้จนิวนิเตั.ม ล�กษณิะกรทงนิคำ*อ

ถ้ บ ตัตัรงก�นิม�คำ� ตั�งก�นิผลล�พธี�เป,นิ 1 ถ้ บ ตัตัรงก�นิม�คำ�เห้ม*อนิก�นิผลล�พธี�เป,นิ 0

คำ� 15 00001111

คำ� 9 00001100

215 OR 9 0000 0011

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

3-11

ตั�วดำเนิ นิกรระดำ�บบ ตัแบบตัรรกะ

Not ระดำ�บบ ตั เป,นิตั�วดำเนิ นิกรท��ม�คำ�อย&� ห้ล�ง not ซ6�งจะทกรกล�บบ ตั เชิ�นิ not

17 คำ� 17 00010001

not 17 11101110

ม�คำ� -18

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

3-12

โปรแกรมกรใชิ Operator

1PROGRAM operator ; 2222222;begin (+ : ,2 5 + 5 0 ); 255052writeln('/: ', / : : ); 50 3writeln('MOD: ', mod ); 50 3writeln('DIV: ', div );

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

3-13

โปรแกรมกรใชิ Operator

1 15 2 25 2writeln('shl: ', shl : , shl : , 35shl : );

15 15 15writeln('shr: ', shr : , shr 25 15 35: , shr : );

(: ,2 5 5 0 ); (: , 2 5 5 0 ); (: ,2 5 5 0 ); 25writeln('not: ', not );

end.

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

3-14

ตั�วดำเนิ นิกรเปร�ยบเท�ยบ

ตั�วดำเนิ นิกรเปร�ยบเท�ยบม�คำ�ท��ตั องกรเปร�ยบเท�ยบอย&�ระห้ว�ง

ตั�วดำเนิ นิกร ผลล�พธี�เป,นิบ&ล�นิ คำ*อ false , true

>, <, >=, <=, <>, in ‘E’ in [‘a’,’e’,’i’,’o’,’u’] 2 < 3

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

3-15

ตั�วดำเนิ นิกรบ&ล�นิ

ตั�วดำเนิ นิกรบ&ล�นิ ม� 4 ตั�ว and, or, xor, not ม�กรทง นิเห้ม*อนิระดำ�บบ ตั

ตั�งตัรงท�� สั่องข้ งข้องตั�วดำเนิ นิกรเป,นิ บ&ล�นิ เชิ�นิ (a>13) and (b < 5)

ผลล�พธี� ม� จร งก�บเท.จ

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

3-16

ตั�วดำเนิ นิกรบ&ล�นิAม�คำ� B ม�คำ� A and B A or B A xor B not A T T T T F

FT F F T T FF T F T T TF F F F F T

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

3-17

ตั�วดำเนิ นิกรแอดำเดำรสั่

ตั�วดำเนิ นิกรแอดำเดำรสั่ ม� 2 ตั�วคำ*อ @ และ^ @ ใชิ บอกตัแห้นิ�งในิห้นิ�วยคำวมจข้อง

ตั�วแปร เชิ�นิ ตั�วแปร sum ถ้ เข้�ยนิ @sum จะไดำ ท��อย&�ในิห้นิ�วยคำวมจข้องsum

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

3-18

ตั�วดำเนิ นิกร เซตั และ สั่ตัร ง

ตั�วดำเนิ นิกร เซตั ม� + union - intersection * difference

ตั�วดำเนิ นิกร สั่ตัร ง ม� ตั�วเดำ�ยว คำ*อconcatenate +เป,นิกรเชิ*�อมตั�วอ�กษรเข้

ดำ วยก�นิ เชิ�นิ ‘a’ +’bc’ ไดำ abc

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

3-19

ลดำ�บกรทงนิข้องตั�วดำเนิ นิกร

1. @, not2. *, /, div, mod, and, shl, shr3. +, -, or, xor4. =, <> , < , > , <= , >= , IN

ถ้ ม�ฟั9งก�ชิ�นิ ห้ร*อ วงเล.บให้ ทก�อนิ

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

3-20

นิ พจนิ�คำณิ ตัศสั่ตัร�

นิ พจนิ� อจเป,นิ ตั�วแปร คำ�คำงท�� ห้ร*อ ฟั9งก�ชิ�นิ นิ พจนิ�ทงคำณิ ตัศสั่ตัร� คำ*อ นิ พจนิ�ท��ใชิ ตั�วดำเนิ นิกร

ทงคำณิ ตัศสั่ตัร� - *+, , , / , div , mod โดำยข้ อม&ลตั องเป,นิตั�วเลข้

ห้กม�กรผสั่มระห้ว�งเลข้จนิวนิเตั.ม และ จนิวนิจร งเลข้จนิวนิเตั.มจะถ้&กเปล��ยนิเป,นิจนิวนิจร งโดำยอ�ตัโนิม�ตั

ห้กตั องกรเก.บคำ�ข้องเลข้จนิวนิจร งไว ในิเลข้จนิวนิ เตั.มตั องใชิ ฟั9งก�ชิ�นิ trunc(R) round( R) ก�อนิ

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

3-21

กรสั่ร งนิ พจนิ�ทงคำณิ ตัศสั่ตัร�

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

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

3-22

ตั�วอย�งนิ พจนิ�ทงคำณิ ตัศสั่ตัร�

1PROGRAM expression ; 2222222; ,,1,2 :; ,,3 : ;22222 ; := 2 7 ; :=4 ; 562 70c:= . ; d:= . ;

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

3-23

ตั�วอย�งนิ พจนิ�ทงคำณิ ตัศสั่ตัร�

- 15 15 * 15Writeln ('int,int: ', A+B: , a b: , a b: ,25a/b: );

- (,: ,+ :1 8 , : 1 8 , * :1 8 ,18a/c: );

(,:-,+ :1 8 , :1 8 ,* :1 8 ,/:1 8 );

-18 18 * 18 18Writeln('rel,rel: ',c+d: ,c d: ,c d: ,c/d: ); 2 2 22 221 := ; 2 : = ; 3tem := a div b; 120 220 320Writeln (tem : ,tem : ,tem : )2222

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

3-24

นิ พจนิ�แบบบ&ล�นิ

นิ พจนิ�แบบบ&ล�นิ ม�คำ� จร งก�บ เท.จเท�นิ�/นิ เพระฉะนิ�/นิตั อง

ประกศตั�วแปลงแบบบ&ล�นิตั�วอย�ง: VAR

count,total :integer;length,height : real;done : boolean:

Count < total (count=total)

and(length>hei ght) and done

(count mod total =0) or(count <= 100)

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

3-25

นิ พจนิ�แบบบ&ล�นิ

PROGRAM1operator ;

2222222; 2 22222,: ; 22222222: ;

begin write('Enter a:'); Readln (a); write('Enter b:'); Readln (b); flag := a < b; Writeln(flag);end.

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

3-26

คำสั่��งเชิ งเดำ�ยว และ คำสั่��งเชิ งกล��ม

คำสั่��งเชิ งเดำ�ยว คำ*อ ประโยคำคำสั่��ง 1 คำสั่��ง คำสั่��งเชิ งกล��ม (compound statement) เม*�อ

ตั องกรให้ ม�คำสั่��งห้ลยประโยคำห้ร*อ เป,นิกล��มคำสั่��ง ให้ จ�ดำอย&�ในิคำอมเปนิดำ� ม�ร&ปแบบดำ�งนิ�/ begin

statement 1; : statement N

end

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

3-27

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

3-28