Uygulama Tanıtımı - Tahmini Gelir Gider Hesaplama Programı

Merhaba,

Sizlere tanıtmak istediğim, ihtiyaç duyduğunuz alanlar oluştuğu zaman kullanacağınız bir programım var. Öncelikle programda kullandığım modülleri belirteyim.

Programlama Dili >> Python
Kullanılan modül >> Tkinter

Program Versiyon >> date_12102020_ver_1.0.0

Programın kullanım amacı bireysel hesaplamalar içindir. Bireysel hesaplamalardan kastım kazançlarınız ve giderlerinizi 12 aylık bir tablo da düzenli bir şekilde görmek ve finansal durumunuz hakkında fikir sahibi olmaktasınız.

Her ay için hesaplanan gelir ve gideriniz ile ettiğiniz kâr ya da zararı görebilecek, bir önceki aydan bir sonraki aya devreden paranızı görebileceksiniz. Önünüzdeki 12 aylık sürecin finansal hesaplamasını yapabildiğiniz ve yorumlayabildiğiniz için paranızı harcamak ya da paranızı arttırmak için fikir sahibi olabileceksiniz.

Yeni bir eve taşınacak ve masraflarınız artacak diyelim, fakat bir anda ne kadar masrafım olacak ne kadar giderim olacak diye düşünüp zarar edip etmeyeceğinizi düşünürken, programı kullanarak 12 ay boyunca ne durumda olabildiğinizi görebileceksiniz.

Program şuan 1.0.0 versiyonunda. Bu versiyonda bir takım eksiklikler var. Zamanla bu konu altında güncellemeye çalışacağım ve eksikleri bitireceğim. Eksikler şunlar;

  • Programın girdi alanları ve hesaplama işlemleri için kontrol mekanizması yok. Bundan sebep programı kullanırken sadece ve sadece sayısal veriler girilmeli. Bir sonraki güncelleme de sayısal veri dışında girilen bir değer olursa program uyarı verip kullanıcının düzeltmesini isteyecek.

  • Program finansal hesaplama yaparken 12 aylık süreçteki gelir ve giderleri alıyor. Fakat programı kullandığınız anda birikmiş bir miktar paranız olabilir. Sisteme bunu da varlıklarım olarak girişini yapmak gerekir ki gelir-gider hesaplarken varlıkların da üstüne eklenerek hesaplama yapılsın. Bu kısım da güncelleme ile birlikte eklenecek.

  • Programdaki gelir ve gider kalemleri ortak bir tür belirtmesi için herkes tarafından kullanılabilecek tarzda oluşturuldu. Fakat herkesin birbirinden farklı gider kalemleri olabilir. Örneğin, spor harcamaları, eğlence, giyim, sağlık, hediye vb. İlerleyen güncellemeler ile kendi gider kalemlerini oluşturabilme imkanı da eklenecek.

  • Programdaki hesaplamaları kaydetmek ve daha sonra görmek isteyebilirsiniz. Bunun için sqlite ya da json gibi yerlere veriyi kaydettikten sonra tekrar çekip görmek yerine Excel’e Aktar seçeneği ekleyeceğim.

Şu anda gözüme görünen mevcut eksikleri bunlar. Zamanla eksikler ve hatalar kapanıp program daha iyi hale gelecek. Şuan ki hali de iyi iş görüyor. Kullananların yorumlarını, sorularını, öneri ve şikayetlerini duymak isterim.

Programa ait görseller;

3

from tkinter import *

