بوابة الثانوية العامة المصرية

بوابة الثانوية العامة المصرية (https://www.thanwya.com/vb/index.php)
-   حاسب آلى 3ع ترم2 (https://www.thanwya.com/vb/forumdisplay.php?f=1965)
-   -   سؤال في الأمر For ... Next (https://www.thanwya.com/vb/showthread.php?t=419297)

winter4444 20-04-2012 11:02 AM

سؤال في الأمر For ... Next
 
السلام عليكم ورحمة الله وبركاته
أرجو أن أجد إجابة لسؤالي هذا :
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

اقتباس:

المشاركة الأصلية كتبت بواسطة winter4444 (المشاركة 4437510)
السلام عليكم ورحمة الله وبركاته
أرجو أن أجد إجابة لسؤالي هذا :
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

اقتباس:

المشاركة الأصلية كتبت بواسطة winter4444 (المشاركة 4437564)
أولا ً أشكرك أستاذ أحمد جزيل الشكر على كل مجهوداتك معنا وبالمناسبة أنا أطالع الآن المحافظات التي بذلت سيادتكم فيها الكثير من الجهد في سبيل توفيرها للطلاب وكان هذا أحد أسئلتها
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

اقتباس:

المشاركة الأصلية كتبت بواسطة almokhlas (المشاركة 4438459)
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 ا . محمد رمضان مدرس حاسب ألي شكرا واريد كل ماهو جديد


جميع الأوقات بتوقيت GMT +2. الساعة الآن 01:28 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.