Для виконання обчислень у програмі Excel використовують формули. Формули нагадують рецепти. їх можна складати самим або ж використовувати готові. Формула - це короткий запис послідовності дій, яка дає конкретний результат. Написавши певну формулу, Ви визначаєте порядок виконання дій.
Порядок виконання операцій записують за допомогою операторів. Але для отримання конкретного результату необхідно підставити в формулу конкретні значення величин, які до неї входять. Значення - це числа, дати, час, текст.
Var
n: integer;
s, x, xn, y: double;
begin
s := 0; x := 0.1; xn := x;
for n := 1 to 20 do
begin
s := s + n * (n + 2) * xn;
xn := xn * x
end;
y := x * (3 + x) / (1 - x);
Writeln('Сумма (x=0.1, n=20)=', s, ', по формуле=', y );
s := 0; x := 0.5; xn := x;
for n := 1 to 15 do
begin
s := s + n * (n + 2) * xn;
xn := xn * x
end;
y := x * (3 + x) / (1 - x);
Writeln('Сумма (x=0.5, n=15)=', s, ', по формуле=', y );
end.
Тестовое решение:
Сумма (x=0.1, n=20)=0.397805212620028, по формуле=0.344444444444445
Сумма (x=0.5, n=15)=9.99008178710938, по формуле=3.5
Как видно, если в первом случае формула еще дает какое-то приближение, то во втором она совершенно не годится.
Блок-схема, реализующая алгоритм, приведена в приложении. Она не копирует программу, а лишь поясняет алгоритм, который в программе использован дважды для разных данных. Конечно, правильнее было воспользоваться функциями и тогда программа выглядела бы так:
function f1(x: double; k: integer): double;
var
s, xn: double;
n: integer;
begin
s := 0; xn := x;
for n := 1 to k do begin s := s + n * (n + 2) * xn; xn := xn * x end;
f1 := s
end;
function f2(x: double): double;
begin
f2 := x * (3 + x) / (1 - x);
end;
begin
Writeln('Сумма (x=0.1, n=20)=', f1(0.1, 20), ', по формуле=', f2(0.1));
Writeln('Сумма (x=0.5, n=15)=', f1(0.5, 15), ', по формуле=', f2(0.5));
end.
sum = 0
a = int(input())
kol = 1
sum = a
while a != 0:
a = int(input())
sum += a
kol += 1
print(float(sum)/kol)
не знаю выдаст python ошибку или нет код не прверял
//PascalABC.NET 3.1 сборка 1239
function BinToDec(bin: string): integer;
begin
var n := 0;
var p := 1;
for var i := length(bin) downto 1 do
begin
n += p * StrToInt(bin[i]);
p *= 2;
end;
Result := n;
end;
begin
var s := ReadlnString('s =');
writeln(BinToDec(s));
end.
1) y:= sin(sqr(x)+sqr(1));
2) y:= sqrt((sqr(x)*x+sqr(1)*1)/x);
3) y:= sqrt((sin(x)+abs(x))/abs(sqr(x)+sqr(2)));