วันอาทิตย์ที่ 26 กุมภาพันธ์ พ.ศ. 2560

1.4 นิพจน์ python

1.4 นิพจน์

นิพจน์ (Expression) คือ ข้อกำหนดที่ใช้ในการคำนวณหาค่าต่าง ๆ ยกตัวอย่างง่าย ๆ  ที่เห็นได้ชัดก็อย่างเช่นสูตรคณิตศาสตร์ต่าง ๆ   ซึ่งสูตรเหล่านั้นจะประกอบไปด้วยโอเปอร์แรนด์  (Operand)  โอเปอร์แรนด์ คือ ตัวแปร หรือค่าคงที่ หรือฟังก์ชันต่าง ๆ มาคำนวณอาจจะมีตั้งแต่หนึ่งตัวหรือมากว่า  โดยการใช้โอเปร์เรเตอร์  (Operator)  ซึ่งเป็นสัญลักษณ์ที่ใช้ในการคำนวณหรือเปรียบเทียบทางคณิตศาสตร์มาเป็นตัวเชื่อมของโอเปอร์แรนด์  ตัวอย่างเช่น  บวก (+)  ลบ (-)  คูณ (*)  หาร (/)  เป็นต้น  เพื่อจะเป็นการเข้าใจนิพจน์ดียิ่งขึ้นให้พิจารณาจากสูตรการหาพื้นที่ของวงกลมต่อไปนี้คือ      p  *  radius  *  radius
                                               Expression  คือ     p  *  radius  *  radius
                                               Operand  มี  2  ตัว  คือ
                                                         Variable  (ตัวแปร)  คือ  radius
                                                         Constant  (ค่าคงที่)   คือ  p
                                               Operator   คือ  *

ตารางที่ 1.5 สัญลักษณ์ทางคณิตศาสตร์ที่ใช้ในการคำนวณในภาษาไพธอน

สัญลักษณ์
การคำนวณ
ตัวอย่าง
อธิบาย
+
บวก  (Addition)
x = y + z
นำค่าในตัวแปร y บวกด้วยค่าในตัวแปร z นำผลลัพธ์เก็บในตัวแปร x
-
ลบ  (Subtraction)
x = y - z
นำค่าในตัวแปร y ลบด้วยค่าในตัวแปร z นำผลลัพธ์เก็บในตัวแปร x
*
คูณ  (Multiplication)
x = y * z
นำค่าในตัวแปร y คูณด้วยค่าในตัวแปร z นำผลลัพธ์เก็บในตัวแปร x
/
หาร  (Division)
x = y / z
นำค่าในตัวแปร y ตั้งหารด้วยค่าในตัวแปร z นำผลลัพธ์เก็บในตัวแปร x
%
หารเอาเศษ  (modulo)
x = y % z
นำค่าในตัวแปร y หารด้วยค่าในตัวแปร z นำเศษที่ได้เก็บในตัวแปร x
**
ยกกำลัง
x = y ** z
นำค่าในตัวแปร y คูณยกกำลังด้วยค่าในตัวแปร z นำผลลัพธ์เก็บในตัวแปร x
 // หารปัดเศษ x  = y // z นำค่าในตัวแปร  y ตั้งแล้วหารด้วยตัวแปร z ผลลัพธ์เก็บในตัวแปร y ผลลัพธ์ปัดเศษทิ้ง เช่น 5/2 คำตอบคือ 2

        จากตารางที่  1.5 จะเห็นได้ว่าสัญลักษณ์ที่ใช้คำนวณในภาษาไพธอนจะมีอยู่ 6  ตัวด้วยกันคือ  บวก  ลบ  คูณ  หาร  หารเอาเศษยกกำลังและหารไม่ปัดเศษ  ซึ่งการคำนวณจะขึ้นอยู่กับชนิดของตัวแปรว่าเป็นชนิดข้อมูลแบบใดที่มากระทำต่อกัน  ซึ่งผลที่ได้เมื่อคำนวณเสร็จแล้วอาจจะเป็นชนิดข้อมูลแบบเดิมหรืออาจจะกลายเป็นชนิดข้อมูลตัวใหม่ก็ได้   ซึ่งการคำนวณแต่ละตัวจะมีวิธีการคำนวณดังตัวอย่างต่อไปนี้ 
     การบวก (Addition)
            integer  +   integer  =  integer       เช่น      5    +  2     =   7
                float       +   integer  =   float        เช่น     5.5  +  2    =   7.5
                integer  +   float     =   float          เช่น     2     +  5.5 =   7.5
                float      +   float      =   float         เช่น     2.5  +  4.2  =  6.7

  การลบ  (Subtraction)
                integer   -   integer  =  integer   เช่น    6    -  1     =   5
                float      -   integer  =   float     เช่น     3.3  -  3    =   0.3
                integer  -   float      =   float     เช่น     3   -  3.3    =   -0.3
                float  -   float         =   float      เช่น     1.5  -  2.7  =  -1.2

