الخميس، 1 أكتوبر 2020

برمجة الحاسوب - المشغلين

 

برمجة الحاسوب - المشغلين


عامل في لغة البرمجة هو رمز يخبر المترجم أو المترجم الفوري بأداء عملية حسابية أو علائقية أو منطقية محددة وتحقيق نتيجة نهائية. سيشرح هذا الفصل مفهوم العوامل وسيأخذك عبر العوامل الحسابية والعلائقية الهامة المتاحة في C و Java و Python.

العمليات الحسابية

تستخدم برامج الكمبيوتر على نطاق واسع في الحسابات الرياضية. يمكننا كتابة برنامج كمبيوتر يمكنه إجراء عملية حسابية بسيطة مثل إضافة رقمين (2 + 3) ويمكننا أيضًا كتابة برنامج يمكنه حل معادلة معقدة مثل P (x) = x 4 + 7x 3 - 5x + 9. إذا كنت حتى طالبًا فقيرًا ، فيجب أن تدرك أنه في التعبير الأول 2 و 3 معامل و + عامل تشغيل. توجد مفاهيم مماثلة في برمجة الكمبيوتر.

ألق نظرة على المثالين التاليين -

2 + 3

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

تسمى هاتان العبارتان بالتعبيرات الحسابية في لغة البرمجة وتسمى علامة الجمع ، ناقص المستخدمة في هذه التعبيرات العوامل الحسابية والقيم المستخدمة في هذه التعبيرات مثل 2 و 3 و x ، وما إلى ذلك ، تسمى المعاملات. في أبسط أشكالها ، تنتج مثل هذه التعبيرات نتائج عددية.

وبالمثل ، توفر لغة البرمجة عوامل حسابية مختلفة. يسرد الجدول التالي بعض العوامل الحسابية الهامة المتوفرة في لغة البرمجة سي. افترض أن المتغير A يحمل 10 والمتغير B يحمل 20 ، إذن -

المشغل أو العاملوصفمثال
+يضيف معاملينA + B سيعطي 30
-يطرح المعامل الثاني من الأولA - B سيعطي -10
*يضاعف كلا المعاملينA * B ستعطي 200
/يقسم البسط على البسطB / A سيعطي 2
٪هذا يعطي الباقي من قسمة عدد صحيحB٪ A ستعطي 0

فيما يلي مثال بسيط لبرمجة لغة سي لفهم العوامل الحسابية المذكورة أعلاه -

#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 في القيم. لذلك ، نحتاج إلى مساعدة بعض الرموز لكتابة مثل هذه التعبيرات التي تسمى التعبيرات العلائقية. إذا استخدمنا لغة البرمجة C ، فسيتم كتابتها على النحو التالي -

(A > B)

هنا ، استخدمنا رمزًا> ويسمى المشغل العلائقي وفي أبسط أشكاله ، ينتج عنه نتائج منطقية مما يعني أن النتيجة ستكون إما صحيحة أو خاطئة. وبالمثل ، توفر لغة البرمجة العديد من العوامل العلائقية. يسرد الجدول التالي عددًا قليلاً من العوامل العلائقية المهمة المتوفرة في لغة البرمجة C. افترض أن المتغير A يحمل 10 والمتغير B يحمل 20 ، إذن -

المشغل أو العاملوصفمثال
==للتحقق مما إذا كانت قيم المعاملين متساوية أم لا ، إذا كانت الإجابة بنعم ، يصبح الشرط صحيحًا.(أ == ب) ليس صحيحًا.
! =للتحقق مما إذا كانت قيم المعاملين متساوية أم لا ، إذا كانت القيم غير متساوية ، يصبح الشرط صحيحًا.(A! = B) صحيح.
>للتحقق مما إذا كانت قيمة المعامل الأيسر أكبر من قيمة المعامل الأيمن ، وإذا كانت الإجابة بنعم يصبح الشرط صحيحًا.(A> B) ليس صحيحًا.
<للتحقق مما إذا كانت قيمة المعامل الأيسر أقل من قيمة المعامل الأيمن ، وإذا كانت الإجابة بنعم يصبح الشرط صحيحًا.(A <B) هو الصحيح.
> =للتحقق مما إذا كانت قيمة المعامل الأيسر أكبر من قيمة المعامل الأيمن أو مساوية لها ، وإذا كانت الإجابة بنعم يصبح الشرط صحيحًا.(أ> = ب) ليس صحيحًا.
<=للتحقق مما إذا كانت قيمة المعامل الأيسر أقل من قيمة المعامل الأيمن أو مساوية لها ، وإذا كانت الإجابة بنعم يصبح الشرط صحيحًا.(أ <= ب) صحيح.

هنا ، سوف نعرض لك مثالًا واحدًا على البرمجة بلغة C التي تستخدم عبارة if الشرطية . على الرغم من أن هذه العبارة ستتم مناقشتها لاحقًا في فصل منفصل ، ولكن باختصار ، نستخدم عبارة if للتحقق من شرط وإذا كان الشرط صحيحًا ، فسيتم تنفيذ نص عبارة if ، وإلا تم تخطي نص عبارة if .

#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 ، ثم -

المشغل أو العاملوصفمثال
&&يسمى عامل التشغيل المنطقي AND. إذا كان كلا المعاملين غير صفري ، يصبح الشرط صحيحًا.(A && B) خطأ.
||يسمى عامل التشغيل المنطقي. إذا كان أي من المعاملين غير صفري ، يصبح الشرط صحيحًا.(A || B) صحيح.
!يسمى المنطقي ليس عامل. تُستخدم لعكس الحالة المنطقية لمعاملها. إذا كان الشرط صحيحًا ، فسيكون عامل التشغيل المنطقي NOT خطأ.(A && B) صحيح.

جرب المثال التالي لفهم جميع العوامل المنطقية المتاحة في لغة البرمجة C -

#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

عوامل التشغيل في جافا

فيما يلي البرنامج المكافئ المكتوب بلغة جافا. توفر برمجة 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

عوامل التشغيل في بايثون

فيما يلي البرنامج المكافئ المكتوب بلغة بايثون. سيقوم هذا البرنامج بإنشاء متغيرين أ و ب وفي نفس الوقت ، تعيين 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

التسميات: