عرض مشاركة واحدة
  #8  
قديم 24-04-2011, 08:54 AM
abdo_Awad abdo_Awad غير متواجد حالياً
عضو مجتهد
 
تاريخ التسجيل: Aug 2008
المشاركات: 52
معدل تقييم المستوى: 17
abdo_Awad is on a distinguished road
افتراضي

الحل ده غلط
اقتباس:
المشاركة الأصلية كتبت بواسطة redrose37
برجاء سرعة إجابة هذا الشؤال:
السؤال السابع الفصل الثالث كتاب الوزارة صفحة 125
صف المخرجات الناتجة من تنفيذ مجموعة الاوامر الآتية

For I= 0 To 7
If ( i mod 2 = 0 ) then
MsgBox( i + 1 )
Elself ( i Mod 3+ 0) Then
MsgBox( i *i)
Elself (i Mod 5= 0) then
msgBox(2 *i - 1 )
Else
MsgBox(i)
Evd If
NEXT

اولا هنقول i بتساوي كام
i = 0.1.2.3.4.5.6.7
بعد كده هنقول هو امتى باقى قسمة i مع 2 = صفر
في حالة i = 2 . 4 . 6 بعد كده نقول

عند i =2 تظهر رسالة 3 وعند i = 4 تظهر رسالة 5 و عند i = 6 تظهر رسالة 7 ------------------------ i+1
بعد كده هنقول امتى باقى قسمة i مع 3 = صفر
في حالة i = 3 . 6 بعد كده نقول

عند i = 3 تظهر رسالة محتواها 9 وعند i = 6 تظهر رسالة محتواها 36 ------------------ i*i
بعد كده نقول امتى باقى قسمة i على 5 = صفر
في حالة i = 5 بعد كده نقول

عند i = 5 تظهر رسالة محتواها 9 -----------------1-2*5

الحل الصحيح : i= 0,1,2,3,4,,5,6,7
فى جملة if then else المتعددة يتم اخذ قيمة المتغير مرة واحد فقط ولايتم تكراره
ولهذا : ( i mod 2= 0) يكون هذا مع الارقام 0 & 2 & 4 &6 ولهذ هيكون الناتج 1 & 3 & 5 &7
وعندما تكون ( i mod 3 =0 ) يكون الرقم المستخدم هنا فقط 3 ولن يتم استخدام 6 لانه تم استخدامها قبل ذلك ولهذ يكون الناتج )i * i = يكون الناتج = 9
عندما تكون (i mod 5 =0 ( يكون الرقم المستخدم 5 وهذا يكون الناتج )2* i -1 يكون الناتج 9
الرقمين التى لم يتم استخامهم هم ( 1 & 7 ) يظهر فى اخر البرنامج

* جرب البرنامج على vb.net
الدليل الثانى ان الحل فى خطأ ان ) zero mod 3 =0 لماذا لم يتم استخدامه