การคูณ  (Multiplication)
                integer  *   integer  =  integer   เช่น      4    *  3     =   12
                float   *   integer  =   float     เช่น     2.7  *  1    =   2.7
                integer  *   float =   float     เช่น     1     *  2.7 =   2.7
                float  *   float =   float    เช่น     3.2  *  2.4  =  7.68

การหาร  (Division)
                integer  /   integer  =   integer            เช่น      5    /  2     =   2
                float /   integer  =   float     เช่น     3.2  /  2     =   1.6
                integer  /   float =   float     เช่น     2     /  3.2  =   0.625
                float  /   float =   float    เช่น     2.5  /  1.5  =   1.67

การหารเอาเศษ  (Remainder)
                integer  %   integer  =   integer        เช่น      5   %  2     =   1
หมายเหตุ  การหารเอาเศษไม่ใช่เอาเศษหลังจุดทศนิยมแต่จะเอาเศษที่เหลือจากการหารไม่ลงตัวมาเป็นผลลัพธ์


นิพจน์ทางตรรกศาสตร์ (Boolean Logical Expression) เป็นนิพจน์ที่แสดงความสัมพันธ์ของการเปรียบเทียบ  โดยการใช้ตัวเชื่อมด้วยโอเปอร์เรเตอร์ในการเปรียบเทียบเช่น  มากกว่า  น้อยกว่า  เท่ากับ  ไม่เท่ากับ  เป็นต้น  และยังมีสัญลักษณ์ทางตรรกศาสตร์ซึ่งได้แก่  and  or  not  ที่ใช้เปรียบเทียบเงื่อนไขที่มีมากกว่าหนึ่งเงื่อนไข

ตารางที่ 1.6  สัญลักษณ์เปรียบเทียบทางคณิตศาสตร์

เครื่องหมาย
ความหมาย
 ==
>
<
<=
>=
<>, !=
เท่ากับ
น้อยกว่า
มากกว่า
น้อยกว่าหรือเท่ากับ
มากกว่าหรือเท่ากับ
ไม่เท่ากับ

ตารางที่ 1.7 เปรียบเทียบตรรกะทางคณิตศาสตร์

เงื่อนไข 1
เงื่อนไข 2
not 1
1 and 2
1 or 2
T
T
F
F
T
F
T
F
F
F
T
T
T
F
F
F
T
T
T
F

ตัวอย่างที่ 1.   กำหนดให้  A = 1,  B = 2, C = 3
                     ถ้า    (A != B)   and  ((A > C)  or  (C > B))  จะมีผลลัพธ์เป็นจริงหรือเท็จ

                      ผลลัพธ์ คือ     จริง
 ลำดับการกระทำของเครื่องหมาย 
            นิพจน์ที่ใช้ในการคำนวณอาจมีเครื่องหมายการคำนวณ เช่น +  -  *  /  หรือการเปรียบเทียบเงื่อนไขต่าง ๆ จะต้องมีเครื่องหมายที่ใช้ในการเปรียบเทียบ ให้ถูกต้องตรงกับหมายของการทำงาน  และผู้เขียนคำสั่งโปรแกรมต้องทราบลำดับการทำงานของเครื่องหมายในแต่ละเครื่องหมาย ว่าเครื่องหมายใดจะประมวลผลก่อนหรือหลัง
 ตารางที่ 1.8 ลำดับการคำนวณของเครื่องหมายในภาษาไพธอน
