1. текст содержит различные языки, включая китайский, поэтому кодировка Unicode. Любые одно-байтовые кодировки не подойдут: в китайском алфавите количество иероглифов превышает 256.
Далее тип Unicode может быть UTF-8 и UTF-16. в UTF-8 для каждого символа длина в байтах различна. Для нее не получится рассчитать общую длину текста, не зная что содержит этот текст. Потому выбираем UTF-16 кодировку, два байта на любой символ.
// PascalABC.NET 3.3, сборка 1547 от 07.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var (x1,y1):=ReadReal2('Координаты 1-й точки:'); var (x2,y2):=ReadReal2('Координаты 2-й точки:'); var a:=Abs(x2-x1); // считаем, что координаты указаны верно var d:=a*Sqrt(2); var (xc,yc):=((x2+x1)/2,(y2+y1)/2); Writeln('Длина стороны ',a,', диагональ ',d); Writeln('Координаты центра пересечения диагоналей: ',xc,' ',yc) end.
Пример Координаты 1-й точки: -3 3.5 Координаты 2-й точки: 4 -3.5 Длина стороны 7, диагональ 9.89949493661167 Координаты центра пересечения диагоналей: 0.5 0
1. Unicode UTF-16
2. 5120 байт
3. 5 Кбайт
Объяснение:
1. текст содержит различные языки, включая китайский, поэтому кодировка Unicode. Любые одно-байтовые кодировки не подойдут: в китайском алфавите количество иероглифов превышает 256.
Далее тип Unicode может быть UTF-8 и UTF-16. в UTF-8 для каждого символа длина в байтах различна. Для нее не получится рассчитать общую длину текста, не зная что содержит этот текст. Потому выбираем UTF-16 кодировку, два байта на любой символ.
2. 40 * 64 * 2 = 5120 байт
3. 5120 / 1024 = 5 Кбайт
// Внимание! Если программа не работает, обновите версию!
begin
var (x1,y1):=ReadReal2('Координаты 1-й точки:');
var (x2,y2):=ReadReal2('Координаты 2-й точки:');
var a:=Abs(x2-x1); // считаем, что координаты указаны верно
var d:=a*Sqrt(2);
var (xc,yc):=((x2+x1)/2,(y2+y1)/2);
Writeln('Длина стороны ',a,', диагональ ',d);
Writeln('Координаты центра пересечения диагоналей: ',xc,' ',yc)
end.
Пример
Координаты 1-й точки: -3 3.5
Координаты 2-й точки: 4 -3.5
Длина стороны 7, диагональ 9.89949493661167
Координаты центра пересечения диагоналей: 0.5 0