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

[ تمت الإجابة ]طلب شرح استخدام العلميات المنطقية في الشرط

بدأه طالبة c++ في 7 ديسمبر 2012 · 2 رد · 509 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كود 1

#include<iostream>
using namespace std;
int main()
{
int x= 10;
int y=9;
if(y!=x-- || x==10)
{
cout<<x;
}
return 0;
}

هذا كود2

#include<iostream>
using namespace std;
int main()
{
int x= 10;
int y=9;
if(x==10 || y!=x--)
{
cout<<x;
}
return 0;
}

هذا كود 3

#include<iostream>
using namespace std;
int main()
{
int x= 10;
int y=9;
if(y==x-- || x==10)
{
cout<<x;
}
return 0;
}

أريد الفرق بينهما مع التوضبح

الكود 1 ل المخرجات =9

الكود المخرجات=10

1 −1
#2

السلام عليكم

في البداية, يجب أن تتذكري قاعدة مهمة و هي أنه إذا كانت لديك عبارة منطقية (A أو B) فتوجد حالتان :

  • إذا كانت A مُحققة فهذا يقتضي أن (A أو B) مُحققة (لا نحتاج إلى التحقق من صحة B لأن المهم أن تكون إحدى العبارتين صحيحة)
  • إذا كانت A غير مُحققة فسنحتاج إلى التحقق من B.

نأتي الآن إلى الكود الأول :

y!=x-- || x==10

y تُساوي 9 و x تُساوي 10 و بالتالي y تختلف عن x. إذا العبارة صحيحة.

بعد الإنتهاء من if سيتم نقصان قيمة x بواحد لتصبح 9 و يتم إظهارها على الشاشة.

نفس الفكرة تحدث في الكود الثاني.

أما بالنسبة للكود الثالث :

y==x-- || x==10

في الجزء الأول من العبارة المنطقية ستتم مقارنة قيمة y بــ x و بما أن القيمتين مختلفتين سيتم الإنتقال إلى الجزء الثاني من العبارة المنطقية بعد أن يتم نقصان قيمة x بواحد.

الآن أصبحت قيمة x تختلف عن 10 و بالتالي العبارة المنطقية غير مُحققة مما يعني عدم إظهار أي شيء على الشاشة.

#3

شكرآ جزيلا الله يرزقك الجنة

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…