การเขียนโปรแกรมคอมพิวเตอร์ - ผู้ปฏิบัติงาน

ตัวดำเนินการในภาษาโปรแกรมคือสัญลักษณ์ที่บอกให้คอมไพเลอร์หรือล่ามดำเนินการทางคณิตศาสตร์เชิงสัมพันธ์หรือเชิงตรรกะที่เฉพาะเจาะจงและสร้างผลลัพธ์สุดท้าย บทนี้จะอธิบายแนวคิดของoperators และจะนำคุณผ่านตัวดำเนินการทางคณิตศาสตร์และเชิงสัมพันธ์ที่สำคัญที่มีอยู่ใน C, Java และ Python

ตัวดำเนินการเลขคณิต

โปรแกรมคอมพิวเตอร์ใช้กันอย่างแพร่หลายสำหรับการคำนวณทางคณิตศาสตร์ เราสามารถเขียนโปรแกรมคอมพิวเตอร์ซึ่งสามารถคำนวณง่ายๆเช่นการบวกตัวเลขสองตัว (2 + 3) และเรายังสามารถเขียนโปรแกรมซึ่งสามารถแก้สมการที่ซับซ้อนได้เช่น P (x) = x 4 + 7x 3 - 5x + 9 หากคุณเคยเป็นนักเรียนที่ยากจนคุณต้องทราบว่าในนิพจน์แรก 2 และ 3 เป็นตัวถูกดำเนินการและ + เป็นตัวดำเนินการ มีแนวคิดที่คล้ายกันในการเขียนโปรแกรมคอมพิวเตอร์

ดูสองตัวอย่างต่อไปนี้ -

2 + 3

P(x) = x4 + 7x3 - 5x + 9.

คำสั่งทั้งสองนี้เรียกว่านิพจน์เลขคณิตในภาษาโปรแกรมและ plus, minusที่ใช้ในนิพจน์เหล่านี้เรียกว่าตัวดำเนินการทางคณิตศาสตร์และค่าที่ใช้ในนิพจน์เหล่านี้เช่น 2, 3 และ x เป็นต้นเรียกว่าตัวถูกดำเนินการ ในรูปแบบที่ง่ายที่สุดนิพจน์ดังกล่าวจะให้ผลลัพธ์ที่เป็นตัวเลข

ในทำนองเดียวกันภาษาโปรแกรมจะให้ตัวดำเนินการทางคณิตศาสตร์ต่างๆ ตารางต่อไปนี้แสดงรายการตัวดำเนินการทางคณิตศาสตร์ที่สำคัญบางตัวที่มีอยู่ในโปรแกรมภาษาซี สมมติว่าตัวแปร A ถือ 10 และตัวแปร B ถือ 20 จากนั้น -

ตัวดำเนินการ คำอธิบาย ตัวอย่าง
+ เพิ่มสองตัวถูกดำเนินการ A + B จะให้ 30
- ลบตัวถูกดำเนินการที่สองจากตัวแรก A - B จะให้ -10
* คูณตัวถูกดำเนินการทั้งสอง A * B จะให้ 200
/ หารตัวเศษด้วยตัวเศษ B / A จะให้ 2
% สิ่งนี้ให้ส่วนที่เหลือของการหารจำนวนเต็ม B% A จะให้ 0

ต่อไปนี้เป็นตัวอย่างง่ายๆของการเขียนโปรแกรม C เพื่อทำความเข้าใจตัวดำเนินการทางคณิตศาสตร์ข้างต้น -

#include <stdio.h>