class Application(object):


    def __init__(self):
        self.start()

    def start(self):

        self.ay_list = ["OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ",
                        "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK"]

        self.gelir_list = ["DEVİR", "MAAŞ", "MUHTELİF 1", "MUHTELİF 2"]

        self.gider_list = ["KİRA", "AİDAT", "ELEKTRİK", "SU", "DOĞALGAZ", "İNTERNET", "TELEFON", "YOL", "MARKET",
                           "MUHTELİF GİDER 1", "MUHTELİF GİDER 2", "BORÇ 1", "BORÇ 2", "BAĞIŞ"]

        self.durum_list = ["GELİR", "GİDER", "BAKİYE"]

        self.pencere_1 = Tk()
        self.pencere_1.resizable(FALSE, FALSE)

        x = 0
        y = 3
        for self.i in self.ay_list:
            self.aylar = Label(self.pencere_1, text=self.ay_list[x], width=10)
            self.aylar.grid(row=1, column=y)
            self.cizgi = Label(self.pencere_1, text="-----")
            self.cizgi.grid(row=2, column=y)
            x+=1
            y+=1

        x = 0
        y = 3
        for self.i in self.gelir_list:
            self.gelirler = Label(self.pencere_1, text=self.gelir_list[x])
            self.gelirler.grid(row=y, column=1)
            x+=1
            y+=1

        y = 3
        for self.i in self.ay_list:
            self.cizgi = Label(self.pencere_1, text="-----")
            self.cizgi.grid(row=7, column=y)
            x += 1
            y += 1

        x = 0
        y = 8
        for self.i in self.gider_list:
            self.giderler = Label(self.pencere_1, text=self.gider_list[x])
            self.giderler.grid(row=y,column=1)
            x+=1
            y+=1

        y = 3
        for self.i in self.ay_list:
            self.cizgi = Label(self.pencere_1, text="-----")
            self.cizgi.grid(row=22, column=y)
            y += 1

        y = 3
        for self.i in self.ay_list:
            self.cizgi = Label(self.pencere_1, text="-----")
            self.cizgi.grid(row=26, column=y)
            y+=1

        self.cizgi = Label(self.pencere_1, text="-----")
        self.cizgi.grid(row=2, column=1)
        self.cizgi = Label(self.pencere_1, text="-----")
        self.cizgi.grid(row=2, column=2)
        self.cizgi = Label(self.pencere_1, text="-----")
        self.cizgi.grid(row=7, column=1)
        self.cizgi = Label(self.pencere_1, text="-----")
        self.cizgi.grid(row=7, column=2)
        self.cizgi = Label(self.pencere_1, text="-----")
        self.cizgi.grid(row=22, column=1)
        self.cizgi = Label(self.pencere_1, text="-----")
        self.cizgi.grid(row=22, column=2)
        self.cizgi = Label(self.pencere_1, text="-----")
        self.cizgi.grid(row=26, column=1)
        self.cizgi = Label(self.pencere_1, text="-----")
        self.cizgi.grid(row=26, column=2)

        x = 4
        self.a1 = Entry(self.pencere_1, width=10)
        self.a1.grid(row=x, column=2)
        x+=1
        self.b1 = Entry(self.pencere_1, width=10)
        self.b1.grid(row=x, column=2)
        x += 1
        self.c1 = Entry(self.pencere_1, width=10)
        self.c1.grid(row=x, column=2)
        x += 2
        self.d1 = Entry(self.pencere_1, width=10)
        self.d1.grid(row=x, column=2)
        x += 1
        self.e1 = Entry(self.pencere_1, width=10)
        self.e1.grid(row=x, column=2)
        x += 1
        self.f1 = Entry(self.pencere_1, width=10)
        self.f1.grid(row=x, column=2)
        x += 1
        self.g1 = Entry(self.pencere_1, width=10)
        self.g1.grid(row=x, column=2)
        x += 1
        self.h1 = Entry(self.pencere_1, width=10)
        self.h1.grid(row=x, column=2)
        x += 1
        self.j1 = Entry(self.pencere_1, width=10)
        self.j1.grid(row=x, column=2)
        x += 1
        self.k1 = Entry(self.pencere_1, width=10)
        self.k1.grid(row=x, column=2)
        x += 1
        self.l1 = Entry(self.pencere_1, width=10)
        self.l1.grid(row=x, column=2)
        x += 1
        self.m1 = Entry(self.pencere_1, width=10)
        self.m1.grid(row=x, column=2)
        x += 1
        self.n1 = Entry(self.pencere_1, width=10)
        self.n1.grid(row=x, column=2)
        x += 1
        self.o1 = Entry(self.pencere_1, width=10)
        self.o1.grid(row=x, column=2)
        x += 1
        self.p1 = Entry(self.pencere_1, width=10)
        self.p1.grid(row=x, column=2)
        x += 1
        self.r1 = Entry(self.pencere_1, width=10)
        self.r1.grid(row=x, column=2)
        x += 1
        self.s1 = Entry(self.pencere_1, width=10)
        self.s1.grid(row=x, column=2)

        x = 0
        y = 23
        for self.i in self.durum_list:
            self.durumlar = Label(self.pencere_1, text=self.durum_list[x])
            self.durumlar.grid(row=y,column=2)
            x+=1
            y+=1

        self.hesaplama = Button(self.pencere_1, text="HESAPLA", width=10, command=self.register)
        self.hesaplama.grid(row=23, column=1)
        self.temizle = Button(self.pencere_1, text="TEMİZLE", width=10, command=self.clear)
        self.temizle.grid(row=24, column=1)
        self.cikis = Button(self.pencere_1, text="ÇIKIŞ YAP", width=10, comman=self.pencere_1.destroy)
        self.cikis.grid(row=25, column=1)

        y = 3
        for self.i in self.ay_list:
            self.marka = Label(self.pencere_1, text="SATEM SOFT")
            self.marka.grid(row=27,column=y)
            y += 1
            
        self.marka = Label(self.pencere_1, text="SATEM SOFT")
        self.marka.grid(row=27,column=1)

        self.marka = Label(self.pencere_1, text="SATEM SOFT")
        self.marka.grid(row=27,column=2)

        self.talimatlar = Button(self.pencere_1, text="BİLGİLER", command=self.info)
        self.talimatlar.grid(row=1, column=1)

    def info(self):
        self.pencere_2 = Tk()
        self.pencere_2.resizable(FALSE, FALSE)

        self.qwer = Label(self.pencere_2, text="| PROGRAMI KULLANIRKEN SADECE TAM SAYIl İLE GİRİŞ YAPINIZ. |")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="--")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="| TAM SAYI DIŞINDA GİRİLEN İFADELER DE HESAPLAMA YAPAMAZ. |")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="--")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="| BOŞ GEÇECEĞİNİZ KISIMLARA SADECE 0 (SIFIR) YAZINIZ |")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="--")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="| İLETİŞİM >> safatevhid@gmail.com. |")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="--")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="| WEB SİTE ADRESİ >> https://satemsoftware.com |")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="--")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="| FORUM ADRESİ >> https://forum.yazbel.com |")
        self.qwer.pack()
        self.qwer = Label(self.pencere_2, text="--")
        self.qwer.pack()
            

    def register(self):

        self.maas = int(self.a1.get())
        self.muhtelif_gelir_1 = int(self.b1.get())
        self.muhtelif_gelir_2 = int(self.c1.get())

        self.kazanc = self.maas + self.muhtelif_gelir_1 + self.muhtelif_gelir_1

        self.kira = int(self.d1.get())
        self.aidat = int(self.e1.get())
        self.elektrik = int(self.f1.get())
        self.su = int(self.g1.get())
        self.dogalgaz = int(self.h1.get())
        self.internet = int(self.j1.get())
        self.telefon = int(self.k1.get())
        self.yol = int(self.l1.get())
        self.market = int(self.m1.get())
        self.muhtelif_gider_1 = int(self.n1.get())
        self.muhtelif_gider_2 = int(self.o1.get())
        self.borc_1 = int(self.p1.get())
        self.borc_2 = int(self.r1.get())
        self.bagis = int(self.s1.get())

        self.harcama = self.kira + self.aidat + self.elektrik + self.su + self.dogalgaz + self.internet + self.telefon + self.yol
        self.harcamax = self.harcama + self.market + self.muhtelif_gider_1 + self.muhtelif_gider_2 + self.borc_1 + self.borc_2 + self.bagis

        print(self.kazanc)
        print(self.harcamax)

        self.bakiye_list = list()
        self.devir_list = [0]

        x = 0
        for self.i in self.ay_list:
            self.hesapx = (self.devir_list[x] + self.kazanc) - self.harcamax
            self.devir_list.append(self.hesapx)
            self.bakiye_list.append(self.hesapx)
            x += 1
        self.devir_list.pop(12)

        x = 23
        z = 24
        y = 3
        w = 0
        for self.i in self.ay_list:
            self.kazancx = self.devir_list[w] + self.kazanc
            rte = Label(self.pencere_1, text=str(self.kazancx) + " TL", width=10)
            rte.grid(row=x, column=y)
            tre = Label(self.pencere_1, text=str(self.harcamax) + " TL", width=10)
            tre.grid(row=z, column=y)
            y += 1
            w += 1

        x = 0
        y = 3
        for self.i in self.ay_list:
            self.bakiyeler = Label(self.pencere_1, text=str(self.bakiye_list[x])+" TL", width=10)
            self.bakiyeler.grid(row=25, column=y)
            self.devirler = Label(self.pencere_1, text=str(self.devir_list[x])+" TL", width=10)
            self.devirler.grid(row=3, column=y)
            x += 1
            y += 1

        self.maas = self.a1.get()
        self.muhtelif_gelir_1 = self.b1.get()
        self.muhtelif_gelir_2 = self.c1.get()

        self.kira = self.d1.get()
        self.aidat = self.e1.get()
        self.elektrik = self.f1.get()
        self.su = self.g1.get()
        self.dogalgaz = self.h1.get()
        self.internet = self.j1.get()
        self.telefon = self.k1.get()
        self.yol = self.l1.get()
        self.market = self.m1.get()
        self.muhtelif_gider_1 = self.n1.get()
        self.muhtelif_gider_2 = self.o1.get()
        self.borc_1 = self.p1.get()
        self.borc_2 = self.r1.get()
        self.bagis = self.s1.get()

        x = 4
        y = x+1
        z = y+1
        a = 3
        for self.i in self.ay_list:
            self.aylar = Label(self.pencere_1, text=self.maas+" TL", width=10)
            self.aylar.grid(row=x, column=a)
            self.aylar = Label(self.pencere_1, text=self.muhtelif_gelir_1 + " TL", width=10)
            self.aylar.grid(row=y, column=a)
            self.aylar = Label(self.pencere_1, text=self.muhtelif_gelir_2 + " TL", width=10)
            self.aylar.grid(row=z, column=a)
            a += 1

        x = 8
        y = x + 1
        z = y + 1
        w = z + 1
        v = w + 1
        t = v + 1
        s = t + 1
        r = s + 1
        u = r + 1
        m = u + 1
        c = m + 1
        d = c + 1
        h = d + 1
        f = h + 1
        a = 3
        for self.i in self.ay_list:
            self.aylar = Label(self.pencere_1, text=self.kira + " TL", width=10)
            self.aylar.grid(row=x, column=a)
            self.aylar = Label(self.pencere_1, text=self.aidat + " TL", width=10)
            self.aylar.grid(row=y, column=a)
            self.aylar = Label(self.pencere_1, text=self.elektrik + " TL", width=10)
            self.aylar.grid(row=z, column=a)
            self.aylar = Label(self.pencere_1, text=self.su + " TL", width=10)
            self.aylar.grid(row=w, column=a)
            self.aylar = Label(self.pencere_1, text=self.dogalgaz + " TL", width=10)
            self.aylar.grid(row=v, column=a)
            self.aylar = Label(self.pencere_1, text=self.internet + " TL", width=10)
            self.aylar.grid(row=t, column=a)
            self.aylar = Label(self.pencere_1, text=self.telefon + " TL", width=10)
            self.aylar.grid(row=s, column=a)
            self.aylar = Label(self.pencere_1, text=self.yol + " TL", width=10)
            self.aylar.grid(row=r, column=a)
            self.aylar = Label(self.pencere_1, text=self.market + " TL", width=10)
            self.aylar.grid(row=u, column=a)
            self.aylar = Label(self.pencere_1, text=self.muhtelif_gider_1 + " TL", width=10)
            self.aylar.grid(row=m, column=a)
            self.aylar = Label(self.pencere_1, text=self.muhtelif_gider_2 + " TL", width=10)
            self.aylar.grid(row=c, column=a)
            self.aylar = Label(self.pencere_1, text=self.borc_1 + " TL", width=10)
            self.aylar.grid(row=d, column=a)
            self.aylar = Label(self.pencere_1, text=self.borc_2 + " TL", width=10)
            self.aylar.grid(row=h, column=a)
            self.aylar = Label(self.pencere_1, text=self.bagis + " TL", width=10)
            self.aylar.grid(row=f, column=a)
            a += 1




    def clear(self):
        self.a1.delete(0, END)
        self.b1.delete(0, END)
        self.c1.delete(0, END)
        self.d1.delete(0, END)
        self.e1.delete(0, END)
        self.f1.delete(0, END)
        self.g1.delete(0, END)
        self.h1.delete(0, END)
        self.j1.delete(0, END)
        self.k1.delete(0, END)
        self.l1.delete(0, END)
        self.m1.delete(0, END)
        self.n1.delete(0, END)
        self.o1.delete(0, END)
        self.p1.delete(0, END)
        self.r1.delete(0, END)
        self.s1.delete(0, END)

        x = 4
        y = x + 1
        z = y + 1
        a = 3
        for self.i in self.ay_list:
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=x, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=y, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=z, column=a)
            a += 1

        x = 8
        y = x + 1
        z = y + 1
        w = z + 1
        v = w + 1
        t = v + 1
        s = t + 1
        r = s + 1
        u = r + 1
        m = u + 1
        c = m + 1
        d = c + 1
        h = d + 1
        f = h + 1
        a = 3
        for self.i in self.ay_list:
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=x, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=y, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=z, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=w, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=v, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=t, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=s, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=r, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=u, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=m, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=c, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=d, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=h, column=a)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=f, column=a)
            a += 1

        x = 23
        z = 24
        w = 25
        y = 3
        for self.i in self.ay_list:
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=x, column=y)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=z, column=y)
            self.aylar = Label(self.pencere_1, text=" TL", width=10)
            self.aylar.grid(row=w, column=y)
            y += 1


