Выполняем перенос начала координат в центральную точку, затем поворачиваем фигуру и возвращаем начало координат на место.
// PascalABC.NET 3.2, сборка 1467 от 02.06.2017 // Внимание! Если программа не работает, обновите версию!
type Point=(real,real); Figure=array of Point;
function MoveTo(Self:Figure;pP:Point):Figure; extensionmethod; begin var n:=Self.Count; Result:=new Point[n]; for var i:=0 to n-1 do Result[i]:=(Self[i][0]-pP[0],Self[i][1]-pP[1]) end;
function Rotate(Self:Figure;angle:real):Figure; extensionmethod; begin var mr:=new real[2,2]; mr[0,0]:=cos(angle); mr[0,1]:=sin(angle); mr[1,0]:=-mr[0,1]; mr[1,1]:=mr[0,0]; var n:=Self.Count; Result:=new Point[n]; for var i:=0 to n-1 do Result[i]:=(Self[i][0]*mr[0,0]+Self[i][1]*mr[1,0], Self[i][0]*mr[0,1]+Self[i][1]*mr[1,1]) end;
function MoveFrom(Self:Figure;pP:Point):Figure; extensionmethod; begin var n:=Self.Count; Result:=new Point[n]; for var i:=0 to n-1 do Result[i]:=(Self[i][0]+pP[0],Self[i][1]+pP[1]) end;
procedure Print(p:Figure;w,d:integer); begin foreach var t in p do Writeln(t[0]:w:d,' ',t[1]:w:d) end;
begin var center:Point:=(5.0,3.0); var Rectangle:Figure; SetLength(Rectangle,4); Rectangle[0]:=(3.0,2.0); Rectangle[1]:=(7.0,2.0); Rectangle[2]:=(7.0,4.0); Rectangle[3]:=(3.0,4.0); var angle:=30; var P:=Rectangle.MoveTo(Center).Rotate(DegToRad(angle)).MoveFrom(Center); Writeln('Новые координаты'); Print(P,9,5) end.
Результат Новые координаты 3.76795 1.13397 7.23205 3.13397 6.23205 4.86603 2.76795 2.86603
Один символ кодируется в 8 битах, значит умножаем 8 бит на количество символов в строке - 48*8= получаем 384 бит, значит в одной строке 384 бит. Теперь чтоб узнать количество бит на странице, просто умножаем количество бит одной строки на количество строк в одной странице - 384*40= получаем 15360 бит , получается на одной странице 15360 бит. Дальше чтоб узнать сколько бит на этих восьми страницах умножаем количество бит в одной странице на 8, и получаем количество бит полного рассказа 15360*8=122880 бит.
чтоб получить ответ из предложенных вариантов переводом биты в байты а потом и в килобайт. 122880 разделить на 8 получаем 15360 байт. 15360 разделяем на 1024 и получаем 15 Кбайт.
Объяснение: