مشاهدة النسخة كاملة : سؤال في الأمر For ... Next


winter4444
20-04-2012, 11:02 AM
السلام عليكم ورحمة الله وبركاته
أرجو أن أجد إجابة لسؤالي هذا :
For r = 1 To 8 Step 2
(MsgBox (R
Next
يتوقف التكرار في الحالة السابقة عند الرقم 7
For r = 1 To 8 Step 2
Next
(MsgBox (R
يتوقف التكرار في هذه الحالة عندما تكون قيمة R = 9
فما الفرق بين الحالتين ؟؟؟
أرجو من الأخوة سرعة الرد جعله الله في ميزان حسناتكم

أحـمد قرنى
20-04-2012, 11:19 AM
السلام عليكم ورحمة الله وبركاته
أرجو أن أجد إجابة لسؤالي هذا :
For r = 1 To 8 Step 2
(MsgBox (R
Next
يتوقف التكرار في الحالة السابقة عند الرقم 7
For r = 1 To 8 Step 2
Next
(MsgBox (R
يتوقف التكرار في هذه الحالة عندما تكون قيمة R = 9
فما الفرق بين الحالتين ؟؟؟
أرجو من الأخوة سرعة الرد جعله الله في ميزان حسناتكم


المعروف حضرتك ان كلمة next تحدد نهاية التكرار وبذلك اذا وجدت msgbox قبل كلمة next فهذا بعنى انه يريد قيم المتغير داخل التكرار فقط وهى القيم اللى حضرتك ذكرتها .
أما فى حالة وجود msgbox بعد كلمة next فهذا يعنى انه يريد قيمة المتغير خارج التكرار ( وذلك لاننا ننفذ ما يلى كلمة next فى حالة واحدة فقط عند وصول العداد لاول قيمة اكبر من القيمة النهائية )

أرجو ان اكون وفقت فى التوضيح

winter4444
20-04-2012, 11:27 AM
بمعنى آخر :

For I = 1 To 10 Step 3
(MsgBox (I
Next
قيمة I هنا = 10

for I = 1 to 10 step 3
Next
(MsgBox (I
قيمة I هنا = 13

أرجو أن أكون قد وضحت قصدي في السؤال
سؤال آخر :
على أي أساس سوف يجيب الطالب : الأول أم الثاني ؟؟

winter4444
20-04-2012, 11:37 AM
أولا ً أشكرك أستاذ أحمد جزيل الشكر على كل مجهوداتك معنا وبالمناسبة أنا أطالع الآن المحافظات التي بذلت سيادتكم فيها الكثير من الجهد في سبيل توفيرها للطلاب وكان هذا أحد أسئلتها
Dim I as Integer
dim x as single = 2.5
for I = 1 to 10 step 3
x = x * 2
Next
(MsgBox (X
لاحظ أستاذي هنا أن المطلوب هو قيمة I ولم يذكر الأمر الخاص بها قبل الأمر MsgBox ولا بعده فعلى أي أساس سوف أجيب في الامتحان
أرجو ألا أكون سببا في ازعاجك ولكنه شئ بالفعل يدعو للحيره.

أحـمد قرنى
20-04-2012, 01:36 PM
[QUOTE=winter4444;4437544]بمعنى آخر :

For I = 1 To 10 Step 3
(MsgBox (I
Next
قيمة I هنا = 10

for I = 1 to 10 step 3
Next
(MsgBox (I
قيمة I هنا = 13

أرجو أن أكون قد وضحت قصدي في السؤال
سؤال آخر :
على أي أساس سوف يجيب الطالب : الأول أم الثاني ؟؟

قيمة المتغير I فى الكود الاول هى I = 1 , 4 , 7 , 10

قيمة المتغير I فى الكود الثانى هى I = 13

أحـمد قرنى
20-04-2012, 01:39 PM
أولا ً أشكرك أستاذ أحمد جزيل الشكر على كل مجهوداتك معنا وبالمناسبة أنا أطالع الآن المحافظات التي بذلت سيادتكم فيها الكثير من الجهد في سبيل توفيرها للطلاب وكان هذا أحد أسئلتها
dim i as integer
dim x as single = 2.5
for i = 1 to 10 step 3
x = x * 2
next
(msgbox (x
لاحظ أستاذي هنا أن المطلوب هو قيمة i ولم يذكر الأمر الخاص بها قبل الأمر msgbox ولا بعده فعلى أي أساس سوف أجيب في الامتحان
أرجو ألا أكون سببا في ازعاجك ولكنه شئ بالفعل يدعو للحيره.

هذا المثال حضرتك المطلوب قيمة x وليست قيمة المتغير i ولكن بالطبع لازم نعرف المتغير i هيكرر التنفيذ كام مرة عشان اقدر اجيب قيمة المتغير x
ونلاحظ ان التكرار سيتم 4 مرات عند القيم التالية للمتغير i = 1 , 4 , 7 , 10
وبالتالى سيتم تنفيذ المعادلة x = x * 2 اربع مرات
المرة الاولى x = 4
المرة الثانية x = 8
المرة الثالثة x = 16
المرة الرابعة x = 32

وبالتالى ستكون قيمة x التى تظهر فى مربع الرسالة هى x = 32

altokhey
20-04-2012, 01:51 PM
أحسنت يا أستاذ أحمد على التوضيح
أتفق معكم
جزاكم الله خيراً

زياد_عاطف
20-04-2012, 02:45 PM
For r = 1 To 8 Step 2
(MsgBox (R
Next
يتوقف التكرار في الحالة السابقة عند الرقم 7
For r = 1 To 8 Step 2
Next
(MsgBox (R
يتوقف التكرار في هذه الحالة عندما تكون قيمة R = 9
فما الفرق بين الحالتين ؟؟؟
أرجو من الأخوة سرعة الرد جعله الله في ميزان حسناتكم
يا سيدى العزيز قيمة R فى آخر تكرار فى كلتا الحالتين هى 7
و بعد آخر تكرار و ذهاب البرنامج ل Next يتم زيادة قيمة العداد بمقدار الزيادة التى تلى Step فتكون قيمة R حينئذ 9 فلا يتم التكرار لأن قيمتها اصبحت أكمبر من End
أما ما تشير اليه عزيزنا من ارقام فليس محدد هل تعنى قيمة العداد أو ما يتم ظهوره فى مربع الرسالة فى الحالة الأولى يتم ظهور مربع رسالة فيه قيمة R 1 ثم 3 ثم 5 ثم 7 و يتوقف تنفيذ الامر الخاص بظهور مربع الرسالة حيث خرجنا من نطاق التكرار
أما فى الحالة الثانية فيظهر مربع رسالة خارج نطاق التكرار مرة واحدة فيه قيمة R بعد نهاية التكرار و هو رقم 9
أتمنى الإفادة
عاطف حسان / ميت موسى

almokhlas
20-04-2012, 08:16 PM
من فضلكم اريد حل التمرين اوجد قيمة n , k , cdim n,k,c as ingagerc=6for n=1 to 6 step 2k=k+nnextif n >c thenc=c+1enf if

almokhlas
20-04-2012, 08:18 PM
dim n,k,c as ingager

c=6

for n=1 to 6 step 3

k=k+n

next

if n >c then

c=c+1

enf if
اوجد قيم n c k

اسلام عمر 1
20-04-2012, 11:45 PM
dim n,k,c as ingager

c=6

for n=1 to 6 step 3

k=k+n

next

if n >c then

c=c+1

enf if
اوجد قيم n c k
قيمة N = 7
قيمة K = 5
قيمة C = 7
ناتج الشرط n >c then يكون True

جولد هنا
22-04-2012, 06:16 PM
اولا الف شكر ليكم جميعا لكن نرجو الشرح المبسط يعنى كل قيمة جا ت منين ودة اسئلة الطالب لكن النتيجة ع طول للقيمة غير مفهومة فى بعض الامثلة السابقة

MR : ABO BATTA
23-04-2012, 03:19 PM
أشكرك مستر احمد قرني
لقد أجبت إجابات نموذجية على هذه الأسئلة
بارك الله فيك

حامد فتوح
23-04-2012, 05:39 PM
في جمل for .....next يتم تنفيذ الأوامر طالما أن قيم العداد أقل من أو تساوي قيمة end فإذا كانت قيمة r 7 وقيمة end 8 فهذا يعني ان الشرط ما ذا متحقق ويجب ان يكون الشرط غير متحقق حتي يخرج من دائرة التكرار وبذلك يجب ذيادة قيمة العداد r حتي تصل إلي 9

mahgooz
23-04-2012, 11:29 PM
يا أستاذ هو أعطاك قيمة x = 2.5 ونوع البيانات single والتكرار اربع مرات يبقي القيم كالتالي
في المرة الأولي قيمة x= x*2 يعي 2.5 *2 =5
وفب المرة الثانية = 10
وفي المرة الثالثة = 20 وفي نهاية التكرار =40
إذا قيمة x= 40 ا . محمد رمضان مدرس حاسب ألي شكرا واريد كل ماهو جديد

محمد فتحي مشرف
25-04-2012, 01:03 PM
:d:d:dزميلي العزيز الامرfor next يقوم بزيادة قيم العداد حتي تكون قيمته اكبر من او تساوي قيمة النهاية ولا يتوقف الا في هذه الحالة ولكن جملة التكرار يتم تنفيذها اذا كانت قيم العداد اقل من او تساوى قيمة النهاية وبذالك فان العداد يتوقف عند القيمة 9 ولكن لايتم تنفيذ التكرار عندها............ lmmmmmmmmmmm

whiteangel
28-04-2012, 06:43 AM
قيمة N = 7
قيمة K = 5
قيمة C = 7
ناتج الشرط n >c then يكون True

ممممممممم إزاى n=7
ونهايه العداد بـ 6 ؟؟؟ إنت كده عديت قيمة end وقاعدة for-next لا تسمح ان تكون قيمة العداد تتعدى قيمة end

يعنى N= 1 , 4 ( تم التكرار مرتين )

أما k فطالما مالهاش قيمة فى البدايه فـ يتم التعويض بـ صفر
k=k+n
k=0+1
=1

وبما إن عدد مرات تكرار n مرتين
حيتم تكرار k أيضا مرتين

فتكون ( حنعوض بقيمه n , k الجداد )
k=k+n
k=1+4
=5

أما بقى ناتج الشرط if n >c يكون false

لإن n=4 , c=6

وطالما الشرط خطأ يبقى لن يتم تنفيذ الأمر c=c+1

وحتظل قيمة c كما هى c=6


الناتج النهائى

N=4
K=5
C=6

شكراً .. ولو فيه خطأ أتمنى التوضيح

rery fared
30-04-2012, 09:29 PM
dim n,k,c as ingager

c=6

for n=1 to 6 step 3

k=k+n

next

if n >c then

c=c+1

enf if
اوجد قيم n c k


قيمة N = 7
قيمة K = 5
قيمة C = 7
ناتج الشرط n >c then يكون True

*************************************
في الامر for , next

for n=1 to 6 step 3

k=k+n

next
اذا لم يذكر msgbox فهل قيمة n تساوي 4 ام 7

زياد_عاطف
30-01-2013, 01:28 AM
السلام عليكم ورحمة الله وبركاته
أرجو أن أجد إجابة لسؤالي هذا :
For r = 1 To 8 Step 2
(MsgBox (R
Next
يتوقف التكرار في الحالة السابقة عند الرقم 7
For r = 1 To 8 Step 2
Next
(MsgBox (R
يتوقف التكرار في هذه الحالة عندما تكون قيمة R = 9
فما الفرق بين الحالتين ؟؟؟
أرجو من الأخوة سرعة الرد جعله الله في ميزان حسناتكم

=========================
فى الحالتين كلتاهما sسيتم التكرار طالما أن قيمة العداد R هى 7 بعدها يتم زيادة قيمة العداد بمقدار الزيادة 2 لتصبح قيمة العداد R هى 9 فيتوقف التكرار
-------------------------------------------:028ja7:
الفرق هنا فى مكان الأمر( MsgBox (R ففى الجملة الأولى الأمر فى نطاق التكرار فيتم طباعة قيم R و هى بالترتيب 1 ثم 3 ثم 5 ثم 7 ثم ينتهى التكرار
اما فى الجملة الثانية الأمر بعد نهاية التكرار حينئذ اصبحت قيمة R بعد نهاية التكرار هى آخر قيمة لها فى التكرار + مقدار الزيادة أى 7 +2 = 9 لذلك سيتم طباعة العدد 9 فقط
=====================
عاطف حسان / ميت موسى

المهدي مصطفى السعيد
30-01-2013, 10:37 AM
الاستاذ المحترم / احمد قرني ...
كما اوضح لك الزميل mahgooz (http://www.thanwya.com/vb/member.php?u=352936) أو الأستاذ / محمد رمضان قيمة x كانت بتساوي 2.5 ولذلك فان قيمها ستكون كما ذكرها الأستاذ محمد رمضان 5 و 10 و 20 و 40 وطبعا لوطلب طباعتها في النهاية ستكون 40 ..اعرف انها مسألة بديهيه وقد احسنت حضرتك في شرحها فقط اردت ان الفت النظر حتى لا يظن البعض انك قد اخطأت ..حضرتك فقط حسبتها على انها X= 2 لكم جميعا موفور الشكر والتقدير