Professional Documents
Culture Documents
12 Labaratorije
12 Labaratorije
2. Napisati funkciju ProstBroj koja ima jedan pozitivni cjelobrojni argument N (nije potrebno provjeravati ispravnost
broja N), a vraa logiku vrijednost True ako je broj N prost, odnosno False u sluaju da nije prost.
Function ProstBroj(N As Integer) As Boolean
Dim I As Integer
ProstBroj = True
If N = 1 Then
ProstBroj = False
Exit Function
End If
For I = 2 To N / 2
If N Mod I = 0 Then
ProstBroj = False
Exit Function
End If
Next I
End Function
3. Napisati funkciju SPB koja ima jedan pozitivni cjelobrojni argument N (nije potrebno provjeravati ispravnost broja
N), a kao rezultat vraa zbir svih prostih brojeva manjih od N. U rjeavanju koristite funkciju ProstBroj iz
prethodnog zadatka.
Function SPB(N As Integer) As Integer
Dim I As Integer
SPB = 0
For I = 2 To N - 1
If ProstBroj(I) Then SPB = SPB + I
Next I
End Function
4. Napisati funkciju SumCif koja ima jedan cjelobrojni argument N i koja rauna zbir njegovih cifara. Prilagoditi
funkciju tako da ispravno radi i pri unosu negativnih brojeva. Znak broja ne utie na sumu njegovih cifara.
Function SumCif(N As Integer) As Integer
SumCif = 0
If N < 0 Then N = -N
Do
SumCif = SumCif + (N Mod 10)
N = N \ 10 'ili N = Fix(N / 10)
Loop Until N = 0
End Function
1. Napisati funkciju sumadjeljivi koji za unijeti prirodan broj N rauna sumu svih prirodnih brojeva sa kojima je N
djeljiv. Ukoliko N nije prirodan broj, prekinuti izvravanje funkcije i vratiti broj -1.
Function sumadjeljivi(N As Integer) As Integer
Dim I As Integer
If N <= 0 Then
sumadjeljivi = -1
Exit Function
End If
sumadjeljivi = 0
For I = 1 To N
If N Mod I = 0 Then
sumadjeljivi = sumadjeljivi + I
End If
Next
End Function
2. Napisati funkciju binarni koja za ulazni argument ima cijeli broj N i koja formira string koji predstavlja binarni
zapis broja N. Na primjer, poziv funkcije binarni(190) vraa string "10111110".
Function binarni(N As Integer) As String
Dim cif As Integer
binarni = ""
Do While N <> 0
cif = N Mod 2
binarni = cif & binarni
N = N \ 2
Loop
End Function
3. Napisati funkciju elim_cif koja za ulazni argument ima string S i koja iz datog stringa eliminie sve cifre. Na
primjer, poziv funkcije elim_cif("srijeda 20.2.2008.") vraa string "srijeda ...".
Function elim_cif(S As String) As String
Dim I As Integer
elim_cif = ""
For I = 1 To Len(S)
If Mid(S, I, 1) Like "[!0-9]" Then
elim_cif = elim_cif & Mid(S, I, 1)
End If
Next I
End Function
4. Napisati funkciju zamjena koja za ulazni argument ima stringove S, S1 i S2, i koja svaku pojavu stringa S1 u S
mijenja stringom S2. Na primjer, poziv funkcije zamjena("prababa","ba","de") vraa string "pradede".
5. Napisati funkciju num2text koja za ulazni argument ima cijeli broj N i koja vraa string koji predstavlja tekstualni
oblik datog broja. Na primjer, poziv funkcije num2text(249) vraa string "dvije stotine etrdeset devet".
Ovo uradite sami, i to samo ako ne znate ta ete od slobodnog vremena.