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

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

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

Листинг программы
  1. DECLARE SUB zadacha ()
  2. DECLARE SUB zastavka ()
  3. DECLARE SUB menu ()
  4. CLS
  5. CALL menu
  6. SUB menu
  7. CLS
  8. DO
  9. CLS
  10. PRINT "заставка Z"
  11. PRINT "задача K"
  12. PRINT "выход ESC"
  13. DO
  14. a$ = INKEY$
  15. LOOP WHILE a$ = ""
  16. IF ASC(UCASE$(a$)) = 90 THEN CALL zastavka
  17. IF ASC(UCASE$(a$)) = 75 THEN CALL zadacha
  18. LOOP UNTIL ASC(UCASE$(RIGHT$(a$, 1))) = 27
  19. END
  20. END SUB
  21. CLS
  22. SCREEN 12
  23. SUB zadacha
  24. PRINT "столица Франции?”
  25. PRINT "1)Париж 2)Москва 3)Банкок"
  26. input "Ответ",a1
  27. IF a1= 1 THEN
  28. s=s+1
  29. LINE (530,10) - (560,40),2,BF
  30. ELSE
  31. r=r+1
  32. LINE (530,10) -(560,40),4,bf
  33. END IF
  34. PRINT "самое большое море?”
  35. PRINT "1)Аравийское 2)Каралловое 3)Тасманово"
  36. input "Ответ",a2
  37. IF a2= 1 THEN
  38. s=s+1
  39. LINE (530,40) - (560,70),2,BF
  40. ELSE
  41. r=r+1
  42. LINE (530,40) -(560,70),4,bf
  43. END IF
  44. PRINT "самое большое озеро?”
  45. PRINT "1)Каспийское 2)Виктория 3)Верхнее"
  46. input "Ответ",a3
  47. IF a3= 1 THEN
  48. s=s+1
  49. LINE (530,70) - (560,100),2,BF
  50. ELSE
  51. r=r+1
  52. LINE (530,70) -(560,100),4,bf
  53. END IF
  54. PRINT "самый маленький водопад?”
  55. PRINT "1)Японский 2)Китайский 3)Индийский"
  56. input "Ответ",a4
  57. IF a4= 1 THEN
  58. s=s+1
  59. LINE (530,100) - (560,130),2,BF
  60. ELSE
  61. r=r+1
  62. LINE (530,100) -(560,130),4,bf
  63. END IF
  64. PRINT "самая длинная река?”
  65. PRINT "1)Амазонка 2)Волга 3)Нил"
  66. input "Ответ",a5
  67. IF a5= 1 THEN
  68. s=s+1
  69. LINE (530,130) - (560,170),2,BF
  70. ELSE
  71. r=r+1
  72. LINE (530,130) -(560,170),4,bf
  73. END IF
  74. PRINT "Кол - во правильных:"
  75. PRINT s
  76. PRINT "Кол - во неправильных:"
  77. PRINT r
  78. IF a1<> 1 THEN
  79. PRINT "Ответ в первом вопросе: "
  80. PRINT "1)Париж"
  81. END IF
  82. IF a2<>1 THEN
  83. PRINT "Ответ во втором вопросе:"
  84. PRINT "1)Аравийское"
  85. END IF
  86. IF a3<>1 THEN
  87. PRINT "Ответ в третьем вопросе:"
  88. PRINT "1)Каспийское "
  89. END IF
  90. IF a4<>1 THEN
  91. PRINT "Ответ в четвертом вопросе:"
  92. PRINT "1)Японский”
  93. END IF
  94. IF a5<>1 THEN
  95. PRINT "Ответ в пятом вопросе:"
  96. PRINT "1)Амазонка"
  97. END IF
  98. END SUB
  99. SUB zastavka
  100. LINE (640,0)-(0,480),6,bf
  101. LINE (10,50)-(620,50),0
  102. LINE (620,50)-(620,200),0
  103. LINE (620,260)-(620,440),0
  104. LINE (320,440)-(10,440),0
  105. LINE (10,440)-(10,50),0
  106. PSET (620,170),0
  107. DRAW " l300 d100 l 100 u150 r200"
  108. PSET (220,150),0
  109. DRAW " l100 d 170 r 200"
  110. PSET (440,170),0
  111. DRAW "d50 r50 d50 l100 d50 r100"
  112. PSET (440,320),0
  113. DRAW "d60 r100 l300 r20 d20 l200 u300 r100"
  114. CIRCLE (35,80),15
  115. PSET (35,81)
  116. PAINT (35,80)
  117. DIM box% (2000)
  118. GET (12,55)-(60,98), box%
  119. FOR i-1 TO 500
  120. PUT (12+i,55), box%, PSET

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

