program p_1; var i, n : integer; a, s : real; b : array [1..1000] of real; begin writeln('введите число а'); readln(a); writeln('введите количество значений массива n'); readln(n); write('введите элементы массива b'); for i: =1 to n do readln(b[i]); writeln('первоначальный массив b'); for i: =1 to n do writeln(b[i]); s: =0; for i: =1 to n do if b[i] > a then s: =s+b[i]; writeln('сумма значений =', s); end.
Определим информационный объём сообщения по формуле I = ki, где I – информационный объем сообщения, k – количество символов в сообщении, i – информационный вес одного символа.
Чтобы вычислить i нам формула N = 2^i, где N – мощность алфавита. В условии сказано, что мощность алфавита – 17 символов. Для кодировки 17 символов потребуется 5 бит. Проверим: 17 = 2^5 = 32. Пятью битами можно кодировать 32 символа, а четырьмя – 16. Нам подходит 5 битов.
Рассчитаем информационный объём сообщения: 45 × 5 = 225 бит.
ответ: 225 бит.
d07b
переведем 5337110 в шестнадцатиричную систему вот так:
целая часть числа находится делением на основание новой
53371 16
-53360 3335 16
11=b -3328 208 16
7 -208 13
0
перевод чисел из одной системы счисления в другую
получилось: 5337110 = d07b16
Поделитесь своими знаниями, ответьте на вопрос:
Создать программу в паскале используя массив: найти сумму элементов, больших числа а.
program xxx;
var i, n : integer;
a, s : real;
b : array [1..20] of real;
begin
writeln('введите число а=');
readln(a);
writeln('введите размерность массива n=');
readln(n);
write('введите элементы массива b: ');
for i: =1 to n do
readln(b[i]);
writeln('исходный массив b: ');
for i: =1 to n do
writeln(b[i]);
s: =0;
for i: =1 to n do
if b[i] > a then s: =s+b[i];
writeln('сумма элементов =', s);
readln
end.