1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.

QBasic Örnek Program

'Bilgisayar Programlama ve Kodlama' forumunda Powers tarafından 15 Ocak 2013 tarihinde açılan konu

  1. Powers

    Powers Administrator Site Yetkilisi

    'denklem çözümü
    Kod:
    CLS
    INPUT "BAŞLANGIÇ DEĞERİ=", X0
    INPUT "ADIM SAYISI=", N
    INPUT "DELTA=", DELTA
    FOR I = 1 TO N
    X1 = X0 - (X0 ^ 2 - 4) / (2 * X0)
    PRINT I; ".ADIM "; X1; X1 ^ 2 - 4
    IF ABS(X1 - X0) < DELTA THEN EXIT FOR
    X0 = X1
    NEXT I
    PRINT "YAKLAŞIK KÖK=", X1
    PRINT "FONKSİYON DEĞERİ=", X1 ^ 2 - 4

    'denklem çözümü durdurma kuralı farklı
    Kod:
    CLS
    INPUT "BAŞLANGIÇ DEĞERİ=", X0
    INPUT "ADIM SAYISI=", N
    FOR I = 1 TO N
    X1 = X0 - (X0 ^ 2 - 4) / (2 * X0)
    PRINT I; "ADIM KÖK DEĞERİ="; N; "FONKSİYON DEĞERİ="; X1 ^ 2 - 4
    X0 = X1
    NEXT I
    
    ‘denklem çözümü durdurma kuralı
    Kod:
     CLS
     INPUT "BAŞLANGIÇ DEĞERİ=", X0
     INPUT "ADIM SAYISI=", N
     INPUT "DELTA=", DELTA
     INPUT "EPS=", EPS
     FOR I = 1 TO N
     X1 = X0 - (X0 ^ 2 - 4) / (2 * X0)
     PRINT I; "ADIM", X1; X1 ^ 2 - 4
     IF ABS(X1 - X0) < DELTA THEN EXIT FOR
     IF ABS(X1 ^ 2 - 4) < EPS THEN EXIT FOR
     X0 = X1
     NEXT I
     PRINT "Y.KÖK=", X1
     PRINT "F.DEĞERİ=", X1 ^ 2 - 4
    
    ‘Devre
    Kod:
    CLS
    LOCATE 5, 5: PRINT "     !----[ ]-----[ ]----!"
    LOCATE 6, 5: PRINT "     !                   !"
    LOCATE 7, 5: PRINT "     !                   !"
    LOCATE 8, 5: PRINT "-----!----[ ]_____[ ]----!-----"
    LOCATE 9, 5: PRINT "     !                   !"
    LOCATE 10, 5: PRINT "     !                   !"
    LOCATE 11, 5: PRINT "     !----[ ]-----[ ]----!"
    INPUT "DİRENCİN ÇALIŞMA OLASILIĞI="; X
    INPUT "DENEME SAYISI"; N
    COLOR 9
    FOR I = 1 TO N
    IF RND < X THEN
    LOCATE 5, 16: PRINT "1"
        D1 = 1
    ELSE
    LOCATE 5, 16: PRINT "O"
        D1 = 0
     
    END IF
     
    IF RND < X THEN
    LOCATE 5, 24: PRINT "1"
        D2 = 1
    ELSE
    LOCATE 5, 24: PRINT "0"
        D2 = 0
    END IF
    LOCATE 14, 5: D1 = 1 AND D2 = 1: PRINT "BİRİNCİ KOLDAN AKIM GEÇİYOR"
     
     
    IF RND < X THEN
    LOCATE 8, 16: PRINT "1"
        D3 = 1
    ELSE
    LOCATE 8, 16: PRINT "0"
        D3 = 0
    END IF
     
    IF RND < X THEN
    LOCATE 8, 24: PRINT "1"
        D4 = 1
    ELSE
    LOCATE 8, 24: PRINT "0"
        D4 = 0
    END IF
    IF D3 = 1 AND D4 = 1 THEN LOCATE 15, 5: PRINT "İKİNCİ KOLDAN AKIM GEÇİYOR"
     
    IF RND < X THEN
    LOCATE 11, 16: PRINT "1"
        D5 = 1
    ELSE
    LOCATE 11, 16: PRINT "0"
        D5 = 0
    END IF
     
     
    IF RND < X THEN
    LOCATE 11, 24: PRINT "1"
        D6 = 1
    ELSE
    LOCATE 11, 24: PRINT "0"
        D6 = 0
    END IF
    LOCATE 16, 5: D5 = 1 AND D6 = 1: PRINT "ÜÇÜNCÜ KOLDAN AKIM GEÇİYOR"
    NEXT I

    'Çekirgeler
    Kod:
    RANDOMIZE TIMER
    SCREEN 8
    CLS
    INPUT "N=", N
    INPUT "P=", p
    INPUT "BEKLE=", B
    SUTUN = 40
    KONUM = 6
    SOL = 0
    SAG = 0
    COLOR 14
    LOCATE 12, 1: PRINT "--------------------------------------------------------"
    LOCATE 12, 4: PRINT "%"
    FOR I = 1 TO N
    FOR J = 1 TO B: NEXT J
    LOCATE 23, 1: PRINT " SOL = "; SOL
    LOCATE 23, 50: PRINT " SAG = "; SAG
    IF RND < p THEN
       KONUM = KONUM - 1
       SUTUN = SUTUN - 4
    ELSE
       KONUM = KONUM + 1
       SUTUN = SUTUN + 4
    END IF
    IF KONUM = 1 THEN
       SOL = SOL + 1
       PLAY "C1"
    END IF
    IF KONUM = 11 THEN
       SAG = SAG + 1
       PLAY "F1"
    END IF
    IF KONUM = 1 OR KONUM = 11 THEN
       KONUM = 6
       SUTUN = 40
    END IF
    LOCATE 12, SUTUN: PRINT "%"
    NEXT I

    'dizide en Büyük bulma
    Kod:
    CLS
    INPUT "KAç elemanlı dizi="; N
    DIM X(N)
    FOR I = 1 TO N
    INPUT X(I)
    NEXT I
    EB = X(1)
    FOR I = 1 TO N
    IF EB < X(I) THEN EB = X(I)
    NEXT I
    PRINT "EN BüYüK="; EB

    'En küçük bulma
    Kod:
    CLS
    INPUT "KAç eleman˜="; N
    DIM X(N)
    FOR I = 1 TO N
    INPUT X(I)
    NEXT I
    EK = X(N)
    FOR I = 1 TO N
    IF EK > X(I) THEN EK = X(I)
    NEXT I
    PRINT "EN Küçük="; EK

    'Fibonacci dizisi
    Kod:
     CLS
     INPUT "KAÇ TANE ELEMAN HESAPLANACAK=", N
     DIM FIBO(N)
     FIBO(1) = 1
     FIBO(2) = 2
     FOR I = 2 TO N
     FIBO(I) = FIBO(I - 2) + FIBO(I - 1)
     PRINT I; ".CI ELEMAN=", FIBO(I)
     NEXT I
    'Ortalama Boy"
    Kod:
    CLS
    INPUT "N=", N
    DIM X(N)
    T = 0
    FOR I = 1 TO N
    INPUT X(I)
    NEXT I
    FOR I = 1 TO N
    T = T + X(I)
    NEXT I
    PRINT "BOY ORTALAMASI"; T / N
    ‘ pi sayısının hesabı (RND kullanarak)
    Kod:
    CLS
    RANDOMIZE INT(TIMER / 3)
    S = 0
    N = 0
    DONGU:
    X = RND
    Y = RND
    N = N + 1
    IF X * X + Y * Y > 1 THEN GOTO DONGU
    S = S + 1
    PRINT N, S, S / N * 4
    GOTO DONGU
    ' seri-devre
    Kod:
    CLS
    INPUT "seri eleman sayısı=", n
    INPUT "a=", a
    INPUT "b=", b
    INPUT "tekrar sayisi=", m
    DIM parca(n), devre(m)
     
    FOR j = 1 TO m
     
    FOR i = 1 TO n
    parca(i) = (b - a) * RND + a
    NEXT i
     
    ek = parca(1)
    FOR i = 2 TO n
    IF parca(i) < ek THEN
       ek = parca(i)
    END IF
    NEXT i
    devre(j) = ek
    NEXT j
    ort = 0
    FOR j = 1 TO m
    ort = ort + devre(j)
    NEXT j
    ort = ort / m
    PRINT "ortalama dayanma süresi=", ort
    ‘seri-paralel
    'n tane seri devre m tane paralel bağlanmış devre sim.
    Kod:
    CLS
    INPUT "tekrar sayısı=", tekrar
    INPUT "n=", n
    INPUT "m=", m
    INPUT "a=", a
    INPUT "b=", b
    DIM devre(n, m)
    DIM dizi1(n)
    DIM tekrardevre(tekrar)
    '*********************************************************
    'burada devrenin elemanlarının dayanma sureleri üretiliyor
    've ekrana yazdırılıyor
    FOR l = 1 TO tekrar
    FOR i = 1 TO n
    FOR j = 1 TO m
    devre(i, j) = RND * (b - a) + a
    NEXT j
    NEXT i
    'FOR i = 1 TO n
    'FOR j = 1 TO m
    'PRINT devre(i, j);
    'NEXT j
    'PRINT
    'NEXT i
    '*********************************************************
    'burada herbir satırın enküçük değerleri hesaplanıyor
    FOR i = 1 TO n
    ek = devre(i, 1)
    FOR j = 1 TO m
    IF devre(i, j) < ek THEN ek = devre(i, j)
    NEXT j
    dizi1(i) = ek
    NEXT i
    FOR i = 1 TO n
    PRINT i; ".satir.."; dizi1(i)
    NEXT i
    '*********************************************************
    'burada enküçüklerin enbüyüğü hesaplanıyor
    eb = dizi1(1)
    FOR i = 1 TO n
    IF dizi1(i) > eb THEN eb = dizi1(i)
    NEXT i
    'PRINT "devre "; eb; "kadar çalıştı"
    tekrardevre(l) = eb
    NEXT l
    top = 0
    FOR l = 1 TO tekrar
    top = top + tekrardevre(l)
    NEXT l
    ort = top / tekrar
    PRINT "devrenin ortalama dayanma süresi=", ort
    'birim matris olup olmama
    Kod:
    CLS
    INPUT "A(n,n) n=", n
    DIM a(n, n)
    CLS
    LOCATE 8, 10: PRINT "a matrisinin elemanlarini giriniz"
    FOR i = 1 TO n
    FOR j = 1 TO n
    LOCATE 10, 10: PRINT "a("; i; ","; j; ")": LOCATE 10, 20: INPUT " ", a(i, j)
    NEXT j, i
    CLS
    'matrisin yazilmasi
    PRINT "a matrisi"
    PRINT "---------"
    FOR i = 1 TO n
    FOR j = 1 TO n
    PRINT a(i, j);
    NEXT j: PRINT : NEXT i
    PRINT "bir tuşa basınız....>"
    tus$ = INPUT$(1)
    'birim matris mi?
    s = 1
    FOR i = 1 TO n
    FOR j = 1 TO n
    IF i = j THEN
       IF a(i, j) <> 1 THEN
          s = 0
       END IF
     ELSE
       IF a(i, j) <> 0 THEN
          s = 0
       END IF
    END IF
    NEXT j, i
     
    IF s = 1 THEN PRINT "birim matris" ELSE PRINT "birim matris değil"
    ‘köşegen matris olup olmama
    Kod:
    CLS
    INPUT "n*n'lik matrisin boyutunu giriniz=", N
    DIM Z(N, N)
    FOR I = 1 TO N
    FOR J = 1 TO N
    INPUT Z(I, J)
    NEXT J, I
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT Z(I, J);
    NEXT J, I
    PRINT
    S = 1
    FOR I = 1 TO N
    FOR J = 1 TO N
    IF I <> J THEN
       IF Z(I, J) <> 0 THEN
       S = 0
       END IF
    END IF
    NEXT J, I
    IF S = 1 THEN
    PRINT "KÖŞEGEN MATRİS"
    ELSE
    PRINT "KÖŞEGEN MATRİS DEĞİL"
    END IF

    'simetrik olup olmama
    Kod:
    CLS
    INPUT "A(n,n) n=", n
    DIM a(n, n)
    CLS
    LOCATE 8, 10: PRINT "a matrisinin elemanlarini giriniz"
    FOR i = 1 TO n
    FOR j = 1 TO n
    LOCATE 10, 10: PRINT "a("; i; ","; j; ")": LOCATE 10, 20: INPUT " ", a(i, j)
    NEXT j, i
    CLS
    'matrisin yazilmasi
    PRINT "a matrisi"
    PRINT "---------"
    FOR i = 1 TO n
    FOR j = 1 TO n
    PRINT a(i, j);
    NEXT j: PRINT : NEXT i
    PRINT "bir tuşa basınız....>"
    tus$ = INPUT$(1)
    'simetrik mi?
    sim = 1
    FOR i = 1 TO n
    FOR j = 1 TO n
    IF a(i, j) <> a(j, i) THEN
      sim = 0
      EXIT FOR
      EXIT FOR
    END IF
    NEXT j, i
    IF sim = 1 THEN PRINT "simetrik..." ELSE PRINT "simetrik değil"
    'satır ve sutun toplamlarının bulunması
    Kod:
    CLS
    INPUT "A(m,n) m=", m
    INPUT "A(m,n) n=", n
    DIM a(m, n), sat(m), sut(n)
    CLS
    LOCATE 8, 10: PRINT "a matrisinin elemanlarini giriniz"
    FOR i = 1 TO m
    FOR j = 1 TO n
    LOCATE 10, 10: PRINT "a("; i; ","; j; ")": LOCATE 10, 20: INPUT " ", a(i, j)
    NEXT j, i
    CLS
    'matrisin yazilmasi
    PRINT "a matrisi"
    PRINT "---------"
    FOR i = 1 TO m
    FOR j = 1 TO n
    PRINT a(i, j);
    NEXT j: PRINT : NEXT i
    FOR i = 1 TO m
    FOR j = 1 TO n
    sat(i) = sat(i) + a(i, j)
    NEXT j, i
    PRINT
    'satır toplamlarının bulunması
    FOR i = 1 TO m
    PRINT i; ".satir top="; sat(i)
    NEXT i
    FOR i = 1 TO n
    FOR j = 1 TO m
    sut(i) = sut(i) + a(j, i)
    NEXT j, i
    PRINT
    'sutun toplamlarının bulunması
    FOR i = 1 TO n
    PRINT i; ".sutun top="; sut(i)
    NEXT i
    'en büyük ve en küçük satır toplamlarının bulunması
    PRINT
    ebsat = sat(1)
    eksat = sat(1)
    FOR i = 2 TO m
    IF sat(i) > ebsat THEN ebsat = sat(i)
    IF sat(i) < eksat THEN eksat = sat(i)
    NEXT i
    PRINT "en büyük satır toplamı="; ebsat
    PRINT "en küçük satır toplamı="; eksat
    'en büyük ve en küçük sutun toplamlarının bulunması
    PRINT
    ebsat = sut(1)
    eksat = sut(1)
    FOR i = 2 TO n
    IF sut(i) > ebsat THEN ebsat = sut(i)
    IF sut(i) < eksat THEN eksat = sut(i)
    NEXT i
    PRINT "en büyük sutun toplamı="; ebsat
    PRINT "en küçük sutun toplamı="; eksat
    'satır ve sutun değiştirme
    Kod:
    CLS
    INPUT "A(m,n) m=", m
    INPUT "A(m,n) n=", n
    DIM a(m, n)
    CLS
    LOCATE 8, 10: PRINT "a matrisinin elemanlarini giriniz"
    FOR i = 1 TO m
    FOR j = 1 TO n
    LOCATE 10, 10: PRINT "a("; i; ","; j; ")": LOCATE 10, 20: INPUT " ", a(i, j)
    NEXT j, i
    CLS
    'matrisin yazilmasi
    PRINT "a matrisi"
    PRINT "---------"
    FOR i = 1 TO m
    FOR j = 1 TO n
    PRINT a(i, j);
    NEXT j: PRINT : NEXT i
    PRINT "bir tuşa basınız....>"
    tus$ = INPUT$(1)
    'satır değiştirme
    satal1:
    INPUT "değişecek satır no1=", sat1
    IF sat1 < 1 OR sat1 > m THEN GOTO satal1
    satal2:
    INPUT "değişecek satır no2=", sat2
    IF sat2 < 1 OR sat2 > m THEN GOTO satal2
    FOR j = 1 TO n
     SWAP a(sat1, j), a(sat2, j)
    NEXT j
    FOR i = 1 TO m
    FOR j = 1 TO n
    PRINT a(i, j);
    NEXT j: PRINT : NEXT i
    'sutun değiştirme
    sutal1:
    INPUT "değişecek sutun no1=", sut1
    IF sut1 < 1 OR sut1 > n THEN GOTO sutal1
    sutal2:
    INPUT "değişecek sutun no2=", sut2
    IF sut2 < 1 OR sut2 > n THEN GOTO sutal2
    FOR i = 1 TO m
     SWAP a(i, sut1), a(i, sut2)
    NEXT i
    FOR i = 1 TO m
    FOR j = 1 TO n
    PRINT a(i, j);
    NEXT j: PRINT : NEXT i
    'matris carpimi
    Kod:
    CLS
    INPUT "A(m,n) m=", m
    INPUT "A(m,n) n=", n
    INPUT "B(n,p) n=", n
    INPUT "B(n,p) p=", p
    DIM a(m, n), b(n, p), c(m, p)
    CLS
    LOCATE 8, 10: PRINT "a matrisinin elemanlarini giriniz"
    FOR i = 1 TO m
    FOR j = 1 TO n
    LOCATE 10, 10: PRINT "a("; i; ","; j; ")": LOCATE 10, 20: INPUT " ", a(i, j)
    NEXT j, i
    LOCATE 12, 10: PRINT "b matrisinin elemanlarini giriniz"
    FOR i = 1 TO n
    FOR j = 1 TO p
    LOCATE 14, 10: PRINT "b("; i; ","; j; ")": LOCATE 14, 20: INPUT " ", b(i, j)
    NEXT j, i
    CLS
    'matrislerin yazilmasi
    PRINT "a matrisi"
    PRINT "---------"
    FOR i = 1 TO m
    FOR j = 1 TO n
    PRINT a(i, j);
    NEXT j: PRINT : NEXT i
    PRINT : PRINT "b matrisi"
    PRINT "---------"
    FOR i = 1 TO n
    FOR j = 1 TO p
    PRINT b(i, j);
    NEXT j: PRINT : NEXT i
    'matrislerin carpimi
    FOR i = 1 TO m
    FOR j = 1 TO p
    c(i, j) = 0
    NEXT j, i
    FOR i = 1 TO m
    FOR j = 1 TO p
    FOR k = 1 TO n
    c(i, j) = c(i, j) + a(i, k) * b(k, j)
    NEXT k, j, i
    PRINT : PRINT "c matrisi"
    PRINT "---------"
    FOR i = 1 TO m
    FOR j = 1 TO p
    PRINT c(i, j);
    NEXT j: PRINT : NEXT i
    REM** verilen bir matrisi diziye aktarma VE diziyi matrise aktarma
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ"; N
    INPUT "SÜTUN SAYISINI GİRİNİZ"; M
    DIM X(N, M): DIM DIZI(N * M): DIM A(N, M)
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT "X("; I; ","; J; ")";
    INPUT X(I, J)
    NEXT J, I
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT X(I, J);
    NEXT J
    PRINT
    NEXT I
     
    REM*** diziye aktarma işlemi
    FOR I = 1 TO N
    FOR J = 1 TO M
    T = T + 1
    DIZI(T) = X(I, J)
    NEXT J
    NEXT I
     
    REM* dizinin elemanlarını yazdırıyoruz***
    FOR I = 1 TO N * M
    PRINT DIZI(I)
    NEXT I
     
    REM*** diziyi matrise aktarıyoruz*****
    FOR I = 1 TO N
    FOR J = 1 TO M
    L = L + 1
    A(I, J) = DIZI(L)
    NEXT J, I
     
    REM*** dizinin aktarıldığı matrisin elemanlarını yazdırıyoruz
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT USING "###.#"; A(I, J);
    NEXT J
    PRINT
    NEXT I
    REM** verilen bir alt üçgensel matrisin elemanları diziye aktarma
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ"; N
    DIM A(N, N): DIM DIZI(N * (N + 1) / 2)
     
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT "A("; I; ","; J; ")";
    INPUT A(I, J)
    NEXT J, I
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT A(I, J);
    NEXT J
    PRINT
    NEXT I
     
    REM*** alt üçgensel matrisi diziye aktarma işlemi
    FOR I = 1 TO N
    FOR J = 1 TO I
    T = T + 1
    DIZI(T) = A(I, J)
    NEXT J
    NEXT I
     
    REM* dizinin elemanlarını yazdırıyoruz***
    FOR I = 1 TO N * (N + 1) / 2
    PRINT DIZI(I)
    NEXT I
    REM*** NxN tipinde bir matrisi alt üçgensel hale getirme ve matrisin determinantını hesaplama
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ"; N
    DIM X(N, N)
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT "X("; I; ","; J; ")";
    INPUT X(I, J)
    NEXT J, I
     
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT X(I, J);
    NEXT J
    PRINT
    NEXT I
     
    REM*** alt üçgensel hale getiriyoruz******
    FOR L = N TO 2 STEP -1
    FOR S = L - 1 TO 1 STEP -1
    REM*** eğer diagonal elemanlarında sıfır ya da C sabitini bulurken sıfıra bölüm varsa satır ekleme
    REM*** işlemleri yapıyoruz*****
    IF X(L, L) = 0 THEN
            FOR M = L - 1 TO 1 STEP -1
            IF X(M, L) <> 0 THEN
            FOR J = 1 TO N
              X(L, J) = X(L, J) + X(M, J)
            NEXT J
            END IF
            NEXT M
    END IF
     
    C = X(S, L) / X(L, L)
    FOR J = 1 TO N
    X(S, J) = X(S, J) - C * X(L, J)
    NEXT J, S, L
     
    REM*** alt üçgensel matrisi yazdırıyoruz*****
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT USING "###.##"; X(I, J);
    NEXT J
    PRINT
    NEXT I
     
    REM*** matrisin determinantını hesaplıyoruz*****
    D = 1
    FOR I = 1 TO N
    D = D * X(I, I)
    NEXT I
    PRINT "X MATRİSİNİN DETERMİNANTI:"; D

    ‘artan
    Kod:
    CLS
    INPUT "DENEME SAYISINI GiRiNiZ"; M
    INPUT "DiZiNiN BOYUTUNU GiRiN"; N
    DIM X(N)
    BASARI = 0
    FOR J = 1 TO M
    FOR I = 1 TO N
    X(I) = RND
    NEXT I
    SAYAC = 0
    FOR I = 1 TO N - 1
    IF X(I) < X(I + 1) THEN SAYAC = SAYAC + 1
    NEXT I
    IF SAYAC = N - 1 THEN
       PRINT "BU DiZi ARTANDIR"
       BASARI = BASARI + 1
    ELSE
       PRINT "BU DiZi ARTAN DEğiLDiR"
    END IF
    NEXT J
    OLASILIK = BASARI / M
    PRINT "OLASILIK="; OLASILIK
    'frekanslar
    Kod:
    CLS
    INPUT "DİZİNİN BOYUTUNU GİRİNİZ"; N
    INPUT "KAÇ TANE ARALIĞA BÖLECEĞİZ:"; M
    DIM X(N): DIM FRK(M)
    FOR I = 1 TO N
     X(I) = RND
    NEXT I
    EB = X(1): EK = X(N)
    FOR I = 1 TO N
    IF EB < X(I) THEN EB = X(I)
    IF EK > X(I) THEN EK = X(I)
    NEXT I
    AU = (EB - EK) / M + 1 / 100000
    FOR K = 1 TO M
    FOR I = 1 TO N
    IF X(I) >= EK + (K - 1) * AU AND X(I) < EK + K * AU THEN FRK(K) = FRK(K) + 1
    NEXT I, K
    FOR I = 1 TO M
    PRINT "["; EK + (I - 1) * AU; ","; EK + I * AU; ")", FRK(I)
    T = T + FRK(I)
    NEXT I
    PRINT "T"; T
    ‘Kartckls.bas
    Kod:
    CLS
    RANDOMIZE TIMER
     
    REM*** 52'LİK DESTE KAĞIDINDAN BİR KARTIN ÇEKİLMESİ***
    REM*** 20.03.2001,SAAT: 9:20***
    DIM GRUP$(4): DIM KART$(13):
    GRUP$(1) = "MAÇA": GRUP$(2) = "SİNEK": GRUP$(3) = "KARO": GRUP$(4) = "KUPA"
    KART$(11) = "VALE": KART$(12) = "KIZ": KART$(13) = "PAPAZ"
     
    X$ = GRUP$(INT(RND * 4) + 1)
       A = INT(RND * 13) + 1
     
    IF A < 11 THEN
    Y = A
    PRINT X$, Y
    ELSE
    Y$ = KART$(A)
    PRINT X$, Y$
    END IF
    END

    ‘matters
    REM*** NxN tipinde bir matrisin tersini bulan program
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ"; N
    DIM X(N, 2 * N)
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT "X("; I; ","; J; ")";
    INPUT X(I, J)
    NEXT J, I
    REM*** birim matrisi yazdırıyoruz
    FOR I = 1 TO N
    X(I, N + I) = 1
    NEXT I
     
    FOR I = 1 TO N
    FOR J = 1 TO 2 * N
    PRINT X(I, J);
    NEXT J
    PRINT
    NEXT I
     
    REM*** üst üçgensel hale getiriyoruz******
     
    FOR L = 1 TO N - 1
    FOR S = L + 1 TO N
    REM*** eğer diagonal elemanlarında sıfır ya da C sabitini bulurken sıfıra bölüm varsa satır ekleme
    REM*** işlemleri yapıyoruz*****
    IF X(L, L) = 0 THEN
            FOR M = L + 1 TO N
            IF X(M, L) <> 0 THEN
            FOR J = 1 TO 2 * N
              X(L, J) = X(L, J) + X(M, J)
            NEXT J
            END IF
            NEXT M
    END IF
     
    C = X(S, L) / X(L, L)
    FOR J = 1 TO 2 * N
    X(S, J) = X(S, J) - C * X(L, J)
    NEXT J, S, L
     
    REM*** üstt üçgensel matrisi yazdırıyoruz*****
    FOR I = 1 TO N
    FOR J = 1 TO 2 * N
    PRINT USING "###.##"; X(I, J);
    NEXT J
    PRINT
    NEXT I
     
    FOR L = N TO 2 STEP -1
    FOR S = L - 1 TO 1 STEP -1
    REM*** eğer diagonal elemanlarında sıfır ya da C sabitini bulurken sıfıra bölüm varsa satır ekleme
    REM*** işlemleri yapıyoruz*****
    IF X(L, L) = 0 THEN
            FOR M = L - 1 TO 1 STEP -1
            IF X(M, L) <> 0 THEN
            FOR J = 1 TO 2 * N
              X(L, J) = X(L, J) + X(M, J)
            NEXT J
            END IF
            NEXT M
    END IF
     
    C = X(S, L) / X(L, L)
    FOR J = 1 TO 2 * N
    X(S, J) = X(S, J) - C * X(L, J)
    NEXT J, S, L
     
    REM*** alt üçgensel matrisi yazdırıyoruz*****
    FOR I = 1 TO N
    FOR J = 1 TO 2 * N
    PRINT USING "###.##"; X(I, J);
    NEXT J
    PRINT
    NEXT I
     
    FOR I = 1 TO N
    IF A(I, I) <> 1 THEN B = X(I, I)
    FOR J = 1 TO 2 * N
    X(I, J) = X(I, J) / B
    NEXT J, I
     
    REM** matrisin tersini yazdırıyoruz***
    PRINT
    PRINT "Matrisin tersi"
    FOR I = 1 TO N
    FOR J = N + 1 TO 2 * N
    PRINT X(I, J);
    NEXT J
    PRINT
    NEXT I
     
    REM*** matrisin determinantını hesaplıyoruz*****
    D = 1
    FOR I = 1 TO N
    D = D * X(I, I)
    NEXT I
    PRINT "X MATRİSİNİN DETERMİNANTI:"; D
    ‘mtrstbul
    Kod:
    CLS
    REM*** BiR MATRiSTE SATIRLARIN ENBüYüğNü VE ENKüçğünü BULAN PROGRAM
    INPUT "MATRiSiN SATIR SAYISINI GiRiNiZ:"; N
    INPUT "MATRiSiN SüTUN SAYISINI GiRiNiZ:"; M
     
    DIM A(N, M): DIM EB(N): DIM EK(N)
     
    FOR I = 1 TO N
    FOR J = 1 TO M
    INPUT A(I, J)
    NEXT J, I
    'Matrisi yazdırıyoruz
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT A(I, J);
    NEXT J
    PRINT
    NEXT I
     'en büyük ve en küçük elemanları bulduruyoruz
    FOR I = 1 TO N
    EB(I) = A(I, 1): EK(I) = A(I, M)
    FOR J = 1 TO M
    IF EB(I) < A(I, J) THEN EB(I) = A(I, J)
    IF EK(I) > A(I, J) THEN EK(I) = A(I, J)
    NEXT J, I
     
    'satırların en büyük ve en küçük elemanlarını yazdırıyoruz
     
    FOR I = 1 TO N
    PRINT I; ".SATIRDA ENBüYüK VE ENKüçüK ELEMAN:", EB(I), EK(I)
    NEXT I
    ‘ortanca.bas
    'ortanca
    CLS
    INPUT "N DEĞERİNİ GİRİNİZ"; N
    DIM X(N)
    FOR I = 1 TO N
    INPUT X(I)
    NEXT I
    FOR I = 1 TO N - 1
    FOR J = I + 1 TO N
    IF X(J) < X(I) THEN SWAP X(J), X(I)
    NEXT J
    NEXT I
    FOR I = 1 TO N
    PRINT X(I);
    NEXT I
    IF N - INT(N / 2) * 2 = 0 THEN
    ORTANCA = (X(N / 2) + X((N + 2) / 2)) / 2
    ELSE
    ORTANCA = X((N + 1) / 2)
    END IF
    PRINT "ORTANCA"; ORTANCA
    ‘satırkat
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ"; N
    INPUT "SÜTUN SAYISINI GİRİNİZ"; M
    DIM X(N, M)
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT "X("; I; ","; J; ")";
    INPUT X(I, J)
    NEXT J, I
    FOR I = 1 TO N - 1
    FOR L = I + 1 TO N
    FOR K = 1 TO M
    IF X(I, K) = 0 THEN
    C = 1
    ELSE
    C = X(L, K) / X(I, K)
    END IF
    S = 0
    FOR J = 1 TO M
    S = S + ABS(X(L, J) - C * X(I, J))
    NEXT J, K
    IF S = 0 THEN PRINT L; ".SATIR İLE"; I; ".SATIR BİRBİRİNİN"; C; "KATIDIR"
    NEXT L, I

    ‘satırsfr
    ‘** verilen bir matriste herhangi satırın sıfıra eşit olup olmadığını
    ‘** bulan program
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ"; N
    INPUT "SÜTUN SAYISINI GİRİNİZ"; M
    DIM X(N, M)
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT "X("; I; ","; J; ")";
    INPUT X(I, J)
    NEXT J, I
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT X(I, J);
    NEXT J
    PRINT
    NEXT I
     
    REM** matrisin hangi elemanı sıfır acaba?
    FOR I = 1 TO N
    S = 0
    FOR J = 1 TO M
    IF X(I, J) = 0 THEN S = S + 1
    NEXT J
    IF S = M THEN PRINT "MATRİSİN"; I; ".CI SATIRI SIFIR"
    NEXT I
    ‘satkatol
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ"; N
    INPUT "SÜTUN SAYISINI GİRİNİZ"; M
    DIM X(N, M)
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT "X("; I; ","; J; ")";
    INPUT X(I, J)
    NEXT J, I
    FOR I = 1 TO N - 1
    S = 0
    FOR K = I + 1 TO N
    FOR J = 1 TO M
    FOR H = J + 1 TO M
    IF X(K, J) / X(I, J) = X(K, H) / X(I, H) THEN
     S = S + 1
     C = X(K, J) / X(I, J)
    ELSE GOTO A1
    END IF
    IF S = M - 1 THEN
     PRINT K; ".SATIR İLE"; I; ".SATIR BİRBİRİNİN"; C; "KATIDIR"
    END IF
    NEXT H, J, K
    A1:
    NEXT I
    ‘satırkatı
    REM** verilen bir matriste herhangi satırın birbirinin katı olup olmadığını
    REM** bulan program***
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ"; N
    INPUT "SÜTUN SAYISINI GİRİNİZ"; M
    DIM X(N, M)
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT "X("; I; ","; J; ")";
    INPUT X(I, J)
    NEXT J, I
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT X(I, J);
    NEXT J
    PRINT
    NEXT I
    FOR I = 1 TO N - 1
    FOR L = I + 1 TO N
    K = X(L, 1) / X(I, 1)
    S = 0
    FOR J = 1 TO M
    S = S + ABS(X(L, J) - K * X(I, J))
    NEXT J
    IF S = 0 THEN PRINT "MATRİSİN"; L; ".CI SATIR"; I; ".CI SATIRIN"; K; "KATI"
    NEXT L, I
    ‘ustucgn
    REM*** NxN tipinde bir matrisi üst üçgensel hale getirme
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ"; N
    DIM X(N, N)
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT "X("; I; ","; J; ")";
    INPUT X(I, J)
    NEXT J, I
     
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT X(I, J);
    NEXT J
    PRINT
    NEXT I
     
    REM*** üst üçgensel hale getiriyoruz******
    FOR L = 1 TO N - 1
    FOR S = L + 1 TO N
    REM*** eğer diagonal elemanlarında sıfır ya da C sabitini bulurken sıfıra bölüm varsa satır ekleme
    REM*** işlemleri yapıyoruz*****
    IF X(L, L) = 0 THEN
            FOR M = L + 1 TO N
            IF X(M, L) <> 0 THEN
            FOR J = 1 TO N
              X(L, J) = X(L, J) + X(M, J)
            NEXT J
            END IF
            NEXT M
    END IF
     
    C = X(S, L) / X(L, L)
    FOR J = 1 TO N
    X(S, J) = X(S, J) - C * X(L, J)
    NEXT J, S, L
     
    REM*** üst üçgensel matrisi yazdırıyoruz*****
    FOR I = 1 TO N
    FOR J = 1 TO N
    PRINT USING "###.##"; X(I, J);
    NEXT J
    PRINT
    NEXT I
    ‘2det
    Kod:
    CLS
    DIM A(2, 2)
    FOR I = 1 TO 2
    FOR J = 1 TO 2
    READ A(I, J)
    NEXT J, I
    DATA 2,3,5,6
    'MATRİSİ EKRANA YAZDIRDIK
    FOR I = 1 TO 2
    FOR J = 1 TO 2
    PRINT USING "######.######"; A(I, J);
    NEXT J
    PRINT
    NEXT I
     
    IF A(1, 1) = 0 THEN
    FOR J = 1 TO 2
    A(1, J) = A(1, J) + A(2, J)
    NEXT J
    END IF
    K = A(2, 1) / A(1, 1)
    FOR J = 1 TO 2
    A(2, J) = A(2, J) - K * A(1, J)
    NEXT J
    'DETERMİNANT BULACAĞIZ
    D = 1
    FOR I = 1 TO 2
    D = D * A(I, I)
    NEXT I
    FOR I = 1 TO 2
    FOR J = 1 TO 2
    PRINT USING "#######.######"; A(I, J);
    NEXT J
    PRINT
    NEXT I
    PRINT "A MATRİSİNİN DETERMİNANTI:"; D
    ‘determ
    Kod:
    CLS
    INPUT "SATIR SAYISINI GİRİNİZ="; N
    INPUT "SÜTUN SAYISINI GİRİNİZ="; M
    DIM X(N, M)
     
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT "X("; I; ","; J; ")";
    INPUT X(I, J)
    NEXT J, I
     
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT X(I, J);
    NEXT J
    PRINT
    NEXT I
    FOR K = 1 TO N - 1
    FOR L = K + 1 TO N
    IF X(K, K) = 0 THEN
    FOR I = K + 1 TO N
    SELECT CASE X(I, K)
    CASE IS <> 0
    EXIT FOR
    END SELECT
    NEXT I
    FOR J = 1 TO M
    X(K, J) = X(K, J) + X(I, J)
    NEXT J
    END IF
    C = X(L, K) / X(K, K)
    FOR J = 1 TO M
    X(L, J) = X(L, J) - C * X(K, J)
    NEXT J, L, K
    D = 1
    FOR I = 1 TO N
    D = D * X(I, I)
    NEXT I
    PRINT "DETERMİNANT'IN DEĞERİ="; D
    PRINT
    FOR I = 1 TO N
    FOR J = 1 TO M
    PRINT X(I, J);
    NEXT J
    PRINT
    NEXT I
    ‘dizi
    REM***DiZiNiN ARTAN OLUP OLMADIğINA BAKIYORUZ***
    Kod:
    CLS
    INPUT "DENEME SAYISINI G˜R˜N˜Z:"; M
    INPUT "DiZiNiN BOYUTUNU G˜R˜N˜Z:"; N
    DIM X(N)
    '(0,1) ARASINDAN RASGELE N SAYI üRETiYORUZ
    BASARI = 0
    FOR J = 1 TO M
    FOR I = 1 TO N
    X(I) = RND
    NEXT I
     
    SAYAC = 0
    FOR I = 1 TO N - 1
    IF X(I) < X(I + 1) THEN SAYAC = SAYAC + 1
    NEXT I
    'DiZiNiN ARTAN OLUP OLMADIğINI KONTROL EDiYORUZ
    IF SAYAC = N - 1 THEN
    PRINT "DiZi ARTANDIR"
    BASARI = BASARI + 1
    ELSE
    PRINT "DiZi ARTAN DEğiLDiR"
    END IF
    NEXT J
    P = BASARI / M
    PRINT "BAşARI OLASILIğI:"; P
    END
    ‘menu.bas
    'GOSUB RETURN komutlarının kullanımı
    Kod:
    CLS
    DIM x(1000)
    menu:
    'COLOR 5, 7
    CLS
    LOCATE 4, 10: PRINT "seçenekler"
    LOCATE 6, 5: PRINT "1-veri üretme"
    LOCATE 7, 5: PRINT "2-ortalama "
    LOCATE 8, 5: PRINT "3-en büyük"
    LOCATE 9, 5: PRINT "4-çıkış"
    LOCATE 12, 15: INPUT "Seçiminiz=", sec
    IF sec = 1 THEN GOSUB uret
    IF sec = 2 THEN GOSUB ortalama
    IF sec = 3 THEN GOSUB enbuyuk
    IF sec = 4 THEN END
    GOTO menu
    uret:
    CLS
    INPUT "veri sayısı=", n
    FOR i = 1 TO n
    x(i) = RND
    PRINT i, x(i)
    NEXT i
    GOSUB tusbas
    RETURN
     
    ortalama:
    CLS
    t = 0
    FOR i = 1 TO n
    t = t + x(i)
    NEXT i
    t = t / n
    PRINT "ortalama=", t
    tus$ = INPUT$(1)
     
    GOSUB tusbas
    RETURN
     
    enbuyuk:
    CLS
    eb = x(1)
    FOR i = 2 TO n
    IF x(i) > eb THEN eb = x(i)
    NEXT i
    PRINT "en büyük=", eb
    tus$ = INPUT$(1)
    GOSUB tusbas
    RETURN
     
    tusbas:
    LOCATE 23, 1: PRINT "geri dönüş için bir tuşa basınız ....>"
    tus$ = INPUT$(1)
    RETURN
    'GOSUB RETURN komutlarının kullanımı SELECT CASE END SELECT
    Kod:
    CLS
    DIM x(1000)
    menu:
    'COLOR 5, 7
    CLS
    LOCATE 4, 10: PRINT "seçenekler"
    LOCATE 6, 5: PRINT "1-veri üretme"
    LOCATE 7, 5: PRINT "2-ortalama "
    LOCATE 8, 5: PRINT "3-en büyük"
    LOCATE 9, 5: PRINT "4-çıkış"
    LOCATE 12, 15: INPUT "Seçiminiz=", sec
    SELECT CASE sec
       CASE 1
          GOSUB uret
       CASE 2
          GOSUB ortalama
       CASE 3
         GOSUB enbuyuk
       CASE 4
        END
    END SELECT
     
    GOTO menu
    uret:
    CLS
    INPUT "veri sayısı=", n
    FOR i = 1 TO n
    x(i) = RND
    PRINT i, x(i)
    NEXT i
    GOSUB tusbas
    RETURN
     
    ortalama:
    CLS
    t = 0
    FOR i = 1 TO n
    t = t + x(i)
    NEXT i
    t = t / n
    PRINT "ortalama=", t
    tus$ = INPUT$(1)
     
    GOSUB tusbas
    RETURN
     
    enbuyuk:
    CLS
    eb = x(1)
    FOR i = 2 TO n
    IF x(i) > eb THEN eb = x(i)
    NEXT i
    PRINT "en büyük=", eb
    tus$ = INPUT$(1)
    GOSUB tusbas
    RETURN
     
    tusbas:
    LOCATE 23, 1: PRINT "geri dönüş için bir tuşa basınız ....>"
    tus$ = INPUT$(1)
    RETURN
    'READ DATA RESTORE komutlarının kullanımı
    Kod:
    CLS
    DIM x(10)
    FOR i = 1 TO 10
    READ x(i)
    IF i > 4 THEN RESTORE
    PRINT i, x(i)
    NEXT i
    DATA 3,5,2,4,5,6
    'SELECT CASE ORNEGI 30.4.2001
    Kod:
    CLS
    INPUT "x=", x
    SELECT CASE x
     CASE 1, 2, 5
       fonk = 1 / 2
       PRINT "fonksiyon=", fonk
     CASE 6, 7
       fonk = 3
       PRINT "fonksiyon=", fonk
     CASE 8, 9
       fonk = 2
       PRINT "fonksiyon=", fonk
     CASE ELSE
       PRINT " tanımsız"
     
    END SELECT
    'SELECT CASE ORNEGI
    Kod:
    CLS
    INPUT "x=", x
    SELECT CASE x
     CASE IS < 6
       fonk = 1
     CASE IS >= 6 AND x < 8
       fonk = 2
     CASE IS >= 8 AND x < 9
       fonk = 3
     CASE IS >= 9
     fonk = 4
    END SELECT
    PRINT "fonksiyon ", fonk
    Kod:
    CLS
    SCREEN 12
    RANDOMIZE TIMER
    INPUT "deneme sayısı=", SAY
    CLS
    M = 0
    FOR I = 1 TO SAY
    x = 2 * RND - 1
    y = 2 * RND - 1
    PSET (250 + 200 * x, 250 + y * 200), 10
    IF x ^ 2 + y ^ 2 < 1 THEN
       M = M + 1
       PSET (250 + 200 * x, 250 + y * 200), 5
    END IF
    LOCATE 23, 60: PRINT "Pİ="; (M * 4) / SAY
    NEXT I
    Kod:
    CLS
    SCREEN 12
    RANDOMIZE TIMER
    INPUT "deneme sayısı=", SAY
    CLS
    M = 0
    FOR I = 1 TO SAY
    x = 60 * RND
    y = 60 * RND
    PSET (10 + 7 * x, 10 + y * 7), 5
    IF ABS(x - y) < 15 THEN
       M = M + 1
       PSET (10 + 7 * x, 10 + y * 7), 10
    END IF
    LOCATE 27, 60: PRINT "ols="; M / SAY; 7 / 16
    NEXT I
    DECLARE SUB faktoriyel (deger, fakt)
    CLS
    INPUT "sayi=", sayi
    faktoriyel sayi, sonuc
    PRINT "sayi=", sayi, sonuc
    END


    SUB faktoriyel (deger, fakt)
    fakt = 1
    FOR i = 1 TO deger
    fakt = fakt * i
    NEXT i
    END SUB

    DECLARE SUB ortalama (dizi!, n!, son!)
    DIM SHARED dizi(1000)
    CLEAR
    CLS
    INPUT "n=", n
    FOR i = 1 TO n
    dizi(i) = RND
    NEXT i
    ortalama dizi, n, sonuc
    PRINT sonuc
    END

    SUB ortalama (dizi, n, son)
    a = 0
    FOR i = 1 TO n
    a = a + dizi(i)
    NEXT
    son = a / n
    END SUB

    DECLARE SUB ortalama (dizi(), n!, son!)
    DIM dizi(1000)
    CLEAR
    CLS
    INPUT "n=", n
    FOR i = 1 TO n
    dizi(i) = RND
    NEXT i
    ortalama dizi(), n, sonuc
    PRINT sonuc
    END

    SUB ortalama (dizi1(), n1, son1)
    a = 0
    FOR i = 1 TO n1
    a = a + dizi1(i)
    NEXT
    son1 = a / n1
    END SUB

    DECLARE SUB enkucuk (dizi(), n!, sonuc!)
    DECLARE SUB ortalama (dizi(), n!, son!)
    DIM dizi(1000)
    CLEAR
    CLS
    INPUT "n=", n
    FOR i = 1 TO n
    dizi(i) = RND
    NEXT i
    ortalama dizi(), n, sonuc
    PRINT "ortalama=", sonuc
    enkucuk dizi(), n, sonuc
    PRINT "enkucuk deger=", sonuc
    END

    SUB enkucuk (dizi(), n, sonuc)
    ek = dizi(1)
    FOR i = 2 TO n
    IF ek > dizi(i) THEN SWAP ek, dizi(i)
    NEXT
    sonuc = ek
    END SUB

    SUB ortalama (dizi1(), n, son)
    a = 0
    FOR i = 1 TO n
    a = a + dizi1(i)
    NEXT
    son = a / n
    END SUB

    DECLARE SUB topla (a!(), b!(), n!, m!, sonuc!())
    CLS
    INPUT "n=", n
    INPUT "m=", m
    DIM a(n, m), b(n, m), c(n, m)
    PRINT "a matrisi"
    PRINT "-----------"
    FOR i = 1 TO n
    FOR j = 1 TO m
    INPUT a(i, j)
    NEXT j, i
    PRINT "b matrisi"
    PRINT "-----------"
    FOR i = 1 TO n
    FOR j = 1 TO m
    INPUT b(i, j)
    NEXT j, i
    CLS
    topla a(), b(), n, m, c()
    FOR i = 1 TO n
    FOR j = 1 TO m
    PRINT c(i, j);
    NEXT j
    PRINT
    NEXT i

    SUB topla (a(), b(), n, m, sonuc())
    FOR i = 1 TO n
    FOR j = 1 TO m
    sonuc(i, j) = a(i, j) + b(i, j)
    NEXT j, i
    END SUB
     
    Tags:

Bu Sayfayı Paylaş

  1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.
  1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.
Yükleniyor...