app = Application()
mainloop()

KULLANILABİLİR HALİNİ BURADAN İNDİREBİLİRSİNİZ >> tahmini_gelir_gider_indir_satem_software

Programın eksikleri ve ihtiyaç duyacağı yenilikleri için yardımcı olmak isteyen varsa memnuniyet duyarım.

2 Beğeni

Merhaba,

  1. Gelir hesaplamasında ufak bir hata dikkatimi çekti:

    register fonksiyonunda şöyle bir ifade var: self.kazanc = self.maas + self.muhtelif_gelir_1 + self.muhtelif_gelir_1. Buradaki muhtelif_gelir'lerden bir tanesi self.muhtelif_gelir_2 olarak değiştirilmeli.

    Yani yukarıdaki verilere göre gelir 3800 değil 3900 olmalı. O halde 3900 - 2385 = 1515 olur. Bu bakiye bir sonraki aya devredildiği için, eğer hesaplamada bir hata varsa, sonraki aylardaki gelir, gider ve bakiyelerde hatalı değerler yer alacaktır.

  2. Girilen değerlerin bütün aylar için geçerli olması dikkatimi çekti. Oysa gelir ve giderler her ay değişebilir. Kodlar buna göre düzenlenirse iyi olur.

  3. Dikkatimi çeken başka bir husus da, kodlarınızda çok fazla tekrarın olması. Widgetler döngü ile oluşturulabilecekken, tek tek oluşturulmuş. Sayısal değerlerin yer aldığı Label widgetlerini oluştururken, sadece aylar için bir kez, bir döngü kullanmışsınız. Oysa satırlar için de döngü kullanabilirsiniz.

    Örneğin:

         self.cizgi = Label(self.pencere_1, text="-----")
         self.cizgi.grid(row=2, column=1)
         self.cizgi = Label(self.pencere_1, text="-----")
         self.cizgi.grid(row=2, column=2)
         self.cizgi = Label(self.pencere_1, text="-----")
         self.cizgi.grid(row=7, column=1)
         self.cizgi = Label(self.pencere_1, text="-----")
         self.cizgi.grid(row=7, column=2)
         self.cizgi = Label(self.pencere_1, text="-----")
         self.cizgi.grid(row=22, column=1)
         self.cizgi = Label(self.pencere_1, text="-----")
         self.cizgi.grid(row=22, column=2)
         self.cizgi = Label(self.pencere_1, text="-----")
         self.cizgi.grid(row=26, column=1)
         self.cizgi = Label(self.pencere_1, text="-----")
         self.cizgi.grid(row=26, column=2)
    

    yazmak yerine,

    for i in [2, 7, 22, 26]:
        for j in [1, 2]:
            cizgi = Label(self.pencere_1, text="-" * 5)
            cizgi.grid(row=i, column=j)
    

    yazabilirsiniz.

