
Вопрос задан 07.04.2019 в 23:59.
Предмет Информатика.
Спрашивает Усманов Даниял.
Вспомните задачу о вычислителе ,умеющем только умножать на 2 и прибавлять 1 .Разрабатывать для него
рациональные алгоритмы будет значительно проще,если воспользоваться следующей блок-схемой : . Используя эту блок-схему ,разработайте рациональные алгоритмы получения из числа 0 чисел 1024 и 500.(Вот блок-схема) 20 баллов


Ответы на вопрос

Отвечает Декало Алёна.
Используя данную блок-схему,чтобы получить рациональные алгоритмы для получения чисел 1024 и 500, следует идти по шагам:
1024 - число четное ,значит делим на 2 = 1024/2=512
512 - четное - делим на 2 = 512/2=256
256 - четное - делим на 2 = 256/2=128
128 - четное - делим на 2 = 128/2=64
64 - четное - делим на 2 = 64/2=32
32 - четное - делим на 2 = 32/2=16
16 - четное - делим на 2 = 16/2=8
8 - четное - делим на 2 = 8/2=4
4 - четное - делим на 2 = 4/2=2
2 - четное - делим на 2 = 2/2=1
1 - нечетное - вычитаем 1 = 1-1=0
0 - конец алгоритма.
Далее,наш алгоритм получения этого числа,является обратной последовательностью этих действий. Обозначим их как
1) - умножить на 2
2) - прибавить 1
получаем 21111111111
Таким же образом идем для получения числа 500 (решение немного сократим,чтобы не повторяться):
500 - чет -> 500/2=250
250 - чет ->250/2=125
125 - нечет -> 125-1=124
124 - чет -> 124/2=62
62 - чет -> 62/2=31
31 - нечет -> 31-1=30
30 - чет -> 30/2 = 15
15 - нечет -> 15-1=14
14 - чет -> 14/2=7
7 -нечет -> 7-1=6
6 - чет -> 6/2=3
3-нечет -> 3-1=2
2 - чет -> 2/2=1
1 - нечет -> 1-1=0
получаем алгоритм : 21212121211211
1024 - число четное ,значит делим на 2 = 1024/2=512
512 - четное - делим на 2 = 512/2=256
256 - четное - делим на 2 = 256/2=128
128 - четное - делим на 2 = 128/2=64
64 - четное - делим на 2 = 64/2=32
32 - четное - делим на 2 = 32/2=16
16 - четное - делим на 2 = 16/2=8
8 - четное - делим на 2 = 8/2=4
4 - четное - делим на 2 = 4/2=2
2 - четное - делим на 2 = 2/2=1
1 - нечетное - вычитаем 1 = 1-1=0
0 - конец алгоритма.
Далее,наш алгоритм получения этого числа,является обратной последовательностью этих действий. Обозначим их как
1) - умножить на 2
2) - прибавить 1
получаем 21111111111
Таким же образом идем для получения числа 500 (решение немного сократим,чтобы не повторяться):
500 - чет -> 500/2=250
250 - чет ->250/2=125
125 - нечет -> 125-1=124
124 - чет -> 124/2=62
62 - чет -> 62/2=31
31 - нечет -> 31-1=30
30 - чет -> 30/2 = 15
15 - нечет -> 15-1=14
14 - чет -> 14/2=7
7 -нечет -> 7-1=6
6 - чет -> 6/2=3
3-нечет -> 3-1=2
2 - чет -> 2/2=1
1 - нечет -> 1-1=0
получаем алгоритм : 21212121211211


Топ вопросов за вчера в категории Информатика

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

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