Звуковая плата производит двоичное кодирование аналогового звукового сигнала. Какое количество информации необходимо для кодирования каждого из 65 536 возможных уровней интенсивности сигнала?
1) Начало 2) Ввод матрицы A(5, 10) 3) Цикл по i от 1 до 5 // по строкам 3.1) max = A(i, 1); min = A(i, 1); nmax = 1; nmin = 1; 3.2) Цикл по k от 1 до 10 // по столбцам 3.2.1) Если A(i, k) > max, то // находим максимум в строке и его номер 3.2.1.1) max = A(i, k); nmax = k; 3.2.1.2) Конец Если 3.2.2) Если A(i, k) < min, то // находим минимум в строке и его номер 3.2.2.1) min = A(i, k); nmin = k; 3.2.2.2) Конец Если 3.2.3) Конец цикла по k // по столбцам 3.2.4) A(i, nmin) = max; A(i, nmax) = min // меняем их местами 3.3) Конец цикла по i // по строкам 4) Вывод массива A(5, 10) 5) Конец. Сложность такой программы - 1 (очень простая). Всего лишь два цикла в цикле и два сравнения чисел.
Var i,j,n: integer; a: array[,] of real; begin write('n = '); readln(n); setlength(a,n+1,n+1); randomize; writeln('исходная матрица:'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(-20,20); write(a[i,j]:4); end; writeln; end; //транспонирование матрицы for i:=1 to n-1 do for j:=i+1 to n do swap(a[i,j],a[j,i]); //вывод на экран writeln('транспонированная матрица:'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end.
2) Ввод матрицы A(5, 10)
3) Цикл по i от 1 до 5 // по строкам
3.1) max = A(i, 1); min = A(i, 1); nmax = 1; nmin = 1;
3.2) Цикл по k от 1 до 10 // по столбцам
3.2.1) Если A(i, k) > max, то // находим максимум в строке и его номер
3.2.1.1) max = A(i, k); nmax = k;
3.2.1.2) Конец Если
3.2.2) Если A(i, k) < min, то // находим минимум в строке и его номер
3.2.2.1) min = A(i, k); nmin = k;
3.2.2.2) Конец Если
3.2.3) Конец цикла по k // по столбцам
3.2.4) A(i, nmin) = max; A(i, nmax) = min // меняем их местами
3.3) Конец цикла по i // по строкам
4) Вывод массива A(5, 10)
5) Конец.
Сложность такой программы - 1 (очень простая).
Всего лишь два цикла в цикле и два сравнения чисел.
a: array[,] of real;
begin
write('n = '); readln(n);
setlength(a,n+1,n+1);
randomize;
writeln('исходная матрица:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(-20,20);
write(a[i,j]:4);
end;
writeln;
end;
//транспонирование матрицы
for i:=1 to n-1 do
for j:=i+1 to n do swap(a[i,j],a[j,i]);
//вывод на экран
writeln('транспонированная матрица:');
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
end.
n = 4
исходная матрица:
-5 16 -10 5
-4 -20 6 14
-2 10 -4 -7
-16 1 -9 13
транспонированная матрица:
-5 -4 -2 -16
16 -20 10 1
-10 6 -4 -9
5 14 -7 13