Вес одного символа, введенного с клавиатуры - 8 бит. текст состоить с 3 страниц, каздая из которых содержит 42 строки по 64 символа. какой объем занимает данный текст на жестком диске. ответ выразить в мб
// PascalABC.Net 3.0, сборка 1052 const Rus=['А'..'Я']; var s:string; i,k,t:integer; c,c1,tc,sc:char; f:array['А'..'а'] of byte; // 'а' - это для 'Ё' ch:array['А'..'а'] of char; begin Write('Введите строку: '); Readln(s); for c:='А' to 'а' do begin f[c]:=0; ch[c]:=c end; k:=0; for i:=1 to Length(s) do begin c:=UpCase(s[i]); if c in Rus then begin Inc(f[c]); Inc(k) end else if c='Ё' then begin Inc(f['а']); Inc(k) end; end; Writeln('Количество русских букв равно ',k); { сортировка массива со счетчиком количества букв } for c1:='А' to Pred('а') do for c:='А' to Pred('а') do if f[c]<f[Succ(c)] then begin t:=f[c]; tc:=ch[c]; sc:=Succ(c); f[c]:=f[sc]; ch[c]:=ch[sc]; f[sc]:=t; ch[sc]:=tc end; Writeln('Частота встретившихся букв'); c:='А'; while (c<='а') and (f[c]>0) do begin if ch[c]='а' then ch[c]:='Ё'; Writeln(ch[c],' - ',f[c]); Inc(c) end; end.
Тестовое решение: Введите строку: Когда я был парнишкой, носил я брюки клёш Количество русских букв равно 33 Частота встретившихся букв К - 4 И - 3 Л - 3 О - 3 А - 2 Б - 2 Н - 2 Р - 2 Ш - 2 Я - 2 Г - 1 Д - 1 Й - 1 П - 1 С - 1 Ы - 1 Ю - 1 Ё - 1
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; for i := 1 to N do p:=p*x; writeln(x,' в степени ',n,' равно ',p ); end.
2. Для цикла While var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; while i<=n do begin p:=p*x; i:=i+1; end; writeln(x,' в степени ',n,' равно ',p ); end.
3. Для цикла Repeat
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; repeat p:=p*x; i:=i+1; until i>n; writeln(x,' в степени ',n,' равно ',p ); end.
Найдём общее количество символов.
3 * 42 * 64 = 8064
Теперь найдём объём в битах:
8064 * 8 = 64512 Бит
Переведем в МБайты
64512 / 8 / 1024 / 1024 = 0.00769042969 Мбайт
Как по мне, то проще оставить в байтах, там остаётся хорошее целое число. 8064 Байта.
ответ: 0.00769042969 Мбайт