Дана вещественная квадратная матрица а порядка n. найти среднее арифметическое среди положительных элементов матрицы, находящихся на главной и побочной диагоналях. выдать сообщение, если таких элементов нет.
VAR ans: Real; n, i, j, kol: Integer; a: Array of Array of Real; BEGIN Read(n); SetLength(a, n+1); For i := 1 to n do SetLength(a[i], n+1);
For i:= 1 to n do For j := 1 to n do Read(a[i][j]);
For i := 1 to n do If (a[i][i] > 0) then begin Inc(kol); ans := ans + a[i][i]; End;
If (kol > 0) then begin Writeln('Ср. ар. с гл. диагонали = ', ans / kol); kol := 0;ans := 0; End Else Writeln('Элементов > 0 на гл. диагонали - нет !');
For i := 1 to n do If (a[i][n-i+1] > 0) then begin Inc(kol); ans := ans + a[i][n-i+1]; End;
If (kol > 0) then Writeln('Ср. ар. с поб. диагонали = ', ans / kol) Else Writeln('Элементов > 0 на поб. диагонали - нет !'); END.
2. Размер цифрового моноаудиофайла измеряется по формуле: A = D*T*i, где D – частота дискретизации (Гц), T – время звучания или записи звука, i - разрядность регистра (разрешение). 44,1 кГц = 44100 Гц A = 44100*2*16 бит = 44100*2*16 / (8*1024) Кбайт = 172,265625 Кбайт ≈ 172,3 Кбайт
3. Общее количество символов для записи номеров = 20+10=30 Для кодирования одного символа необходимо log(2)30 ≈ 5 бит (2^5=32). Для записи одного номера требуется 8*5 бит = 40 бит = 40/8 байт = 5 байт Для хранения 50 номеров потребуется 50*5 байт = 250 байт
Сначала немного теории. Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и). Таблица истинности импликации(стрелочки): 0 0 1 0 1 1 1 0 0 1 1 1 Общее правило: если a<=b, тогда правда Таблица истинности конъюнкции(/\): 0 0 0 0 1 0 1 0 0 1 1 1 Общее правило: если есть одна ложь-всё ложь Теперь о примере: Просто подставляем вместо x варианты. Так как между двумя скобочками с Если... То... стоит И, нам нужен вариант, где оба Если... То... являются правдой. Рассмотрим подробно 1 вариант: 21<25 - это правда 21<23 - это правда Таким образом, в первых скобочках правда, это доказывает таблица истинности, приведённая выше. 21<22 - это правда 21>21 - это ложь В этих скобочках-ложь. А так как ложь и правда в И являются ложью, нам не подходит данный вариант 2 вариант-верный ответ, т.к.: 22<25 - это правда 22<23 - это правда В первых скобочках правда 22<22 - это ложь 22>21 - это правда И в этих скобках правда. Как можно убедится, снова взглянув в таблицу истинности для конъюнкции, всё выражение является правдой. 3 и 4 посмотрите сами и убедитесь что это ложь.
ans: Real;
n, i, j, kol: Integer;
a: Array of Array of Real;
BEGIN
Read(n); SetLength(a, n+1);
For i := 1 to n do SetLength(a[i], n+1);
For i:= 1 to n do
For j := 1 to n do Read(a[i][j]);
For i := 1 to n do
If (a[i][i] > 0) then begin Inc(kol); ans := ans + a[i][i]; End;
If (kol > 0) then begin Writeln('Ср. ар. с гл. диагонали = ', ans / kol); kol := 0;ans := 0; End
Else Writeln('Элементов > 0 на гл. диагонали - нет !');
For i := 1 to n do
If (a[i][n-i+1] > 0) then begin Inc(kol); ans := ans + a[i][n-i+1]; End;
If (kol > 0) then Writeln('Ср. ар. с поб. диагонали = ', ans / kol)
Else Writeln('Элементов > 0 на поб. диагонали - нет !');
END.