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

Обновлено: 04.07.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 Требуется: Заменить все девятки из.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Q \ A01λ
q0RRλ L q1
q11 N q20 L q11 N !
q2LLλ R !

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

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

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

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

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

Q \ Aabλ
q0b R q0a R q0 !

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

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


================================
➳ ღ ❥ ♥ ❢ ❦ ❧ ☜♡☞================================← ↑ → ↓ ↔ ↕ ⇐ ⇒================================<^O^>
(^.^)/
*^O^*
\,/(^_^)\,/
! d^_^b
\(^O^)/
(/.\)
(-_-)
(>_<)
(-_\\\)
(@_@)
(~.~)
)-00-(
(o_O)
(u_u)
(=_=)
*o*
-^o^-
(>^_^)> <(^_^<)
(o)_(o)


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

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

(♡μ_μ) я без тебя не могу

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

ヽ(♡‿♡)ノ иди ко мне, любовь моя

(。・//ε//・。) губки бантиком

(◡‿◡ ♡) я тебя сильно люблю

(ღ˘⌣˘ღ) мне с тобой так хорошо

♡ (´。• ω •。`) ♡ о боже, я опять влюбился по уши

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

╰(*´︶`*)╯♡ меня переполняет любовь

(*˘︶˘*).。.:*♡ в любви и в полнй гармонии

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

(˘⌣˘)♡(˘⌣˘) мы любим друг-друга

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

w (゚o゚)w ヽ(゚〇゚)ノ Σ(O_O) Σ(゚ロ゚)
(⊙_⊙) (o_O) (O_O;) (O.O)(゚ロ゚) ! (o_O) ! (□_□) Σ(□_□)∑(O_O;)

m (_ _)m (シ_ _)シ m (. .)m <(_ _)>人(_ _*) (*_ _)人 m (_ _;m) (m;_ _)m (シ. .)シ

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

(╯°益°)╯彡┻━┻ в гневе бросает стол

(╮°-°)╮┳━━┳ (╯°□°)╯ ┻━━┻ взял стол и устроил дебош

┬─┬ノ(º _ ºノ) поставил стол на место

(͡° ͜ʖ ͡°) мем / лицо Ленни

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

(っ˘ڡ˘ς) вкусно поел

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

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

`、ヽ`ヽ`、ヽ(ノ><)ノ `、ヽ`☂ヽ`、ヽ ловит зонтик под дождём

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

Погода: ☀ ☁ ☂ ☃ ☼ ☽ ☾ ❄ ☄ ★ ☆ ☾ ℃ ℉ ﻩﻩﻩ*ﻩ*ﻩ*ﻩﻩﻩ -‘๑’- ϟ ︸ Звезды: ✩ ✪ ✫ ✬ ✭ ✮ ✯ ✰ ҈ ҉ ⁂ Планеты: ♂ ♁ ♀ ☿ ♃ ♄ ♅ ♆ ♇

Узоры: √ιק √Ìþ moe .ιllιlι.ιl. ҳ̸Ҳ̸ҳ ๑۩۩๑

Смайлы: ソ ッ ヅ ツ ゾ シ ジ ټ ت ン㋛ ☺ ☹ ☻

Шахматы: ♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟
Иероглифы: 牡 マ キ グ ナ ル フ ァ 系 路 克 瑞 大 阪 市 立 学 鎰 命 科 ャ マ 能 力 ϒ 人 は 妻 ス テ ィ 要 望 通 り 玉 宏 ¥ サ 丹 谷 Ѫ 灯 影 伝 鶐Знаки зодиака: ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓
================================

Как составить картину из 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 позволяет облекать в симпатичное арт-исполнение различные текстовые фразы. Поддерживаются только латинские символы.

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