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

Построить машину Тьюринга. Если в P символов a больше, чем символов b, то выдать ответ a

23.06.2017, 16:04. Показов 5334. Ответов 5
Метки нет (Все метки)

A={a,b}. Если в P символов a больше, чем символов b, то выдать ответ a, если символов a меньше символов b, то выдать ответ b, а иначе в качестве ответа выдать пустое слово.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2017, 16:04
Ответы с готовыми решениями:

Алгоритмы Маркова. A={a,b}. Если в P символов a больше, чем символов b, то выдать ответ a
A={a,b}. Если в P символов a больше, чем символов b, то выдать ответ a, если символов a меньше...

Построить машину Тьюринга, переписывающую последовательность символов в обратном порядке
Всем привет!! ))) Дано задание: Построить машину Тьюринга, переписывающую последовательность...

Как заставить Strncpy вложить в itog часть символов строки str, если дина str больше, чем кол-во нужных нам символов?
strncpy(itog,str,size+1); cout<<itog; itog вообще не выводится Добавлено через 2 минуты Вот...

Выдать сообщение об ошибке, если добавляемая запись состоит из меньше чем 6 символов
Помогите пожалуйста. Мне надо, чтобы при нажатии на кнопку Добавить выскакивало сообщение об ошибки...

5
333 / 287 / 84
Регистрация: 23.05.2016
Сообщений: 1,174
23.06.2017, 19:06 2
На предыдущее сообщение с этим же заданием вам никто не ответил не потому что задача мегасложная. Наоборот, это разминочная задача на понимание того, как работает машина Тьюринга. Попробуйте все-таки почитать материал по теме, лекции, методички.
0
12 / 7 / 7
Регистрация: 02.04.2014
Сообщений: 342
29.06.2017, 12:32 3
а сколько головок у этой машины Тьюринга?

Я че-то тоже не могу сообразить.Счетчика же нет.

Добавлено через 10 минут
Ищем первое а, переписываем его в конце ленты,стираем, потом ищем b,тоже записываем его в конец ленты,стираем.Продолжаем до тех пор,пока не останется один сорт букв(или а,или b).Если остались а,то выводим а,если b,то выводим b,если букв не осталось вообще-их одинаковое количество,выводим пустое слово.Так?
0
333 / 287 / 84
Регистрация: 23.05.2016
Сообщений: 1,174
29.06.2017, 13:02 4
Обычно, если явно не указано обратное, подразумевается МТ с одной лентой, соответственно с одной головкой.
Цитата Сообщение от sunjan Посмотреть сообщение
Счетчика же нет.
Не стоит задачи найти количество, нужно определить, каких символов больше. Сделать это можно, например, удаляя по одному символу, сначала a, затем b, затем снова a и т.д. пока один из видов символов не закончится или они не закончатся одновременно.

Добавлено через 1 минуту
Цитата Сообщение от sunjan Посмотреть сообщение
переписываем его в конце ленты
можно и так. Только с учетом того что лента бесконечна
1
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 3
24.02.2019, 02:01 5
Первое что нужно это команда, которая 1) удаляет текущий символ, 2) все символы, находящиеся правее него, сдвигает на одну позицию влево, 3) возвращает считывающую головку в начальную позицию. на фото ( количество 1 ) есть такая программа на машине Тьюринга

далее нужно искать пары a и b и удалять их. Если не получается, то ставить одну из букв и удалять все остальное. Если количество равно, пустое слово. на фотографии количество 1 0 (2).

*фотографии количество 1 0 и количество 1 0 (2). для случая когда на ленте которой в начале работы находится набор из нулей и единиц. После окончания работы на ленте должна быть «1», если число единиц больше числа нулей, «0» — если меньше и «=» в случае равенства. Кроме «0», «1» и «=» можно использовать вспомогательные символы «a» и «b».

по сути тоже самое но вместо 1и0 aиb

есть одна проблема будут оставаться промежутки между буквами например
было aabaaaba, после твоего алгоритма будет aa a ababa.
у машины нет глаз, она не поймет где кончается слово, а где просто пробел. и корректно работать не будет

Добавлено через 3 минуты
та же проблема, будут промежутки, а с пустыми промежутками будет очень сложно возиться. и просто удаляя символы машина не сможет нормально выполнить задачу.
Миниатюры
Построить машину Тьюринга. Если в P символов a больше, чем символов b, то выдать ответ a   Построить машину Тьюринга. Если в P символов a больше, чем символов b, то выдать ответ a  
0
333 / 287 / 84
Регистрация: 23.05.2016
Сообщений: 1,174
24.02.2019, 14:59 6
Цитата Сообщение от uebor Посмотреть сообщение
есть одна проблема будут оставаться промежутки между буквами
Проблема решаемая. Достаточно обозначить границы исходного слова какими-нибудь символами ограничителями, например, "*".
Цитата Сообщение от uebor Посмотреть сообщение
было aabaaaba, после твоего алгоритма будет aa a ababa.
Как-то так решается:
_aabaaaba
*aabaaaba
*aabaaaba*
*_abaaaba*
*_a_aaaba*
*___aaaba*
*___aaa_a*
*____aa_a* // на этом шаге после удаления "а" не смогли найти ни одного "b", поэтому пишем ответ, лишнее стираем
*___aaa_aа
*___aaa__а
*___aa___а
*___a____а
*________а
_________а // конец
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2019, 14:59

Указать порядковые номера символов, составляющих слово ‘Паскаль’, если таких символов нет – выдать сообщение об этом.
помогите пожалуйсьа написать программу на паскале Указать порядковые номера символов, составляющих...

Если длина строка больше 80 символов, копировать в новый файл по 80 символов
Условие: написать программу копирования текста при условии: 1. если длина строка больше 80...

Дана строка символов. Построить множество гласных символов, которые встречаются больше одного раза.
1. Дано строку символов. Построить множество гласных символов, которые встречаются больше одного...

Посчитать сколько символов А и B во введенной строке. Если символов А больше, то все символы B заменить на А, и наоборот
Посчитать сколько символов А и B во введенной строке. Если символов А больше, то все символы B...


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

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

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