evsmorodina
?>

Щелчком на главное меню(не пуск ли? )

Информатика

Ответы

Владислав1246
Пуск ли, смотря какая кнопка
aza2103

1. Переводим число в двоичную систему

168.625₁₀ = 10101000.101₂

2. Сдвигаем точку влево так, чтобы она отделяла в целой части только одну цифру и фиксируем величину сдвига, как двоичный порядок

10101000.101₂ = 1.0101000101₂×2⁷

3. Отбрасываем целую часть, получая мантиссу 0101000101₂

4. Прибавляем к порядку 127

7+127 = 134₁₀ = 10000110₂

5. Приписываем к порядку его знак - 0 (сдвиг был влево), получая

010000110₂

6. Приписываем справа мантиссу и дополняем её нулями справа до 32 разрядов

01000011001010001010000000000000₂ = 01000011 00101000 10100000 00000000₂

7. Переводим результат в шестнадцатиричную систему счисления, заменяя каждые 4 двоичных цифры соответствующей шестнадцатиричной

01000011 00101000 10100000 00000000₂ = 43 28 A0 00₁₆ 

yaart-klementiev29

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

Запускается F(5)

n>0? 5>0? - Да.

Выводится звёздочка, Запускается F(3), потом F(4), потом F(4) и снова выводится звёздочка (если все эти команды под условие попадают, а то у вас табуляция не расставлена)

На данный момент мы имеем 2 звёздочки и ещё 3 функции, которые должны быть выполнены.

Начнём с F(3)

3>0? Да. Тогда:

Выводится звёздочка, Запускается F(1), потом F(2), потом F(2) и снова выводится звёздочка

Уже 4 звёздочки

Нам осталось 2 раза выполнить F(2) (результаты у них будут одинаковые)

2 раза F(4) и F(1)

Запустим F(1):

1>0? Да.

Выводится звёздочка, Запускается F(-1), потом F(0), потом F(0) и снова выводится звёздочка

Звёздочек 6.

F(-1): -1>0? Нет. Ничего не делаем

F(0): 0>0? Нет. Ничего не делаем

F(2):

2>0

Выводится звёздочка, Запускается F(0), потом F(1), потом F(1) и снова выводится звёздочка

Уже 8 звёздочек

И 2 раза выводим F(1), а каждое F(1) даёт нам по 2 звёздочки

Итог: 12 звёздочек.

F(2) надо выполнить 2 раза, то бишь ещё 6 звёздочек, итог 18

Осталось 2 раза выполнить F(4)

4>0

Выводится звёздочка, Запускается F(2), потом F(3), потом F(3) и снова выводится звёздочка

20 звёздочек + 6 от F(2) + 16 от F(3) + 16 от F(3) = 58 звёздочек

F(4) выполняем второй раз 58+40=98 звёздочек - ответ

В дополнение прикреплю визуальное решение, оно должно быть попроще:


Дан рекурсивный алгоритм: def F(n):if n > 0:print('*')F(n-2)F(n-1)F(n-1)print('*')Сколько символо
Дан рекурсивный алгоритм: def F(n):if n > 0:print('*')F(n-2)F(n-1)F(n-1)print('*')Сколько символо

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Щелчком на главное меню(не пуск ли? )
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Mark-Petrovich
buleckovd8724
leeka152522
sunrise
hotnuts
Мартынова1638
nikiforovako76
Роман
nadnuriewa8110
turovskaya69
Yuliya701
anusha33325
dashafox8739
Olga-Lev1160
nchorich55