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

برمجة الحاسوب - الصيغة الأساسية

 برمجة الحاسوب - الصيغة  الأساسية

رى كيف يمكن كتابتها باستخدام لغات البرمجة المختلفة.

برنامج Hello World في C

جرب المثال التالي باستخدام خيار المترجم عبر الإنترنت المتاح على www.compileonline.com .

بالنسبة لمعظم الأمثلة الواردة في هذا البرنامج التعليمي ، ستجد خيار جربه في أقسام كود موقعنا في الزاوية اليمنى العليا والتي ستأخذك إلى المترجم عبر الإنترنت.

حاول تغيير المحتوى داخل printf () ، أي اكتب أي شيء بدلاً من Hello World! ثم تحقق من نتيجتها. إنها تطبع فقط كل ما تحتفظ به داخل علامتي الاقتباس المزدوجة.

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
}

والتي تنتج النتيجة التالية -

Hello, World!

سيساعدنا برنامج Hello World الصغير هذا على فهم المفاهيم الأساسية المختلفة المتعلقة ببرمجة لغة سي.

نقطة دخول البرنامج

في الوقت الحالي ، ما عليك سوى أن تنسى عبارة #include <stdio.h> ، لكن احتفظ بملاحظة أنه يجب عليك وضع هذا البيان في أعلى برنامج C.

يبدأ كل برنامج C بـ main () ، والتي تسمى الوظيفة الرئيسية ، ثم يتبعها دعامة أيسر متعرجة. تتم كتابة بقية تعليمات البرنامج فيما بينها ، وفي النهاية ينهي البرنامج قوسًا مجعدًا أيمنًا.

يسمى جزء الترميز داخل هذين القوسين المتعرجين بجسم البرنامج. يمكن أن يكون القوس المتعرج الأيسر في نفس السطر الرئيسي () {أو في السطر التالي كما هو مذكور في البرنامج أعلاه.

المهام

الوظائف عبارة عن وحدات صغيرة من البرامج ويتم استخدامها لتنفيذ مهمة محددة. على سبيل المثال ، يستخدم البرنامج أعلاه وظيفتين: main () و printf () . هنا ، توفر الوظيفة main () نقطة الدخول لتنفيذ البرنامج ويتم استخدام الوظيفة الأخرى printf () لطباعة معلومات على شاشة الكمبيوتر.

يمكنك كتابة الوظائف الخاصة بك والتي سنراها في فصل منفصل ، ولكن برمجة C نفسها توفر العديد من الوظائف المضمنة مثل main () و printf () وما إلى ذلك ، والتي يمكننا استخدامها في برامجنا بناءً على متطلباتنا.

تستخدم بعض لغات البرمجة كلمة روتين فرعي بدلاً من دالة ، لكن وظائفها متشابهة إلى حد ما.

تعليقات

يمكن أن يحتوي برنامج التيار المتردد على بيانات مرفقة داخل / * .....*/ . تسمى هذه العبارات بالتعليقات وتستخدم هذه التعليقات لجعل البرامج سهلة الاستخدام وسهلة الفهم. الشيء الجيد في التعليقات هو تجاهلها تمامًا من قبل المترجمين والمترجمين الفوريين. حتى تتمكن من استخدام أي لغة تريد كتابة تعليقاتك.

المسافات

عندما نكتب برنامجًا باستخدام أي لغة برمجة ، فإننا نستخدم العديد من الأحرف القابلة للطباعة لإعداد عبارات البرمجة. هذه الأحرف القابلة للطباعة هي a ، b ، c ، ...... z ، A ، B ، C ، ..... Z ، 1 ، 2 ، 3 ، ...... 0 ،! ، @ ، # ، $ ،٪ ، ^ ، & ، * ، (،) ، - ، _ ، + ، = ، \ ، | ، {،} ، [،] ،: ، ؛ ، <،> ،؟ ، / ، \ ، ~ . ". "،" . آمل ألا أفقد أي أحرف قابلة للطباعة من لوحة المفاتيح.

بصرف النظر عن هذه الأحرف ، هناك بعض الأحرف التي نستخدمها كثيرًا ولكنها غير مرئية في برنامجك وهذه الأحرف هي مسافات وعلامات تبويب (\ t) وأسطر جديدة (\ n). تسمى هذه الأحرف المسافات البيضاء .

هذه الأحرف الثلاثة ذات المسافات البيضاء المهمة شائعة في جميع لغات البرمجة وتظل غير مرئية في مستندك النصي -

مسافة بيضاءتفسيرالتمثيل
خط جديدلإنشاء خط جديد
التبويبلإنشاء علامة تبويب.\ t
الفراغلخلق مساحة.مساحة فارغة

يُعرف السطر الذي يحتوي على مسافة بيضاء فقط ، ربما مع تعليق ، على أنه سطر فارغ ، ويتجاهله مترجم C تمامًا. المسافة البيضاء هي المصطلح المستخدم في C لوصف الفراغات وعلامات التبويب وأحرف السطر الجديد والتعليقات. لذا يمكنك كتابة printf ("Hello، World!")؛ كما هو مبين أدناه. هنا جميع المساحات التي تم إنشاؤها حول "Hello، World!" غير مجدية وسيتجاهلها المترجم في وقت التجميع.

#include <stdio.h>

int main() {

   /* printf() function to write Hello, World! */
   
   printf(    "Hello, World!"      );
   
}

والتي تنتج النتيجة التالية -

Hello, World!

إذا جعلنا كل أحرف المسافات البيضاء مرئية ، فسيبدو البرنامج أعلاه بهذا الشكل ولن تتمكن من تجميعه -

#include <stdio.h>\n
\n
int main()\n
{
   \n
   \t/* printf() function to write Hello, World! */
   \n 
   \tprintf(\t"Hello, World!"\t);\n
   \n
}\n

فاصلة منقوطة

يجب إنهاء كل عبارة فردية في برنامج C بفاصلة منقوطة ( ؛ ) ، على سبيل المثال ، إذا كنت تريد كتابة "Hello، World!" مرتين ، فسيتم كتابته على النحو التالي -

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!\n" );
   printf( "Hello, World!" );
}

