C++, !
описать функцию calc(a,b,op) вещественного типа, выполняющую над ненулевыми вещественными числами a и b одну из арифметических операций и возвращающую ее результат. вид операции определяется целым параметром op: 1-вычитание, 2-умножение , 3-деление, остальные значения-сложение. с calc выполнить для данных a и b операции, определяемые данными целыми n1,n2,n3.
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