Найти ошибку в коде - QBasic (27923)

Узнай цену своей работы

Формулировка задачи:

Решение задачи: «Найти ошибку в коде»

textual
Листинг программы
DECLARE SUB zadacha ()
DECLARE SUB zastavka ()
DECLARE SUB menu ()
SCREEN 12
 
 
CLS
CALL menu
SUB menu
CLS
DO
    CLS
    PRINT "заставка Z"
    PRINT "задача K"
    PRINT "выход ESC"
    DO
        a$ = INKEY$
    LOOP WHILE a$ = ""
    IF ASC(UCASE$(a$)) = 90 THEN CALL zastavka
    IF ASC(UCASE$(a$)) = 75 THEN CALL zadacha
LOOP UNTIL ASC(UCASE$(RIGHT$(a$, 1))) = 27
END SUB
 
SUB zadacha
PRINT "столица Франции?”"
PRINT "1)Париж 2)Москва 3)Банкок"
INPUT "Ответ", a1
IF a1 = 1 THEN
    s = s + 1
    LINE (530, 10)-(560, 40), 2, BF
ELSE
    r = r + 1
    LINE (530, 10)-(560, 40), 4, BF
END IF
PRINT "самое большое море?”"
PRINT "1)Аравийское 2)Каралловое 3)Тасманово"
INPUT "Ответ", a2
IF a2 = 1 THEN
    s = s + 1
    LINE (530, 40)-(560, 70), 2, BF
ELSE
    r = r + 1
    LINE (530, 40)-(560, 70), 4, BF
END IF
PRINT "самое большое озеро?”"
PRINT "1)Каспийское 2)Виктория 3)Верхнее"
INPUT "Ответ", a3
IF a3 = 1 THEN
    s = s + 1
    LINE (530, 70)-(560, 100), 2, BF
ELSE
    r = r + 1
    LINE (530, 70)-(560, 100), 4, BF
END IF
PRINT "самый маленький водопад?”"
PRINT "1)Японский 2)Китайский 3)Индийский"
INPUT "Ответ", a4
IF a4 = 1 THEN
    s = s + 1
    LINE (530, 100)-(560, 130), 2, BF
ELSE
    r = r + 1
    LINE (530, 100)-(560, 130), 4, BF
END IF
PRINT "самая длинная река?”"
PRINT "1)Амазонка 2)Волга 3)Нил"
INPUT "Ответ", a5
IF a5 = 1 THEN
    s = s + 1
    LINE (530, 130)-(560, 170), 2, BF
ELSE
    r = r + 1
    LINE (530, 130)-(560, 170), 4, BF
END IF
PRINT "Кол - во правильных:"
PRINT s
PRINT "Кол - во неправильных:"
PRINT r
IF a1 <> 1 THEN
    PRINT "Ответ в первом вопросе: "
    PRINT "1)Париж"
END IF
IF a2 <> 1 THEN
    PRINT "Ответ во втором вопросе:"
    PRINT "1)Аравийское"
END IF
IF a3 <> 1 THEN
    PRINT "Ответ в третьем вопросе:"
    PRINT "1)Каспийское "
END IF
IF a4 <> 1 THEN
    PRINT "Ответ в четвертом вопросе:"
    PRINT "1)Японский”"
END IF
IF a5 <> 1 THEN
    PRINT "Ответ в пятом вопросе:"
    PRINT "1)Амазонка"
END IF
END SUB
 
 
 
SUB zastavka
LINE (640, 0)-(0, 480), 6, BF
LINE (10, 50)-(620, 50), 0
LINE (620, 50)-(620, 200), 0
LINE (620, 260)-(620, 440), 0
LINE (320, 440)-(10, 440), 0
LINE (10, 440)-(10, 50), 0
PSET (620, 170), 0
DRAW " l300 d100 l 100 u150 r200"
PSET (220, 150), 0
DRAW " l100 d 170 r 200"
PSET (440, 170), 0
DRAW "d50 r50 d50 l100 d50 r100"
PSET (440, 320), 0
DRAW "d60 r100 l300 r20 d20 l200 u300 r100"
CIRCLE (35, 80), 15
PSET (35, 81)
PAINT (35, 80)
DIM box%(2000)
GET (12, 55)-(60, 98), box%()
FOR i = 1 TO 500
 
    PUT (12 + i, 55), box%(), PSET
NEXT
END SUB

Оцени полезность:

12   голосов , оценка 3.917 из 5