Skip to content

Instantly share code, notes, and snippets.

@SirmaXX
Last active May 30, 2020 12:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SirmaXX/aa04a7ab6185851f0a7fa06aa3a350c9 to your computer and use it in GitHub Desktop.
Save SirmaXX/aa04a7ab6185851f0a7fa06aa3a350c9 to your computer and use it in GitHub Desktop.
' x ,frekans için 2 dizi ve yineleyiciler için değişkenler tanımladık '
Dim x() As Single, freq() As Integer, i As Integer, k As Integer, l As Integer
Private Sub Command1_Click()
' ortalama ve n değerini kullanabilmek için yeni değişken tanımladık '
Dim ort As Single, sendn As Integer
' nn değeri text1.texten gelen bir değer değişik amaçlar için ek değişkenler tanımladık'
nn = Text1.Text: n = nn - 1: sendn = nn
'dizilerin boyutunu n e göre yapılandırdık '
ReDim x(n)
ReDim freq(n)
' eleman girişi ve verilerin frekansı için frekans dizisinin her elemanına -1 değeri verdik '
For i = 0 To n
x(i) = InputBox((i + 1) & ",Terim ", "Veri girisi", "0")
freq(i) = -1
Next i
' kontrol kutucuğu işaretli ise standart sapma fonksiyonu çalışır '
If Check1.Value = 1 Then
Call startdev(x, sendn)
End If
If Check6.Value = 1 Then
Dim result As Single
result = 10 ^ (logmean(x, sendn))
Text7.Text = result
End If
' kontrol kutucuğu işaretli ise range fonksiyonu çalışır '
If Check4.Value = 1 Then
Call range(x, sendn)
End If
' kontrol kutucuğu işaretli ise ortalama fonksiyonu çalışır '
If Check2.Value = 1 Then
Call mean(x, sendn)
End If
' kontrol kutucuğu işaretli ise logaritmalı ortalama fonksiyonu çalışır '
If Check5.Value = 1 Then
Call logmean(x, sendn)
End If
'kontrol kutucuğu işaretli ise dizideki değerlerin frekansları bulunur '
If Check3.Value = 1 Then
Text4.Text = "frekanslar " & vbCrLf
Dim count1 As Integer
'kontrol kutucuğu işaretli ise dizideki değerlerin frekansları bulunur '
For i = 0 To n
count1 = 1
For j = i + 1 To n
' 2 tane aynı elemanın bulunduğu durumu kontrol ediyoruz '
If x(i) = x(j) Then
count1 = count1 + 1
' aynı elementin tekrar sayılmaması için o değere ait frekansa 0 değerini gireriz '
freq(j) = 0
End If
Next j
'secili eleman sayılmaz ise count değişkenine aktarılır'
If freq(i) <> 0 Then
freq(i) = count1
End If
Next i
'frekans sayılarını multiline ve scroll özelliklerine sahip textboxa yazdırıyorum'
For i = 0 To n
If freq(i) <> 0 Then
With Text4
.Text = .Text & x(i) & " değerinin frekansı " & freq(i) & vbCrLf
End With
End If
Next i
End If
End Sub
' fonksiyonların olduğu kısım '
Function range(x() As Single, n As Integer)
Dim result As Integer, min As Single, max As Single
min = x(0): max = x(0)
For i = 0 To n - 1
If x(i) < min Then
min = x(i)
End If
If x(i) > max Then
max = x(i)
End If
Next i
result = max - min
Text5.Text = result
End Function
Function mean(x2() As Single, n As Integer)
Dim sum As Single, ortalama As Single
sum = 0: ortalama = 0
For i = 0 To n - 1
sum = sum + x2(i)
Next i
ortalama = sum / n
Text3.Text = ortalama
End Function
Function logmean(x2() As Single, n As Integer)
Dim sum As Single, ortalama As Single
sum = 0: ortalama = 0
For i = 0 To n - 1
sum = sum + Math.Log(x2(i))
Next i
ortalama = sum / n
If Check5.Value = 1 Then
Text6.Text = ortalama
ElseIf Check6.Value = 1 Then
logmean = ortalama
Else
Text6.Text = "": logmean = ""
End If
End Function
Function startdev(x2() As Single, n As Integer)
Dim t As Single, sap As Single, topsqrt As Single, ortalama As Single, us As Single
sum = 0: t = 0: ortalama = 0: topsqrt = 0
For i = 0 To n - 1
sum = sum + x2(i)
Next i
ortalama = sum / n
For k = 0 To n - 1
t = t + (x2(k) - ortalama) ^ 2
Next k
sap = (t / (n - 1)) ^ (1 / 2)
Text2.Text = sap
End Function
Private Sub Form_Load()
Form1.Caption = "frekans serileri icin istatistik yazılımı"
End Sub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment