PascalABCУченик писал программу для сравнения значений суммы некоторой последовательности, вычисленных напрямую и по формуле. У него получилась вот такая программа: var a,x,n,i,s1,b:integer; s2:real; begin readln(n); a:=4; x:=3; s1:=0; for i:=1 to n do begin s1:=s1+a; a:=a+x; end; s2:=(2*b+(n-1)*x)*0.5*n; writeln(s1); writeln(s2); end. К сожалению, его программа работает неверно из-за того, что переменной b не присвоено начальное значение. Какое начальное значение необходимо присвоить переменной b?
Переменной b необходимо присвоить начальное значение 4, так как в формуле для вычисления s2 используется выражение 2*b, которое должно быть учтено для корректного расчета. Корректный код программы будет выглядеть следующим образом:
var a, x, n, i, s1, b: integer; s2: real; begin readln(n); a := 4; x := 3; s1 := 0; b := 4; // Присвоение начального значения переменной b for i := 1 to n do begin s1 := s1 + a; a := a + x; end; s2 := (2 b + (n - 1) x) 0.5 n; writeln(s1); writeln(s2); end.
Переменной b необходимо присвоить начальное значение 4, так как в формуле для вычисления s2 используется выражение 2*b, которое должно быть учтено для корректного расчета. Корректный код программы будет выглядеть следующим образом:
var a, x, n, i, s1, b: integer;
s2: real;
begin
readln(n);
a := 4;
x := 3;
s1 := 0;
b := 4; // Присвоение начального значения переменной b
for i := 1 to n do begin
s1 := s1 + a;
a := a + x;
end;
s2 := (2 b + (n - 1) x) 0.5 n;
writeln(s1);
writeln(s2);
end.