Upload
ugo
View
48
Download
4
Embed Size (px)
DESCRIPTION
บทที่ 3 ตัวดำเนินการ และ นิพจน์. OUTLINE 1. ตัวดำเนินการ (Operator) 2. นิพจน์(Expression) 3. คำสั่งเชิงเดียว และ คำสั่งเชิงกลุ่ม. ตัวดำเนินการ (Operator). ตัวดำเนินการ (Operator) เทียบได้กับคำสั่งให้ดำเนินกรรมวิธีกับข้อมูล ทางคณิตศาสตร์ บูลีน การเปรียบเทียบ และ อื่นๆ. - PowerPoint PPT Presentation
Citation preview
3-1
บทท��3 ตั�วดำเนิ นิกร และ นิ พจนิ�
OUTLINE 1. ตั�วดำเนิ นิกร (Operator)
2. นิ พจนิ�(Expression) 3. คำสั่��งเชิ งเดำ�ยว และ คำสั่��งเชิ งกล��ม
3-2
ตั�วดำเนิ นิกร (Operator)
ตั�วดำเนิ นิกร (Operator)เท�ยบไดำ ก�บคำสั่��งให้ ดำเนิ นิกรรมว ธี�
ก�บข้ อม&ล ทงคำณิ ตัศสั่ตัร� บ&ล�นิ กร เปร�ยบเท�ยบ และ อ*�นิๆ
3-3
ตั�วดำเนิ นิกร (Operator)
ตั�วดำเนิ นิกร (Operator) ในิปสั่คำลแบ�งออกเป,นิ ตั�วดำเนิ นิกรทงคำณิ ตัศสั่ตัร� (arithmetic operator) ม� +, -, *, /, div, mod
ตั�วดำเนิ นิกรระดำ�บบ ตั (bitwise operators/ logical operator)
ตั�วดำเนิ นิกรเปร�ยบเท�ยบ (relational operators)
3-4
ตั�วดำเนิ นิกร (Operator)
ตั�วดำเนิ นิกรบ&ล�นิ (boolean operator)
ตั�วดำเนิ นิกรแอดำเดำรสั่ (address operator)
ตั�วดำเนิ นิกรเซตั (set operator) ตั�วดำเนิ นิกรสั่ตัร ง (string operator)
3-5
ตั�วดำเนิ นิกรระดำ�บบ ตั
ตั�วดำเนิ นิกรระดำ�บบ ตั (bitwise operators) ตั องเป,นิเลข้จนิวนิเตั.มเท�นิ�/นิ shl(shift left) เล*�อนิข้ อม�ลท�กบ ตัไปทง ซ ย
โดำยจนิวนิคำร�/งอย&�ทงข้วข้องตั�วดำเนิ นิกร เชิ�นิ
2 shl 1 จะไดำ คำ� 42 shl 2 จะไดำ คำ� 8
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
3-7
ตั�วดำเนิ นิกรระดำ�บบ ตั
Shl ถ้ เล*�อนิไปทงซ ย จะเห้ม*อนิก�บเอข้ อม&ล คำ&ณิดำ วย สั่องยกกล�งจนิวนิคำร�/งท��เล*�อนิ เชิ�นิ1
5 shl 2 จะเท�ก�บ 15*22 = 60
shr(shift right) เล*�อนิข้ อม&ลท�กบ ตัไปทงข้วShl ถ้ เล*�อนิไปทงข้ว จะเห้ม*อนิก�บเอข้ อม&ล
ห้รดำ วย สั่องยกกล�งจนิวนิคำร�/งท��เล*�อนิ เชิ� นิ 15 shr 2 จะเท�ก�บ 2152
2 = 3 ไดำ ผลห้รไม�ม�เศษ
3-8
ตั�วดำเนิ นิกรระดำ�บบ ตัแบบตัรรกะ
AND ระดำ�บบ ตั ทก�บเลข้จนิวนิเตั.ม 2 จนิวนิ จะ and เฉพะบ ตัท��ตัรงก�นิเท�นิ�/นิ
เชิ�นิ 15 and 9 คำ� 15 00001111
คำ� 9 00001100
15 and 9 0000 1100
3-9
ตั�วดำเนิ นิกรระดำ�บบ ตัแบบตัรรกะ
OR ระดำ�บบ ตั ทก�บเลข้จนิวนิเตั.ม 2 จนิวนิ จะ OR ในิบ ตัท��ตัรงก�นิ เชิ�นิ 15 OR 9 คำ� 15 00001111
คำ� 9 00001100
15 OR 9 0000 1111
3-10
ตั�วดำเนิ นิกรระดำ�บบ ตัแบบตัรรกะ
XOR (Exclusive or) ระดำ�บบ ตั ทก�บ เลข้จนิวนิเตั.ม ล�กษณิะกรทงนิคำ*อ
ถ้ บ ตัตัรงก�นิม�คำ� ตั�งก�นิผลล�พธี�เป,นิ 1 ถ้ บ ตัตัรงก�นิม�คำ�เห้ม*อนิก�นิผลล�พธี�เป,นิ 0
คำ� 15 00001111
คำ� 9 00001100
215 OR 9 0000 0011
3-11
ตั�วดำเนิ นิกรระดำ�บบ ตัแบบตัรรกะ
Not ระดำ�บบ ตั เป,นิตั�วดำเนิ นิกรท��ม�คำ�อย&� ห้ล�ง not ซ6�งจะทกรกล�บบ ตั เชิ�นิ not
17 คำ� 17 00010001
not 17 11101110
ม�คำ� -18
3-12
โปรแกรมกรใชิ Operator
1PROGRAM operator ; 2222222;begin (+ : ,2 5 + 5 0 ); 255052writeln('/: ', / : : ); 50 3writeln('MOD: ', mod ); 50 3writeln('DIV: ', div );
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.
3-14
ตั�วดำเนิ นิกรเปร�ยบเท�ยบ
ตั�วดำเนิ นิกรเปร�ยบเท�ยบม�คำ�ท��ตั องกรเปร�ยบเท�ยบอย&�ระห้ว�ง
ตั�วดำเนิ นิกร ผลล�พธี�เป,นิบ&ล�นิ คำ*อ false , true
>, <, >=, <=, <>, in ‘E’ in [‘a’,’e’,’i’,’o’,’u’] 2 < 3
3-15
ตั�วดำเนิ นิกรบ&ล�นิ
ตั�วดำเนิ นิกรบ&ล�นิ ม� 4 ตั�ว and, or, xor, not ม�กรทง นิเห้ม*อนิระดำ�บบ ตั
ตั�งตัรงท�� สั่องข้ งข้องตั�วดำเนิ นิกรเป,นิ บ&ล�นิ เชิ�นิ (a>13) and (b < 5)
ผลล�พธี� ม� จร งก�บเท.จ
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
3-17
ตั�วดำเนิ นิกรแอดำเดำรสั่
ตั�วดำเนิ นิกรแอดำเดำรสั่ ม� 2 ตั�วคำ*อ @ และ^ @ ใชิ บอกตัแห้นิ�งในิห้นิ�วยคำวมจข้อง
ตั�วแปร เชิ�นิ ตั�วแปร sum ถ้ เข้�ยนิ @sum จะไดำ ท��อย&�ในิห้นิ�วยคำวมจข้องsum
3-18
ตั�วดำเนิ นิกร เซตั และ สั่ตัร ง
ตั�วดำเนิ นิกร เซตั ม� + union - intersection * difference
ตั�วดำเนิ นิกร สั่ตัร ง ม� ตั�วเดำ�ยว คำ*อconcatenate +เป,นิกรเชิ*�อมตั�วอ�กษรเข้
ดำ วยก�นิ เชิ�นิ ‘a’ +’bc’ ไดำ abc
3-19
ลดำ�บกรทงนิข้องตั�วดำเนิ นิกร
1. @, not2. *, /, div, mod, and, shl, shr3. +, -, or, xor4. =, <> , < , > , <= , >= , IN
ถ้ ม�ฟั9งก�ชิ�นิ ห้ร*อ วงเล.บให้ ทก�อนิ
3-20
นิ พจนิ�คำณิ ตัศสั่ตัร�
นิ พจนิ� อจเป,นิ ตั�วแปร คำ�คำงท�� ห้ร*อ ฟั9งก�ชิ�นิ นิ พจนิ�ทงคำณิ ตัศสั่ตัร� คำ*อ นิ พจนิ�ท��ใชิ ตั�วดำเนิ นิกร
ทงคำณิ ตัศสั่ตัร� - *+, , , / , div , mod โดำยข้ อม&ลตั องเป,นิตั�วเลข้
ห้กม�กรผสั่มระห้ว�งเลข้จนิวนิเตั.ม และ จนิวนิจร งเลข้จนิวนิเตั.มจะถ้&กเปล��ยนิเป,นิจนิวนิจร งโดำยอ�ตัโนิม�ตั
ห้กตั องกรเก.บคำ�ข้องเลข้จนิวนิจร งไว ในิเลข้จนิวนิ เตั.มตั องใชิ ฟั9งก�ชิ�นิ trunc(R) round( R) ก�อนิ
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
3-22
ตั�วอย�งนิ พจนิ�ทงคำณิ ตัศสั่ตัร�
1PROGRAM expression ; 2222222; ,,1,2 :; ,,3 : ;22222 ; := 2 7 ; :=4 ; 562 70c:= . ; d:= . ;
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
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)
3-25
นิ พจนิ�แบบบ&ล�นิ
PROGRAM1operator ;
2222222; 2 22222,: ; 22222222: ;
begin write('Enter a:'); Readln (a); write('Enter b:'); Readln (b); flag := a < b; Writeln(flag);end.
3-26
คำสั่��งเชิ งเดำ�ยว และ คำสั่��งเชิ งกล��ม
คำสั่��งเชิ งเดำ�ยว คำ*อ ประโยคำคำสั่��ง 1 คำสั่��ง คำสั่��งเชิ งกล��ม (compound statement) เม*�อ
ตั องกรให้ ม�คำสั่��งห้ลยประโยคำห้ร*อ เป,นิกล��มคำสั่��ง ให้ จ�ดำอย&�ในิคำอมเปนิดำ� ม�ร&ปแบบดำ�งนิ�/ begin
statement 1; : statement N
end
3-27
3-28