![]() |
سؤال والاجابة
السلام عليكم ورحمة الله وبركاته
ولوسمحت لى استفسار Dim x, i As Integer (x) قبل next تختلف قيمتها عن بعدnexti = 2 For x = 0 To 6 Step 2 i = -i * 2 Next سؤالى لوطلب قيمة x تكون الاجابة بالقيمة بعد next ام قبلها واذا طلب القيم وليس القيمة النهائية . ارجو التوضيح وكذلك نفس السؤال مع do while الاجابة منى كانت كالتالي قيمة x قبل وبعد next هي 8 اما do while لابد من كتابة المثال حتى يتم الرد المشكلة في احد امتحانات المحافظات كانت الاجابة 6 فماذا يفعل الطالب |
قيمة x قبل For …. Next هي "صفر" أما بعدها فهي "8" حيث أنها عند القيمة "6" ينفذ التكرار وعندما تزيد بقدار "2" تصبح "8" ويخرج من التكرار وتكون القيم بالترتيب داخل التكرار ( 0 ، 2 ، 4 ، 6 ) وعندما تأخذ القيمة "8" يخرج من التكرار
|
استاذنا الفاضل سيف سالم
هذا المثال سبب حيرة واختلاف عند الكثير ولكن وجدت مخرج لحد ما لهذه المشكلة Dim x, i As Integer i = 2 For x = 0 To 6 Step 2 i = i * 2 msgbox x Next هذا المثال ليس به اختلاف بين أحد فى قيم x كالتالى x = 0 , 2 , 4 , 6 Dim x, i As Integer i = 2 For x = 0 To 6 Step 2 i =i * 2 Next msgbox x هذا المثال أيضاً ليس به اختلاف بين أحد فى قيمة x كالتالى x = 8 Dim x, i As Integer i = 2 For x = 0 To 6 Step 2 i =i * 2 Next هنا تكمن المشكلة فهو لم يحدد قيم x داخل التكرار أم خارج التكرار فافضل شىء لذلك نوضح أن قيم x داخل التكرار هى x = 0 , 2 , 4 , 6 بينما قيمة x خارج التكرار x = 8 فى حين لو طلب القيمة النهائية أيضا نقول كالتالى آخر قيمة للمتغير x داخل التكرار هى x = 6 ، بينما آخر قيمة للمتغير x خارج التكرار x = 8 |
سؤال وارجو الرد
1- بالنسبة للامر for....next انا مش عارفة اجابتى على الطالب تكون 8 ولا 6 وهذا لأن واضع الامتحان بيكون له نية معينة ووجهة نظر محددة وغير مسموح للمصححين بالتعليق عليها فاتمنى من واضعى الامتحان عامة والمنوفية خاصة ان يردوا على ذلك علشان نوصل وجهة نظرهم للطلبة اصحاب المصلحة اولا واخيرا
2- Dim x As Integer x = 1 Do While x < 8 x = x + 2 Loop انا الى فهمته ان قيمة x هى 9 وان قبم x داخل التكرار هى 3,5,7,9 وان عدمرات تنفيذ الأمر 3 مرات |
اقتباس:
السؤال كان قيمة x قبل next وليست for ...next |
اقتباس:
ولكن اولا لو عدلنا المثال وكان كالتالي Dim x As Integer For x = 12 To 6 Step 2 Next ما قيمة x قبل next وما قيمة x بعد next وهل صياغة السؤال كدا جيد ام ان نقول اوجد قيمة x بعد تنفيذ البرنامج |
اقتباس:
اعتقد أن اجابة هذه النوعية من الأسئلة تكون عند جهاز الكمبيوتر وبالأخص برنامج الفيجوال بيزيك وبالتالى الاجابة تكون بناء على تنفيذ البرنامج والنتيجة التى تظهر من خلال الكمبيوتر المفروض أنها هى النتيجة الصحيحة لأننا لو أطلقنا العنان لتفكيرنا سيكون هناك اجابات مختلفة كثير وأنا بدورى عندما يسألنى طالب فى المعمل على جزئية مثل هذه وأمامه جهاز كمبيوتر أرد عليه : "طيب ما تسأل الكمبيوتر أفضل وشوفه هيرد عليك بايه" وشكرا |
اقتباس:
قيمة x هي 9 قبل وبعد loop ولكن عدد مرات التكرار 4 و ليس 3 |
اقتباس:
نشكر استاذنا الفاضل ابو مريم ونتفق معه ولكن ما هو قيمة x قبل وبعد next في المثال السابق والسابق اقباسك اياه |
اقتباس:
قيمة x بعد تنفيذ الاوامر فتكون الاجابة 8 وليس 6 سواء ذكر القيمة النهائية ام قيمة x فقط اما قيمة x قبل next ستكون 0 لان قبل next المفهوم منها قبل next لاول مرة اما قيمة x قبل اخر مرة تنقذ بها next ستكون 6 وسواء مل قبل وما بعد فلم ترد باي امتحان وهذا سؤال مستحدث وان شاء تكون الاجابة في موضوع مساقل بشرح عمل for next |
شكرا لك استاذ سيف وشكرا لكل الأساذة الذين شاركو بالرد على التساؤل
ولكن انا كنت اقصد فى مثال do..... while جزئية اخرى لم اضفها للكود وهى قيمة totat x = 1 Do While x < 8 total = total + x x = x + 2 ( MsgBox(total Loop انا كنت اقصد انه عندما تصل ال x الى القيمة 9 فلن تتم اضافة الرقم 9 الى قيمة ال total وعليه تكون قبمة ال total هى 16 |
جميع الأوقات بتوقيت GMT +2. الساعة الآن 06:43 PM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.