5. Исходные коды программ

  • Программы разработаны автором на языке QBasic 4.5

    Программа simm.bas

    SCREEN 12

    LOCATE 5, 8: PRINT "KA Simmetr"

    LOCATE 6, 6: PRINT "Ytenkov. 2006"

    LINE (200, 30)-(604, 434), 15, BF

    FOR i% = 0 TO 101

    LINE (200, 30 + i% * 4)-(604, 30 + i% * 4), 7

    LINE (200 + i% * 4, 30)-(200 + i% * 4, 434), 7

    NEXT i%

    DIM k1%(102, 102), k2%(102, 102)

    k1%(51, 51) = 1

    kol% = 50

    FOR n% = 1 TO kol%

    FOR x% = 1 TO 100

    FOR y% = 1 TO 100

    s% = k1%(x% - 1, y%) + k1%(x% + 1, y%) + k1%(x%, y% - 1) + k1%(x%, y% + 1)

    IF s% = 0 AND k1%(x%, y%) = 0 THEN k2%(x%, y%) = 0

    IF s% > 0 AND k1%(x%, y%) = 0 THEN k2%(x%, y%) = 1

    IF s% <= 1 AND k1%(x%, y%) = 1 THEN k2%(x%, y%) = 1

    IF s% > 1 AND k1%(x%, y%) = 1 THEN k2%(x%, y%) = 0

    NEXT y%, x%

    LOCATE 10, 9: PRINT "Takt "; n%

    FOR x% = 1 TO 100

    FOR y% = 1 TO 100

    IF k1%(x%, y%) = 1 THEN col% = 0 ELSE col% = 15

    LINE (200 + (x% - 1) * 4 + 1, 30 + (y% - 1) * 4 + 1)-(200 + (x% - 1) * 4 + 3, 30 + (y% - 1) * 4 + 3), col%, BF

    k1%(x%, y%) = k2%(x%, y%)

    NEXT y%, x%, n%

    INPUT a$

    END


    Программа ulam.bas

    SCREEN 12

    LOCATE 1, 10: PRINT "KA Ulam. Ytenkov. 2005."

    LINE (200, 30)-(604, 434), 15, BF

    FOR i% = 0 TO 101

    LINE (200, 30 + i% * 4)-(604, 30 + i% * 4), 7

    LINE (200 + i% * 4, 30)-(200 + i% * 4, 434), 7

    NEXT i%

    DIM k1%(102, 102), k2%(102, 102)

    LOCATE 5, 1: INPUT "n cell?"; k%

    FOR i% = 1 TO k%

    LOCATE 7, 1: PRINT " "

    LOCATE 7, 1: INPUT "Koordin. X,Y ", x%, y%

    k1%(x%, y%) = 1

    NEXT i%

    FOR n% = 1 TO 500

    INPUT a$

    IF a$ = "f" THEN 100

    FOR x% = 1 TO 100

    FOR y% = 1 TO 100

    IF INKEY$ = "f" THEN 100

    s% = k1%(x% - 1, y%) + k1%(x% + 1, y%) + k1%(x%, y% - 1) + k1%(x%, y% + 1)

    IF s% = 1 AND k1%(x%, y%) = 0 THEN k2%(x%, y%) = 1 ELSE k2%(x%, y%) = 0

    NEXT y%, x%

    LOCATE 14, 5: PRINT "’ Єв "; n%

    FOR x% = 1 TO 100

    FOR y% = 1 TO 100

    IF k1%(x%, y%) = 1 THEN col% = 0 ELSE col% = 15

    LINE (200 + (x% - 1) * 4 + 1, 30 + (y% - 1) * 4 + 1)-(200 + (x% - 1) * 4 + 3, 30 + (y% - 1) * 4 + 3), col%, BF

    k1%(x%, y%) = k2%(x%, y%)

    NEXT y%, x%, n%

    100 INPUT a$

    END


    Программа copy.bas

    DIM k1%(126, 126), k2%(126, 126)

    10 CLS

    SCREEN 13

    FOR x% = 1 TO 125

    FOR y% = 1 TO 125

    k1%(x%, y%) = 0

    NEXT y%, x%

    PRINT " Start str"

    PRINT " 1 - box"

    PRINT " 2 - cell"

    PRINT " 3 Random"

    0 INPUT v%

    IF v% = 1 THEN 1

    IF v% = 2 THEN 2

    IF v% = 3 THEN 3

    GOTO 0

    1 FOR x% = 63 - 10 TO 63 + 10

    FOR y% = 63 - 10 TO 63 + 10

    k1%(x%, y%) = 1

    NEXT y%, x%

    GOTO 4

    2 FOR x% = 63 - 10 TO 63 + 10 STEP 5

    FOR y% = 63 - 10 TO 63 + 10

    k1%(x%, y%) = 1

    NEXT y%, x%

    FOR y% = 63 - 10 TO 63 + 10 STEP 4

    FOR x% = 63 - 10 TO 63 + 10

    k1%(x%, y%) = 1

    NEXT x%, y%

    GOTO 4

    3 INPUT "chislo 1-400 ", n%

    RANDOMIZE n%

    FOR i% = 1 TO n%

    x% = 63 - 10 + INT(RND(i%) * 20) + 1

    y% = 63 - 10 + INT(RND(i%) * 20) + 1

    k1%(x%, y%) = 1

    NEXT i%

    4 FOR n% = 1 TO 33

    FOR x% = 1 TO 125

    FOR y% = 1 TO 125

    s% = k1%(x% - 1, y%) + k1%(x% + 1, y%) + k1%(x%, y% - 1) + k1%(x%, y% + 1)

    IF s% MOD 2 = 1 THEN k2%(x%, y%) = 1 ELSE k2%(x%, y%) = 0

    NEXT y%

    NEXT x%

    LOCATE 10, 3: PRINT n%

    FOR i! = 0 TO 200000: NEXT i!

    FOR x% = 1 TO 125

    FOR y% = 1 TO 125

    IF k1%(x%, y%) = 1 THEN c% = 15 ELSE c% = 0

    PSET (x% + 100, y% + 30), c%

    k1%(x%, y%) = k2%(x%, y%)

    NEXT y%

    NEXT x%

    NEXT n%

    INPUT "Home (Y/N) ", a$

    IF a$ = "y" OR a$ = "Y" THEN 10

    END


    << Назад

    Сайт создан в системе uCoz