سينتج عن هذا البرنامج النتيجة التالية -

Hello, World! 
Hello, World!

هنا ، نستخدم حرف سطر جديد \ n في أول دالة printf () لإنشاء سطر جديد. دعونا نرى ما سيحدث إذا لم نستخدم حرف السطر الجديد هذا -

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
   printf( "Hello, World!" );
}

سينتج عن هذا البرنامج النتيجة التالية -

Hello, World! Hello, World!

سوف نتعلم المعرفات والكلمات الرئيسية في الفصول القليلة القادمة.

شرح البرنامج

دعونا نفهم كيف يعمل برنامج سي أعلاه. بادئ ذي بدء ، يتم تحويل البرنامج أعلاه إلى تنسيق ثنائي باستخدام مترجم C. لذلك دعونا نضع هذا الكود في ملف test.c ونقوم بتجميعه على النحو التالي -

$gcc test.c -o demo

إذا كان هناك أي خطأ نحوي (أخطاء نحوية في مصطلحات الكمبيوتر) ، فإننا نقوم بإصلاحه قبل تحويله إلى تنسيق ثنائي. إذا سارت الأمور على ما يرام ، فإنه ينتج ملفًا ثنائيًا يسمى demo . أخيرًا ، نقوم بتنفيذ العرض الثنائي الناتج على النحو التالي -

$./demo

والتي تنتج النتيجة التالية -

Hello, World!

هنا ، عندما نقوم بتنفيذ ملف a.out الثنائي ، يدخل الكمبيوتر داخل البرنامج بدءًا من main () ويواجه تعليمة printf (). احتفظ بملاحظة أن السطر الموجود داخل /*....*/ عبارة عن تعليق ويتم تصفيته في وقت التجميع. لذا فإن وظيفة printf () ترشد الكمبيوتر لطباعة السطر المحدد على شاشة الكمبيوتر. أخيرًا ، يواجه قوسًا متعرجًا أيمنًا يشير إلى نهاية الوظيفة الرئيسية () ويخرج من البرنامج.

خطأ في بناء الجملة

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

#include <stdio.h>

main() {
   printf("Hello, World!")
}

سينتج عن هذا البرنامج النتيجة التالية -

main.c: In function 'main':
main.c:7:1: error: expected ';' before '}' token
 }
 ^

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

برنامج Hello World في Java

فيما يلي البرنامج المكافئ المكتوب بلغة جافا. سينتج هذا البرنامج أيضًا نفس النتيجة Hello، World! .

public class HelloWorld { 
   public static void main(String []args) {
      /* println() function to write Hello, World! */
      System.out.println("Hello, World!");     
   }
}

والتي تنتج النتيجة التالية -

Hello, World!

برنامج Hello World بلغة Python

فيما يلي البرنامج المكافئ المكتوب بلغة بايثون. سينتج هذا البرنامج أيضًا نفس النتيجة Hello، World! .

#  print function to write Hello, World! */
print "Hello, World!"

والتي تنتج النتيجة التالية -

Hello, World!

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

لا تتطلب بايثون فاصلة منقوطة (؛) لإنهاء العبارة ، بل يعني السطر الجديد دائمًا إنهاء العبارة.

التسميات: