Напишите программу начинающихся на 7 - QBasic

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

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

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, начинающихся на 7. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется двухзначное число, начинающееся на 7. Количество чисел не превышает 200. Введенные числа по модулю не превышают 10000. Программа должна вывести одно число: сумму двузначных чисел, начинающихся на 7. Помогите, не знаю как решать. Если есть легкое решение, то можете показать?

Решение задачи: «Напишите программу начинающихся на 7»

textual
Листинг программы
CLS
RANDOMIZE TIMER
DIM SUM AS LONG
DIM a7 AS INTEGER
 
DO
   INPUT "kol = "; kol
LOOP UNTIL kol <= 200
 
SUM = 70 + INT(10 * RND)
 
FOR i = 2 TO kol
   A = 1 + INT(10000 * RND)
   
   SELECT CASE A
      CASE IS >= 1000: a7 = A \ 1000
      CASE IS >= 100: a7 = A \ 100
      CASE IS >= 10: a7 = A \ 10
      CASE ELSE: a7 = A
   END SELECT
 
   IF a7 = 7 THEN SUM = SUM + A
NEXT
PRINT "SUM ="; SUM

Объяснение кода листинга программы

  1. CLS - очистка экрана
  2. RANDOMIZE TIMER - инициализация генератора случайных чисел
  3. DIM SUM AS LONG - создание переменной типа LONG с именем SUM
  4. DIM a7 AS INTEGER - создание переменной типа INTEGER с именем a7
  5. DO - начало цикла
  6. INPUT kol =; kol - запрос на ввод числа (количество итераций)
  7. LOOP UNTIL kol <= 200 - условие цикла, которое выполняется до тех пор, пока введенное число не превышает 200
  8. SUM = 70 + INT(10 * RND) - вычисление значения переменной SUM как суммы 70 и случайно сгенерированного числа от 0 до 10
  9. FOR i = 2 TO kol - начало цикла FOR, который выполняется от 2 до числа, введенного пользователем
  10. A = 1 + INT(10000 * RND) - вычисление случайного числа от 1 до 10000
  11. SELECT CASE A - начало условного оператора CASE, который проверяет значение переменной A
  12. CASE IS >= 1000: a7 = A \ 1000 - присваивание переменной a7 значения переменной A, разделенного на 1000, если A больше или равно 1000
  13. CASE IS >= 100: a7 = A \ 100 - присваивание переменной a7 значения переменной A, разделенного на 100, если A больше или равно 100
  14. CASE IS >= 10: a7 = A \ 10 - присваивание переменной a7 значения переменной A, разделенного на 10, если A больше или равно 10
  15. CASE ELSE: a7 = A - присваивание переменной a7 значения переменной A, если ни одно из предыдущих условий не выполнено
  16. IF a7 = 7 THEN SUM = SUM + A - проверка, является ли значение переменной a7 равным 7, и если да, то добавление значения переменной A к переменной SUM
  17. NEXT - переход к следующей итерации цикла FOR
  18. PRINT SUM =; SUM - вывод значения переменной SUM на экран

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


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

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

9   голосов , оценка 3.889 из 5
Похожие ответы