2 Beğeni

Ellerine Saglik. :slight_smile: Programi GitHub’a yuklersen biz de katkida bulunabiliriz.

Benim bigisayarda acilmiyor zip dosyasi, WinRar ile mi hazirlandi zip?

1 Beğeni

Gözümden kaçan önemli bir durum. Teşekkür ederim, düzelteceğim.

Doğru fakat benim düşüncem sabit gelir ve giderleri konu ediniyor program. Yani bu mantıkla oluşturdum. Nokta atışı bir şekilde kuruşu kuruşuna hesap yapamayız. Doğruya en yakın sonucu alabilmek için sabit gelir-gider kavramını düşündüm. Bu programın amacı hızlı bir şekilde sabit gelir-giderlerin dengesini görebilmek. Ortalama bir gelir ve gider değeri girilerek hesaplama yapmasını sağlamaktı. Buna rağmen söylediğinizi biraz daha makul şekle getirebilmek için muhtelif gelir-gider seçenekleri ekledim. O kısıma girilen değerler ile biraz dengeler diye düşündüm.

Gelir-Giderin detaylı olarak hesaplandığı farklı bir program yapmam gerekiyor.

Kodların büyük bir kısmında (ara çizgiler hariç) for döngüsü ile oluşturmaya özen gösterdim fakat buna rağmen nedense o kısmı hiç düşünmemişim. O kısımları da halledeceğim bir de kodları daha okunaklı ve düzenli hale getirmek için de revizyon yapacağım.

