1.
16 кодов можно составить из 4-х бит.
2. задача, обратная первой:
3 бита нужно, чтоб можно было составить 8 разных кодов.
Var s,r,k: string;
j: integer;
begin
write('строка: '); readln(s);
foreach k in s.Split(' ').Distinct do
begin
j:=0;
foreach r in s.Split(' ') do
if r=k then j:=j+1;
writeln('слово ','"',k,'"',' встречается ',j,' раз');
end;
<span>end.
</span>
Var
s: string;
rus, eng, cif: set of char;
i, r, e, c: integer;
begin
rus := ['Ё', 'ё', 'А'..'Я', 'а'..'я'];
eng := ['A'..'Z', 'a'..'z'];
cif := ['0'..'9'];
write('Введите текст: ');
readln(s);
for i := 1 to length(s) do
begin
if s[i] in rus then inc(r);
if s[i] in eng then inc(e);
if s[i] in cif then inc(c)
end;
writeln('Русских букв: ', r);
writeln('Английских букв: ', e);
writeln('Цифр: ', c)
end.