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

Дана программа, фрагмент которой приведен ниже. Какой оператор нужно вставить на место пропуска, если программа решает задачу удаления всех элементов массива с нечетной суммой цифр. В ответе в конце оператора точку с запятой не ставить.


Дана программа, фрагмент которой приведен ниже. Какой оператор нужно вставить на место пропуска, есл

Показать ответ
Ответ:
Ariunkh
Ariunkh
11.08.2021 18:20
Тут имеется один "подвох" и на него часто ловятся.
Можно воспользоваться функций Power для возведения в степень 1/3, либо применить известную формулу \displaystyle a^x=e^{x\ln a}
Но в обоих случаях используется (явно или скрыто) вычисление логарифма. А мы помним, что логарифм определен только для положительного аргумента.
По заданию нужно найти кубический корень из a+b. И этот корень определен для любого вещественного числа, в отличии от логарифма.
Вспоминаем:
\displaystyle \sqrt [3]x=\left. \left\{\begin{matrix}
-\sqrt[3]{|x|}, &x\ \textless \ 0\\ 0, & x=0 \\ \sqrt [3]x, &x\ \textgreater \ 0 \end{matrix}\right.
\right| \qquad \sqrt [3]x=sign(x)\times\sqrt[3]{|x|}

И только теперь можно писать программу.

// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var a,b,c:real; Read(a,b);
  c:=a+b;
  Writeln(sign(c)*power(abs(c),1/3))
end.

Примеры
14.283 -32.17
-2.61524573390822

13.183 -13.183
0
0,0(0 оценок)
Ответ:
bratan02
bratan02
26.08.2020 06:41

Объяснение:

Допустим, у нас есть сообщение «habr», которое необходимо передать без ошибок. Для этого сначала нужно наше сообщение закодировать при Кода Хэмминга. Нам необходимо представить его в бинарном виде.На этом этапе стоит определиться с, так называемой, длиной информационного слова, то есть длиной строки из нулей и единиц, которые мы будем кодировать. Допустим, у нас длина слова будет равна 16. Таким образом, нам необходимо разделить наше исходное сообщение («habr») на блоки по 16 бит, которые мы будем потом кодировать отдельно друг от друга. Так как один символ занимает в памяти 8 бит, то в одно кодируемое слово помещается ровно два ASCII символа. Итак, мы получили две бинарные строки по 16 битбит. распараллеливается, и две части сообщения («ha» и «br») кодируются независимо друг от друга. Рассмотрим, как это делается на примере первой части.

Прежде всего, необходимо вставить контрольные биты. Они вставляются в строго определённых местах — это позиции с номерами, равными степеням двойки. В нашем случае (при длине информационного слова в 16 бит) это будут позиции 1, 2, 4, 8, 16. Соответственно, у нас получилось 5 контрольных бит (выделены красным цветом)Таким образом, длина всего сообщения увеличилась на 5 бит. До вычисления самих контрольных бит, мы присвоили им значение «0».

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