вычислите длину двоичного кода некоторого текста при условии, что символы текста закодированы с использованием таблицы кодов символов Windows-1252. В тексте 32 страницы, каждая страница содержит 48 строк, в каждой строке в среднем 56 символов. Выразите длину двоичного кода этого текста целым числом в наибольших возможных единицах
// Программа поддерживает латиницу, кириллицу и дефисы
const
// Первая буквы, англ. "a" - 65, но может быть дефис #45
first_letter = #45;
// Последняя буквы, рус. "я"
last_letter = #1103;
var
x: string;
i: integer;
c: char;
// Сколько раз встречает буква в слове
count: array[first_letter..last_letter] of integer;
begin
readln(x);
// Обнуляем массив
for c := first_letter to last_letter do
count[c] := 0;
// Подсчитываем буквы в слове
for i := 1 to length(x) do
inc(count[x[i]]);
// Выводим слово без букв, встречающихся 3 раза
for i := 1 to length(x) do
if count[x[i]] <> 3 then
write(x[i])
end.
begin
var s:=ReadlnString('Введите двухзначное 16-ричное число');
var mH:array['A'..'F'] of integer:=(10,11,12,13,14,15);
if s.Length=1 then s:='0'+s;
var c:=s.ToCharArray;
var n:=0;
for var i:=0 to 1 do
case c[i] of
'0'..'9':n:=16*n+StrToInt(c[i]);
'A'..'F':n:=16*n+mH[c[i]];
else begin
Writeln('Недопустимый символ: ',c[i]);
Exit
end
end;
Writeln('Десятичный эквивалент: ',n)
end.
Тестовое решение:
Введите двухзначное 16-ричное число 3A
Десятичный эквивалент: 58