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

Каждый студент получает электронный пропуск, на котором зафиксированы следующие данные о владельце: личный код, состоящий из 12 символов, где каждый взят из 9 допустимых букв латинского алфавита или одной из цифр от 1 до 9;
номер группы — целое число от 1 до 11, записанное в виде двоичного кода, занимает минимальное количество байт;
дополнительные сведения.

Все символы кодируются одинаково и минимально возможным количеством бит (посимвольное кодирование). Пропуск содержит 14 байт информации.
Определи объём памяти, который необходим для хранения дополнительных сведений о владельце пропуска.
В ответе запиши число — количество байт.

👇
Ответ:
erop4ik1
erop4ik1
02.12.2021

5 байт

Определим мощность алфавита для кодирования личного кода, по условию это 9 букв и 9 цифр,  то есть

N= 9+9 = 18 , один символ в таком случае кодируется: 5 битами (2⁵=32), т.к. 4 бит недостаточно для кодирования 18 символов ( 2⁴=16)

Всего символов в коде: k=12, значит информационный объем кода: 12*5= 60 бит. Минимальное число байт ( число кратное 8) = 8 байт

Определим объем информации для номера группы:

N=11 ⇒ i= 4 бит, минимальное число байт = 1 байт

Пропуск содержит 14 байт информации. значит объем  памяти необходимый для хранения дополнительных сведений=

14-8-1= 5 байт

Объяснение:

4,5(29 оценок)
Открыть все ответы
Ответ:
тося42
тося42
02.12.2021
Простейший вариант программы, предполагающий, что строка записана абсолютно верно и содержит только числа, соединенные знаком "плюс".

const
  digits=['0'..'9'];
var
  s,sn:string;
  i,err:integer;
  n,sum:longint;

begin
  Write('Введите числа, соединяя их знаком плюс: ');
  Readln(s);
  i:=2; sn:=s[1]; sum:=0;
  while i<=Length(s) do begin
    if s[i] in digits then sn:=sn+s[i]
    else begin
      Val(sn,n,err);
      sum:=sum+n;
      sn:=''
    end;
    Inc(i)
  end;
  Val(sn,n,err);
  sum:=sum+n;
  Writeln('Сумма равна ',sum)
end.

Тестовое решение:
Введите числа, соединяя их знаком плюс: 21+22+3
Сумма равна 46
4,5(16 оценок)
Ответ:
Cheburekcom
Cheburekcom
02.12.2021
Предполагается, что восьмеричное число записано, как символьная строка, поскольку максимальная разрядность не была оговорена в задании.

const
  m:array['0'..'7'] of string=
      ('000','001','010','011','100','101','110','111');
  m1:array['1'..'7'] of string=
      ('1','10','11','100','101','110','111');
var
  s8,s2:string;
  i:integer;
begin
  Write('Введите восьмеричное число: '); Readln(s8);
  s2:=m1[s8[1]];
  for i:=2 to Length(s8) do s2:=s2+m[s8[i]];
  Writeln('В двоичной системе: ',s2)
end.

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