Цикл, добавление дополнительного множителя - Pascal
Формулировка задачи:
Здравствуйте, никак не пойму как добавлять в каждом действии цикла еще один множитель в знаменателе. Задача 6.8
Решение задачи: «Цикл, добавление дополнительного множителя»
textual
Листинг программы
var a,x,p,s:real;
n,i,k:integer;
begin
writeln('Введите действительные значения x,a');
readln(x,a);
write('Введите натуральное число n=');
readln(n);
k:=0;
if a=0 then k:=1
else
begin
s:=x/a;
p:=a;
for i:=1 to n do
begin
p:=p*(a+i);
if p=0 then
begin
k:=1;
break;
end
else s:=s+x/p;
end;
end;
if k=1 then write('Значение не определено')
else write('Сумма=',s:0:4);
end.
Объяснение кода листинга программы
- Объявление переменных:
a,x,p,s(действительные числа)n,i,k(целые числа)
- Ввод значений:
- Запрашивается ввод действительных значений
xиa. - Пользователь вводит натуральное число
n.
- Запрашивается ввод действительных значений
- Условная конструкция:
- Переменная
kинициализируется нулем. - Если
aравно нулю, тоkустанавливается в 1.
- Переменная
- Вычисления и заполнение значений переменных:
- Если
aне равно нулю, то выполняются следующие действия:sприсваивается значениеx/a.pприсваивается значениеa.- Выполняется цикл счетчика
iот 1 доn:pумножается на(a+i).- Если
pравно нулю, тоkустанавливается в 1 и происходит выход из цикла. - В противном случае,
sувеличивается наx/p.
- Если
- Вывод результата:
- Если
kравно 1, выводится сообщениеЗначение не определено. - В противном случае, выводится сообщение
Сумма=и значение переменнойsс округлением до 4 знаков после запятой.
- Если