مشاهدة النسخة كاملة : مطلوب جل جمع الاعداد الفردية من 1 الى 10


سيف سالم
15-05-2015, 01:29 PM
الطالب الاول كان الحل بتاعه كدا
dim n , s as integer
do while n<=10
s=s+n
n=n+2
loop
label1.text=s

التاني كان الحل بتاعه كدا

dim n , s as integer
n=1
sum=1
do while n<=8
n=n+2
s=s+n
label1.text=s
loop
اي الحلين خطأ وايهما مش خطأ
ولو الحل الاول خطأ نقنع الطالب الاول ازاي انه خطأ
ولو الحل التانى مش خطأ نقنع الطالب التانى انه مش خطأ
الكود التانى نهايته 8 مش 10

محمد عيد احمد دسوقى
15-05-2015, 03:26 PM
الاول خطأ لان قيمة المتغير الابتدائية = صفر ثم تزيد قتكون 2 وهذه الاعداد زوجية
الثانى خطأ لان قيمة sum فى النهاية 36 وليست 25

دحيم1
15-05-2015, 04:13 PM
في الحل الأول كان يجب تخصيص قيمة البداية للمتغير n = 1 حتى يتم جمع الأعداد الفردية

دحيم1
15-05-2015, 04:15 PM
في الحل الثاني Sum لابد أن تبدأ بصفر Sum = 0
S= s+ 2 قبل N= n+2

سيف سالم
15-05-2015, 04:38 PM
الطالب الاول كان الحل بتاعه كدا
dim n , s as integer
do while n<=10
s=s+n
n=n+2
loop
label1.text=s

التاني كان الحل بتاعه كدا

dim n , s as integer
n=1
sum=1
do while n<=8
n=n+2
s=s+n
label1.text=s
loop
اي الحلين خطأ وايهما مش خطأ
ولو الحل الاول خطأ نقنع الطالب الاول ازاي انه خطأ
ولو الحل التانى مش خطأ نقنع الطالب التانى انه مش خطأ
الكود التانى نهايته 8 مش 10




الاول خطأ لان قيمة المتغير الابتدائية = صفر ثم تزيد قتكون 2 وهذه الاعداد زوجية
الثانى خطأ لان قيمة sum فى النهاية 36 وليست 25

في الحل الأول كان يجب تخصيص قيمة البداية للمتغير n = 1 حتى يتم جمع الأعداد الفردية

في الحل الثاني sum لابد أن تبدأ بصفر sum = 0
s= s+ 2 قبل n= n+2
شكرا لكم جميعا بس معذرة الكود التانى النهاية 8

سيف سالم
15-05-2015, 04:43 PM
واضح ان الكود الاول خطأ
يتبقى ازاي نقنع الطالب ان الكود ده خطأ مش صحيح

misre_2010
16-05-2015, 12:55 PM
هو الاول خطأ طبعا لانه كده هيستحدم الاعداد الزوجية مش الفردية

الكود الثانى صح لانه عايز مجموع الاعداد الفردية من 1 الى 10
اللى هما 1و3و5و7و9 وفعلا ال 9 هى اخر قيمة هنحسب بيها الsum وبعد كده هنخرج من الحلقة التكرارية وسبب كل ده طبعا هو ان كود زيادة العداد جاء قبل كود حساب المجموع وبالتالى فمفيش مشكلة ان قيمة sum فى اول مرة ب 1
وياريت اكون قدرت اوصل قصدى لحضرتك

سيف سالم
16-05-2015, 01:13 PM
هو الاول خطأ طبعا لانه كده هيستحدم الاعداد الزوجية مش الفردية

الكود الثانى صح لانه عايز مجموع الاعداد الفردية من 1 الى 10
اللى هما 1و3و5و7و9 وفعلا ال 9 هى اخر قيمة هنحسب بيها الsum وبعد كده هنخرج من الحلقة التكرارية وسبب كل ده طبعا هو ان كود زيادة العداد جاء قبل كود حساب المجموع وبالتالى فمفيش مشكلة ان قيمة sum فى اول مرة ب 1
وياريت اكون قدرت اوصل قصدى لحضرتك
بارك الله لكم وجزاكم الله كل خير
يتبقى فقط
ازاي نقنع الطالب الاول انه خطأ علشان جاب الدرجة النهائية رغم حله هذا الخطأ
ونقنع الطالب التانى ازاي هو مش غلط علشان جاب 8.5 من عشرة وباقى اجاباته صحيحة

