Сформировать массив из 10 чисел, каждое из которых вычисляется случайным образом на промежутке от 0 до 12. Вычислить сумму элементов массива, которые больше 5. Язык Pascal
Для начала посчитаем, сколько бит информации было передано: 2 минуты и 45 секунд = 165 секунд 165 с * 128000 бит/с = 21120000 бит
Теперь вспомним, что такое частота дискретизация и уровни квантования. Дело в том, что аудио сигнал - это такая прикольная сложная синусоида. Чтобы записать сигнал в цифровом виде, каждую секунду сигнала как бы делят на промежутки (количество этих промежутков в секунде и есть частота дискретизации). Для каждого из этих промежутков записывается что-то вроде среднего значения высоты. Количество возможных значений - количество уровней квантования. Но это так - если говорить очень упрощённо. Подробнее прочитайте в своём учебнике информатики.
Итак - у нас 256 уровней квантования. Значит каждое из значений можно записать 8 битами. И на секунду у нас приходится 22000 таких записей. То есть каждая секунда записи у нас кодируется 22000 * 8 = 176000 битами.
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016 uses GraphABC;
procedure OutLightGreen(n:integer); begin var OldColor:=FontColor; SetFontColor(clLightGreen); Write(n:5); SetFontColor(OldColor) end;
begin var a:=MatrixRandom(10,14,-180,320); var m:=ReadInteger('n='); Writeln; SetFontColor(clWhite); Font.Style:=fsBold; Font.Name:='Courier'; Brush.Color:=clBlack; Window.Clear(clBlack); var k:=0; for var i:=0 to 9 do begin for var j:=0 to 13 do if a[i,j]>m then begin Inc(k); OutLightGreen(a[i,j]) end else Write(a[i,j]:5); Writeln end; SetFontColor(clRed); Writeln('Количество элементов равно ',k) end.
pascal
Объяснение:
const
n = 10;
var
a: array [1..n] of real;
i: integer;
s: real;
begin
for i := 1 to n do
begin
a[i] := random(12);
Write(a[i],', ');
if a[i] > 5 then s := s+ a[i];
end;
WriteLn;
WriteLn('Сумма элементов, больших 5, равна ', s);
end.