الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لغز برمجي بسيط ... طبعا مفيدا جدا

بدأه akramKamal في 25 يونيو 2009 · 7 رد · 665 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

هذا سؤال بسيط حتى نتعرف على السي شارب أكثر

السؤال : ما هو ناتج المتغير Result في كل من الأكواد التالية ؟ مع ذكر التعليل ؟

الكود الأول

int X = 0;
			int Y = 0;
			int Result = -1;
			if (X > 1 && Y++ > 0) Result = 1;
			else if (Y == 1) Result = 2;
			else Result = 3;

الكود الثاني

int X = 0;
			int Y = 0;
			int Result = -1;
			if (X > 1 & Y++ > 0) Result = 1;
			else if (Y == 1) Result = 2;
			else Result = 3;

الكود الثالث

int X = 0;
			int Y = 0;
			int Result = -1;
			if (X == 0 || Y++ > 0)
			{
				if (Y == 1) Result = 1;
				else Result = 2;
			}

الكود الرابع

int X = 0;
			int Y = 0;
			int Result = -1;
			if (X == 0 | Y++ > 0)
			{
				if (Y == 1) Result = 1;
				else Result = 2;
			}

بالتوفيق

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#2

الكود الأول 3

الكود الثاني 2

الكود الثالث 2

الكود الرابع 1

If you want to learn programming start with C++

#3

السلام عليكــم ورحمـة الله وبركاتــه ،،

الحل صحيح 100%

إذا لم يكن هناك أي إزعاج الرجاء وضع السبب وذلك لتعم الفائدة من اللغز

بالتوفيق

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#4

في حال استخدام && المقصد فيها And أي يجب تحقق الشرطين السابق واللاحق فهو مقارنة بين قيمتين من النوع BOOl

أما في حال كانت & المقصد فيها القيام بعملية منطقية And على القيمة السابقة واللاحقة

بنفس الطريقة في حال كانت || أو |

If you want to learn programming start with C++

#5

مشكور أخي ... كلامك صحيح

لكن لتوضيح الفكرة أكثر (حتى يستفيد باقي الأعضاء)

&& أو & تأخذ مدخلين وتقوم بارجاع True إذا كان كلا المدخلين True وإرجاع False إذا كان أحد المدخلين على الأقل False

لكن الفرق بين && و & هو كالتالي :

&& إذا كان أول مدخل False فإنها لا تفحص المدخل الأخر وذلك لضمان أن نتيجة العملية ستكون False

أما

& تقوم بفحص المدخلين في كلا الحالات

|| أو | تأخذ مدخلين وتقوم بارجاع True إذا كان أحد المدخلين على الأقل True وإرجاع False إذا كان كلا المدخلين False

لكن الفرق بين || و | هو كالتالي :

|| إذا كان أول مدخل True فإنها لا تفحص المدخل الأخر وذلك لضمان أن نتيجة العملية ستكون True

أما

| تقوم بفحص المدخلين في كلا الحالات

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#6
akramKamal كتب:
لكن الفرق بين && و & هو كالتالي :

&& إذا كان أول مدخل False فإنها لا تفحص المدخل الأخر وذلك لضمان أن نتيجة العملية ستكون False

شكراَ لك على هذه المعلومة لأنني كنت متحيراَ ولا أجد تفسير لها

If you want to learn programming start with C++

#7

مشكور على جهودك أخي أكرم.

#8

نعم كلام أكرم كامل هو المضبوط بالنسبة لهذه النقطة بالنسبة لif الشرطية

فى حالات أخرى يعد كلام الأخ programmer1 هو المضبوط و لكن ليس مع if

إذ أن هذه الأمور تضح جليا فى هذا الكود

int x =22;

x |= 10;
Console.WriteLine(x.ToString());
x &=23;
Console.WriteLine(x.ToString());
x ^=13;
Console.WriteLine(x.ToString());

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

مواضيع مشابهة