1.V=24*2=48 байт = 384 бита
2.192 символа на стр- 30720 символов. Мощность алфавита 256 - значит в алфававите 256 знаков. 2 в степени восемь - равно 256.весь алфавит можно закодировать одним байтом (в одном байте - как раз восемь бит, степень двойки. Бит - принимает ДВА значения - 0 и 1 - отсюда основание 2, которое возводим в восемь :) ) на каждый символ текста надо потратить один байт памяти. Итого получаем 30720 БАЙТ. в одном КИЛОБАЙТЕ 1024 байта. Делим 30720 на 1024 получаем 30 КБайт.
3.в 2 раза уменьшился
4
1024000/8=128000 (перевели в байты)
128000/1024=125кбайт/сек (перевели в килобайты)
125*5= 625 килобайт
5.
всего используется 12 букв + 10 цифр = 22 символа
для кодирования 22 вариантов необходимо использовать 5 бит, так как , т.е. 4 бит не хватит (они позволяют кодировать только 16 вариантов), а 5 уже достаточно
таким образом, на каждый символ нужно 5 бит (минимально возможное количество бит)
полный номер содержит 6 символов, каждый по 5 бит, 30 бит один номер.
по условию каждый номер кодируется целым числом байт (в каждом байте – 8 бит), поэтому требуется 5 байт на номер ( ), 4 байтов не хватает, а 5 – минимально возможное количество
на 32 номеров нужно выделить 160 байтов приблизительно 192байта
правильный ответ – 160байт...т.к 32*5=160 или приблизетельно 192байта.
Объяснение:
{
Получает в w слово из строки s, которое начинается не ранее позиции p.
Возвращает новое значение p, указывающее на первый разделитель delim,
который следует за найденным словом или 0, если такой разделитель не найден.
По умолчанию слова разделяются не менее чем одним пробелом
}
var
i,n:integer;
fBreak:boolean; { флажок для прерывания циклов }
begin
n:=Length(s); fBreak:=False;
{ищем первый символ, отличный от разделителя - начало слова }
while ((p<=n) and (not fBreak)) do
if (p=n) or (s[p]<>delim) then fBreak:=True
else Inc(p);
{ ищем очередной разделитель - конец слова }
if p<n then begin
i:=p; Inc(p); fBreak:=False;
while (p<=n) and (not fBreak) do begin
if (p=n) or (s[p]=' ') then fBreak:=True else Inc(p)
end;
{ теперь слово находится между позициями i и p }
w:=Copy(s,i,p-i)
end;
if p>=n then p:=0
end;
function CountG(w:string):integer;
{ возвращает количество гласных в слове w}
var
i,k:integer;
begin
k:=0;
for i:=1 to length(w) do
if w[i] in ['а','е','ё','и','о','у','ы','э','ю','я'] then Inc(k);
CountG:=k
end;
var
s,w,wmax:string;
p,k,gmax:integer;
begin
Writeln('Введите текст, разделяя слова пробелами');
Readln(s);
s:=LowerCase(s);
p:=1; gmax:=0;
while p>0 do begin
GetWord(s,p,w);
k:=CountG(w);;
if gmax<k then begin gmax:=k; wmax:=w end
end;
if gmax>0 then Writeln('В слове "',wmax,'" максимум гласных, равный ',gmax)
else Writeln('Во введенной строке гласных букв не найдено')
end.