Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Simülasyon Sayısal Loto Sürüm 1 (.vbs betiği)

TRWE_2012

لِيَغْفِرَ لَكَ اللّٰهُ مَا تَقَدَّمَ مِنْ ذَنْبِك
Moderatör
Konum
BERTUNA
  • Üyelik Tarihi
    2 Haz 2020
  • Mesajlar
    5,338
  • MFC Puanı
    16,230
Merhaba

Şans oyunlarında benim en çok sevdiğim iki tür vardır.Bunlardan birincisi "Milli Piyango" diğeri de "Sayısal Loto" ...Bunları ayda yılda bir iki defa oynarım belki şans yüzümüze güler diye ama tam tersi olur...!!! (neyse)

Aşağıda .VBS betiği şeklinde kodlanmış "Sayısal Loto v1.vbs" betiğini bulacaksınız.

Betiğin İçeriği :

Kod:
Dim sayilar(5)
Dim i, sayi, mesaj, j
Dim toplam(5) ' Her sayının toplamını tutmak için dizi
Dim ortalama(5) ' Her sayının ortalamasını tutmak için dizi

' Rastgele sayıları oluştur
Randomize

' 8 ayrı çekiliş yap
For j = 1 To 8
    ' Her çekiliş için sayıları sıfırla
    For i = 0 To 5
        Do
            sayi = Int((49 * Rnd) + 1) ' 1 ile 49 arasında rastgele sayı
        Loop While UBound(Filter(sayilar, sayi)) >= 0 ' Aynı sayıyı tekrar etmemek için
        sayilar(i) = sayi
        
        ' Her sayının toplamını güncelle
        toplam(i) = toplam(i) + sayi
    Next

    ' Sayıları sıralama
    Call QuickSort(sayilar, 0, UBound(sayilar))

    ' Sonuç mesajını oluştur
    mesaj = mesaj & "Çekiliş " & j & ": " & Join(sayilar, ", ") & vbCrLf
Next

' Ortalamaları hesapla ve tam kısma yuvarla
For i = 0 To 5
    ortalama(i) = Int(toplam(i) / 8) ' 8 çekilişin ortalaması ve tam kısma yuvarlama
Next

' Ortalama sonuçları mesajına ekle
mesaj = mesaj & vbCrLf & "Çekiliş Ortalaması: " & Join(ortalama, ", ")

' Mesaj kutusunu göster
MsgBox mesaj, vbInformation, "Sayısal Loto Sonuçları"

' Hızlı sıralama fonksiyonu
Sub QuickSort(arr, first, last)
    Dim low, high, mid, temp
    low = first
    high = last
    mid = arr((first + last) \ 2)
    Do While low <= high
        Do While arr(low) < mid
            low = low + 1
        Loop
        Do While arr(high) > mid
            high = high - 1
        Loop
        If low <= high Then
            temp = arr(low)
            arr(low) = arr(high)
            arr(high) = temp
            low = low + 1
            high = high - 1
        End If
    Loop
    If first < high Then QuickSort arr, first, high
    If low < last Then QuickSort arr, low, last
End Sub

' Dosya kaydetme işlemi
Dim fso, dosyaYolu, dosya
Set fso = CreateObject("Scripting.FileSystemObject")

' Masaüstü yolunu al
dosyaYolu = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Çekiliş_Sonuçları.txt"

' Dosyayı oluştur veya aç
Set dosya = fso.CreateTextFile(dosyaYolu, True)

' Sonuç mesajını dosyaya yaz
dosya.WriteLine mesaj

' Dosyayı kapat
dosya.Close

' Kullanıcıya bilgi ver
MsgBox "Sonuçlar masaüstüne 'Çekiliş_Sonuçları.txt' olarak kaydedildi.", vbInformation, "Dosya Kaydedildi"

Açıklama :

Bu program, bilgisayarınızda rastgele sayılar üreten ve bunları bir çekiliş gibi gösteren bir uygulamadır.

Çalışma Mekanizması :

1.Rastgele Sayılar Üretme:

Program, 1 ile 49 arasında rastgele 6 sayı seçer. Bu sayılar, bir loto çekilişinde olduğu gibi, her seferinde farklı olur.

2.Çekiliş Yapma:

Program, toplamda 8 kez çekiliş yapar. Her çekilişte, daha önce seçilen sayılarla aynı olan bir sayı seçmemeye çalışır.

3.Sonuçları Sıralama:

Her çekilişten sonra, seçilen sayılar sıralanır, böylece daha düzenli görünür.

4.Toplam ve Ortalama Hesaplama:

Program, her sayının toplamını tutar ve sonunda bu sayıların ortalamasını hesaplar. Yani, her sayının 8 çekiliş boyunca ne kadar sıklıkla seçildiğini gösterir.

5.Sonuçları Gösterme:

Tüm bu bilgileri bir mesaj kutusunda gösterir, böylece hangi sayıları seçtiğinizi ve ortalamalarını görebilirsiniz.

6.Sonuçları Kaydetme:

Program, çekiliş sonuçlarını masaüstünüzde "Çekiliş_Sonuçları.txt" adında bir dosyaya kaydeder. Böylece sonuçları daha sonra da görebilirsiniz.

ÖZETLE ;

Sonuç olarak, bu program bir tür loto çekilişi simülasyonu yapar, sonuçları gösterir ve kaydeder. Kullanıcı dostu bir şekilde, rastgele sayılarla eğlenceli bir deneyim sunar.

EKRAN GÖRÜNTÜLERİ :


JeQGHxP.png


XOoEBtG.png


İyi eğlenceler....

NOT: (espiri)

Para çıkarsa hakkımı isterim bak... :-D
 
Üst Alt