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

استخدامات المتغيرات المنطقية

بدأه khaled_prg في 24 مارس 2010 · 6 رد · 1,022 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أولا .. أحب أن أتقدم بخالص الشكر و التقدير إلى مشرفي هذا المنتدى العملاق .. والذي لولاه لبقيت أعاني من قلة الفهم لشهور طويــــــلة ...

اليوم أتيت إليكم و بحوزتي سؤال من الوزن الثقيل !!! لا أريد أن أقول أنه شيَّب رأسي .. ولكنه أصابني بتساقط الشعر !! وللأسف الشديد لم يبق عندي إلا 5 شعيرات !!! أرجوا منكم أن تُغيثوني قبل أن أُصلع ...

السؤال هو:

ما هو دور المتغيرات المنطقية (من نوع bool)؟؟؟

يعني فيم تستخدم ؟ أو بعبارة أخرى:أريد منكم أن تعطوني مثال معين لا يمكن حله إلا بواسطة استخدام هذا النوع من المتغيرات.

قد يقول قائل:

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

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

أرجوا المساعدة .. والله لا يضيع أجر من أحسن عملا.

#2

لفهم هذا النوع جيداًَ يجب أن يكون الإنسان على اطلاع على الجبر البولي boolean algebra والذي يعنى بالقضايا المنطقية و أنا شخصياً لم آخذ هذه المادة بعد و لكن في السنة القادمة من الجامعة إن شاء الله أيضاً هذا الموضوع له علاقة بالدارات داخل الحاسوب و في كثير من الأمور .

ولكن يمكن فهم استعمالها في هذه اللغة( و بالمناسبة هذا النوع من المتغيرات ليس محصور في هذه اللغة و إنما هو فكرة بحد ذاتها و لكن استخدمناها في هذه اللغة)

المتغير البولي ، هو موع من المتغيرات يأخذ قيمتين ( محقق/غير محقق) (true/false) و إن العبارات الشرطية تستخدم هذا النوع فمثلاً عندما نقول :

i!=0

فهذا يعني هذه العبارة محققة أو غير محققة حسب قيمة i و بالتالي إن قيمة true and flase بينهما العلاقة التالية:

!false == true
!true == false

و يمكن لـ n قيمة من متغيرات bool أن تحول إلى Integer حيث يقابل عدم التحقق 0 و التحقق 1

وهذا مثال على استخدام هذا المتحول :

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

#include <iostream>

using namespace std;

// returns true if x and y are equal
bool IsEqual(int x, int y)
{
    return (x == y); // use equality operator to test if equal
}

int main()
{
    cout << "Enter a value: ";
    int x;
    cin >> x;

    cout << "Enter another value: ";
    int y;
    cin >> y;

    bool bEqual = IsEqual(x, y);
    if (bEqual)
        cout << x << " and " << y << " are equal"<<endl;
    else
        cout << x << " and " << y << " are not equal"<<endl;
    return 0;
}

و انتبه كيف و ضع في الجملة الشرطية

if (bEqual)

و هذا جدول توضيحي لعلاقة bool بالعلاقات المنطقيةLogic

post-217808-12694227399701_thumb.jpg

مصدر هذه المعلومات :

http://msdn.microsoft.com/en-us/library/tf4dy80a.aspx

http://www.intap.net/~drw/cpp/cpp03_04.htm

http://www.learncpp.com/

تم تعديل هذه المشاركة بواسطة yahya91 في 24 مارس 2010 في 12:28

1
#3

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

أريد مثال معين لا يمكن حله إلا بواسطة المتغيرات المنطقية.

#4
اقتباس
اريد مثال معين لا يمكن حله إلا بواسطة المتغيرات المنطقية.

من الصعب ان تجد مثل هذا المثال حيث ان كل مشكله لها اكثر من حل بأكثر من اسلوب و اكثر من طريقه.

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#6

يمكنك اعتبار هذا النوع يمثل شيئين مختلفين مثل نار و ماء او صواب و خطأ او شمس و قمر او ذكر و انثى.

و الله ولي التوفيق

مدونتي: C++ Tips and Tricks

#7
اقتباس
يمكنك اعتبار هذا النوع يمثل شيئين مختلفين مثل نار و ماء او صواب و خطأ او شمس و قمر او ذكر و انثى.

أشكرك أخي علاء على الرد .. ولكنني كنت أريد مثالا محددا نستعمل فيه المتغيرات المنطقية

بانتظار الرد

تم تعديل هذه المشاركة بواسطة khaled_prg في 25 مارس 2010 في 15:17

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