Найти ошибку в коде - QBasic (27923)
Формулировка задачи:
Листинг программы
- DECLARE SUB zadacha ()
- DECLARE SUB zastavka ()
- DECLARE SUB menu ()
- 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
- END SUB
- CLS
- SCREEN 12
- 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
Решение задачи: «Найти ошибку в коде»
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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д