@Vladislav200164

Кто подскажет как сложить две циклические суммы, что не так у меня при их сложении?

Задание
5fce55bd1efc0918904340.jpeg
Программа до procedure Sum1 правильная, на procedure Sum1 выбивает ошибку инструкции, что не так?
Program Func;
Type func=function(x:integer):real;
Var S1,S2:real;
n1,m1,n2,m2:integer;
r:text;

{$F+}
Function f1(x:integer):real;
Begin
f1:=(x+2)/(x+5);
End;

Function f2(x:integer):real;
Begin
f2:=5/(x*x)-ln(x)/ln(10);
End;
{$F-}

Procedure Sum(n,m:integer;f:func;Var S:real);
Var x:integer;
Begin
S:=0;
For x:=n to m do S:=S+f(x);
End;

Begin
Assign(r,'res7-ind');Rewrite(r);
Writeln('n1,m1=');Readln(n1,m1);
Sum(n1,m1,f1,S1);
Writeln(r,'S1=',S1:8:5);
Writeln('n2,m2=');Readln(n2,m2);
Sum(n2,m2,f2,S2);
Writeln(r,'S2=',S2:8:5);

Procedure Sum1;
Var Sum1:real;
Begin
Sum1:=0;
Sum1:=S1+S2;
End;
Sum1(S1,S2);
Writeln (r,'Sum1=',Sum1:8:5);
Close(r);
End.
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 2
HemulGM
@HemulGM
Delphi Developer, сис. админ
Блоки расставьте нормально и всё увидите сами.
Ответ написан
@User700
А почему sum это процедура, а не функция. Она же считает 1 значение. И тогда можно так
Sum(n1,m1,f1) + Sum(n2,m2,f2)
Также не понятно зачем Sum1. И что там происходит... S3 она не выводит. Да и для сложения двух результатов вряд-ли нужна отдельная процедура.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы