<em>// PascalABC.NET 3.2, сборка 1467 от 02.06.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var t:=ReadAllText('Pascal.txt');
var c1:=ReadlnString('Введите строку замещаемых символов').ToCharArray;
var c2:=ReadlnString('Введите строку замещающих символов').ToCharArray;
for var i:=0 to c1.Length-1 do
t:=t.Replace(c1[i],c2[i]);
WriteAllText('Pascal.txt',t);
Writeln('Работа завершена');
end.
<u>Пример</u>
Введите строку замещаемых символов ячсми
Введите строку замещающих символов фывап
Работа завершена
<span>Информационный объем текста = кол-во символов * вес одного символа.
Вес символа можно определить, если знать, сколько символов в алфавите.
Алфавит физически имеет размеры 16*32 = 512
Кол-во бит на символ можно узнать, подобрав минимальное n, такое что 512 <= 2^n
</span>512 = 2^9. n = 9.
<span>600 * 9 = 5100 - ответ</span>
1) log2(256) = 8 бит = 1 байт на символ.
число строк равно число символов разделить на число символов в строке:
(3420 / 1) / 38 = 90 строк
2) 75 байт / 120 = 75 * 8 бит / 120 = 5 бит на символ
алфавит содержит не более
различных символов
<u>PascalABC.NET 3.3.5, сборка 1644 от 23.03.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var a:=ReadArrInteger('Введите 10 целых чисел:',10);
var pe:=a.Where(t->t.IsEven).Count/10;
Writeln('Нечетных ',100*pe,'%, четных ',100*(1-pe),'%')
end.
<u>Пример</u>
Введите 10 целых чисел: 13 23 38 -24 0 16 -35 18 29 34
Нечетных 60%, четных 40%