М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

Напишите подробно о кодировании информации при двух знаков. ​

👇
Ответ:
shamanka12
shamanka12
27.11.2020

Ну смотри: есть число. Допустим это 25 для того, чтобы записать любое число у нас есть 10 цифр (0-9). А теперь представим, что цифр только 2(0 и 1).

Но число должно быть записано.

Для числа 0(в десятичной системе) у нас есть число 0 в двоичной.

Для числа 1(в десятичной системе) у нас есть число 1 в двоичной.

Пока все хорошо, но для числа 2 в десятичной у нас нет цифры 2 в двоичной (у нас только 1 и 0)

Так что же делать? Ровно то, что мы делаем, когда кончаются цифры в десятичной системе, переходим на следующей разряд:

2 в десятичной равно 10 в двоичной.

3 в десятичной - 11 в двоичной

4 в десятичной - 100 в двоичной и так далее.

Законы на это действуют такие же, как и на десятичную систему счисления, просто законы эти для нас так очевидны, что мы их не замечаем.

Далее. Ну цифры, ну и что? Да всё. Мы живём в цифровую эпоху и называется она не просто так. Каждый символ набранный на компе или на телефоне - это просто некое число, которому соответствует какая-то картинка(сам символ). Но для того, что бы интерпретировать символы однозначно, нам нужно, что бы каждый символ занимал определенное количество разрядов. Чаще всего на один символ уходит 8 разрядов. С десятичных разрядов можно закодировать числа от 00000000 до 99999999, т.е. 100000000 значений.

Но в двоичной системе она может занимать диапазон от 00000000 до 11111111 и все это в двоичной системе и это 256 значений. Кароче, символов, которыми мы располагаем 256. Это мощность алфавита, т.е. то сколько символов мы можем использовать. Так, например, мощность русского алфавита - 33 символа строчных, 33 заглавных и пробел, т.е. 67 символов. Иногда 256 символов катастрофически не хватает. Например для китайских иероглифов или арабской вязи. Да плюс это все ещё нужно совмещать. Так что умные люди придумали другие стандарты, например utf-8, который, в зависимости от обстоятельств, может занимать от 8 бит (двоичных разрядов) , до 64 бит (для эмодзи и т.п)

Как же вычислить, мощность алфавита?

Она вычисляется так: 2 возводим в степень числа бит. Так для 2^8= 256.

Таким же образом кодируется не только текст, но и изображения.

Есть изображение 512 на 256 px. Px - это что-то вроде буквы в тексте. Всего этих букв 256 в строке, а строк 512. Каждая буква в этом "тексте" - цвет. Если на цвет выделить 1 бит, то цветов будет только 2, ведь 2^1=2. Изображение будет черно-белым. Но если на пиксель выделить 3 бита, цветов может быть 8.

Примерно тоже самое со звуком. Но тут немного сложнее. При записи звука происходят измерения его громкости раз в какой-то момент времени. Обычно (для задач) таких измерений около 50000 в секунду. На каждое измерение в свою очередь тоже тратятся разряды. Обычно они кратны 8. Итак, допустим, что произвели запись 2 секунды звука с частотой дискретизации 50000 гц (измерений в секунду) и на каждое измерение потратили 24 бита. Сколько данных будет занимать такой файл? 2*50000 это число измерений произошедших за 2 секунды. Каждое измерение заняло 24 бита, а значит весь этот файл будет "весить" 2*50000*24 бита.

Если вспомнить, что 8 бит - 1 байт, можно перевести все в байты. А если вспомнить, что в 1 кбайте 1024 байт, то можно продолжить дальше.

4,8(25 оценок)
Открыть все ответы
Ответ:
Сutie2004
Сutie2004
27.11.2020

1.

var

  A: array [1..10] of integer;

  max, i: integer;

begin

    for i:=1 to 10 do                 // заполнение массива

        A[i] := random(100) - 50;

    max := -51;

    for i:=1 to 10 do                 // обработка массива

        if (A[i] < 0) and (A[i] > max) then

        max := A[i];

    writeln(max);

end.

2.

var

  A: array [1..1000] of integer;

  kol, i, N: integer;

begin

    readln(N);

    for i:=1 to N do                 // заполнение массива

        A[i] := random(100) - 50;

    for i:=1 to N do                 // обработка массива

        if A[i] mod 2 = 0 then

        inc(kol);

    writeln(kol);

end.

4,6(83 оценок)
Ответ:
asem052
asem052
27.11.2020

const

 AOper: array [0..3] of string = ('+', '-', '*', '/');

var

 a, b, Oper: Integer;

 r: Real;

begin

 Randomize;    // инициализация датчика случайных чисел

 a := Random (1001);

 b := Random (1001);

 Oper := Random (4);

 case Oper of

 0: r := a + b;

 1: r := a - b;

 2: r := a * b;

 3:if b <> 0 then begin

     r := a / b;

   end else begin

     WriteLn ('Произошла ошибка при делении на ноль');

     Exit;

   end

 else r := -1;

 end;

 WriteLn (a);

 WriteLn (b);

 WriteLn (Aoper [Oper]);

 if (r >= 0) and (r - Trunc (r) = 0) then begin   // если в результате получилось положительное целое число

   WriteLn ('yes');

   WriteLn (r :6 :0);

 end else

   WriteLn (' no');

 ReadLn;

end.

Объяснение:

r - Trunc (r) // это выделение дробной части числа

4,7(9 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