You are on page 1of 2

II Pismeni ispit iz Osnova programiranja 30. 01. 2018.

Napisati realnu funkcijsku proceduru koja za dati celobrojni, nenegativni niz X od k elemenata vraća
aritmetičku sredinu onih elemenata niza X koji se ne završavaju cifrom 0. (Primer: k=10; X: 8, 19, 10, 6, 4,
7, 15, 35, 3, 4, funkcija vraća broj 11.22).
Kreirati proceduru događaja koja odgovara komandnom dugmetu “UNESI” sa ekranskog obrasca “ISPIT”
koja sa tastature učitava prirodne brojeve m i n, m, n  10 , a zatim celobrojnu nenegativnu matricu Amxn,
funkcijom InputBox po principu "kolona po kolona”. Pritiskom na komandno dugme "OBRADI"
odštampati matricu A na ekranskom obrascu, kao i u datoteci Izlaz.txt. Matrica A smatra se ispravnom ako
maksimalni element matrice A nije prost broj. Ako je matrica A ispravna, pozivajući gornju funkcijsku
proceduru za svaku njenu vrstu, napraviti novi niz Z koji se sastoji od elemenata koje vrati funkcijska
procedura. Novodobijeni niz Z odštampati na ekranskom obrascu i u datoteci Izlaz.txt. Ako matrica A nije
ispravna, na ekranskom obrascu prikazati odgovarajuću poruku.
Module Module1
Public a(,) As Integer
Public m, n As Byte
Public Function ars(ByRef x() As Integer, ByVal k As Byte) As Single
Dim i, t As Byte
Dim s As Integer
s = 0 : t = 0
For i = 1 To k
If x(i) Mod 10 <> 0 Then
s = s + x(i)
t = t + 1
End If
Next i
ars = s / t
End Function
End Module
Public Class Form1

Private Sub unesi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles unesi.Click
Dim i, j As Byte
m = Val(InputBox("M", "UNESI"))
n = Val(InputBox("N", "UNESI"))
If m > 0 And n > 0 And n <= 10 And m <= 10 Then
ReDim a(m, n)
For j = 1 To n
For i = 1 To m
a(i, j) = Val(InputBox("Unesi element matrice", "A(" & Str(i) & ","
& Str(j) & ")"))
Next i
Next j
unesi.Visible = False
Obradi.Visible = True
Else
MsgBox("Lose upisano m i n!")
End If

End Sub

Private Sub Obradi_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Obradi.Click
Dim j, s, t As Byte
Dim i, max, x(n) As Integer
Dim z(m), c As Single
Dim r(m), d As String
FileOpen(2, "e:\Visual Basic\izlaz.txt", OpenMode.Output)
PrintLine(2, "Matrica A:")
For i = 1 To m
r(i) = ""
For j = 1 To n
r(i) = r(i) & Space(7 - Len(Str(a(i, j)))) & Str(a(i, j))
Next j
PrintLine(2, r(i))
Next i
TextBox1.Lines = r
max = a(1, 1)
For i = 1 To m
For j = 1 To n
If max < a(i, j) Then
max = a(i, j)
End If
Next j
Next i
s = 0
For i = 1 To max
If max Mod i = 0 Then
s = s + 1
End If
Next i
If s > 2 Then
t = 0
For i = 1 To m
For j = 1 To n
x(j) = a(i, j)
Next j
c = ars(x, n)
t = t + 1
z(t) = c
Next i
d = ""
For i = 1 To t
d = d & Space(7 - Len(Format(z(i), "0.00"))) & Format(z(i), "0.00")
Next i
Label1.Text = "Niz Z:" & d
PrintLine(2, "Niz Z:" & d)
End If
FileClose(2)
End Sub
End Class

You might also like