Можно ли решить без цикла? - QBasic

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

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

Определить сумму квадратов и количество введенных чисел. При А(i+1)>A(i) закончить работу. Заранее спасибо.

Решение задачи: «Можно ли решить без цикла?»

textual
Листинг программы
DECLARE SUB SUM2 (a!, b!, s!, n!)
 
CLS
CALL SUM2(a, b, s, n)
 
PRINT "Summa kvad ="; s
PRINT "Kol chisel ="; n
END
 
SUB SUM2 (a, b, s, n)
   INPUT a
   IF a > b AND n <> 0 THEN EXIT SUB
   n = n + 1
   s = s + a ^ 2
   b = a
   CALL SUM2(a, b, s, n)
END SUB

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

В этом коде выполняется сложение квадратов чисел от k до n с шагом 1. При этом, если k больше b, и на текущем шаге сумма квадратов чисел от k до b не равна нулю, то выполняется выход из подпрограммы. Список элементов:

  1. Объявление подпрограммы SUM2.
  2. Очистка экрана.
  3. Вызов подпрограммы SUM2 с передачей параметров a, b, s, n.
  4. Вывод значения переменной s.
  5. Вывод значения переменной n.
  6. Вход в подпрограмму SUM2.
  7. Ввод значения переменной a.
  8. Проверка условия a > b AND n <> 0.
  9. Если условие выполняется, то выполняется выход из подпрограммы.
  10. Увеличение значения переменной n на 1.
  11. Увеличение значения переменной s на сумму квадратов числа a.
  12. Установка значения переменной b равным значению переменной a.
  13. Вызов подпрограммы SUM2 с передачей параметров a, b, s, n.
  14. Выход из подпрограммы SUM2.
  15. Вывод значения переменной s.
  16. Вывод значения переменной n. Таким образом, список элементов кода:
  17. Объявление подпрограммы SUM2.
  18. Вызов подпрограммы SUM2.
  19. Вывод значения переменной s.
  20. Вывод значения переменной n.
  21. Вход в подпрограмму SUM2.
  22. Ввод значения переменной a.
  23. Проверка условия a > b AND n <> 0.
  24. Увеличение значения переменной n на 1.
  25. Увеличение значения переменной s на сумму квадратов числа a.
  26. Установка значения переменной b равным значению переменной a.
  27. Вызов подпрограммы SUM2.
  28. Выход из подпрограммы SUM2.
  29. Вывод значения переменной s.
  30. Вывод значения переменной n.

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

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