На диске свободно 64 Кбайт памяти. Пользователь создал текстовый документ, размером 8192 бит и сохранил его на диске. Сколько таких файлов можно записать на данный диск? *
// PascalABC.NET 3.2, сборка 1488 от 21.06.2017 // Внимание! Если программа не работает, обновите версию!
function LexRepeat(Self:string):(string,integer); extensionmethod; begin Writeln(Self); var aw:=Self.MatchValues('\b\w+\b').ToArray; if aw.Count>1 then Result:=(aw[0],aw[1:].Where(w->LowerCase(w)=LowerCase(aw[0])).Count) else Result:=(aw[0],0) end;
begin ReadLines('Pushkin2.txt').Select(s->s.LexRepeat) .Where(x->x[1]>0).Foreach(x->Writeln('*** ',x[0],' - ',x[1]+1,' ***')) end.
Пример работы программы
Александр Пушкин К*** Я помню чудное мгновенье: Передо мной явилась ты, Как мимолетное виденье, Как гений чистой красоты. В томленьях грусти безнадежной, В тревогах шумной суеты, Звучал мне долго голос нежный И снились милые черты. Шли годы. Бурь порыв мятежный Рассеял прежние мечты, И я забыл твой голос нежный, Твои небесные черты. В глуши, во мраке заточенья Тянулись тихо дни мои Без божества, без вдохновенья, *** Без - 2 *** Без слез, без жизни, без любви. *** Без - 3 *** Душе настало пробужденье: И вот опять явилась ты, Как мимолетное виденье, Как гений чистой красоты. И сердце бьется в упоенье, И для него воскресли вновь И божество, и вдохновенье, *** И - 2 *** И жизнь, и слезы, и любовь. *** И - 3 ***
1) Задан массив из N чисел. Найти среднее арифметическое. var a: array[1..99999] of integer; i,n,summa: integer; srednee: real; begin writeln('Введите размерность массива'); readln(n); for i:=1 to n do Begin Writeln('Введите ',i,' элемент массива: '); readln(a[i]); summa+=a[i]; end; srednee:=summa/n; Writeln('Среднее арифметическое: ',srednee); end.
2) Найти номер наибольшего элемента массива размером МхN. var a: array[1..99999, 1..9999] of integer; m,n,i,i2,max,n1,n2: integer; begin writeln('Введите длину массива M: '); readln(m); writeln('Введите ширину массива N: '); readln(n); for i:=1 to m do Begin for i2:=1 to n do Begin Writeln('Введите элемент массива: '); readln(a[i,i2]); If a[i,i2]>max then Begin max:=a[i,i2]; n1:=m; n2:=n; end; end; end; Writeln('Номер максимального элемента массива: ', n1, ' столбец ',n2, ' строка'); end.
64 файла
Объяснение:
Узнаем сколько Кбайт занимает документ пользователя:
8 192 бит = 8 192 / 8 = 1024 байт = 1024 / 1024 = 1 Кбайт
На диске свободно 64 Кбайт памяти.
64 / 1 = 64 файла, можно записать на данный диск.