บทที่ 4 นิพจน์ทางคณิตศาสตร์

สพฐ 1untitled-41 e0b89ee0b8a3e0b8b0e0b981e0b8aae0b887e0b8a7e0b8b4e0b897e0b8a2e0b8b21 google

นิพจน์  (Expressions)  ทางคณิตศาสตร์นั้นเป็นนิพจน์ที่ใช้ในการคำนวณ  ซึ่งนิพจน์ทางคณิตศาสตร์นั้นจะมีรูปแบบเหมือนกับสมการคณิตศาสตร์  แต่จะประกอบไปด้วย  ค่าคงที่หรือตัวแปร  ซึ่งเรียกอีกอย่างว่า  ตัวถูกดำเนินการ  (Operand)  แล้วเชื่อมกันด้วยเครื่องหมายทางคณิตศาสตร์  หรือเรียกอีกอย่างว่า  ตัวดำเนินการ  (Operator)  นั่นเอง
รูปแบบ
[ตัวถูกดำเนินการตัวแรก]  [ตัวดำเนินการ]  [ตัวถูกดำเนินการตัวที่สอง]
ตัวอย่าง
A+B
2+A
ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการทางคณิตศาสตร์ของภาษา C มีดังนี้
ตารางที่  4.1  แสดงตัวดำเนินการทางคณิตศาสตร์

ตัวดำเนินการ

ความหมาย

+

*
/
%
++

บวก
ลบ
คูณ
หาร
หารเอาเศษหรือ  Modulus
เพิ่มค่าครั้งละ  1
ลดค่าครั้งละ  1

                การสร้างนิพจน์ทางคณิตศาสตร์ ถ้าเป็นนิพจน์ที่มีตัวถูกดำเนินการเพียง  2  ตัวจะไม่มีปัญหาอะไร  แต่ถ้าเกิดมีตัวถูกดำเนินการมากกว่า  2  ตัวขึ้นไป  ผู้ใช้จะต้องคำนึงถึงลำดับความสำคัญของตัวดำเนินการด้วย  มิฉะนั้นอาจจะได้ผลลัพธ์ที่ไม่ตรงตามความต้องการได้
ตัวอย่าง
ผู้ใช้ต้องการให้เอา  2  บวกกับ  3  แล้วนำไปคูณด้วย  5  ซึ่งคำตอบที่ผู้ใช้ต้องการ  คือ  25  แต่ถ้าผู้ใช้เขียนนิพจน์เป็น
2 + 3 * 5
ผลลัพธ์ที่ได้จะเท่ากับ  17  เพราะภาษา C จะคิดตามลำดับความสำคัญของตัวดำเนินการ  (Precedence)  ดังนี้  เอา  3  คูณกับ  5  ได้  15  แล้วนำไปบวกกับ  2  ได้  17  ซึ่งเป็นคำตอบที่ไม่ตรงตามความต้องการ  เพราะฉะนั้นผู้ใช้จึงต้องระวังเรื่องนี้อย่างมาก  วิธีการแก้ไขก็สามารถทำได้โดยการใช้วงเล็บเข้ามาช่วย  ซึ่งวงเล็บจะมีลำดับความสำคัญสูงที่สุด  และเมื่อลำดับความสำคัญเท่ากัน  ให้ดูในตารางโดยเรียงจากซ้ายไปขวา  ซึ่งถ้ามีหลายวงเล็บซ้อนกัน  ภาษา C จะคิดจากวงเล็บในออกมา  ดังนั้นถ้าตัวอย่างด้านบนจะเขียนนิพจน์ให้ได้ผลลัพธ์ตามต้องการ  จะต้องเขียนดังนี้
(2 + 3) * 5
ผลลัพธ์ที่ได้จะเป็น  2  บวกกับ  3  ได้  5  แล้วคูณด้วย  5  จะเท่ากับ  25
ตารางที่  4.2  ลำดับความสำคัญของตัวดำเนินการทางคณิตศาสตร์  (ยิ่งมากยิ่งสำคัญ)

ตัวดำเนินการ

ลำดับความสำคัญ

++,–

16

–  (เครื่องหมายลบหน้าตัวเลข)

15

*,  /,  %

13

+, –

12

ตัวอย่างนิพจน์  และวิธีการคำนวณ

นิพจน์

วิธีการคำนวณ

10 / 2 * 3 เอา 10 หาร 2 ได้ 5 แล้วคูณด้วย 3 จะได้ผลลัพธ์ 15
((5 + 3) * (9 – 2)) + 3 เอา 5 บวก 3 ได้ 8 แล้วเอา 9 ลบ ได้ 7 แล้วนำ 5 บวก 7 ได้ 12 แล้วนำ 12 มาบวก 3 จะได้ผลลัพธ์ 15
12 * 2 + (2 * 6) เอา 2 คูณ 6 ได้ 12 แล้วนำ 12 มาคูณ 2 ได้ 24 จากนั้นนำ 24 มาบวก 12 จะได้ผลลัพธ์ 36

