Есть относительные ссылки, когда столбцы и строки меняются в зависимости от ячейки: A1 (A4+A2) --> B1 (B4+B2); C2 (B3+A1) --> C5(B6+A4); A2(B4) --> B4(C6).
А есть абсолютные ссылки, когда столбец строка или вся ячейка не изменяются, в зависимости от того где стоит знак $. A1($A3) --> C4 ($A6); A2 (B$3) --> B4 (C$3); A1 ($B$6) --> F20 ($B$6).
Теперь просто ответы:
B) =C6+D$1B)= C1*$B2C) = $A1*D2C)=В5*С$2C)= $C2+F3c. B$5a. $B52. 5+2 это просто текст, текст и будет в ячейкеc) 5*(A2+C3)/(3*(2*B2-3*D3)) арифметические знак ставить надо, а у знака : другое обозначение. d) =A2*A3-A4a) не изменяютсяd) преобразуются в зависимости от нового положения формулы. c) =$A$1*A3+B3d) 30 т.к. 20+20/2 = 30b) 140 т.к. мы посчитали сумму от ячейки A1 до ячейки A7 включая концы, а затем поделили на 2.
graphABC;
const
W = 800; H = 500;
function F(x: real): real;
begin
F := x * x - x;
end;
var
x0, y0, x, y, xLeft, yLeft, xRight, yRight, n: integer;
a, b, fmin, fmax, x1, y1, mx, my, dx, dy, num: real;
i: byte;
s: string;
begin
SetWindowSize(W, H);
xLeft := 50;
yLeft := 50;
xRight := W - 50;
yRight := H - 50;
a := -2; b := 5; dx := 0.5;
fmin := -2; fmax := 5; dy := 0.5;
mx := (xRight - xLeft) / (b - a);
my := (yRight - yLeft) / (fmax - fmin);
x0 := trunc(abs(a) * mx) + xLeft;
y0 := yRight - trunc(abs(fmin) * my);
line(xLeft, y0, xRight + 10, y0);
line(x0, yLeft - 10, x0, yRight);
SetFontSize(12);
SetFontColor(clBlue);
TextOut(xRight + 20, y0 - 15, 'X');
TextOut(x0 - 10, yLeft - 30, 'Y');
SetFontSize(7);
SetFontColor(clRed);
n := round((b - a) / dx) + 1;
for i := 1 to n do
begin
num := a + (i - 1) * dx;
x := xLeft + trunc(mx * (num - a));
Line(x, y0 - 3, x, y0 + 3);
str(Num:0:1, s);
if abs(num) > 1E-15 then
TextOut(x - TextWidth(s) div 2, y0 + 10, s)
end;
n := round((fmax - fmin) / dy) + 1;
for i := 1 to n do
begin
num := fMin + (i - 1) * dy;
y := yRight - trunc(my * (num - fmin));
Line(x0 - 3, y, x0 + 3, y);
str(num:0:1, s);
if abs(num) > 1E-15 then
TextOut(x0 + 7, y - TextHeight(s) div 2, s)
end;
TextOut(x0 - 10, y0 + 10, '0');
x1 := a;
while x1 <= b do
begin
y1 := F(x1);
if ((x1 >= 1) and (x1 <= 2.5)) then
begin
x := x0 + round(x1 * mx);
y := y0 - round(y1 * my);
if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clBlue);
end;
x1 := x1 + 0.001
end
end.