===== PascalABC.NET =====
begin
ReadSeqIntegerWhile(p -> p <> 0)
.Where(p -> p mod 3 = 0).Min.Println
end.
запишем условие: мощность алфавита равна N=256, страниц=3, строк=48, символов=64, I=?
решение: подсчитаем общее количество символов в тексте
К=3*48*64=9216
найдем вес одного символа алфавита
256=2^i, 2^8=2^i, i=8 бит
вычислим информационный объем текста
I=K*i=9216*8=73728 бит=9216 байт
Количество различных символов, которые используются в пароле =
10+26+26+6 = 68
Для кодирования одного символа необходимо использовать log(2)68 ≈ 7 бит (округляем в большую сторону).
Для хранения пароля необходимо 9*7 = 63 бита ≈ 8 байт
Память, используемая для хранения сведений об одном пользователе = 500/20 = 25 байт
Получаем, что для хранения дополнительных сведений используется 25-8 = 17 байт
<u>// PascalABC.NET 3.3, сборка 1627 от 27.01.2018</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
var s:=Arr('первое', 'второе','третье','четвертое','пятое');
var p,r:real;
var c:char;
Write('Введите первое число: '); Readln(r);
for var i:=0 to 3 do begin
Write('Выберите ',s[i], ' действие (a) сложить, b) вычесть,');
Write('c) умножить, d) разделить): '); Readln(c);
Write('Введите ',s[i+1],' число: '); Readln(p);
case c of
'a':r+=p;
'b':r-=p;
'c':r*=p;
'd':r/=p;
end;
Writeln('Результат: ',r)
end
end.
1) 1*2^6+1*2^5+0*2^4+0*2^3+1*2^2+1*2^1+0*2^0=64+32+0+0+4+2+0=102
2)012 = 0∙21+1∙20 = 0+1 = 110