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

Задание 2. Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из "1" и 100 идущих подряд цифр "9"? В ответе запишите полученную строку.

НАЧАЛО

ПОКА нашлось (19) ИЛИ нашлось (299) ИЛИ нашлось (3999)

ЕСЛИ нашлось (19)

ТО заменить (19, 2)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (299)

ТО заменить (299, 3)

КОНЕЦ ЕСЛИ

ЕСЛИ нашлось (3999)

ТО заменить (3999, 1)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

написать программу на ПИТОНЕ!​

Показать ответ
Ответ:
magauiyaa
magauiyaa
25.06.2020 22:47
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку:
procedure G(n: integer);forward;
Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы.
После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:

 Вызов процедуры F и выполнение
* n = 12
* n = 12
Вызов процедуры G и выполнение
* n = 11
* n = 11
Вызов процедуры F и выполнение
* n = 9
* n = 9
Вызов процедуры G и выполнение
* n = 8
* n = 8
Вызов процедуры Fи выполнение
* n = 6
* n = 6
Вызов процедуры G и выполнение
* n = 5
* n = 5
Вызов процедуры F и выполнение
* n = 3
* n = 3
Вызов процедуры G и выполнение
* n = 2
* n = 2
Вызов процедуры F и выполнение
* n = 0

Ниже записаны две рекурсивные функции (процедуры): f и g.сколько символов «звёздочка» будет напечата
0,0(0 оценок)
Ответ:
evagir
evagir
25.09.2021 18:14

1.  ответ: 100001000₂

11001101₂ + 111011₂ = (2⁷*1 + 2⁶*1 + 2⁵*0 + 2⁴*0 + 2³*1 + 2²*1 + 2¹*0 + 2⁰*1) + (2⁵*1 + 2⁴*1 + 2³*1 + 2²*0 + 2¹*1 + 2⁰*1) = (128 + 64 + 0 + 0 + 8 + 4 + 0 + 1) + (32 + 16 + 8 + 0 + 2 + 1) = 205₁₀ + 59₁₀ = 264₁₀ = 100001000₂

Перевод 264₁₀ в 2-ю СС (mod - остаток от деления; каждый раз число делим на 2):

264 mod 2 = 0

132 mod 2 = 0

66 mod 2 = 0

33 mod 2 = 1

16 mod 2 = 0

8 mod 2 = 0

4 mod 2 = 0

2 mod 2 = 0

1 mod 2 = 1

Остаток от деления записываем в обратном порядке. Получается: 100001000₂.

2.  ответ: сума двух чисел - 100110010₂, а разность двух остальных- 1011011₂.

10011001₂ = 2⁷*1 + 2⁶*0 + 2⁵*0 + 2⁴*1 + 2³*1 + 2²*0 + 2¹*0 + 2⁰*1 = 128 + 0 + 0 + 16 + 8 + 0 + 0 + 1 = 153 ₁₀

10011001₂ (153₁₀) + 153₁₀ = 153₁₀ + 153₁₀ = 306₁₀

11011001₂ = 2⁷*1 + 2⁶*1 + 2⁵*0 + 2⁴*1 + 2³*1 + 2²*0 + 2¹*0 + 2⁰*1 = 128 + 64 + 0 + 16 + 8 + 0 + 0 + 1 = 217 ₁₀

217 ₁₀ - 126₁₀ = 91₁₀

Переводим 306₁₀ в 2-ю СС (mod - остаток от деления; каждый раз число делим на 2):

306 mod 2 = 0

153 mod 2 = 1

76 mod 2 = 0

38 mod 2 = 0

19 mod 2 = 1

9 mod 2 = 1

4 mod 2 = 0

2 mod 2 = 0

1 mod 2 = 1

Остаток от деления записываем в обратном порядке. Получается: 100110010₂.

Переводим 91₁₀ в 2-ю СС (mod - остаток от деления; каждый раз число делим на 2):

91 mod 2 = 1

45 mod 2 = 1

22 mod 2 = 0

11 mod 2 = 1

5 mod 2 = 1

2 mod 2 = 0

1 mod 2 = 1

Остаток от деления записываем в обратном порядке. Получается: 1011011₂.

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