текст, набранный на компьютере содержит, 4 страницы, на каждой странице 32 строки, в каждой строке 64 символа. Определите информационный объем сообщения , если каждый символ кодируется 16 битами. ответ запишите в Кбайтах
Var mas:array[1..1000, 1..1000] of integer; N,i,j,sum:integer;
Begin Writeln('Введите размер матрицы N*N'); Write('N = ');readln(N); if (N>1000) or (N<1) then Writeln('Ошибка, указанные значения выходят за пределы матрицы') else Begin Writeln('Введите элементы матрицы'); sum:=0; for i:=1 to N do for j:=1 to N do Begin readln(mas[i,j]); if (mas[i,j] mod 2 <> 0) then sum:=sum+mas[i,j]; end;
Writeln(); Writeln('Исходная матрица'); for i:=1 to N do Begin for j:=1 to N do Begin Write(mas[i,j], ' '); end; Writeln(); end;
Writeln(); Writeln('Сумма нечетных элементов = ',sum);
1) // здесь нужно объявить количество элементов или ввести с var a: array [1..N] of integer; i: integer; min: integer; max: integer; minnum: integer; maxnum: integer;
begin // здесь должен быть ввод значений массива в цикле // for i:=1 to N do a[i]=Random(100); или через readln;
min := a[1]; minnum := 1; max := a[1]; maxnum := 1; for var i:=2 to N do begin if a[i]<min then begin min := a[i]; minnum := i; end; if a[i]>max then begin max := a[i]; maxnum := i; end; end; a[maxnum]=min; a[minnum]=max; //здесь вывод нового массива end.
2) for i:=1 to N do if a[i]>0 then if a[i] mod 2 = 0 then write(a[i], ' '); 3) var sum: integer; start: integer; for i:=1 to N do if a[i]=0 then start=i+1; нашли первый нулевой, начинаем дальше со следующего for i:=start to N do begin if a[i]>0 then begin sum=sum+a[i]; write(i, ' '); ///номер положительного элемента end; writeln; write('Сумма =',sum); end;
ответ:16 кбайт
Объяснение:объем = k*i=16*8192=131072 бит:8:1024=16 кбайт
i=16 бит
K=4*32*64=8192