Как-то так: 1. Аналогово-цифровой преобразователь (АЦП) . Преобразует либо напряжение в цифровой код, либо другие характеристик сигнала. 2. Шаг это то, как часто мы замеряем сигнал. Частота это то, сколько получится замеров за 1 секунду. То есть при частоте 48000 Гц мы берем сигнал 48 тысяч раз в секунду. Соответственно, шаг будет 60 / 48000 = 0,00125с (Это время между двумя замерами) . 3. Если время между замерами (шаг) 0,005 , то обратим формулу и получим: 60 / Х = 0,005 => Х = 60 / 0.005 = 12000 Гц 4. Меняем формулу: теперь 60 / 1000 Гц = Х => X = 0.06с . 5. Разряд показывает, в целом, сколько значений можно хранить в переменной. Соответственно, разряд дискретизации показывает насколько точные значения могут быть записаны за один шаг. В 2 байта можно записать меньше чем в 4 байта. 6. Решается, вычислением логарифма по основанию 2. = 10
Если условие задачи перевести на математику, то имеем три числа (три расстояния), среди которых нужно найти самое маленькое (минимум), и самое большое (максимум). Другими словами, найти минимальное и максимальное из трех заданных чисел. program z; var min,max,x:real; i:integer; begin readln(x); {ввод первого числа} min:=x; {принять первое число за минимум на начало счета} max:=x; {принять первое число за максимум на начало счета} for i:=2 to 3 do {считать остальные два числа} begin readln(x); {ввести очередное число} if x>max then max:=x; {если введенное число больше текущего максимума, считать его максимумом} if x<min then min:=x; {если введенное число меньше текущего минимума, считать его минимумом} end; writeln('min=',min); {вывод минимума} writeln('max=',max); {вывод максимума} end.
Замечание. Программа не использует массив, т.к. чисел всего три. В более общем случае лучше ввести числа в массив и выполнить его сортировку.
Вариант без цикла и с отдельными переменными для каждого числа program z1; var min,max,x,y,z:real; begin readln(x); {ввод первого числа} min:=x; {принять первое число за минимум на начало счета} max:=x; {принять первое число за максимум на начало счета}
readln(y); {ввести второе число} if y>max then max:=y; {если введенное число больше текущего максимума, считать его максимумом} if y<min then min:=y; {если введенное число меньше текущего минимума, считать его минимумом}
readln(z); {ввести третье число} if z>max then max:=z; {если введенное число больше текущего максимума, считать его максимумом} if z<min then min:=z; {если введенное число меньше текущего минимума, считать его минимумом}
1. Аналогово-цифровой преобразователь (АЦП) . Преобразует либо напряжение в цифровой код, либо другие характеристик сигнала.
2. Шаг это то, как часто мы замеряем сигнал. Частота это то, сколько получится замеров за 1 секунду. То есть при частоте 48000 Гц мы берем сигнал 48 тысяч раз в секунду. Соответственно, шаг будет 60 / 48000 = 0,00125с (Это время между двумя замерами) .
3. Если время между замерами (шаг) 0,005 , то обратим формулу и получим: 60 / Х = 0,005 => Х = 60 / 0.005 = 12000 Гц
4. Меняем формулу: теперь 60 / 1000 Гц = Х => X = 0.06с .
5. Разряд показывает, в целом, сколько значений можно хранить в переменной. Соответственно, разряд дискретизации показывает насколько точные значения могут быть записаны за один шаг. В 2 байта можно записать меньше чем в 4 байта.
6. Решается, вычислением логарифма по основанию 2. = 10
program z;
var min,max,x:real;
i:integer;
begin
readln(x); {ввод первого числа}
min:=x; {принять первое число за минимум на начало счета}
max:=x; {принять первое число за максимум на начало счета}
for i:=2 to 3 do {считать остальные два числа}
begin
readln(x); {ввести очередное число}
if x>max then max:=x; {если введенное число больше текущего максимума, считать его максимумом}
if x<min then min:=x; {если введенное число меньше текущего минимума, считать его минимумом}
end;
writeln('min=',min); {вывод минимума}
writeln('max=',max); {вывод максимума}
end.
Замечание. Программа не использует массив, т.к. чисел всего три. В более общем случае лучше ввести числа в массив и выполнить его сортировку.
Вариант без цикла и с отдельными переменными для каждого числа
program z1;
var min,max,x,y,z:real;
begin
readln(x); {ввод первого числа}
min:=x; {принять первое число за минимум на начало счета}
max:=x; {принять первое число за максимум на начало счета}
readln(y); {ввести второе число}
if y>max then max:=y; {если введенное число больше текущего максимума, считать его максимумом}
if y<min then min:=y; {если введенное число меньше текущего минимума, считать его минимумом}
readln(z); {ввести третье число}
if z>max then max:=z; {если введенное число больше текущего максимума, считать его максимумом}
if z<min then min:=z; {если введенное число меньше текущего минимума, считать его минимумом}
writeln('min=',min); {вывод минимума}
writeln('max=',max); {вывод максимума}
end.