textual
Листинг программы
  1. DECLARE SUB zadacha ()
  2. DECLARE SUB zastavka ()
  3. DECLARE SUB menu ()
  4. SCREEN 12
  5.  
  6.  
  7. CLS
  8. CALL menu
  9. SUB menu
  10. CLS
  11. DO
  12.     CLS
  13.     PRINT "заставка Z"
  14.     PRINT "задача K"
  15.     PRINT "выход ESC"
  16.     DO
  17.         a$ = INKEY$
  18.     LOOP WHILE a$ = ""
  19.     IF ASC(UCASE$(a$)) = 90 THEN CALL zastavka
  20.     IF ASC(UCASE$(a$)) = 75 THEN CALL zadacha
  21. LOOP UNTIL ASC(UCASE$(RIGHT$(a$, 1))) = 27
  22. END SUB
  23.  
  24. SUB zadacha
  25. PRINT "столица Франции?”"
  26. PRINT "1)Париж 2)Москва 3)Банкок"
  27. INPUT "Ответ", a1
  28. IF a1 = 1 THEN
  29.     s = s + 1
  30.     LINE (530, 10)-(560, 40), 2, BF
  31. ELSE
  32.     r = r + 1
  33.     LINE (530, 10)-(560, 40), 4, BF
  34. END IF
  35. PRINT "самое большое море?”"
  36. PRINT "1)Аравийское 2)Каралловое 3)Тасманово"
  37. INPUT "Ответ", a2
  38. IF a2 = 1 THEN
  39.     s = s + 1
  40.     LINE (530, 40)-(560, 70), 2, BF
  41. ELSE
  42.     r = r + 1
  43.     LINE (530, 40)-(560, 70), 4, BF
  44. END IF
  45. PRINT "самое большое озеро?”"
  46. PRINT "1)Каспийское 2)Виктория 3)Верхнее"
  47. INPUT "Ответ", a3
  48. IF a3 = 1 THEN
  49.     s = s + 1
  50.     LINE (530, 70)-(560, 100), 2, BF
  51. ELSE
  52.     r = r + 1
  53.     LINE (530, 70)-(560, 100), 4, BF
  54. END IF
  55. PRINT "самый маленький водопад?”"
  56. PRINT "1)Японский 2)Китайский 3)Индийский"
  57. INPUT "Ответ", a4
  58. IF a4 = 1 THEN
  59.     s = s + 1
  60.     LINE (530, 100)-(560, 130), 2, BF
  61. ELSE
  62.     r = r + 1
  63.     LINE (530, 100)-(560, 130), 4, BF
  64. END IF
  65. PRINT "самая длинная река?”"
  66. PRINT "1)Амазонка 2)Волга 3)Нил"
  67. INPUT "Ответ", a5
  68. IF a5 = 1 THEN
  69.     s = s + 1
  70.     LINE (530, 130)-(560, 170), 2, BF
  71. ELSE
  72.     r = r + 1
  73.     LINE (530, 130)-(560, 170), 4, BF
  74. END IF
  75. PRINT "Кол - во правильных:"
  76. PRINT s
  77. PRINT "Кол - во неправильных:"
  78. PRINT r
  79. IF a1 <> 1 THEN
  80.     PRINT "Ответ в первом вопросе: "
  81.     PRINT "1)Париж"
  82. END IF
  83. IF a2 <> 1 THEN
  84.     PRINT "Ответ во втором вопросе:"
  85.     PRINT "1)Аравийское"
  86. END IF
  87. IF a3 <> 1 THEN
  88.     PRINT "Ответ в третьем вопросе:"
  89.     PRINT "1)Каспийское "
  90. END IF
  91. IF a4 <> 1 THEN
  92.     PRINT "Ответ в четвертом вопросе:"
  93.     PRINT "1)Японский”"
  94. END IF
  95. IF a5 <> 1 THEN
  96.     PRINT "Ответ в пятом вопросе:"
  97.     PRINT "1)Амазонка"
  98. END IF
  99. END SUB
  100.  
  101.  
  102.  
  103. SUB zastavka
  104. LINE (640, 0)-(0, 480), 6, BF
  105. LINE (10, 50)-(620, 50), 0
  106. LINE (620, 50)-(620, 200), 0
  107. LINE (620, 260)-(620, 440), 0
  108. LINE (320, 440)-(10, 440), 0
  109. LINE (10, 440)-(10, 50), 0
  110. PSET (620, 170), 0
  111. DRAW " l300 d100 l 100 u150 r200"
  112. PSET (220, 150), 0
  113. DRAW " l100 d 170 r 200"
  114. PSET (440, 170), 0
  115. DRAW "d50 r50 d50 l100 d50 r100"
  116. PSET (440, 320), 0
  117. DRAW "d60 r100 l300 r20 d20 l200 u300 r100"
  118. CIRCLE (35, 80), 15
  119. PSET (35, 81)
  120. PAINT (35, 80)
  121. DIM box%(2000)
  122. GET (12, 55)-(60, 98), box%()
  123. FOR i = 1 TO 500
  124.  
  125.     PUT (12 + i, 55), box%(), PSET
  126. NEXT
  127. END SUB

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут