Как сделать из символов машину

Добавил пользователь Alex
Обновлено: 04.10.2024

Привет, как это сделать?
A=. Заменить на a каждый второй символ в слове P.
сделал, училка поставила 2 и написала:
оц 2
на слове "сссввссввсвв" дает ошибку "нет команды" после замены первой "в" на "а" , причем второй символ "с" не меняет на "а"
на слове "сссавссввсвв" меняет после "а" еще 3 символа на "а", "в" оставляет и последние 4 символа опять заменяет на "а"
программа работает совсем неправильно
В общем я накалякал.

Машина Тьюринга: заменить на "а" каждый второй символ в слове P
Существует алфавит А=. Заменить на а каждый второй символ в слове P.Слово произвольное можно.

Машина Тьюринга. Существует алфавит А=. Заменить на "а" каждый второй символ в слове P
на прологе 5.2 нужно написать : Существует алфавит А=. Заменить на а каждый второй символ в.

Машина Тьюринга: заменить каждый третий символ исходного слова на "a"
Заменить каждый третий символ на а. A=. Пусть P - не пустое конечное слово. Необходимо.

Решение

Приведите вашу программу с объяснением.

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

(здесь x пробегает по a, b, c), то в основной части опять же достаточно двух правил.

3D Homer, а так можно или нет?

3D Homer, а не так не работает, в общем надо чтобы эта программка работала при любых условиях например у меня в строке все буквы c , т.е. сссссссссс
и надо чтобы она заменяла каждый второй символ на а не зависимо от слова P

Машина Тьюринга: оставить в слове P только последний символ (пустое слово не менять)
Помогите решить A=. Оставить в слове P только последний символ (пустое слово не менять).

Машина Тьюринга: Удалить из слова Р его второй символ, если такой есть
Машина Тьюринга 1. А=. Удалить из слова Р его второй символ, если такой есть. 2. A=.

Машина Тьюринга: Если первый и последний символ непустого слова различаются, то заменить слово пустым
Здравствуйте,помогите решить задачу. Если первый и последний символ непустого слова различаются.


Заменить каждый второй символ в строке
Нужна помощь Например имеется строка: 932932492349249342376 Требуется: Заменить все девятки из.

В строке символов заменить каждый второй символ ! на $
Нужен код на СИ Во всех заданиях предусмотреть захват и освобождение динамической памяти.

Машина Тьюринга — абстрактная вычислительная машина, предложенная Аланом Тьюрингом для формализации понятия алгоритма. Устройство МТ состоит из следующий частей:

  • бесконечная лента, состоящая из ячеек
  • головка для считывания/записи символов на ленте
  • устройство управления

Бесконечная лента

Лента в машине Тьюринга состоит из ячеек, в которые можно записывать символы из заданного алфавита, а также считывать их. Если на ленте ничего не записано, то считается, что там записан специальный символ l . Данный символ дополняет алфавит, но не входит в него явным образом.

Обычно на ленту в начале работы помещают входное слово. В процессе работы машины Тьюринга содержимое ленты модифицируется устройством управления и в результате на ленте остаётся выходное слово.

Считывающая/записывающая головка

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

Устройство управления

Под устройством управления понимается таблица состояний и правил перехода для машины Тьюринга. Состоянием называется строка таблицы, в которой в данный момент находится машина. Состояние, в котором находится машина перед запуском называется начальным, обычно обозначается именем q0 . Для завершения работы МТ используется специальное терминальное состояние, которое обозначается как ! .

Таблица имеет размер |Q|x|A| , где |Q| — количество состояний, а |A| — размерность алфавита (включая символ l ). В первой (заголовочной) строке написаны символы алфавита. В каждой из ячеек таблицы, относящихся к строкам с состояниями, располагаются тройки , определяющие действие машины, которое она должна сделать, если находится в данном состоянии и на ленте записан символ из заголовочной ячейки данного столбца:

  • char — символ, который нужно записать на ленту
  • action — действие, которое нужно совершить после записи (одно из трёх действий: L — сдвиг влево, N — остаться на месте, R — сдвиг вправо)
  • state — состояние, в которое необходимо перейти