زياد_عاطف
17-05-2015, 02:32 AM
بارك الله لكم وجزاكم الله كل خير
يتبقى فقط
ازاي نقنع الطالب الاول انه خطأ علشان جاب الدرجة النهائية رغم حله هذا الخطأ
ونقنع الطالب التانى ازاي هو مش غلط علشان جاب 8.5 من عشرة وباقى اجاباته صحيحة


================================================
الكود الاول ليس فيه مشكلة لإقناع الطالب بالخطأ لو تتبع الأوامر و ماذا يجمع و يخزن فى المتغير S
فأول تكرار S=S+N=0+0=0 ثم زيادة قيمة العداد ليكون N=N+2=0+2=2--- ثانى تكرار S=S+N=0+2=2 ثم زيادة قيمة العداد ليكون N=N+2=2+2=4 ---- ثالث تكرار S=S+N=2+4=6 ثم زيادة قيمة العداد ليكون N=N+2=4+2=6 ---- رابع تكرار S=S+N=6+6=12 ثم زيادة قيمة العداد ليكون N=N+2=6+2=8 ---- خامس تكرار S=S+N=12+8=20 ثم زيادة قيمة العداد ليكون N=N+2=8+2=10 ---- سادس تكرار S=S+N=20+10=30 ثم زيادة قيمة العداد ليكون N=N+2=10+2=12 ----
و يصبح الشرط خطأ حيث أن الشرط N<=10 أى 12<=10 FALS و يتوقف التكرار و نخرج منه لجعل قيمة خاصية ال Text لأداة العنوان مجموع الأعداد 0+2+4+6+8+10 و لو قمنا بصياغتها بصورة موجزة نقول مجموع الأعداد الزوجية من 0 الى 10 و هو غير المطلوب و هو خطأ

الكود الثانى يعطى نتيجة صحيحة كما هو مطلوب من معطيات المسألة – لكن ما هى المشكلة الوهمية ؟ أن شكل الكود مختلف عما هو شائع فى المقررات الدراسية الرسمية او غير الرسمية
فأول تكرار N=N+2=1+2=3 ثم S=S+N=1+3=4 ثم يتم طباعة ناتج الجمع و هو قيمة المتغير S على أداة العنوان و هو 1+3=4 ---- و ثانى تكرار N=N+2=3+2=5 ثم S=S+N=4+5=9 ثم يتم طباعة ناتج الجمع و هو قيمة المتغير S على أداة العنوان و هو 1+3+5=9 ---- و ثالث تكرار N=N+2=5+2=7 ثم S=S+N=9+7=16 ثم يتم طباعة ناتج الجمع و هو قيمة المتغير S على أداة العنوان و هو 1+3+5+7=16 --- و رابع تكرار N=N+2=7+2=9 ثم S=S+N=16+9=25 ثم يتم طباعة ناتج الجمع و هو قيمة المتغير S على أداة العنوان و هو 1+3+5+7+9=25 ----
و يصبح الشرط خطأ حيث أن الشرط N<=9 أى 9 => 8 FALSE و يتوقف التكرار و نخرج من الحلقة التكرارية
ملاحظة :- ما سيتم طباعتة على أداة العنوان سيكون أثناء الحلقة التكرارية و ليس خارجها فيتم طباعة الأعداد 4 ثم 9 ثم 16 ثم 25 و لكن ذلك كله يكون فى جزء من مليون جزء من الثانية و العين البشرية لا تستطيع رؤية ذلك لأن العين لا تلاحظ إلا الأشياء التى تتغير خلال عُشر ثانية تقريباً - فترى آخر رقم ثبت على اداة العنوان و هو ناتج جمع الأعداد 4+5+7+9=25 و هو نفسه ناتج جمع الأعداد 1+3+5+7+9=25 و هو ناتج جمع الأعداد الفردية من 1 الى 10


أستاذنا الفاضل سيف سالم دائما ما تثير الفضول بأسئلتك التى تشعرنا بأهمية التفاصيل الدقيقة فى الأكواد و التى قد تأتى بما هو غير متوقع لتخرجنا عن المألوف
و أرجو ان أكون وفقت فى الإجابة

