Team Work3 نشر الثلاثاء في 13:03 أرسل تقرير نشر الثلاثاء في 13:03 ما هو المنطق في استخدام Not في الجمل الشرطية و ال Loops وما هي الفائدة منها ومتى استخدم منطق العكس في كتابة الكود البرمجي؟ مثال 1 : Private Sub btnCheck_Click(sender As Object, e As EventArgs) Handles btnCheck.Click Dim userInput As Integer ' محاولة تحويل الإدخال النصي إلى رقم If Not Integer.TryParse(txtInput.Text, userInput) Then lblMessage.Text = "الرجاء إدخال رقم صحيح!" Exit Sub ' الخروج إذا لم يكن الإدخال رقمًا End If lblMessage.Text = "لقد أدخلت الرقم: " & userInput End Sub مثال 2 : Private Sub btnValidate_Click(sender As Object, e As EventArgs) Handles btnValidate.Click Dim userInput As Integer Dim inputValid As Boolean = False Do While Not inputValid If Integer.TryParse(txtInput.Text, userInput) Then lblMessage.Text = "تم إدخال رقم صحيح: " & userInput inputValid = True Else lblMessage.Text = "الرجاء إدخال رقم صحيح فقط!" txtInput.Clear() ' تفريغ النص للمحاولة مرة أخرى txtInput.Focus() ' إعادة التركيز على مربع النص Exit Do ' الخروج للسماح بإعادة المحاولة End If Loop End Sub ارجو الإفادة. ولكم التحية 2 اقتباس
0 Mustafa Suleiman نشر الثلاثاء في 13:13 أرسل تقرير نشر الثلاثاء في 13:13 العامل Not في البرمجة نستخدمه لعكس المنطق المنطقي Boolean Logic أي القيم البوليانية لتحويل True إلى False والعكس. If Not Integer.TryParse(txtInput.Text, userInput) Then ' ... إظهار رسالة خطأ End If الدالة Integer.TryParse تُعيد القيمة True وإن نجح التحويل إلى رقم، وFalse إن فشل، وباستخدام Not، نعكس النتيجة حيث الشرط يصبح إن فشل التحويل إلى رقم. وذلك للتحقق من الحالات السلبية مثل الأخطاء بشكل مباشر، بدلًا من استخدام Else، بالتالي يقلل من التعقيد عند التعامل مع شروط متعددة وتسهيل قراءة الكود. اقتباس
0 محمد عاطف17 نشر الثلاثاء في 13:22 أرسل تقرير نشر الثلاثاء في 13:22 النفي في البرمجة كما هو في الحياة العادية . فمثلا لو أردت شراء شئ ما . وأردت وضع شرط لشراءه فمثلا لو كان هذا الشئ سعره مرتفع عن 1000 فلن تقوم بشراءه أما إذا كان سعره أقل من 1000 حينها ستقوم بشراءه . فهنا يمكننا تنفيذ هذا الجزء بكود ما بطريقتين . طريقة النفي Not : price = 1500 If Not price > 1000 Then lblMessage.Text = "قم بالشراء" End If فمثلا هنا إستخدمنا النفي وهو إذا لم يكن السعر أكبر من 1000 قم بشراءه الطريقة الأخرى بدون Not : price = 1500 If price < 1000 Then lblMessage.Text = "قم بالشراء" End If فمثلا هنا لم نستخدم النفي والشرط هو إذا كان السعر أقل من 1000 قم بشراءه. فهكذا في البرمجة يمكنك إستخدام النفي لشرط ما وتنفيذ أمر معين . أو يمكنك عدم إستخدام النفي ولكن عكس هذا الشرط . ففي المثال المرفق لديك بتاريخ 15 دقائق مضت قال Team Work3: ' محاولة تحويل الإدخال النصي إلى رقم If Not Integer.TryParse(txtInput.Text, userInput) Then lblMessage.Text = "الرجاء إدخال رقم صحيح!" Exit Sub ' الخروج إذا لم يكن الإدخال رقمًا End If هنا نحن نتحقق إذا لم يكن النص الذي تم إدخاله ليس رقما صحيحا نقوم بإظهار الخطأ وإذا لم ترد إستخدام النفي Not يمكنك عكس الشرط هكذا : Private Sub btnCheck_Click(sender As Object, e As EventArgs) Handles btnCheck.Click Dim userInput As Integer ' محاولة تحويل الإدخال النصي إلى رقم If Integer.TryParse(txtInput.Text, userInput) Then lblMessage.Text = "لقد أدخلت الرقم: " & userInput Exit Sub ' الخروج إذا لم يكن الإدخال رقمًا End If lblMessage.Text = "الرجاء إدخال رقم صحيح!" End Sub فلاحظ كيف قمنا بعكس الكود عندما لم نستخدم Not فقمنا بعكس طريقة عمل الكود حيث إذا تحقق الشرط نظهر رسالة أن الرقم الذي تم إدخاله صحيح . أما إذا لم يكن رقم الذي تم إدخاله لا يتحقق الشرط ويتم إظهار رسالة الخطأ. إذا Not هي تقوم بعكس قيمة الشرط فلو الشرط تحقق أي True فإن Not تقوم بعكسه إلى False . والعكس صحيح فلو كان الشرط هو False فإن Not تقوم بعكسه إلى True اقتباس
0 Team Work3 نشر الثلاثاء في 13:51 الكاتب أرسل تقرير نشر الثلاثاء في 13:51 بتاريخ 14 دقائق مضت قال محمد عاطف17: النفي في البرمجة كما هو في الحياة العادية . فمثلا لو أردت شراء شئ ما . وأردت وضع شرط لشراءه فمثلا لو كان هذا الشئ سعره مرتفع عن 1000 فلن تقوم بشراءه أما إذا كان سعره أقل من 1000 حينها ستقوم بشراءه . فهنا يمكننا تنفيذ هذا الجزء بكود ما بطريقتين . طريقة النفي Not : price = 1500 If Not price > 1000 Then lblMessage.Text = "قم بالشراء" End If فمثلا هنا إستخدمنا النفي وهو إذا لم يكن السعر أكبر من 1000 قم بشراءه الطريقة الأخرى بدون Not : price = 1500 If price < 1000 Then lblMessage.Text = "قم بالشراء" End If فمثلا هنا لم نستخدم النفي والشرط هو إذا كان السعر أقل من 1000 قم بشراءه. فهكذا في البرمجة يمكنك إستخدام النفي لشرط ما وتنفيذ أمر معين . أو يمكنك عدم إستخدام النفي ولكن عكس هذا الشرط . ففي المثال المرفق لديك هنا نحن نتحقق إذا لم يكن النص الذي تم إدخاله ليس رقما صحيحا نقوم بإظهار الخطأ وإذا لم ترد إستخدام النفي Not يمكنك عكس الشرط هكذا : Private Sub btnCheck_Click(sender As Object, e As EventArgs) Handles btnCheck.Click Dim userInput As Integer ' محاولة تحويل الإدخال النصي إلى رقم If Integer.TryParse(txtInput.Text, userInput) Then lblMessage.Text = "لقد أدخلت الرقم: " & userInput Exit Sub ' الخروج إذا لم يكن الإدخال رقمًا End If lblMessage.Text = "الرجاء إدخال رقم صحيح!" End Sub فلاحظ كيف قمنا بعكس الكود عندما لم نستخدم Not فقمنا بعكس طريقة عمل الكود حيث إذا تحقق الشرط نظهر رسالة أن الرقم الذي تم إدخاله صحيح . أما إذا لم يكن رقم الذي تم إدخاله لا يتحقق الشرط ويتم إظهار رسالة الخطأ. إذا Not هي تقوم بعكس قيمة الشرط فلو الشرط تحقق أي True فإن Not تقوم بعكسه إلى False . والعكس صحيح فلو كان الشرط هو False فإن Not تقوم بعكسه إلى True لكم كل الشكر الإخوة الأعزاء مفهموم عندي منطق الايجاب او عدم النفي باستخدام العامل Not ولكن اجد قليلا من الصعوبة في استخدام Not ففي المثال الثاني لماذا لم يتم استخدام القيمة True مباشرة بدلا من نفي النفي (Not false) واحاول كيفية فهم البرنامج لترجمة الكود فقيمة المتغير inputValid = false فلماذا اقوم بنفيها وما الفائدة من ذلك، لا اعرف هل وصلت الفكرة ام لا؟ 1 اقتباس
0 محمد عاطف17 نشر الثلاثاء في 13:57 أرسل تقرير نشر الثلاثاء في 13:57 بتاريخ 2 دقائق مضت قال Team Work3: مفهموم عندي منطق الايجاب او عدم النفي باستخدام العامل Not ولكن اجد قليلا من الصعوبة في استخدام Not ففي المثال الثاني لماذا لم يتم استخدام القيمة True مباشرة بدلا من نفي النفي (Not false) واحاول كيفية فهم البرنامج لترجمة الكود فقيمة المتغير inputValid = false فلماذا اقوم بنفيها وما الفائدة من ذلك، لا اعرف هل وصلت الفكرة ام لا؟ في المثال الثاني هذه هي الطريقة الأفضل. حيث لاحظ في أننا نستخدم Do While وبعد Do While إذا كان الشرط True يتم تنفيذ حلقة التكرار إلى أن يصبح الشرط بعد Do While ب False . وهنا نحن نريد التكرار دائما إلى أن يدخل المستخدم رقم صحيح . ولهذا بدأنا البرنامج بان inputValid ب False أى أنه إلى الآن لم يتم إدخال الرقم . وبهذا فإن Do While Not inputValid هنا يتم أولا إحضار قيمة inputValid ويتم عكسها وبما أنها في بداية البرنامج ب False إذا Not False هي True وذلك يتم تنفيذ حلقة التكرار ويظل يتم تنفيذها . حتي يصل إلى هنا : بتاريخ 53 دقائق مضت قال Team Work3: If Integer.TryParse(txtInput.Text, userInput) Then lblMessage.Text = "تم إدخال رقم صحيح: " & userInput inputValid = True هنا لاحظ أن المستخدم أدخل رقم صحيح بالفعل وبذلك نظهر رسالة أن الرقم الصحيح ونقوم بوضع قيمة inputValid تساوي True . وهكذا حينما نأتي إلى Do While Not inputValid ستكون حينها Not inputValid ب False وهكذا سنخرج من حلقة التكرار ولن يتم تنفيذها مرة أخرى. 1 اقتباس
0 Team Work3 نشر الثلاثاء في 14:24 الكاتب أرسل تقرير نشر الثلاثاء في 14:24 بتاريخ 26 دقائق مضت قال محمد عاطف17: في المثال الثاني هذه هي الطريقة الأفضل. حيث لاحظ في أننا نستخدم Do While وبعد Do While إذا كان الشرط True يتم تنفيذ حلقة التكرار إلى أن يصبح الشرط بعد Do While ب False . وهنا نحن نريد التكرار دائما إلى أن يدخل المستخدم رقم صحيح . ولهذا بدأنا البرنامج بان inputValid ب False أى أنه إلى الآن لم يتم إدخال الرقم . وبهذا فإن Do While Not inputValid هنا يتم أولا إحضار قيمة inputValid ويتم عكسها وبما أنها في بداية البرنامج ب False إذا Not False هي True وذلك يتم تنفيذ حلقة التكرار ويظل يتم تنفيذها . حتي يصل إلى هنا : هنا لاحظ أن المستخدم أدخل رقم صحيح بالفعل وبذلك نظهر رسالة أن الرقم الصحيح ونقوم بوضع قيمة inputValid تساوي True . وهكذا حينما نأتي إلى Do While Not inputValid ستكون حينها Not inputValid ب False وهكذا سنخرج من حلقة التكرار ولن يتم تنفيذها مرة أخرى. كل الشكر اخي محمد عاطف اقتباس
السؤال
Team Work3
ما هو المنطق في استخدام Not في الجمل الشرطية و ال Loops وما هي الفائدة منها ومتى استخدم منطق العكس في كتابة الكود البرمجي؟
مثال 1 :
مثال 2 :
ارجو الإفادة.
ولكم التحية
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.