Допускаются краткие записи для правил:

  • Если необходимо выполнить только сдвиг, оставшись в том же состоянии, то достаточно записать только символ перемещения: L , N или R
  • Если нужно выполнить останов, то достаточно записать !
  • Если нужно записать пустой символ ( l ), то можно поставить пробел или запятую перед символом сдвига: ,R,q0

Примеры машин Тьюринга

Пример 1 (загрузить в эмулятор). К двоичному числу прибавить 1. В начальный и конечный момент головка должна находиться на самом старшем бите слова (слева).

Q \ A01l
q0RRl L q1
q11 N q20 L q11 N !
q2LLl R !

Так как изначально по условию головка МТ находится на самом старшем бите, а увеличивать надо младший, необходимо сначала переместить головку на младший бит, что выполняется в состоянии q0: как только лента увидит символ l, она сдвинется влево (на младший бит) и перейдёт в состояние икремента (q1).

В состоянии q1 возможны следующие ситуации:

  • младший бит равен 0, его нужно заменить на 1 и переместить головку на старший бит (через состояние q2)
  • младший бит равен 1, его нужно заменить на 0, сдвинуться левее и остаться в этом же состоянии
  • в процессе замены 1 на 0 достигнут пустой символ (было записано число из одних единиц), вместо него надо записать 1 и остановить МТ

Состояние q2 нужно лишь для выполнения условия остановки головки на старшем бите. Оно полностью аналогично начальному состоянию, только движение происходит в левюу сторону и при достижении пустого символа головка сдвигается вправо и выполняется останов.

Пример 2 (загрузить в эмулятор). В слове из алфавита инвертировать символы. В начальный момент головка находится в начале слова.

Q \ Aabl
q0b R q0a R q0 !

До тех пор, пока под головкой не окажется пустой символ, вместо символа a записывается символ b , а вместо b записывается a и выполняется сдвиг головки вправо на очередной символ.

Programforyou — это сообщество, в котором Вы можете подтянуть свои знания по программированию, узнать, как эффективно решать те или иные задачи, а также воспользоваться нашими онлайн сервисами.


================================
? ? ? ? ? ? ? ???================================<- ? -> ? <-> ? <= =>================================<^O^>
(^.^)/
*^O^*
\,/(^_^)\,/
! d^_^b
\(^O^)/
(/.\)
(-_-)
(>_<)
(-_\\\)
(@_@)
(~.~)
)-00-(
(o_O)
(u_u)
(=_=)
*o*
-^o^-
(>^_^)> <(^_^<)
(o)_(o)


Любовь и поцелуи:

(??з`)? я тебя обожаю

(?m_m) я без тебя не могу

(?-_-?) интроверты тоже умеют любить

?(???)? иди ко мне, любовь моя

(??//e//??) губки бантиком

(??? ?) я тебя сильно люблю

(?????) мне с тобой так хорошо

? (??• o •?`) ? о боже, я опять влюбился по уши

(? ? `).?o? мое сердце принадлежит тебе

?(*??`*)?? меня переполняет любовь

(*???*).?.:*? в любви и в полнй гармонии

(???) ты мне очень нравишься

(???)?(???) мы любим друг-друга

(/^-^(^ ^*)/ ? целуемся и обнимаемся

w (?o?)w ?(???)? S(O_O) S(???)
(?_?) (o_O) (O_O;) (O.O)(???) ! (o_O) ! (?_?) S(?_?)?(O_O;)

m (_ _)m (?_ _)? m (. .)m <(_ _)>?(_ _*) (*_ _)? m (_ _;m) (m;_ _)m (?. .)?

(-??) фейспалм (facepalm)

(?°?°)????? в гневе бросает стол

(?°-°)????? (?°?°)? ???? взял стол и устроил дебош

+-+?(? _ ??) поставил стол на место

(?° ?? ?°) мем / лицо Ленни

(?_?) мем / взгляд неодобрения

(????s) вкусно поел

(x (x_(x_x (O_o)x_x)_x)x) живой среди зомби

( ?.)o- ? TV ? смотрит телевизор

`??`?`??(?><)? `??`??`?? ловит зонтик под дождём

(*?ii?) кровь из носа

Погода: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???*?*?*??? -‘?’- 90 ? Звезды: ? ? ? ? ? ? ? ? ? ? ? Планеты: ? ? ? ? ? ? ? ? ?

Узоры: ?i? ??? moe .illili.il. h`?H`?h` ????

Смайлы: ? ? ? ? ? ? ? ? ? ?? ? ? ?

Шахматы: ? ? ? ? ? ? ? ? ? ? ? ?
Иероглифы: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Y` ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? O` ? ? ? ?Знаки зодиака: ? ? ? ? ? ? ? ? ? ? ? ?
================================

Как составить картину из ASCII-кодов

Современные фоторедакторы предоставляют широкие возможности по обработке и улучшению фото. Но ни одна фоторабота не может произвести такого зрительного эффекта, как ASCII-графика.


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

Обычным пользователям это казалось чем-то непосильным. Тогда вряд ли можно было себе представить, какие возможности откроются через десять лет. Но уже наступила эпоха 3D, а некоторые энтузиасты до сих пор активно развивают технику создания текстовых картин.

Конвертация фото в символы

Как составить картину из ASCII-кодов

Ascii Art Maker преобразует любое фото в набор ASCII-символов

Самый простой способ получения ASCII-картины — создать ее из уже готовой фотографии или обычной растровой иллюстрации. Для этого хорошо подходит простая в использовании программа Ascii Art Maker.

Пожалуй, главная функция этой утилиты — конвертация обычного изображения в ASCII-формат. Получаемый узор составляется из заданных или случайных символов, имеющих разные оттенки. Для того чтобы программа более точно сгенерировала рисунок, в Ascii Art Maker встроен модуль подстройки параметров исходного фото — контрастности, яркости и насыщенности. Все изменения сразу отражаются на изображении.

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

На все готовое

Чтобы самостоятельно создать рисунок или логотип, состоящий из произвольного набора символов, нужно обладать не только художественными способностями, но и развитым воображением. Разработчики Cool ASCII взяли этот труд на себя и собрали целую библиотеку изображений самой разной тематики, выполненных в стиле ASCII.

Cool ASCII может генерировать код и на основе изображения, однако по сравнению с предыдущей утилитой здесь много ограничений. Например, конвертировать в ASCII-узор можно только файлы BMP, а результат позволяется сохранить лишь в формате HTML. Бесплатной версии у этой программы нет — только пробная.

ASCII-палитра

ASCII Art Studio предоставляет полную свободу в выборе инструментов для создания ASCII-рисунков

ASCII Art Studio предоставляет полную свободу в выборе инструментов для создания ASCII-рисунков

Тем, кто не прочь проявить талант художника, но при этом ищет новые инструменты, можно посоветовать ASCII Art Studio.

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

ASCII Art Studio поддерживает конвертирование файлов в форматах BMP, JPEG и GIF в символьный узор.

Стоимость утилиты довольно высока — около 900 рублей, однако предусмотрен бесплатный пробный период продолжительностью 30 дней.

Онлайновая арт-графика

Как составить картину из ASCII-кодов

Интернет стал неотъемлемым атрибутом работы на ПК, и многие программы совсем не обязательно устанавливать в штатном порядке — сетевые сервисы позволяют выполнять операции в онлайн-режиме.

Например, для любителей похвастаться продвинутой ASCII-графикой существует довольно простой ресурс ASCII-Art-Generator.

Загрузив на него фото размером до 500 кбайт, вы получите ASCII-рисунок в формате TXT. Еще один интересный ресурс — ASCII Generator позволяет облекать в симпатичное арт-исполнение различные текстовые фразы. Поддерживаются только латинские символы.

Читайте также: