برنامه ای بنویسید که با دریافت عدد طبیعی N، مجموعه مقسوم علیه های آن را محاسبه و چاپ نماید.
توضیح: فرض کنیم N عددی طبیعی باشد، مقسم علیه های N، اعداد صحیح کوچکتر از N هستند که اگر N به هر کدام از آنها تقسیم شود، باقی مانده مساوی صفر می شود. برای مثال عدد 12 را در نظر بگیریم، مقسوم علیه های آن 1، 2، 3، 4، 6 و 12 هستند.
الگوریتم
- شروع
- N را بخوان
- W=1
- R=N-W*Int(N/W)
- اگر R=0 بود پس W را بنویس
- W=W+1
- اگر W<=N بود پس بر به مرحله 4
حال این برنامه را در دو محیط برنامه نویسی VB و VBScript طراحی می کنیم. ابتدا محیط برنامه نویسی ویژوال بیسیک:
1 – پروژه جدیدی ایجاد کنید.
2 – یک عدد TextBox، یک عدد ListBox، یک عدد دکمه و دو عدد Label به فرم اضافه کنید.
3 – روی دکمه دابل کلیک کنید و کدهای زیر را تایپ کنید:
Dim Number As Integer
Dim Counter As Integer
Dim R As Integer
List1.Clear
Number=Val(Text1.Text)
Counter=1
Start:
R=Number-Counter*Int(Number/Counter)
If R=0 Then List1.AddItem Str(Counter)
Counter=Counter+1
If Counter<=Number Then Goto Start
کد برنامه در نرم افزار اکسل
1 – برای طراحی و اجرای الگوریتم فوق در نرم افزار اکسل، با فشار هم زمان کلیدهای Alt+F11 وارد محیط ویژوال بیسیک ادیتور می شویم.
2 – از منوی Insert روی فرمان Module کلیک می کنیم و کدهای زیر را تایپ می کنیم:
Public Sub Divisor( )
Dim N, K, W, SumAll As Integer
Range("B:B").ClearContents
N=Range("A1").Value
S = 0
W = 0
I = 1
Line6:
R = N - I * Int(N / I)
If R = 0 Then
W = W + 1
SumAll = SumAll + I
strCol = Trim(Str(W))
S = "B" + strCol
Range(S).Value = Str(I)
End If
I = I + 1
If I <= N Then GoTo Line6
S = "B" + Trim(Str(W + 1))
Range(S).Value = "Sum= " + Str(SumAll)
End Sub
نکته: کدهای فوق علاوه بر محاسبه مقسوم علیه های یک عدد، مجموع آنها را نیز محاسبه و چاپ می نماید.
3 – به برنامه اکسل بازگردید و در خانه A1 عدد 12 را وارد کنید.
4 – کلیدهای Alt + F8 را همزمان فشار دهید.