Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого
алгоритм печатает сначала 9, а потом 3.
var x, L, M: integer;
begin
readln(x);
L := 0;
M := 0;
while x > 0 do
begin
M := M + 1;
if x mod 8 >= 4 then
L := L + x mod 8;
x := x div 8;
end;
writeln(L);
writeln(M);
end.
разрядность i = 16 бит
t = 1 мин = 60 сек.
Стереозапись включает в себя 2 дорожки,а значит объем информации увеличивается вдвое, поэтому добавим в конечную формулу коэффициент 2.
Объем информации L =2*D*i*t = 44000*16*60*2=84480000 бит=10560000 байт=10Мбайт.
ответ: одна минута стереозаписи занимает 10Мбайт.
L = 700Мбайт = 734003200 байт
D = 44000 гц
i=16 бит = 2 байта
(тип звукозаписи - стерео => добавляется коэффициент 2)
t=L/(D*i*2)
t = 734003200/(2*44000*2) = 4170,47 сек = 69,5 мин.
ответ: 69,5 минут максимальная продолжительность стереозаписи на диске 700 Мбайт
Sub ex1(ByRef a() As Integer, ByRef nn As Integer, ByRef nz As Integer)
Dim i As Integer
nn = 0: nz = 0
For i = 1 To 45
If a(i) = 0 Then
nz = nz + 1
Else
If a(i) < 0 And i <= 35 Then
nn = nn + 1
End If
End If
Next i
End Sub
Процедура для тестирования с выводом на лист Excel
Sub Test()
Dim p(1 To 45) As Integer
Dim n1 As Integer, n2 As Integer, i As Integer
Randomize Timer
For i = 1 To 45
p(i) = Int(25 * Rnd - 12)
Cells(i, 1) = p(i)
Next i
ex1 p, n1, n2
Cells(1, 2) = n1
Cells(1, 3) = n2
End Sub