مشاهدة النسخة كاملة : تـــوضــــــــــيــــح الامر For ... Next ، برجاء المشاركة
أحـمد قرنى 07-04-2011, 07:30 PM تتبع قيم المتغيرات التالية
X = 4.5
For I = 0 TO 7 Step3
X = X * 2
Next
تباينت الاراء حول قيم المتغير i ما بين أن المتغير i يأخذ القيم 0 و 3 و 6 .
,وأراء أخرى توضح ان قيم المتغير i هى 0 و 3 و 6 و 9 .
أرجو المشاركة بأراء حضراتكم مع توضيح وجهات النظر
أحـمد قرنى 07-04-2011, 07:34 PM فى رأى المتواضع أن قيم المتغير i هى 0 و 3 و 6 و 9
ويجب أن يصل المتغير i للقيمة 9 حتى تكون أكبر من القيمة النهائية 7 وبالتالى ينتهى التكرار .
بس المشكلة لو أتت اختيارى كما جاءت فى امتحان القاهرةكالاتى
قيمة المتغير i هى ( 6 - 9 - 13 )
عايز اعرف ف الحالى السابقة تعتبر أى قيمة أصح بخصوص القيمة 6 أو 9
أرجو المشاركة بأرائكم
سيف سالم 07-04-2011, 09:46 PM تتبع قيم المتغيرات التالية
X = 4.5
For I = 0 TO 7 Step3
X = X * 2
Next
تباينت الاراء حول قيم المتغير i ما بين أن المتغير i يأخذ القيم 0 و 3 و 6 .
,وأراء أخرى توضح ان قيم المتغير i هى 0 و 3 و 6 و 9 .
أرجو المشاركة بأراء حضراتكم مع توضيح وجهات النظر
dim x as byte
اليس قيمة x صفر عند تنفيذ الخطوة السابقة
dim x as byte
dim y as byte
اليس قيمة x ما زالت صفر عند تنفيذ الخطوة السابقة
dim x as byte
dim y as byte
for y=1 to 3
next
اليس قيمة x ما زالت صفر عند تنفيذ الخطوة السابقة
dim x as byte
dim y as byte
for y=1 to 3
next
msgbox(x)s
اليس قيمة x ما زالت صفر عند تنفيذ الخطوة السابقة
اذا كانت الاجابة صحيحة في جميع المراحل السابقة
X = 4.5
For I = 0 TO 7 Step3
X = X * 2
Next
فهل قيمة i عند تنفيذ هذه الخطوة
ستتغير لو تم اضافة هذة الخطوة
X = 4.5
For I = 0 TO 7 Step3
X = X * 2
Next
x=x+1
اذا كانت الاجابة لا تتغير
فهل ستتغير لو تم اضافة هذة الخطوة
X = 4.5
For I = 0 TO 7 Step3
X = X * 2
Next
x=x+1
msgbox(i)s
اذا كانت الاجابة لا تتغير
فأن i=9
أحـمد قرنى 07-04-2011, 11:30 PM أستاذ سيف بعد إذن حضرتك انا عايز قيمة المتغير i فى المثال السابق بدون ذكر ال msgbox .
وبالنسبة لو أتت اختيارى لماذا لم اختار القيمة 6 وهى أيضاً أحد قيم المتغير i .
سيف سالم 08-04-2011, 08:49 AM أستاذ سيف بعد إذن حضرتك انا عايز قيمة المتغير i فى المثال السابق بدون ذكر ال msgbox .
وبالنسبة لو أتت اختيارى لماذا لم اختار القيمة 6 وهى أيضاً أحد قيم المتغير i .
انا سألت سؤال اذا كانت اجابة سؤالي كما جاءت بمشاركتي
فانه يتم اختيار 9 وليس 6
أحـمد قرنى 08-04-2011, 10:07 AM انا سألت سؤال اذا كانت اجابة سؤالي كما جاءت بمشاركتي
فانه يتم اختيار 9 وليس 6
أستاذ سيف معذرة ( ممكن تيسط لى الامور شوية ) :
أنا عارف ان لو أتت ال Msgbox بعد كلمة next هتكون قيمة i هى 9 .
بينما لو اتت ال msgbox قبل كلمة next هتكون قيم i هى 0 و 3 و 6 .
بس المشكلة أن فى جميع امتحاناة المحافظات السابقة ونماذج الوزارة بيأتى بالمثال بدون ذكر ال msgbox .
كلاالتى
x = 4
for i = 0 to 7 step3
x = x * 2
next
فى هذه الحالة قيم i داخل التكرار هى 0 و 3 و 6
بينما قيمة i خارج التكرار هى 9 , وهى القيمة التى يتوقف فيها العداد عن التكرار .
مما سبق لماذا يتم ذكر القيمة 9 وهى خارج التكرار وأيضاً القيمة النهائية عندى أقصاها 7 .
,ولماذا لم يتم اختيار القيمة 6 لو أتت اختيارى وخاصة أنها ايضاً من قيم i .
ابو كيرلس 08-04-2011, 12:01 PM المعروف من تعريف مكونات الأمر For...........next
ومن خلال ال Looping المعروض الأتى
Counter هو i
Start هو 0
End هو 7
Step هى اختيارية وفى حالتنا هذه هى 3 اى ان فى كل مرة يزود 3
فيصبح التكرار كالتالى ( 0 , 3 , 6 ) ويتوقف بعدها لان نهاية التكرار هى 7 فلو وصل الى 9 يعطى خطاً
كذلك تسأل ما علاقة المتغير i والمتغير X لو هناك علاقة لكانت كالتالى
Dim x as inetger
For x = 0 to 7 step 3
x=x*2
next
لاحظ الأمثلة التالية
•لتغيير قيم العداد للحصول على الترتيب التالي:
19,18,17,16,15,14
فإن العداد يقل بمقدار 1 ، ويبدأ من 19 وينتهي عند 14 :
For I = 19 To 14 Step -1
•لتغيير قيم العداد للحصول على الترتيب التالي:
19,17,15,13
فإن العداد يقل بمقدار 2 ، ويبدأ من 19 وينتهي عند 13 :
For I = 19 To 13 Step -2
سؤال امتحان محافظى العام السابق التمرين التالى
اذا كانت for x = 5 to 10 فأن عدد مرات التكرار هى ....... والأجابة هى 6 لان التكرار كان كالتالى ( 5 , 6 , 7 , 8 , 9 , 10 )
سيف سالم 08-04-2011, 09:04 PM أستاذ سيف معذرة ( ممكن تيسط لى الامور شوية ) :
أنا عارف ان لو أتت ال Msgbox بعد كلمة next هتكون قيمة i هى 9 .
بينما لو اتت ال msgbox قبل كلمة next هتكون قيم i هى 0 و 3 و 6 .
بس المشكلة أن فى جميع امتحاناة المحافظات السابقة ونماذج الوزارة بيأتى بالمثال بدون ذكر ال msgbox .
كلاالتى
x = 4
for i = 0 to 7 step3
x = x * 2
next
فى هذه الحالة قيم i داخل التكرار هى 0 و 3 و 6
بينما قيمة i خارج التكرار هى 9 , وهى القيمة التى يتوقف فيها العداد عن التكرار .
مما سبق لماذا يتم ذكر القيمة 9 وهى خارج التكرار وأيضاً القيمة النهائية عندى أقصاها 7 .
,ولماذا لم يتم اختيار القيمة 6 لو أتت اختيارى وخاصة أنها ايضاً من قيم i .
x = 4
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس قيمة المتغير x في الذاكرة 4
for i = 0 to 7 step3
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس قيمة المتغير i في الذاكرة 0
x = x * 2
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس قيمة المتغير x في الذاكرة 8
next
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس يعود البرنامج الى الخطوة التالية
for i = 0 to 7 step3
مع زيادة i قيمة 3 فتكون قيمة i في الذاكرة 3
فيقوم البرنامج بتفيذ
x = x * 2
ويكون قيمة x هي 16
ثم
next
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس يعود البرنامج الى الخطوة التالية
for i = 0 to 7 step3
مع زيادة i قيمة 3 فتكون قيمة i في الذاكرة 6
فيقوم البرنامج بتفيذ
x = x * 2
ويكون قيمة x هي 32
ثم
next
ماذا يحدث بعد تنفيذ الخطوة السابقة
مما لا شك فيه البرنامج لن يتوقف هنا
الن يعود البرنامج الى الخطوة التالية
for i = 0 to 7 step3
مع زيادة i قيمة 3 فتكون قيمة i في الذاكرة 9
فيذهب البرنامج الى خارج loop فلا يجد شئ فيتوقف
أحـمد قرنى 08-04-2011, 09:30 PM x = 4
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس قيمة المتغير x في الذاكرة 4
for i = 0 to 7 step3
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس قيمة المتغير i في الذاكرة 0
x = x * 2
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس قيمة المتغير x في الذاكرة 8
next
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس يعود البرنامج الى الخطوة التالية
for i = 0 to 7 step3
مع زيادة i قيمة 3 فتكون قيمة i في الذاكرة 3
فيقوم البرنامج بتفيذ
x = x * 2
ويكون قيمة x هي 16
ثم
next
ماذا يحدث بعد تنفيذ الخطوة السابقة
اليس يعود البرنامج الى الخطوة التالية
for i = 0 to 7 step3
مع زيادة i قيمة 3 فتكون قيمة i في الذاكرة 6
فيقوم البرنامج بتفيذ
x = x * 2
ويكون قيمة x هي 32
ثم
next
ماذا يحدث بعد تنفيذ الخطوة السابقة
مما لا شك فيه البرنامج لن يتوقف هنا
الن يعود البرنامج الى الخطوة التالية
for i = 0 to 7 step3
مع زيادة i قيمة 3 فتكون قيمة i في الذاكرة 9
فيذهب البرنامج الى خارج loop فلا يجد شئ فيتوقف
خالص امتنانى وشكرى لحضرتك
وجزاك الله كل الخير
أحـمد قرنى 08-04-2011, 09:35 PM أستاذ سيف رجاء خاص من حضرتك
عمل الموضوع الخاص بأنت تسأل وجميع الاسئلة تجيب ، مع رجائنا التام أن حضرتك تطلع عليه بصفة يومية حتى يكون مرجع للجميع . لان عندى الكثير من الاسئلة اللى عايز أطرحها وأتمنى أن يستفيد منها الجميع .
بدلاً من أن يقوم كل زميل بعمل موضوع معين لسؤال خاص به .
سيف سالم 08-04-2011, 09:52 PM أستاذ سيف رجاء خاص من حضرتك
عمل الموضوع الخاص بأنت تسأل وجميع الاسئلة تجيب ، مع رجائنا التام أن حضرتك تطلع عليه بصفة يومية حتى يكون مرجع للجميع . لان عندى الكثير من الاسئلة اللى عايز أطرحها وأتمنى أن يستفيد منها الجميع .
بدلاً من أن يقوم كل زميل بعمل موضوع معين لسؤال خاص به .
ان شاء الله
منه لله اخصائي الاعدادي
زياد_عاطف 09-04-2011, 08:37 AM تتبع قيم المتغيرات التالية
X = 4.5
For I = 0 TO 7 Step3
X = X * 2
Next
تباينت الاراء حول قيم المتغير i ما بين أن المتغير i يأخذ القيم 0 و 3 و 6 .
,وأراء أخرى توضح ان قيم المتغير i هى 0 و 3 و 6 و 9 .
أرجو المشاركة بأراء حضراتكم مع توضيح وجهات النظر
=====+++عند بداية تنفيذ المر For ...Next تخزن القيمة الإبتدائية للعداد فى العداد I فتصبح قيمته 0 = و طالما انها أقل من او تساوى القيمة النهائية للعداد (7) يتم تنفيذ الأوامر بين For..Next ، أى انه يتم التكرار الأول و هو تنفيذ الأمر X=X*2 أى أن X=4.5*2=9
=====++ بعد نهاية تنفيذ الأوامر يصل البرنامج ل Next فيتم زيادة قيمة العداد الآن (0) بقيمة الزيادة التى بعد Step ) ) و هى (3) فتصبح قيمة العداد الجديدة 0+3=3 ** و طالما أن قيمة العداد (3) أقل من او تساوى القيمة النهائية للعداد (7) يتم تكرار تنفيذ الأوامر و هو التكرار الثانى .أى انه يتم التكرار الثانى و هو تنفيذ الأمر X=X*2 أى أن X=9*2=18
=====+++بعد نهاية تنفيذ الأوامر يصل البرنامج ل Next فيتم زيادة قيمة العداد الآن (3) بقيمة الزيادة التى بعد ( Step) و هى (3) فتصبح قيمة العداد الجديدة 3+3=6** و طالما أن قيمة العداد (6) أقل من او تساوى القيمة النهائية للعداد (7) يتم تكرار تنفيذ الأوامر و هو التكرار الثالث .أى انه يتم التكرار الثالث و هو الأمر X=X*2 أى أن X=18*2=36
=====+++بعد نهاية تنفيذ الأوامر يصل البرنامج ل Next فيتم زيادة قيمة العداد الآن (6) بقيمة الزيادة التى بعد ( Step) و هى (3) فتصبح قيمة العداد الجديدة 3+6=9** و هنا قيمة العداد أصبحت أكبر من القيمة النهائية للعداد (7) فلن يتم التكرار= و يتم الإنتقال لتنفيذ الأوامر التى تلى كلمة Next التى تمثل نهاية التكرار .
قبل التكرار قيمة X = 4.5
أثناء التكرار
## التكرار الأول قيمة I تساوى 0 قيمة المتغير X= 9
## التكرار الثانى قيمة I تساوى 3 قيمة المتغير X= 18
## التكرار الثالث قيمة I تساوى 6 قيمة المتغير X= 36
بعد التكرار
قيمة المتغير X تظل كما هى حسب آخر أمر تخصيص =36
قيمة العداد I = آخر قيمة بعد آخر تكرار + قيمة الزيادة بعد Step و هى 6+3=9
مع أطيب الأمنيات
عاطف حسان
ابو كيرلس 09-04-2011, 10:28 AM شرف كبير جدا لما يتولى الرد على الأسئلة مستر كبير زى استاذنا مستر سيف سالم
الأستاذة / أم أمل 09-04-2011, 11:25 AM انا اضم صوتى لصوت اخوانى عاوزين مرجع لينا فى المادة يجيب على اسئلتنا
جزاك الله خيرا مستر سيف سالم
abdo_Awad 09-04-2011, 06:01 PM dim a as integer
a= 0 to 7 step 3
msgbox (a
next
فى هذه الحالة سيعرض الكمبيوتر 0 & 3 & 6
اما فى حالة
dim a as integer
a= 0 to 7 step 3
next
msgbox (a
سيعرض الكمبيوتر رقم 9 فقط
فى كتاب المدرسى لم يحدد مكان msgbox i هو قبل next ولابعد next
ناروتو الشبح 09-04-2011, 06:18 PM الذى واقف عليه هو حد يفهمنى
الامر For ... Next ، برجاء المشاركة
بالتفصيل مش عارف احل مسأله واحده
ابو كادر 09-04-2011, 09:55 PM اجابة الاستاذ سالم صحيحة 100% وخالص تحياتي له
abdo_Awad 10-04-2011, 06:39 AM اى حلين الاتيين يكون صحيح
الحل الاول
http://www13.0zz0.com/2011/04/10/04/352145121.gif
الحل الثانى
http://www7.0zz0.com/2011/04/10/04/672477745.gif
السيد شعبان 10-04-2011, 11:04 AM قيمة المتغير i
i= 0 , 3 , 6 , 9
لأن في كل مرة عندما نصل إلي Next يبدأ في زيادة العداد i بمقدار 3 ثم يقارنة بالقيمة النهائية فعند القيمة 6 يتمتنفيذ مجموعة أوامرالتكرار ثم نصل إلي Next فيبدأ بزيادة قيمة i مرة أخرى فتصبح 9 ثم يقارنها بقيمة النهاية فيتوقف التكرار فتكون القيمة 9 تم تخزينها في I والله اعلم
mrk206 13-04-2011, 01:25 PM اى حلين الاتيين يكون صحيح
الحل الاول
http://www13.0zz0.com/2011/04/10/04/352145121.gif
الحل الثانى
http://www7.0zz0.com/2011/04/10/04/672477745.gif
اجابة صحيحة
mrk206 13-04-2011, 01:26 PM ايضا اجابة صحيحة الاستاذ زياد_عاطف (http://www.thanwya.com/vb/member.php?u=123085)
zyaad14 14-04-2011, 10:46 AM من الاخر
عمليا : قيمة المتغير الذى يأتى بعد for هى تساوى أخر قيمة نتمكن من الوصول اليها + قيمة الزيادة التى تأتى بعد step
فى المثال السابق تكون أخر قيمة هى 6 و الزيادة هى 3
اذا القيمة النهائية لهذا المتغير = 6+3 = 9
فى أى برنامج تتعامل معه بالنسبة لـ for نفذ القانون السابق ذكره سوف تحصل على النتيجة المطلوبة
هذا القانون مطبق عمليا العديد من المرات و معترف به من قبل المبرمجين
أخوكم أبوزياد
El-Tantawy 15-04-2011, 09:48 AM Many Thanks
:)
سيف سالم 04-05-2011, 11:50 PM بارك الله لكم
محمد فؤادى 05-05-2011, 09:09 AM الاجابة وهى (0و 3 و 6 و 9 )
لان حلقة التكرار تتوقف فى حالة إذا كان (i)فى البداية أكبر من (i) فى النهاية
وأذا كانت قيمة(i)أقل من أو تساوى قيمة النهاية يستمر التكرار
shasah 05-05-2011, 08:51 PM لوسمحت استاذ سيف
علشات اربط بين المتعيرات واقيم الحرفية انا شايفة انه معامل التخصيص
بينما القيم الحرفية وبعضها عن طريق &
|