Для записи текста использовался 256-символьный алфавит. каждая страница содержит 30 строк по 70 символов в строке. какой объем содержат 5 страниц текста?
Высчитаем необходимый размер памяти для хранения 1 символа. В используемом алфавите имеется 256 символов. 256 символов (состояний) можно закодировать таким числом бит, которых достаточно для отображения этого числа состояний. В данном случае это 8 бит (т.к. 1111 1111 = 255, да плюс нулевое состояние, итого 256 возможных состояний). Т.е. для хранения 1 символа требуется 8 бит = 1 байт. Посчитаем количество символов в документе. 30*70*5 = 2100 * 5 = 10500 символов. Для хранения которых потребуется 10500 * 1 = 10500 байт. (Он же, если нужно, 10500/1024 = 10,25390625 Кбайт. )
//PascalABC.Net 3.0, сборка 1064 var s,w:string; begin Write('Введите предложение: '); Readln(s); Write('Введите искомое слово: '); Readln(w); s:=' '+s+' '; if Pos(' '+w+' ',s)>0 then Writeln('Слово входит в предложение') else Writeln('Слово не входит в предложение') end.
Тестовые решения: Введите предложение: А роза упала на лапу Азора Введите искомое слово: роза Слово входит в предложение
Введите предложение: Вчера смотрели старую кинопанораму Введите искомое слово: кино Слово не входит в предложение
Введите предложение: Интересное было кино или так себе? Введите искомое слово: кино Слово входит в предложение
Замечание: В программе было обращено внимание на то, что "слово" не может быть частью другого слова, а должно являться самостоятельным членом предложения. В противном случае принято говорить не о слове, а о контексте (подстроке)
Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик b (у него индексами являются сами числа, а элементами - количество этого числа в массиве А), куда будет присваиваться, сколько раз нам встречается то или иное число (перед этим мы массив обязательно обнулим). В конце мы смотрим максимальное число из массива-счетчика. Вуаля!
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer; b:array [1..10] of longint; c:integer; i,max,n:longint; begin write('Введите число элементов массива: '); readln(n); max:=0; for i:=1 to 10 do b[i]:=0; for i:=1 to n do begin a[i]:=random(10)+1; write(a[i],' '); b[a[i]]:=b[a[i]]+1 end; for i:=1 to 10 do if b[i]>max then begin c:=i; max:=b[i] end; writeln; writeln('Чаще всего в массиве встречается число ',c) end.
В используемом алфавите имеется 256 символов. 256 символов (состояний) можно закодировать таким числом бит, которых достаточно для отображения этого числа состояний. В данном случае это 8 бит (т.к. 1111 1111 = 255, да плюс нулевое состояние, итого 256 возможных состояний).
Т.е. для хранения 1 символа требуется 8 бит = 1 байт.
Посчитаем количество символов в документе.
30*70*5 = 2100 * 5 = 10500 символов.
Для хранения которых потребуется
10500 * 1 = 10500 байт.
(Он же, если нужно, 10500/1024 = 10,25390625 Кбайт. )