Кроме того, что ее можно перенастроить на любую из команд, какую сам захочешь, она также возвращает в начало списка, страницы, текста и того подобного.
1.
а) a*x*x+b*x+c
б) v+a*t*t/2
в) 1/2*(a+b)*h
г) (1+x1*x2)/(b*b*c)
д) SQRT(a*a+b*b)
2. Операции * и / выполняются слева направо, поэтому (см. рис.):
1) = b*(a*d)/(e*c)
2) = (a*b)/(c*d*e)
3) = a*b*d/(c*e)
4) = (a*d*b)/(c*e)
"Лишнее" выражение - 2)
27) вычисляется сумма s=s+A[i], если A[n-i]-A[i] > A[i]
n=10 i=0 A[10]-A[0]>A[0] 100-0>0 - да s=0+0=0
n=10 i=1 A[9]-A[1]>A[1] 90-10>10 - да s=0+10=10
n=10 i=2 A[8]-A[2]>A[2] 80-20>20 -да s=10+20=30
n=10 i=3 A[7]-A[3]>A[3] 70-30>30 да s=30+30=60
n=10 i=4 A[6]-A[4]>A[4] 60 -40>40 нет
n=10 i=5 A[5]-A[5]>A{5} - нет
n=10 i=6 A[4]-A[6]>A[6] 50-60> 60 нет
........................................................ и т.д.
n=10 i=10 A[0]-A[10]>A[10] 0-100> 100 - нет
ответ 60
28) вычисляется s=s+A{i},если A[n-i]-A[i]<A[i] n=10
i=0 20-0<0 -нет
i=1 18-2<2 - нет
I=2 16-4<4 - НЕТ
i=3 14-6<6 - нет
i=4 12-8 <8 - ДА s=0+8=8
i=5 10-10<10 - да s=8+10=18
i=6 8-12<12 - да s=18+12=30
i=7 6-14<14 -да s=30+14=44
i=8 4-16 <16- да s=44+16=60
i=9 2-18< 18 -да s=60+18=78
i=10 0-20<20 - да s=78+20=98 ответ 98
Uses
graphABC;
const
W = 800; H = 500;
function DrawSin(x: real): real;
begin
DrawSin := sin(x);
end;
function DrawCos(x: real): real;
begin
DrawCos := cos(x);
end;
var
x0, y0, x, y, xLeft, yLeft, xRight, yRight, n: integer;
a, b, fmin, fmax, x1, y1, x2, y2, 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 := -10; b := 10; dx := 1;
fmin := -5; fmax := 5; dy := 1;
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;
x2 := a;
while x1 <= b do
begin
y1 := DrawSin(x1);
y2 := DrawCos(x2);
if ((x1 >= -2*pi) and (x1 <= 2*pi)) then
begin
x := x0 + round(x1 * mx);
y := y0 - round(y1 * my);
if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clBlue);
x := x0 + round(x2 * mx);
y := y0 - round(y2 * my);
if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clGreen);
end;
x1 := x1 + 0.001;
x2 := x2 + 0.001;
end
end.