А) 1. const x0=0; xk=pi; h=pi/2; var x,y:real; i:integer; begin x:=x0-h; for i:=0 to round((xk-x0)/h) do begin x:=x+h; y:=0.5*x+sqr(sin(x)); writeln(x:5:2,' ',y:6:4); end; end.
2. const x0=0; xk=pi; h=pi/2; var x,y:real; i:integer; begin x:=x0-h; while x<xk do begin x:=x+h; y:=0.5*x+sqr(sin(x)); writeln(x:5:2,' ',y:6:4); end; end.
3. const x0=0; xk=pi; h=pi/2; var x,y:real; i:integer; begin x:=x0-h; repeat x:=x+h; y:=0.5*x+sqr(sin(x)); writeln(x:5:2,' ',y:6:4); until x>=xk; end.
Результат: 0.00 0.0000 1.57 1.7854 3.14 1.5708
б) var x,y:real; begin readln(x); y:=(3-sin(2*x))*cos(x/3); writeln('y = ',y:6:4); if y<0 then writeln('Функция отрицательна') else if y>0 then writeln('Функция положительна') else writeln('Функция = 0'); end.
По определению 1 Гц это одно колебание за секунду, а значит 32 кГц это 32 000 колебаний в секунду. У нас 16-ти битное кодирование, что означает, что каждое колебание описывается 16 битами информации. То есть, к примеру, чтобы закодировать 1 секунду нашего аудио нам нужно 16*32 000 = 512 000 бит.
Теперь к нашей задачке:
В килобайте 1024 байтов, в байте 8 бит. Считаем сколько бит в 700 кбайтах 700 * 1024 * 8 = 5 734 400
Считаем сколько колебаний мы можем описать этими данными: делим количество доступных нам бит на 16. 5 734 400 / 16 = 358 400.
Теперь нужно понять сколько это в секундах. Делим колебания на нашу частоту дискретизации (32 000): 358 400 / 32000 = 11,2 (секунд)
А если без долгих слов, то: размер файла / битность / частота дискретизации = время звучания 700*1024*8/16/32000=11.2
const x0=0; xk=pi; h=pi/2;
var x,y:real; i:integer;
begin
x:=x0-h;
for i:=0 to round((xk-x0)/h) do
begin
x:=x+h;
y:=0.5*x+sqr(sin(x));
writeln(x:5:2,' ',y:6:4);
end;
end.
2.
const x0=0; xk=pi; h=pi/2;
var x,y:real; i:integer;
begin
x:=x0-h;
while x<xk do
begin
x:=x+h;
y:=0.5*x+sqr(sin(x));
writeln(x:5:2,' ',y:6:4);
end;
end.
3.
const x0=0; xk=pi; h=pi/2;
var x,y:real; i:integer;
begin
x:=x0-h;
repeat
x:=x+h;
y:=0.5*x+sqr(sin(x));
writeln(x:5:2,' ',y:6:4);
until x>=xk;
end.
Результат:
0.00 0.0000
1.57 1.7854
3.14 1.5708
б)
var x,y:real;
begin
readln(x);
y:=(3-sin(2*x))*cos(x/3);
writeln('y = ',y:6:4);
if y<0 then writeln('Функция отрицательна')
else if y>0 then writeln('Функция положительна')
else writeln('Функция = 0');
end.
Пример:
1.5
y = 2.5089
Функция положительна
По определению 1 Гц это одно колебание за секунду, а значит 32 кГц это 32 000 колебаний в секунду. У нас 16-ти битное кодирование, что означает, что каждое колебание описывается 16 битами информации. То есть, к примеру, чтобы закодировать 1 секунду нашего аудио нам нужно 16*32 000 = 512 000 бит.
Теперь к нашей задачке:
В килобайте 1024 байтов, в байте 8 бит. Считаем сколько бит в 700 кбайтах
700 * 1024 * 8 = 5 734 400
Считаем сколько колебаний мы можем описать этими данными: делим количество доступных нам бит на 16.
5 734 400 / 16 = 358 400.
Теперь нужно понять сколько это в секундах. Делим колебания на нашу частоту дискретизации (32 000):
358 400 / 32000 = 11,2 (секунд)
А если без долгих слов, то:
размер файла / битность / частота дискретизации = время звучания
700*1024*8/16/32000=11.2