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

Какое количество информации несет сообщение о том, что встреча назначена 15 октября? 2. Выяснить, сколько бит информации несет каждое пятизначное число в двоичной системе счисления( отвлекаясь от его конкретного числового значения).
3. В корзине лежат 8 черных шаров и белых в три раза больше, чем черных Сколько информации несет сообщение о том, что достали черный шар.

Показать ответ
Ответ:
mazaliaopera
mazaliaopera
16.02.2022 06:02

ответ:1. Таблицы сложения и умножения:

Вычисления во вложении. Последнее деление на самом деле можно было бы "в столбик" и не писать, и так понятно, какой будет результат.

2. Переводим в двоичную систему счисления и дописываем вперед незначащие нули, пока не наберётся 8 знаков:

3. Добавляется знаковый бит: дописываем вперед 0, если число положительное, и 1, если отрицательное. Для неотрицательных чисел по сути ничего не меняется, а отрицательные представляем в дополнительном коде: меняем все биты на противоположные и добавляем к результату 1.

-56: меняем биты на противоположные (получаем 11100011) и добавляем 1. Окончательно получается  

Объяснение:

0,0(0 оценок)
Ответ:
artyomburyanov
artyomburyanov
05.01.2022 20:21

(см. объяснение)

Объяснение:

Странно вы как-то пишете. Во-первых, где randomize; Во-вторых, зачем в паскале писать random(33)-14, если можно и нужно random(-14; 18) (обратите внимание, что в этом случае второе число включается, то есть 18 будет тоже допустимо). В-третьих, Вы используете динамические массивы вместо обычных, что странно, учитывая, что свойства, которые они дают Вы полноценно не используете (никак кроме setLength, а ведь с ними задача решается в пару строк кода). В четвертых, заглавными буквами принято обозначать константы, а не переменные. В пятых... Короче говоря, вопросов много.

Судя по коду, Вы создаете массив случайных чисел, выводите его, затем пытаетесь в массив B положить положительные элементы, а в C неположительные. После этого выводите массивы C и B. При этом у Вас есть зачем-то J (которую вы то большой, то маленькой пишете, что очень грубо). То есть, сказав, что Ваш код генерирует случайные числа и распределяет по массивам, в массив B-положительные, а в массив С-отрицательные, Вы говорите неверно. У Вас еще есть ноль. И вы тоже его куда-то да распределяете (подсказка: в массив C). Будем считать, что Вы просто неверно выразились и примем, что в C ноль класть нужно.

У Вас возникает проблема в том, что Вы сталкиваетесь с лишними нулями. Но где у Вас гарантия, что в массиве a не будет естественного нуля? Ее нет. Тогда как вы хотите отличить нули естественные, от появившихся по ошибке? Значит Ваша мысль неверна, то есть убрать нули нельзя. То есть такой мысли по идеи не должно было быть вообще. Сейчас не важно, что в коде написан бред и даже неважно то, что Ваша проблема может возникнуть только у того, кто вообще в паскале не разбирается. Просто задумайтесь, почему одна j? Не лучше ли просто ввести два счетчика для массивов B и C по отдельности и как только вы добавили один элемент соответствующий счетчик увеличить? Это единственно правильный случай, если принимать Ваш код за основу и стараться внести в него минимальные правки.

Не буду больше тянуть и приведу поправленный код.

const N = 10;

var i, j, k, p:integer;

   a, b, c: array [1..N] of integer;

begin

 k:= 1;

 p:= 1;

 randomize;

 print('Массив a:');

 for i:= 1 to N do

 begin

   a[i]:= random(-14, 18);

   print(a[i]);

 end;

 writeln;

 for i:= 1 to N do

 begin

   if(a[i] > 0) then

   begin

     b[k]:= a[i];

     k:= k + 1;

   end else

   begin

     c[p]:= a[i];

     p:= p + 1;

   end;

 end;

 k:= k - 1;

 p:= p - 1;

 writeln;

 print('Массив c:');

 for i:= 1 to p do

 begin

   print(c[i]);

 end;

 writeln;

 print('Массив b:');

 for i:= 1 to k do

   print(b[i]);

 readln;

end.

Еще раз подчеркну, что задачу нужно решать так:

##

'Введите N:'.Print;

var a:= ArrRandom(ReadInteger, -14, 18);

var b:= a.Where(x->x>0);

var c:= a.Where(x->x<=0);

'Массив a:'.Print; a.Println;

'Массив b:'.Print; b.Println;

'Массив c:'.Print; c.Println;

Теперь можно с чистой совестью сказать, что...

Задание выполнено!

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