int main() {
   int a, b, c;
   
   a = 10;
   b = 20;
   
   c = a + b;   
   printf( "Value of c = %d\n", c);
   
   c = a - b;   
   printf( "Value of c = %d\n", c);
   
   c = a * b;   
   printf( "Value of c = %d\n", c);
   
   c = b / a;   
   printf( "Value of c = %d\n", c);
   
   c = b % a;   
   printf( "Value of c = %d\n", c);
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0

ตัวดำเนินการเชิงสัมพันธ์

พิจารณาสถานการณ์ที่เราสร้างตัวแปรสองตัวและกำหนดค่าบางอย่างดังนี้ -

A = 20
B = 10

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

(A > B)

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

ตัวดำเนินการ คำอธิบาย ตัวอย่าง
== ตรวจสอบว่าค่าของตัวถูกดำเนินการสองค่าเท่ากันหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง (A == B) ไม่เป็นความจริง
! = ตรวจสอบว่าค่าของตัวถูกดำเนินการสองค่าเท่ากันหรือไม่หากค่าไม่เท่ากันเงื่อนไขจะกลายเป็นจริง (A! = B) เป็นจริง
> ตรวจสอบว่าค่าของตัวถูกดำเนินการด้านซ้ายมากกว่าค่าของตัวถูกดำเนินการด้านขวาหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง (A> B) ไม่เป็นความจริง
< ตรวจสอบว่าค่าของตัวถูกดำเนินการด้านซ้ายน้อยกว่าค่าของตัวถูกดำเนินการด้านขวาหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง (A <B) เป็นจริง
> = ตรวจสอบว่าค่าของตัวถูกดำเนินการด้านซ้ายมากกว่าหรือเท่ากับค่าของตัวถูกดำเนินการด้านขวาหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง (A> = B) ไม่เป็นความจริง
<= ตรวจสอบว่าค่าของตัวถูกดำเนินการด้านซ้ายน้อยกว่าหรือเท่ากับค่าของตัวถูกดำเนินการด้านขวาหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง (A <= B) เป็นจริง

ที่นี่เราจะแสดงตัวอย่างหนึ่งของการเขียนโปรแกรม C ซึ่งใช้ประโยชน์จาก if conditional statement. แม้ว่าข้อความนี้จะถูกกล่าวถึงในอีกบทหนึ่งในภายหลัง แต่ในระยะสั้นเราใช้if statement เพื่อตรวจสอบเงื่อนไขและถ้าเงื่อนไขนั้นเป็นจริงร่างกายของ if statement จะถูกดำเนินการมิฉะนั้นร่างกายของ if statement ถูกข้ามไป

#include <stdio.h>

int main() {
   int a, b;
   
   a = 10;
   b = 20;
   
   /* Here we check whether a is equal to 10 or not */
   if( a == 10 ) {
	   
      /* if a is equal to 10 then this body will be executed */
      printf( "a is equal to 10\n");
   }
   
   /* Here we check whether b is equal to 10 or not */
   if( b == 10 ) {
	
      /* if b is equal to 10 then this body will be executed */
      printf( "b is equal to 10\n");
   }
   
   /* Here we check if a is less b than or not */
   if( a < b ) {
	
      /* if a is less than b then this body will be executed */
      printf( "a is less than b\n");
   }
   
   /* Here we check whether a and b are not equal */
   if( a != b ) {
	
      /* if a is not equal to b then this body will be executed */
      printf( "a is not equal to b\n");
   }
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

a is equal to 10
a is less than b
a is not equal to b

ตัวดำเนินการทางตรรกะ

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

ตารางต่อไปนี้แสดงตัวดำเนินการทางตรรกะทั้งหมดที่ภาษา C สนับสนุน สมมติตัวแปรA ถือ 1 และตัวแปร B ถือ 0 แล้ว -

ตัวดำเนินการ คำอธิบาย ตัวอย่าง
&& เรียกว่าตัวดำเนินการ Logical AND ถ้าตัวถูกดำเนินการทั้งสองไม่ใช่ศูนย์เงื่อนไขจะกลายเป็นจริง (A && B) เป็นเท็จ
|| เรียกว่า Logical OR Operator หากตัวถูกดำเนินการสองตัวใดตัวหนึ่งไม่ใช่ศูนย์เงื่อนไขจะกลายเป็นจริง (A || B) เป็นจริง
! เรียกว่า Logical NOT Operator ใช้เพื่อย้อนกลับสถานะตรรกะของตัวถูกดำเนินการ หากเงื่อนไขเป็นจริงตัวดำเนินการ Logical NOT จะสร้างเท็จ ! (A && B) เป็นเรื่องจริง

ลองใช้ตัวอย่างต่อไปนี้เพื่อทำความเข้าใจตัวดำเนินการทางตรรกะทั้งหมดที่มีในโปรแกรมภาษาซี -

#include <stdio.h>

int main() {
   int a = 1;
   int b = 0;

   if ( a && b ) {
	
      printf("This will never print because condition is false\n" );
   }
   if ( a || b ) {
	
      printf("This will be printed print because condition is true\n" );
   }
   if ( !(a && b) ) {
	
      printf("This will be printed print because condition is true\n" );
   }
}

เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้นโปรแกรมจะให้ผลลัพธ์ดังนี้ -

This will be printed print because condition is true
This will be printed print because condition is true

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

ต่อไปนี้เป็นโปรแกรมเทียบเท่าที่เขียนด้วย Java การเขียนโปรแกรม C และ Java จัดเตรียมชุดตัวดำเนินการและประโยคเงื่อนไขที่เหมือนกันเกือบทั้งหมด โปรแกรมนี้จะสร้างตัวแปรสองตัวa และ bคล้ายกับการเขียนโปรแกรม C มากจากนั้นเรากำหนด 10 และ 20 ในตัวแปรเหล่านี้และสุดท้ายเราจะใช้ตัวดำเนินการทางคณิตศาสตร์และเชิงสัมพันธ์ที่แตกต่างกัน -

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

public class DemoJava {
   public static void main(String []args) {
      int a, b, c;
   
      a = 10;
      b = 20;
   
      c = a + b;   
      System.out.println("Value of c = " + c );
   
      c = a - b;
      System.out.println("Value of c = " + c );
   
      c = a * b;   
      System.out.println("Value of c = " + c );
   
      c = b / a;   
      System.out.println("Value of c = " + c );
   
      c = b % a;   
      System.out.println("Value of c = " + c );
      
      if( a == 10 ) {
		
         System.out.println("a is equal to 10" );
      }
   }
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0
a is equal to 10

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

ต่อไปนี้เป็นโปรแกรมเทียบเท่าที่เขียนด้วย Python โปรแกรมนี้จะสร้างตัวแปรสองตัวa และ bและในเวลาเดียวกันให้กำหนด 10 และ 20 ในตัวแปรเหล่านั้น โชคดีที่การเขียนโปรแกรม C และภาษาโปรแกรม Python มีชุดตัวดำเนินการที่เหมือนกันเกือบทั้งหมด โปรแกรมนี้จะสร้างตัวแปรสองตัวa และ bคล้ายกับการเขียนโปรแกรม C มากจากนั้นเรากำหนด 10 และ 20 ในตัวแปรเหล่านี้และสุดท้ายเราจะใช้ตัวดำเนินการทางคณิตศาสตร์และเชิงสัมพันธ์ที่แตกต่างกัน

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

a = 10
b = 20
   
c = a + b   
print "Value of c = ", c

c = a - b   
print "Value of c = ", c

c = a * b   
print "Value of c = ", c

c = a / b   
print "Value of c = ", c

c = a % b   
print "Value of c = ", c

if( a == 10 ):
   print "a is equal to 10"

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Value of c =  30
Value of c =  -10
Value of c =  200
Value of c =  0
Value of c =  10
a is equal to 10