โปรแกรมที่  4-1  แสดงผลของตัวดำเนินการต่าง ๆ
26

ตัวดำเนินการในการกำหนดค่า
ตัวดำเนินการที่ใช้ในการกำหนดค่านั้นจะเป็นเครื่องหมาย = การทำงานของตัวดำเนินการนี้จะทำการนำค่าที่อยู่ทางด้านขวาของตัวดำเนินการไปเก็บไว้ในตัวแปรทางด้านซ้ายของตัวดำเนินการสิ่งที่อยู่ด้านขวาของตัวดำเนินการนั้นอาจจะเป็นนิพจน์ทางคณิตศาสตร์  หรือจะเป็นตัวแปรก็ได้
รูปแบบ
[ตัวแปร] = [นิพจน์]
Simple  Assignments (การกำหนดค่าแบบง่าย)
Simple  Assignments  จะมีรูปแบบเหมือนกับรูปแบบด้านบน  หรือเหมือนกับสมการทางคณิตศาสตร์ทั่วไป
ตัวอย่าง
A = 2
Sum = 2 + A
Sum = (2 * 5) + 6
ตัวอย่าง  Simple  Assignments

ค่าของ  x

ค่าของ  y

นิพจน์

ค่าของนิพจน์

ผลลัพธ์ของนิพจน์

10

5

x=y +2

7

x=7

10

5

x=x /y

2

x=2

10

5

x=y % 4

1

x=1

 โปรแกรม  4-2  การกำหนดให้กับตัวแปรในลักษณะต่าง ๆ
27

Compound  Assignments  (การกำหนดค่าแบบผสม)
Compound  Assignment  เป็นการกำหนดที่สั้นกว่าแบบ  Simple  Assignment  ซึ่งจะใช้ตัวดำเนินการ  5  ตัวด้วยกัน  ดังนี้  *=, /=, %=, += และ-=
ตารางที่  4-3  ความหมายของตัวดำเนินการ

นิพจน์แบบ  Compound

เทียบเท่ากับนิพจน์แบบ  Simple

x * = y x = x* y
X / = y X = x/y
X % = y X =x %y
X + = y X = x+y
X – =y X =x-y

ตัวอย่าง  Simple  Assignments

ค่าของ x

ค่าของ y

นิพจน์

ค่าของนิพจน์

ผลลัพธ์ของนิพจน์

10 5 x * = y 50 X = 50
10 5 X / = t 2 X = 2
10 5 X % = y 0 X = 0
10 5 X + = y 15 X = 15
10 5 X – = y 5 X = 5

โปรแกรม  4.3  ผลของตัวดำเนินการแบบผสม
28

ตัวดำเนินการ  ++  และ  —
ตัวดำเนินการ  ++  จะทำการเพิ่มค่าของตัวแปรอีก  1  ส่วน  —  นั้นจะทำการลดค่าของตัวแปรลง  1  ซึ่งการสร้างนิพจน์ด้วยตัวดำเนินการ  2  ตัวนี้  จะมี  2  แบบ  คือ

แบบ  Postfix
รูปแบบ
[ตัวแปร] [ตัวดำเนินการ]
ตัวอย่าง
A ++
A –
ขั้นตอนการทำงานของนิพจน์แบบ Postfix เมื่อนิพจน์ x = a++
1.  ให้ x = a
2.  จากนั้นจะทำการ a = a + 1
หรือ  เมื่อนิพจน์เป็น  y = b–  จะมีขั้นตอนการทำการ  ดังนี้
1.  ให้ y = b
2.  จากนั้นจะทำการ  b = b – 1

ค่าของ a ตอนแรก

นิพจน์

ผลลัพธ์ของนิพจน์

ค่าของ a ตอนหลัง

10

a++

10

11

10

a–

10

9

โปรแกรม  4-4  แสดงผลของตัวดำเนินการ  ++  ในแบบ  Postfix
/imgs/clip_image004_0003.gif

แบบ  Prefix
รูปแบบ
[ตัวดำเนินการ] [ตัวแปร]
ตัวอย่าง
++a
–a
ขั้นตอนการทำงานของนิพจน์แบบ  Prefix  เมื่อนิพจน์  x = ++a
1.  จากนั้นจะทำการ  a = a + 1
2.  ให้  x = a
หรือ  เมื่อนิพจน์เป็น  y = –b  จะมีขั้นตอนการทำการ  ดังนี้
1.  จากนั้นจะทำการ  b = b-1
2.  ให้ y = b

ค่าของ a ตอนแรก

นิพจน์

ผลลัพธ์ของนิพจน์

ค่าของ a ตอนหลัง

10

++a

11

11

10

–a

9

9

โปรแกรม  4-5  แสดงผลของตัวดำเนินการ  ++  ในแบบ  Prefix
29

Design by Pratya |

ใส่ความเห็น