0 / 0 / 1
Регистрация: 12.12.2015
Сообщений: 60
1

Машина Тьюринга. Дано двоичное число. Слева записать десятичное значение, соответствующее количеству нечетных триад

23.01.2019, 08:59. Показов 2242. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано двоичное число, содержащее 3n разрядов. Слева записать десятичное значение, соответствующее количеству нечетных триад. Начальное положение каретки – над крайней правой цифрой числа.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2019, 08:59
Ответы с готовыми решениями:

Машина Тьюринга: поделить двоичное число с остатком
Дано трехразрядное двоичное число. Осуществить его деление на два с остатком. Число и остаток...

Если дано двоичное число 11111111, 111, то его десятичное представление
1. 255, 7 2. FF, 7 3. 255, 13 4. FF, 3 5. 255, 111

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

Машина Тьюринга: получить двоичное представление шестнадцатиричного числа
Построить систему команд Машины Тьюринга, реализующей следующие действия: На входной ленте задано...

10
Эксперт по математике/физике
4166 / 3038 / 914
Регистрация: 19.11.2012
Сообщений: 6,182
23.01.2019, 10:41 2
Цитата Сообщение от solop sergei Посмотреть сообщение
соответствующее количеству нечетных триад
И что же понимается под нечетной триадой? То ли триада, стоящая на нечетном месте, то ли триада, заканчивающаяся на 1?
1
0 / 0 / 1
Регистрация: 12.12.2015
Сообщений: 60
23.01.2019, 10:58  [ТС] 3
kabenyuk,
Сам не знаю не кто не объяснил.
0
Ушел с форума
Автор FAQ
16276 / 7601 / 1064
Регистрация: 11.11.2010
Сообщений: 13,616
23.01.2019, 11:01 4
kabenyuk,
IMHO, смысл считать триады, стоящие на нечетном месте? Их будет половина массива https://www.cyberforum.ru/cgi-bin/latex.cgi?\pm 1, скорее всего речь идет о триадах, число в которых заканчивается на 1. Но об этом точно кроме ТС'а сказать никто не сможет
0
Эксперт по математике/физике
4166 / 3038 / 914
Регистрация: 19.11.2012
Сообщений: 6,182
23.01.2019, 11:02 5
Цитата Сообщение от solop sergei Посмотреть сообщение
не кто не объяснил
Ох уж этот некто. Понятно. И еще вопрос - бинарное число можно стереть с ленты? Спросите у этого некто.
1
Ушел с форума
Автор FAQ
16276 / 7601 / 1064
Регистрация: 11.11.2010
Сообщений: 13,616
23.01.2019, 11:04 6
Цитата Сообщение от solop sergei Посмотреть сообщение
Сам не знаю никто не объяснил
хотя он на всё согласится, лишь бы сделали за него
0
0 / 0 / 1
Регистрация: 12.12.2015
Сообщений: 60
23.01.2019, 11:09  [ТС] 7
Цитата Сообщение от kabenyuk Посмотреть сообщение
бинарное число можно стереть с ленты?
Нет.В результате работы программы исходные данные должны оставаться неизменными.
0
Ушел с форума
Автор FAQ
16276 / 7601 / 1064
Регистрация: 11.11.2010
Сообщений: 13,616
23.01.2019, 11:11 8

Не по теме:

Цитата Сообщение от kabenyuk Посмотреть сообщение
Спросите у этого некто.
Мальвина: Предположим, что у вас в кармане два яблока. Некто взял у вас одно яблоко. Сколько у вас осталось яблок?
Буратино: Два.
Мальвина: Подумайте хорошенько.
Буратино сморщился, — так здорово подумал.
Буратино: Два…
Мальвина: Почему?
Буратино: Я же не отдам некту яблоко, хоть он дерись!


1
Эксперт по математике/физике
4166 / 3038 / 914
Регистрация: 19.11.2012
Сообщений: 6,182
23.01.2019, 11:50 9
Лучший ответ Сообщение было отмечено solop sergei как решение

Решение

Цитата Сообщение от solop sergei Посмотреть сообщение
данные должны оставаться неизменными
Ну вот для этого случая разработайте алгоритм самостоятельно. А вот для случая, когда можно это слово уничтожить, можно так действовать. Обозначим заданное бинарное слово А, десятичное слово В - вначале В - пустое:
1) Поставим слева от А символ *, чтобы сразу за * строить В, и вернемся к правой цифре А. Для этого потребуется 3 состояния каретки.
2) Удалим очередную триаду предварительно установив ее четность. Для этого потребуется 5 состояний.
Кликните здесь для просмотра всего текста
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Укажу для этого момента команды (состояния каретки: a, a', a'', b', b''): 
q_a 0-->q_a' _ L
q_a 1-->q_b' _L
 
q_a' 0-->q_a'' _ L
q_a' 1-->q_a'' _ L
 
q_a'' 0-->q_a _ L Триада четная.
q_a'' 1-->q_a _ L 
 
q_b 0-->q_b' _ L
q_b 1-->q_b' _ L
 
q_b' 0-->q_b'' _ L
q_b' 1-->q_b'' _ L
 
q_b'' 0-->q_b _ L
q_b'' 1-->q_b _ L Триада нечетная.

3) Если триада четная, то идем на 2).
4) Если триада нечетная, то идем к *, для этого требуется одно состояние b.
5) Прибавляем к В единицу, для этого достаточно одного состояния.
6) Возвращаемся к правой цифре того, что осталось от А.
7) Если очередной триады нет, то стираем * и стоп.

Ну а случай, когда надо оставить слово А на ленте, потребует еще дополнительных символов, скажем 1' и 2'. Вместо чтобы удалить, заменяем 0-->0', 1-->1' В конце придется все вернуть на место. Потребуются и дополнительные состояния для этого. Дерзайте.
1
0 / 0 / 1
Регистрация: 12.12.2015
Сообщений: 60
23.01.2019, 15:11  [ТС] 10
Цитата Сообщение от kabenyuk Посмотреть сообщение
L
Что это значит?
0
Эксперт по математике/физике
4166 / 3038 / 914
Регистрация: 19.11.2012
Сообщений: 6,182
23.01.2019, 17:37 11
Цитата Сообщение от solop sergei Посмотреть сообщение
Что это значит?
Это значит, что вы даже не потрудились прочитать пару абзацев про машины Тьюринга.
L - каретка движется налево (left), R - каретка движется направо (right).
1
23.01.2019, 17:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2019, 17:37
Помогаю со студенческими работами здесь

Машина Тьюринга. Приписать слева к слову P символ b
A={a,b,c}. Приписать слева к слову P символ b (P → bP). Как решить данную задачу и как вообще...

Список Х состоит из нулей и едениц, представляющий число в двоичной системе счисления. Получить соответствующее десятичное число
Ребят, помогите пожалуйста с реализацией задачи, на языке Лисп. Тема: Реализация на основе ...

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

Преобразовать двоичное число в виде строки в десятичное число
Преобразовать двоичное число в виде строки в десятичное число


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru