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.
Решение смотри во вложении.
Ответ:
960 байт, 7680 бит.
Объяснение:
Для кодирования n символов требуется подобрать число, являющееся степенью двойки, большее или равное n. Степень двойки будет количеством бит, необходимых для кодирования одного символа.
Подберем подходящую степень:
не подходит
подходит, значит 6 - количество бит, необходимое для кодирования одного символа.
В пароле по условию 15 символов => потребуется 15*6=90 бит для кодирования всего пароля. Но "Каждый такой пароль в компьютерной системе записывается минимально возможным и одинаковым целым количеством байт". В одном байте, как известно, 8 бит. 90 на 8 не делится, а вот 96 как раз.
96/8 = 12 - минимально возможное количество байт для кодирования пароля. Так как 11 уже не подходит - в 11 байтах вместится всего 88 бит, а нам потребовалось 90.
Для 80 паролей объем памяти будет равен: 80 * 12 = 960 байт.
960 байт = 960 * 8 = 7 680 бит.