VB Problems3

You might also like

You are on page 1of 5

Програмирање 2016/17

Вежби – час 05 (14.03.2017)

1. За внесена вредност 𝑥 ≥ 1, испечати ги оние членови на низата 𝑥 2 , 𝑥 4 , 𝑥 6 , … , 𝑥 2𝑛 , …,


поголеми од внесена вредност 𝜀 > 0.

Dim x As Integer
Dim br As Integer
Dim eps As Variant
Dim clen As Variant
Private Sub Form_Activate()
100
x = Val(InputBox("x="))
eps = 10 ^ 7
If x > 1 Then
clen = x ^ 2
br = 1
Do While clen <= eps
Print clen
clen = clen * x ^ 2
br = br + 1
Loop
Else
GoTo 100
End If
Print "Prviot clen na nizata, cija vrednost";
Print " e pogolema od "; eps; " e clenot ";
Print "a("; br; ")="; clen
End Sub

2. Пресметај го збирот и производот од цифрите на внесен број 𝑑.

Dim d As Variant
Dim m As Variant
Dim zbir As Integer
Dim proizvod As Long
Dim c As Integer
Dim br As Integer
Private Sub Form_Activate()
d = Val(InputBox("d="))
m = d
zbir = 0: proizvod = 1: br = 0
Do While d <> 0
c = d Mod 10
zbir = zbir + c
proizvod = proizvod * c
Програмирање 2016/17

Вежби – час 05 (14.03.2017)


br = br + 1
d = d \ 10
Loop
Print "Brojot "; m; " ima "; br; " cifri,";
Print " cija suma e "; zbir; " i nivniot ";
Print " proizvod e "; proizvod
End Sub

3. Бројот 𝑑 запишан во броен систем со основа 5 (броен систем во кој се користат


цифрите 0,1, 2, 3 и 4), запиши во бинарен броен систем (броен систем во кој се
користат цифрите 0 и 1).

Dim d As Long
Dim m As Long
Dim c As Integer
Dim br As Integer
Dim x As Long
Dim y As Variant
Private Sub Form_Activate()
100
d = Val(InputBox("d="))
m = d
x = 0
Do While d <> 0
c = d Mod 10
If c < 5 Then
br = br + 1
x = x + c * 5 ^ (br - 1)
d = d \ 10
Else
GoTo 100
End If
Loop
Print x
br = 0
y = 0
Do While x <> 0
c = x Mod 2
br = br + 1
y = y + c * 10 ^ (br - 1)
x = x \ 2
Loop
Print "Brojot "; m; " zapisan vo binaren ";
Print "broen sistem e"; y
End Sub
Програмирање 2016/17

Вежби – час 05 (14.03.2017)


4. Најди ги сите делители на внесен број 𝑛 > 0.

Прв начин (со користење на For циклус):


Dim i As Integer
Dim n As Integer
Private Sub Form_Activate()
n = Val(InputBox("n="))
For i = 1 To n
If n Mod i = 0 Then
Print i; ",";
End If
Next i
End Sub

Втор начин (со користење на Do While циклус):


Dim i As Integer
Dim n As Integer
Dim br As Integer
Private Sub Form_Activate()
n = Val(InputBox("n="))
br = 1
Do While br <= n
If n Mod br = 0 Then
Print br;
End If
br = br + 1
Loop
End Sub

5. Провери дали внесен број 𝑛 > 0 е прост број.

Прв начин:
Dim n As Long
Dim i As Long
Dim p As Integer
Private Sub Form_Activate()
n = Val(InputBox("n="))
If n = 1 Then
Print "Edinicata ne e nitu prost ";
Print "nitu slozen broj"
Else
p = 0
For i = 2 To n / 2
Програмирање 2016/17

Вежби – час 05 (14.03.2017)


If n Mod i = 0 Then
p = p + 1
End If
Next i
If p = 0 Then
Print "Brojot "; n; " e prost broj"
Else
Print "Brojot "; n; " e slozen broj"
End If
End If
End Sub

Втор начин:
Dim n As Long
Dim i As Long
Private Sub Form_Activate()
n = Val(InputBox("n="))
If n = 1 Then
Print "Edinicata ne e nitu prost ";
Print "nitu slozen broj"
Else
For i = 2 To n / 2
If n Mod i = 0 Then
GoTo 100
End If
Next i
Print "Brojot "; n; " e prost broj"
GoTo 200
100
Print "Brojot "; n; " e slozen broj"
200
End Sub
Програмирање 2016/17

Вежби – час 05 (14.03.2017)


Задачи за вежбање:
1. Бројот 𝑑 запишан во броен систем со основа 𝑛, запиши го во броен систем со основа 𝑚,
каде што 𝑛, 𝑚 ∈ {2, … ,10}.
2. Провери дали два внесени броеви се заемно прости броеви, односно нивниот најголем
заеднички делител е еднаков на 1. Потоа, за внесен број 𝑛 > 100, најди ги сите парови
од заедмно прости броеви од 1 до 𝑛.
3. За внесена вредност 𝑥 > 1, испечати ги оние членови на низата 𝑥, 2𝑥 2 , 3𝑥 3 , … , 𝑛𝑥 𝑛 , …,
за кои важи дека нивниот збир со сите претходни членови од низата е помал од
внесена вредност 𝜀 > 0.
4. Пресметај ја приближно вредноста на производот
√3 √3 √3
𝑃 = √3 ∙ ∙ ∙⋯ ∙ ⋯,
1+2 1+2+3 1 + 2 + 3 + ⋯+ 𝑛
множејќи се додека множителите се поголеми или еднакви на внесена вредност 𝜀
(0<𝜀<1).

You might also like