Teşekkür ederim, önerileriniz için.

Afiyet olsun. Teşekkür ederim.

Şu olayı öğrenmek için halen bir adım atmadım. Bilgisayarda ve sunucu da tutana kadar GitHub kullansam daha iyi olacağı kesin :smiley:

Evet, winrar ile hazırlandı fakat ama lakin üstte kodları yazdım. Oradan da direk alabilirsin.

1 Beğeni

çok kod tekrarı var gibi tam incelemedim ama dikkatimi çekti bence bunu engellemeye çalış

Merhaba. Eldeki verilerden bir sonraki durumu tahmin etme işlemleri için Monte Carlo yöntemini araştırmak isteyebilirsiniz.

1 Beğeni

akademik düzeyde araştırmaları olan bir tür galiba bu. Dökümanlarını okudum fakat işlemsel olarak kafamda bir şey oluşturamadım. Algoritmanın Yapay zekalı bir haline benziyor. Yapay Zekalı Algoritma.

Bu yöntemin işlem olarak işleyişi nasıl bilginiz var mı?

Müsait zamanda örnekle birlikte paylaşacağım inşallah. Şu an müsait değilim. Ama yapay zeka yok onu diyebilirim. Kısaca eski verilerden bir olasılık tablosu çıkarılır ve defalarca rastgele sayı oluşturularak bu tablodaki karşılıkları sonraki durumu tahmin etmek için kullanılır.

