Суммировать вводимые положительные числа - QBasic (27284)
Формулировка задачи:
Суммировать вводимые положительные числа так, что каждое число, порядковый номер которого кратен 3, игнорируется. Определить количество введенных и просуммированных чисел. При достижении текущей суммы значения К закончить работу. Заранее спасибо за помощь
Решение задачи: «Суммировать вводимые положительные числа»
textual
Листинг программы
DECLARE SUB Vvod (sum!, kv!, ks!) CLS DIM SHARED k INPUT "K = "; k PRINT CALL Vvod(sum, kv, ks) PRINT PRINT "SUM ="; sum PRINT "VSEGO CHISEL ="; kv PRINT "SUM_CHISEL ="; ks END SUB Vvod (sum, kv, ks) IF sum >= k THEN EXIT SUB INPUT "N = "; n IF n > 0 AND n MOD 3 <> 0 THEN sum = sum + n ks = ks + 1 END IF kv = kv + 1 CALL Vvod(sum, kv, ks) END SUB
Объяснение кода листинга программы
- Установка начальных значений переменных:
sum
- текущая сумма вводимых чиселkv
- текущее количество введенных чиселks
- текущее количество чисел, которые делятся на 3
- Ввод числа
k
с клавиатуры, которое представляет собой границу для суммирования чисел - Вызов подпрограммы
Vvod(sum, kv, ks)
- Рекурсивный вызов подпрограммы
Vvod(sum, kv, ks)
с обновленными значениями переменныхsum
,kv
иks
- Проверка условия для прекращения рекурсии: если сумма текущего числа
n
большеk
, то происходит выход из подпрограммы - Ввод числа
n
с клавиатуры - Проверка условия для добавления числа
n
к сумме:n
больше 0n
не делится на 3 без остатка
- Обновление значений переменных
sum
,kv
иks
- Рекурсивный вызов подпрограммы
Vvod(sum, kv, ks)
с обновленными значениями переменныхsum
,kv
иks
- Вывод на экран значений переменных
sum
,kv
иks
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д