3 ГБ = 3x1024 МБ=3072 МБ
3072+800=3872 МБ
//Pascal ABC.NET v3.1 сборка 1219
Const
n=5;
Var
ar:array[1..n] of integer;
i,j,k:integer;
begin
randomize;
writeln('First array:');
for i:=1 to n do
begin
ar[i]:=random(-3,3);
write(ar[i]:4);
end;
for i:=1 to n-1 do {ммм, пузырёк. Но за быструю сортировку здесь репортят}
for j:=i+1 to n do
if ar[i]>ar[j] then
begin
k:=ar[i];
ar[i]:=ar[j];
ar[j]:=k;
end;
writeln;
writeln('Sorted array:');
for i:=1 to n do
write(ar[i]:4);
writeln;
for i:=1 to n do
if ar[i]=0 then
begin
write('Index of 0 is ',i);
break;
end;
end.
<span>Пример работы программы:
First array:
-2 -3 0 -3 3
Sorted array:
-3 -3 -2 0 3
Index of 0 is 4</span>
INPUT "x=", x
PRINT 1 - 2 * x + 3 * x ^ 2 - 4 * x ^ 3
PRINT 1 + 2 * x + 3 * x ^ 2 + 4 * x ^ 3
<em><u>Тестовое решение:</u></em>
Y:\qbasic>QBASIC.EXE
x=2.37
-40.1375
75.83891
Uses
graphABC;
const
W = 800;
H = 500;
function F(x: real): real;
begin
F := cos(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 := 6;dx := 0.5;
fmin := -10;fmax := 20;dy := 2;
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(8);
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:0, 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);
x := x0 + round(x1 * mx);
y := y0 - round(y1 * my);
if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clGreen);
x1 := x1 + 0.001
end
end.
в первом случае х идёт от 1-9 а Y от 0 до 8. шагов 9, к концу Y=8
во 2 случае
y 0 8 14 18 20 20
x 10 8 6 4 2 0
шагов 5, к концу Y=20