'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