ลำดับ
เครื่องหมาย
ความหมาย
1
**
ยกกำลัง
2
*, /, %
คูณ  หาร  หารเอาเศษ
3
+, -
บวก ลบ
4
<, <=, >, >=, <>, !=, ==
น้อยกว่า น้อยกว่าหรือเท่ากับ มากกว่า 
มากกว่าหรือเท่ากับ ไม่เท่ากับ ไม่เท่ากับ เท่ากับ
5
not
บูลีนไม่
6
and
บูลีนและ
7
or
บูลีนหรือ

        โดยทั่วไปแล้วในการคำนวณนิพจน์หรือการเปรียบเทียบเงื่อนไขที่กระทำโดยคน จะคำนวณจากซ้ายมือไปขวามือตามลำดับ  แต่การประมวลผลด้วยเครื่องคอมพิวเตอร์นั้นจะใช้หลักการให้ความสำคัญกับเครื่องหมายที่ใช้กับนิพจน์นั้น ๆ โดยเครื่องหมายที่มีลำดับความสำคัญมากกว่าจะได้สิทธิ์ประมวลผลก่อน  แม้ว่าเครื่องหมายนั้นจะอยู่ด้านขวามือก็ตาม  แต่ถ้าเครื่องหมายใด ๆ มีลำดับความสำคัญเท่ากันโปรแกรมคอมพิวเตอร์จะประมวลผลจากซ้ายมือไปขวามือตามปกติเช่นเดียวกับการคำนวณด้วยคน

ตัวอย่างที่ 2   จากการคำนวณต่อไปนี้   price จะได้คำตอบเท่ากับเท่าไร
                          price = cost + packing * 2 – discount;
                 กำหนดให้
                           cost  =  100,  packing = 10  และ  discount = 5

ลำดับการคำนวณด้วยคอมพิวเตอร์จะเป็นดังนี้
1. เริ่มต้นจากตัวแปร  packing  คูณด้วย  2  ก่อน  เนื่องจากเครื่องหมาย  *  ต้องทำก่อนเครื่องหมาย  +  หรือ  -  ค่าที่ได้เท่ากับ  10 * 2  เท่ากับ  20
2. จากนั้นจะคำนวณจากซ้ายมือไปขวามือ  เนื่องจากเครื่องหมาย  +  และ  -  มีลำดับความสำคัญเท่ากัน  ดังนั้นจะนำเอา  cost  +  ผลลัพธ์ที่ได้จากข้อ 1 จึงได้ผลลัพธ์เท่ากับ  120
3. สุดท้าย นำเอาผลลัพธ์จากขั้นที่  2  ลบด้วย  discount  หรือ  120 – 5  เพราะฉะนั้นคำตอบที่ได้  price  =  115
 การเปลี่ยนลำดับการคำนวณนิพจน์ในภาษาไพธอน  สามารถทำได้โดยการใส่เครื่องหมายวงเล็บ  คร่อมส่วนของนิพจน์ที่ต้องการให้ทำการคำนวณก่อน ซึ่งเป็นวิธีการคำนวณเช่นเดียวกับคน เช่น
                             
price = ((cost + packing) * 2) – discount;

หมายถึงให้นำ cost บวกกับ packing ก่อนแล้วมาคูณด้วย 2 จากนั้นจึงไปลบด้วย discount ผลลัพธ์ที่ได้จึงเท่ากับ 215


การแปลงนิพจน์ทั่วไปให้เป็นนิพจน์ในภาษาไพธอน

        โดยทั่วไปแล้วเราไม่สามารถที่จะนำนิพจน์คณิตศาสตร์ทั่ว ๆ ไปนำมาใช้ในภาษาไพธอนได้เลยอย่างเช่นนิพจน์คณิตศาสตร์ต่อไปนี้คือ    ax2+bx+c  จะนำไปใช้เขียนโปรแกรมเลยไม่ได้ผู้เขียนโปรแกรมจะต้องแปลงให้เป็นนิพจน์ที่โปรแกรมภาษาคอมพิวเตอร์สามารถนำไปใช้ได้  ถ้าสังเกตให้ดีจะเห็นว่า   ax2   จริง  ๆ แล้วจัดเป็นหนึ่งนิพจน์    ถ้าแปลงให้เป็นนิพจน์ของภาษาไพธอนจะได้  a*x*x    แล้ว  bx  เป็นอีกนิพจน์หนึ่งถ้าแปลงเป็นนิพจน์ของภาษาไพธอนคือ  b*x  โดยนิพจน์สองตัวนี้ถูกเชื่อมด้วยโอเปอร์เรเตอร์  +  ก่อนที่จะนำนิพจน์สองตัวนี้มาเชื่อมด้วยเครื่องหมาย  +  ให้ใส่วงเล็บเปิดปิดคร่อมนิพจน์แต่ละตัวก่อนถึงจะนำมาบวกกันได้  เพราะฉะนั้นถ้าเขียนเป็นนิพจน์ในภาษาไพธอนจะได้ดังนี้คือ   (a*x*x)+(b*x)+c  เป็นต้น
ตัวอย่าง จากนิพจน์คณิตศาสตร์ คือ
ถ้าแปลงเป็นนิพจน์ในภาษาไพธอนจะได้ (Y * Y) / (X * X)



ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...