В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
aliko705
aliko705
24.01.2021 10:42 •  Информатика

Работа по информатике

Показать ответ
Ответ:
Olechka77
Olechka77
14.06.2020 16:50

440

Определим количество символов в алфавите, которым кодируется пароль. По условию он состоит из 10 букв, 10 цифр ( от 0 до 9 ) и 5 специальных символов. Итого N=10+10+5 = 25

Определим информационный объем одного символа  i из формулы N=2^i  По условию все символы кодируют одинаковым и минимально возможным количеством бит.  

2⁴ ≤ i ≤ 2 ⁵   ⇒ i= 5 бит

Пароль состоит из 10 символов, значит его объем I = i*k= 5*10 = 50 бит, но по условию задачи на хранение как пароля, так и дополнительных сведений отведено одинаковое для каждого пользователя целое количество байт. Ближайшее к 50 число кратное 8 равно 56.

таким образом информационный объем пароля I = 56/8=7 байт

Но так как по условию  для хранения пароля выделено в байтах в 1,5 раза меньше памяти, чем для хранения дополнительных сведений, то  размеры  пароля и дополнительных сведений в соотношении  1 к 1,5

верны при значениях 8 и 12 байт  

Итого на одного пользователя выделено 8+12 = 20 байт

Для 22 пользователей: 22*20= 440 байт

Объяснение:

0,0(0 оценок)
Ответ:
AliceMysova
AliceMysova
13.05.2020 05:50

В данном фрагменте программы идёт

1) if (a[i] mod 2 <> 0) - условие: "если элемент массива нечетный, т.е. при делении на 2 есть остаток, то"

2) p:=p*a[i]; -  операция умножения элементов массива. Произведение обозначено p.

3) k:=k+1; - это суммирование, сколько раз выполняется команда

Верно: for i:=7 to 25 do begin

if (a[i] mod 2 <> 0) then begin p := p*a[i]; k:=k+1; end; end;

Объяснение: все ошибки выделены жирным шрифтом.

for i:=7 to 25 do;

read (a[i])

if (a[i] mod 2 <> 0) then begin p:=p*a[i]; k:=k+1; end;

Если в программе поставить знак ; сразу после запроса действия do (сразу после открытие цикла), она не начнёт выполнение условия. Лишним также является read (a[i]), т.к. программе вновь не задаётся цикл, либо её чтение было уже задано до данного цикла с условием.

Если интересна программа полностью, то вот код ниже, а также скриншот с результатами. Заполнение массива задано автоматически числами от 1 до 100. Размерность массива - 25 чисел. При произведении мы всегда задаём значение переменной 1, иначе программа не начнёт операцию, при сложении присваивать значение только 0, но это необязательно.

Program zadacha;

var  

 a: array [1..25] of integer;

 i,p,k: integer;

begin

  for i:=1 to 25 do

  a[i]:= Random(100); // числа от 1 до 100 будут присутствовать в массиве

writeln('Заполненный массив:'); for i := 1 to 25 do write(a[i],' ');

p:=1; k:=0;

for i:=7 to 25 do begin

if (a[i] mod 2 <> 0) then begin p := p*a[i]; k:=k+1; end; end;;

writeln;

writeln('Произведение нечетных элементов:', p);

writeln('Сколько раз выполнилось условие:', k);

end.


5. Исправьте ошибки во фрагменте программы (напишите верный код) и определите, сколько раз выполняют
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота