اذهب إلى المحتوى

السؤال

نشر

انا اتعلم البرمجة حديثا وبدأت بتعلم الخوارزميات ولدي مشكلة هي الاقواس لا اعلم ماهي فائدتها ولا اجد اي شروحات عنها واكثر من مرة يعطيني خطأ بالبرنامج بسببها ممكن احد يشرحلي اهميتها لطفا

Snapchat-2143699638.jpg

Recommended Posts

  • 0
نشر (معدل)

تشير الأقواس المتعرجة {} إلى وجود Block أي نطاق محلي أو كتلة من التعليمات المترابطة.

فعندما نعرف حلقة تقوم بعمل تكرار لتعليمات معينة، نقوم بوضع هذه التعليمات ضمن Block أي ضمن {} ,والغاية من ذلك هو تحديد التعليمات التي ستتكرر، أي لكي يفهم الكومبايلر أين تبدأ التعليمات التي تريدها أن تتكرر وأين تنتهي.

for (int i = 0; i < 5; i++) 
{								//  هنا أنت تخبر الكومبايلر أن التعليمات التي تريد أن تكررها تبدأ من هنا
  System.out.println(i);			//  خمس مرات System.out.println(i) أي سيتم تنفيذ التعليمة 
}								// وتنتهي هنا 


// for التعليمات التالية ليست ضمن القوسين المتعرجين لحلقة 
// أي طالما ليسوا ضمن القوسين فهما منفصلين عن الحلقة

int x=5;
System.out.println(x); 

أو عندما نعرف تابع فيجب أن نضع التعليمات التي يقوم بها هذا التابع ضمن Block أيضاُ، لكي يفهم الكومبايلر أين يبدأ التابع الخاص بك وأين ينتهي.

public void bar(int num1, int num2) 
{ 											//  أي هنا تبدأ التعليمات التي ينفذها التابع 
    // تعليمة 1
    // تعليمة 2
    // تعليمة 3
}										// وهنا تنتهي

أما بالنسبة للأقواس من الشكل () فهذه الأقواس نستخدمها لكي نضع ضمنها الوسطاء التي يحتاجها تابع للقيام بمهمة ما، أو مثلاً المعلومات التي تحتاجها الحلقة لتقوم بعملية التكرار.

public sum bar(int num1, int num2)  // () هنا وضعنا المعلومات التي يحتاجها التابع لكي يقوم بعمله ضمن 
{ 											
    // تعليمة 1
    // تعليمة 2
    // تعليمة 3
}										
for (int i = 0; i < 5; i++)  //    وضعنا ضمن القوسين () المعلومات التي تحتاجها الحلقة
{								
  System.out.println(i);			 
}	

الأقواس المربعة [] تستخدم لتعريف المصفوفات

int [] numbers; 	 // أي قمنا بتعريف مصفوفة 

 

تم التعديل في بواسطة Ali Haidar Ahmad
  • 0
نشر
بتاريخ 2 دقائق مضت قال سامح أشرف:

أنت تستعمل قوس إغلاق { بدلًا من قوس البداية }

حيث يجب أن يتم كتابة الكود بين قوسين بهذا الشكل  { }

لم افهم لا اعلم فائدتها الصراحه لديك اي فيديو او مكان يشرح لي الفرق بين نوعيه الاقواس ومتى استخدمها؟

  • 0
نشر

الأقواس المتعرجة مهمة جداً فهي تعتبر مثل الحاوية الذي تحتوي وتٌحيط بشيءً معين

فالأقواس المتعرجة هي التي تحدد أن هذا الكود الذي بداخلها هو خاص بالكود الذي قبل كتابة هذه الأقواس

على سبيل المثال هذا الكود

bool isTrue = true
if (isTrue){
  std::cout << "true" ;
}

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

مثال آخر 

for (int i=0; i < 4; i++){
  std::cout << i << endl;
}

الكود الذي داخل هذه الأقواس

{
  std::cout << i << endl;
}

هو خاص بما قبله

for (int i=0; i < 4; i++)

 

  • 0
نشر
بتاريخ الآن قال شمس اوس:

لم افهم لا اعلم فائدتها الصراحه لديك اي فيديو او مكان يشرح لي الفرق بين نوعيه الاقواس ومتى استخدمها؟

قد نرغب أحيانا في تنفيذ بلوك من التعليمات البرمجية إذا تحقق شرط ما او قد نرغب بتكرار مجموعة تعليمات برمجية لعدد معين من المرات و هذه الأقواس أو المعقوفات هي ما تجعلنا نعرف بداية البلوك من نهايته و تُساعد مترجم اللغة في فهم ذلك فمثلاً إن كان لدينا:

for (int i = 0; i < 5; i++) {
  // تعليمات برمجية نريد تكرارها
}

فما هو موجود بين المعقوفات سيتم تكراره 5 مرات.

بعض اللغات لا تعتمد على المعقوفات في تحديدها للبلوك فعلى سبيل المثال مفسر لغة بايثون يعتمد على المسافة البادئة للسطر البرمجي مثال:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)
  if x == "banana":
    break

تعليمة الطباعة print و تعليمة الشرط if ينتميان لنفس البلوك.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...