В книжке 17 страниц, на каждой из которых 30 строк, а каждая строка содержит 57 символов. Найдите информационный объем данных страниц, если вес одного символа 8 бит.
В PascalABC.NET эта задача решается легко и быстро. В других версиях будет монстрик.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
procedure MakeFile(path:string); // не относится к заданию, создает файл Text со 100 числами begin WriteLines(path,SeqRandom(100,-99,99).Select(x->x.ToString)) end;
begin MakeFile('MyFile1.txt'); // теперь у нас есть текстовый файл из 100 случайных чисел // собственно, решение var n:=ReadInteger('Укажите количество чисел:'); var a:=ReadLines('MyFile1.txt').Take(n).ToArray; Writeln('Исходная последовательность'); a.Println; Writeln('Результирующая последовательность'); a:=a.OrderBy(x->x.Last).ToArray; a.Println; WriteAllLines('MyFile2.txt',a); end.
//PascalABC.NET 3.1 сборка 1239 const n = 10; m = 10;
var i, j: integer; a, b: array[1..n, 1..m] of integer; f: boolean;
begin for i := 1 to n do begin for j := 1 to m do begin a[i, j] := random(50); write(a[i, j]:3, ' '); end; writeln; end; writeln;
for i := 1 to n do begin f := false; for j := 1 to m do begin if not f and (a[i, j] mod 2 = 1) then begin a[i, j] := 2 * a[i, j]; f := true; end; write(a[i, j]:3, ' '); end; writeln; end; end.
29 070 байт или же 232 560 бит
Объяснение:
1) 30 * 17 = 510
2) 510 * 57 = 29 070 (байт)
3) 29 070 * 8 = 232 560 (бит)