Вычислить значение выражения - Pascal (80338)
Формулировка задачи:
Помогите разобраться с заданием, никак не получается
Для введенных с клавиатуры значений A, B, n, m и X вычислить S:
Program Cikly;
{Входное данное: A,B,X,m,n
Выходные данные: S}
Var
A,B,X,f,S:Real;
i,m,n:Integer;
Begin
Begin
clrscr;
WriteLn('Введите значение A');
WriteLn('Введите значение B');
WriteLn('Введите значение X');
WriteLn('Введите значение m');
WriteLn('Введите значение n');
readln(A,B,X,m,n);
end;
F:=0;
for var i:=m to n do begin
if (i mod 2=0)
then
F:=F+(A+X*i)/(B+X*i)
else
F:=F-(A+X*i)/(B+X*i);
end;
begin
{Вычисление суммы}
f:=A+B*F; S:=S+f;
readln;
End;
writeln('Сумма = ', s);
End.Решение задачи: «Вычислить значение выражения»
textual
Листинг программы
Var A, B, X, S: Real;
m, n: Integer;
Begin
A := ReadlnReal('Введите значение A: ');
B := ReadlnReal('Введите значение B: ');
X := ReadlnReal('Введите значение X: ');
m := ReadlnInteger('Введите значение m: ');
n := ReadlnInteger('Введите значение n: ');
S := 0;
for var i := m to n do S := S + (1 - (i mod 2) * 2) * (A + X * i) / (B + X * i);
S := A + B * S;
writeln('Сумма = ', S);
readln
End.
Объяснение кода листинга программы
- Объявление переменных:
A, B, X, S- вещественные числа, предположительно используются для хранения значений выраженияm, n- целые числа, предполагается, что они будут использоваться в цикле
- Присвоение значений переменным:
A := ReadlnReal('Введите значение A: ')- через ввод с клавиатуры присваивается значение переменной AB := ReadlnReal('Введите значение B: ')- через ввод с клавиатуры присваивается значение переменной BX := ReadlnReal('Введите значение X: ')- через ввод с клавиатуры присваивается значение переменной Xm := ReadlnInteger('Введите значение m: ')- через ввод с клавиатуры присваивается значение переменной mn := ReadlnInteger('Введите значение n: ')- через ввод с клавиатуры присваивается значение переменной n
- Инициализация переменной:
S := 0;- переменной S присваивается начальное значение 0
- Цикл вычислений:
for var i := m to n do S := S + (1 - (i mod 2) * 2) * (A + X * i) / (B + X * i);- цикл проходит через все значения i от m до n и выполняет операцию над переменной S согласно заданной формуле
- Вычисление итогового значения:
S := A + B * S;- переменная S вычисляется как A плюс B умноженное на S
- Вывод результата:
writeln('Сумма = ', S);- выводится результат вычисленийreadln- ожидание ввода с клавиатуры для завершения программы.