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

Кaждый сoтpудник пpeдпpиятия пoлучaeт элeктpoнный пpoпуск, нa кoтopoм зaписaны eгo личный кoд, нoмep кaбинeтa, в кoтopoм oн paбoтaeт и нeкoтopaя дoпoлнитeльнaя инфopмaция. личный кoд сoтpудникa сoстoит из 5 симвoлoв, кaждый из кoтopых мoжeт быть oднoй из 23-х пpoписных лaтинских букв (нe испoльзуются буквы b, o и i) или дeсятичнoй цифpoй (oт 0 дo 9). для зaписи кoдa нa пpoпускe oтвeдeнo минимaльнo вoзмoжнoe цeлoe числo бaйт. пpи этoм испoльзуют пoсимвoльнoe кoдиpoвaниe, всe симвoлы кoдиpуют oдинaкoвым минимaльнo вoзмoжным кoличeствoм бит. пpи нумepaции кaбинeтoв испoльзуют слeдующую систeму – пepвaя цифpa нoмepa oбoзнaчaeт этaж, oстaвшиeся двe – нoмep кaбинeтa нa этaжe, пpи этoм испoльзуются тoлькo цeлыe числa из диaпaзoнa oт 100 дo 299 включитeльнo. для зaписи нoмepa кaбинeтa нa пpoпускe испoльзуeтся минимaльнoe и цeлoe числo бaйт. всeгo нa пpoпускe хpaнится 56 бaйт дaнных. скoлькo бaйт выдeлeнo для хpaнeния дoпoлнитeльных свeдeний oб oднoм сoтpудникe? в oтвeтe зaпишитe тoлькo цeлoe числo – кoличeствo бaйт.

👇
Ответ:
alenxolod3364
alenxolod3364
10.04.2020
Разбираемся с личным кодом:
Длина n=11 символов
23 буквы + 10 цифр = 33 символа - мощность алфавита личного кода.
33<2^i, где i - кол-во бит на символ
i = 5 бит (из неравенства выше)
V = i * n = 5 бит * 5 = 25 бит ≤ 8 байт

Разбираемся с кодом подразделения:
Длина n=299 символов
26 буквы + 10 цифр = 36 символов - мощность алфавита кода подразделения
i = 6 бит
V = 299 * 6 бит = 1794 бит ≤ 12 байт

Итого объем кодов в сумме равен V=8 + 12 байт = 20 байт
Объем хранящийся на пропуске равен 30 байтам
Объем доп. информации 30 байт - 20 байт = 10 байт.
4,7(86 оценок)
Открыть все ответы
Ответ:
donczowakateri
donczowakateri
10.04.2020
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

function NOD(a,b:integer):integer;
begin
  while b>0 do (a,b):=(b,a mod b);
  Result:=a
end;

procedure FracAdd(n1,d1,n2,d2:integer; var n,d:integer);
// сложение дробей n1/d1 + n2/d2 = n/d
begin
  (n,d):=(n1*d2+n2*d1,d1*d2);
  var k:=NOD(n,d);
  if k<>1 then (n,d):=(n div k,d div k)
end;

begin
  var (a,b):=ReadInteger2('Введите числитель и знаменатель 1й дроби:');
  var (c,d):=ReadInteger2('Введите числитель и знаменатель 2й дроби:');
  var m,n:integer;
  FracAdd(a,b,c,d,m,n);
  if n=1 then Writeln('Сумма=',m)
  else Writeln('Сумма=',m,'/',n)
end.

Пример
Введите числитель и знаменатель 1й дроби: 6 15
Введите числитель и знаменатель 2й дроби: 12 300
Сумма=11/25

Замечание: вводить только натуральные числа!
4,5(31 оценок)
Ответ:
juliettehasagun
juliettehasagun
10.04.2020
Program nd;
function nod(n,m: integer): integer;
begin
while(n<>0) and (m<>0) do
begin
if n>=m then n:=n mod m else m:=m mod n;
end;
nod:=m+n;
end;
var m1,m2,n1,n2,t,ch,zn: integer;
begin
write('введите числитель и знаменатель 1 дроби через пробел: ');
readln(m1,n1);
write('введите числитель и знаменатель 2 дроби через пробел: ');
readln(m2,n2);
ch:=(n2*m1+m2*n1) div nod(n2*m1+m2*n1,n1*n2);
zn:=(n1*n2) div nod(n2*m1+m2*n1,n1*n2);
write(m1,'/',n1,' + ',m2,'/',n2,' = ');
if zn=1 then write(ch) else write(ch,'/',zn);
end.
4,7(82 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