عاطف مهدى حسان / ميت موسى

سيف سالم
17-05-2015, 07:09 PM
================================================
الكود الاول ليس فيه مشكلة لإقناع الطالب بالخطأ لو تتبع الأوامر و ماذا يجمع و يخزن فى المتغير s
فأول تكرار s=s+n=0+0=0 ثم زيادة قيمة العداد ليكون n=n+2=0+2=2--- ثانى تكرار s=s+n=0+2=2 ثم زيادة قيمة العداد ليكون n=n+2=2+2=4 ---- ثالث تكرار s=s+n=2+4=6 ثم زيادة قيمة العداد ليكون n=n+2=4+2=6 ---- رابع تكرار s=s+n=6+6=12 ثم زيادة قيمة العداد ليكون n=n+2=6+2=8 ---- خامس تكرار s=s+n=12+8=20 ثم زيادة قيمة العداد ليكون n=n+2=8+2=10 ---- سادس تكرار s=s+n=20+10=30 ثم زيادة قيمة العداد ليكون n=n+2=10+2=12 ----
و يصبح الشرط خطأ حيث أن الشرط n<=10 أى 12<=10 fals و يتوقف التكرار و نخرج منه لجعل قيمة خاصية ال text لأداة العنوان مجموع الأعداد 0+2+4+6+8+10 و لو قمنا بصياغتها بصورة موجزة نقول مجموع الأعداد الزوجية من 0 الى 10 و هو غير المطلوب و هو خطأ

الكود الثانى يعطى نتيجة صحيحة كما هو مطلوب من معطيات المسألة – لكن ما هى المشكلة الوهمية ؟ أن شكل الكود مختلف عما هو شائع فى المقررات الدراسية الرسمية او غير الرسمية
فأول تكرار n=n+2=1+2=3 ثم s=s+n=1+3=4 ثم يتم طباعة ناتج الجمع و هو قيمة المتغير s على أداة العنوان و هو 1+3=4 ---- و ثانى تكرار n=n+2=3+2=5 ثم s=s+n=4+5=9 ثم يتم طباعة ناتج الجمع و هو قيمة المتغير s على أداة العنوان و هو 1+3+5=9 ---- و ثالث تكرار n=n+2=5+2=7 ثم s=s+n=9+7=16 ثم يتم طباعة ناتج الجمع و هو قيمة المتغير s على أداة العنوان و هو 1+3+5+7=16 --- و رابع تكرار n=n+2=7+2=9 ثم s=s+n=16+9=25 ثم يتم طباعة ناتج الجمع و هو قيمة المتغير s على أداة العنوان و هو 1+3+5+7+9=25 ----
و يصبح الشرط خطأ حيث أن الشرط n<=9 أى 9 => 8 false و يتوقف التكرار و نخرج من الحلقة التكرارية
ملاحظة :- ما سيتم طباعتة على أداة العنوان سيكون أثناء الحلقة التكرارية و ليس خارجها فيتم طباعة الأعداد 4 ثم 9 ثم 16 ثم 25 و لكن ذلك كله يكون فى جزء من مليون جزء من الثانية و العين البشرية لا تستطيع رؤية ذلك لأن العين لا تلاحظ إلا الأشياء التى تتغير خلال عُشر ثانية تقريباً - فترى آخر رقم ثبت على اداة العنوان و هو ناتج جمع الأعداد 4+5+7+9=25 و هو نفسه ناتج جمع الأعداد 1+3+5+7+9=25 و هو ناتج جمع الأعداد الفردية من 1 الى 10


أستاذنا الفاضل سيف سالم دائما ما تثير الفضول بأسئلتك التى تشعرنا بأهمية التفاصيل الدقيقة فى الأكواد و التى قد تأتى بما هو غير متوقع لتخرجنا عن المألوف
و أرجو ان أكون وفقت فى الإجابة

عاطف مهدى حسان / ميت موسى

بارك الله فيك استاذنا الفاضل
ودائما ما تشرح كل شئ تفصيلا
بس المشكلة
لا يمكن اقناع طالب حاصل على الدرجة النهائية انه خطأ وان الحل خطأ
دا جايب عشرة من عشرة
وبالعكس تماما لا يمكن تقول للطالب انت صح وهو جايب 8.5 من عشرة
يعنى متوسط
شكرا لمروركم الكريم