// PascalABC.NET 3.2, сборка 1485 от 15.06.2017
// Внимание! Если программа не работает, обновите версию!
uses GraphABC;
begin
Pen.Width:=3;
Brush.Color:=ARGB(0,0,0,0); // прозрачная кисть
for var i:=0 to 3 do
for var j:=0 to 2 do
Rectangle(20+140*i,20+140*j,150+140*i,150+140*j); //4x3 квадрата
for var i:=0 to 2 do
for var j:=0 to 1 do
Rectangle(90+140*i,90+140*j,220+140*i,220+140*j); //3x2 квадрата
end.
256 = 2⁸, поэтому пикселей 2⁸×2⁸ = 2¹⁶ пикселей
3 Кбайта = 3×2¹⁰ байт = 3×2¹⁰×2³ бит = 3×2¹³ бит.
На 1 пиксель приходится 3×2¹³/2¹⁶ бит = 3/2³ =3/8 бита.
Это и есть размер палитры. Но под пиксель нельзя отвести меньше бита, поэтому задача НЕКОРРЕКТНА.
uses Math; // Ссылка на модуль с объявлением функции power
var
x, k, a, y: Real; // объявляются переменные типа "с плавающей запятой"
begin
Write ('Введите x, k, a: ');
ReadLn (x, k, a); // ввод с клавиатуры значений переменных
y := Power (x + 1, 2) / 3 / k + Power (a, 4) + 2; // power - функция возведения в степень
WriteLn ('y = ', y);
end.