Даны натуральное число n, действительное число x. Вычислить: - Pascal ABC
Формулировка задачи:
Даны натуральное число n, действительное число x. Вычислить:
Решение задачи: «Даны натуральное число n, действительное число x. Вычислить:»
textual
Листинг программы
function fact(a:integer):real;
var i:integer;
begin
result:=1;
for i:=1 to a do
result:=result*i;
end;
var n,i:integer;
x,s:real;
begin
repeat
write('Введите натуральное число от 1 до 13 n=');//14^2=196!=5.08e+365 очень большой,
//вещественное переполнение, max real=1.7e308
readln(n);
until n in [1..13];
write('x=');
readln(x);
s:=0;
for i:=1 to n do
s:=s+(fact(2*i)+abs(x))/fact(i*i);
write('S=',s:0:5);
end.
Объяснение кода листинга программы
- Создается функция fact, которая принимает целое число a и возвращает вещественное число result. В локальной переменной i итерируется от 1 до a.
- Для каждой итерации i умножается на result и результат сохраняется в переменной result.
- Создается переменная n и присваивается ей значение, введенное пользователем.
- Создается переменная x и присваивается ей значение, введенное пользователем.
- Создается переменная s и инициализируется нулем.
- Запускается цикл while, который продолжается до тех пор, пока n не будет равно 1 или 13.
- Пользователю предлагается ввести натуральное число от 1 до 13.
- Если введенное число не входит в диапазон от 1 до 13, цикл while повторяется.
- После того, как пользователь введет допустимое натуральное число, выводится сообщение
x=и значение x. - Значение x сохраняется в переменной x.
- Запускается цикл for, который повторяется n раз.
- На каждой итерации цикла for вычисляется результат выражения (fact(2i) + abs(x))/fact(ii) и сохраняется в переменной s.
- После завершения цикла for выводится значение s.