السلام عليكم
أريد أن أطلب من الأعضاء والزوار مساعدتي : عندي سؤال ولا أستطيع حله وهو كتابة برنامج إدخال مجموعة من الأعداد ويتم جمع الأعداد الأولية منها واظهار الناتج.
ولكم جزيل الشكر والتقدير
السلام عليكم
أريد أن أطلب من الأعضاء والزوار مساعدتي : عندي سؤال ولا أستطيع حله وهو كتابة برنامج إدخال مجموعة من الأعداد ويتم جمع الأعداد الأولية منها واظهار الناتج.
ولكم جزيل الشكر والتقدير
تم تعديل هذه المشاركة بواسطة فجوالبيسك في 3 أبريل 2009 في 10:26
نفترض اننا نريد ادخال مثلا 6 اعداد ثم يقوم البرنامج بجمع الارقام الاولية منهم فقط
قم بعمل الاتي
ادرج سبعة تكست بوكس علي الفورم و مفتاح
قم بتسمية ال textboxes كالتالي
txt1
txt2
txt3
txt4
txt5
txt6
txtsum
قم بانشاء الدالة التالية لاختبار ان كان الرقم اولي ام لا
Private Function test_num(ByVal xx As Long)
Dim result As Boolean
Dim i As Integer
If xx < 2 Then
result = False
Return result
Exit Function
End If
If xx = 2 Then
result = True
Return result
Exit Function
End If
For i = 2 To xx - 1
If (xx / i) = CInt(xx / i) Then
result = False
Return result
Exit Function
End If
Next
result = True
Return result
End Function
ثم اضغط مرتين علي المفتاح و اكتب الكود التالي
txtsum.Text = 0
If (test_num(Val(txt1.Text))) = True Then
txtsum.Text += (Val(txt1.Text))
End If
If (test_num(Val(txt2.Text))) = True Then
txtsum.Text += (Val(txt2.Text))
End If
If (test_num(Val(txt3.Text))) = True Then
txtsum.Text += (Val(txt3.Text))
End If
If (test_num(Val(txt4.Text))) = True Then
txtsum.Text += (Val(txt4.Text))
End If
If (test_num(Val(txt5.Text))) = True Then
txtsum.Text += (Val(txt5.Text))
End If
If (test_num(Val(txt6.Text))) = True Then
txtsum.Text += (Val(txt6.Text))
End If
ستلاحظ عند الضغط علي المفتاح انه تم جمع الارقام الاولية فقط الموجودة في جميع التكست بوكس و وضع الناتج في التكست بوكس المسمي txtsum