Вычислить значение выражения - Pascal (251468)
Формулировка задачи:
Дано натуральное число n. Вычислить:
не используя процедур и функций
Решение задачи: «Вычислить значение выражения»
textual
Листинг программы
var n, i, k: integer; p, s, f: real; begin repeat write('n > 0; n = '); readln(n) until n > 0; p := 1; f := 1; for i := 1 to n do begin f := f / i; s := f; for k := i to n do s := s + 1 / k / k / k; p := p * s end; p := p * p; write('P = ', p); readln end.
Объяснение кода листинга программы
- Переменные
n
,i
,k
инициализируются типомinteger
. - Переменные
p
,s
,f
инициализируются типомreal
. - В цикле
repeat-until
пользователю предлагается ввести положительное числоn
. - Если
n
не является положительным числом, то цикл продолжается до тех пор, пока не будет введено положительное число. - Инициализируются переменные
p
иf
равными 1. - В цикле
for
перебираются числа от 1 доn
. - Внутри цикла вычисляется значение
f
какf / i
. - Внутри цикла вычисляется значение
s
как суммаf
и1/k/k/k
. - Значение
p
умножается наs
. - После цикла вычисляется значение
p
какp * p
. - Выводится значение
p
и программа ожидает ввода.