işin içinde yapay zeka var demedim. Yöntemin varlığı zekice çalışan bir algoritmaya benziyor demek istedim.

teşekkürler bekliyorum

1 Beğeni

bunun yapay zekayla nasıl bağdaştırılıyor ki?
sanırım anlamadım demek istediğinizi neyse… :smiley:

Anlatmak istediğimi özetleyen bir yazı buldum;

Düşünce yapımız büyük ölçüde deneyimlerimizden etkilenir. Örneğin birisi size “Köşede oturan beyaz fili düşünme sakın” dediği zaman ne yaparsanız yapın, kendinizi beyaz fili düşünmekten alıkoyamazsınız. Her ne kadar hayatınızda hiç beyaz fil görmemiş olsanız da fil, beyaz renk ve köşe gibi bildiğiniz kavramlarla hayalinizde aslında gerçekleşmesi olanaksız bir resim yaratırsınız.

Başka bir örnekte “0 ile 100 arasında birbirinden bağımsız bir sayı dizisi yaratmaya çalışın, yeni yazacağınız sayının, dizideki eski sayılarla hiç ilgisi olmasın. Diğer bir deyişle rastgele sayılar seçin.” denirse bunu yapmakta da aynı nedenle zorlanırsınız. Elinizde olmadan “çok çift sayı seçtim veya hep 50’den büyük sayılar aldım” diye düşünecek ve yeni seçeceğiniz sayıyı yönlendirmeye çalışacaksınız. Rastgele seçilmesi gereken dizi ne kadar büyükse, işiniz o kadar zorlaşır. Beynimiz böyle bir işi gerçekleştirmeye müsait değildir.

Alıntıdır. Kaynak >> https://sarkac.org/2018/11/rastgele-sayilar/

Hocam bu yöntem ile ilgili Türkçe kaynak var mı bildiğiniz?

Buyrun hocam bildiğim kadarıyla anlatmaya çalıştım

2 Beğeni

Her ay düzenli bir şekilde maaş alan bir kişinin sabit bir geliri olabilir. Ki bazı durumlarda işin içine primler giriyor. Kimisi düzenli maaş almıyor. Giderlerin sabit olduğu bir durum da bence pek gerçekçi değil. Örneğin, kışın gelen doğalgaz faturası yazdan daha fazla olur. Muhtemelen yazın su tüketimi kıştan daha fazla olur. Elektrik faturası sizin kullanımınıza bağlı olarak sürekli değişir. Ayrıca farklı aylarda hesapta olmayan ek masraflar da oluşabilir.

Kodları gelir ve giderleri her ay için tekrar yazılabilecek şekilde yeniden düzenlemek zor bir şey değil aslında.

Elbette zor değildir. O kısımla ilgileneceğim