![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1125 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Следующий абзац был обработан составленной мной программой, так чтобы часть внутренних букв перемешивалась, а иногда даже удалялась или добавлялась. Кто как смог прочитать текст?
Вашнжйеую роль играют яссонть и тотнчсоь речи. Совсем неортспо найти слова адвктаено, точно отражающие мысль. У писалетя, поэта есть время на эти “муки слова”, у гогорящево — нет. Амтрфносоь, вялость мысли, убогий л΅еисккон, ниакзя общая кутьрула заюосярт речь лишними, двнсмыулснеыми славоми и вынажериями. Послтшайуе внаметьлино, как отчевают на какоб-йило воорпс тенеоигилнвозо коернсроедтнпа наши почитилеские лиреды и деятели кульруты: “Э-э-э, видите ли...” Без этого обьзяталонего “видите ли” или “знаете ли” не могут натичань горотивь бошьлинство деятелей кутьрулы или арситты, прютениудщее на интетлиглнонтсеь. Хороший совет соврнменеым “масретам слова” давал аϖнтиынчй римский учетиль кррсчонеаия Квинииллтан: “Говори так, чтобы тебя незьля было не потянь”. -------------------- |
|
|
![]()
Сообщение
#2
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4814 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
chingachgoog
Я вижу ты решил сделать программу не тему "не имеющего значения порядка букв в слове" ![]() Это как известный текст: По рзелульаттам илссеовадний одонго анлигйсокго унвиертисета, не иеемт занчнеия, в кокам пряокде рсапожолены бкувы в солве. Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете. Осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без побрелм. Пичрионй эгото ялвятеся то, что мы не чиатем кдаужю бкуву по отдльенотси, а все солво цликеом. Только ты использовал другой текст, потому он выглядит более свежо. Ну и алгоритм программы у тебя более сложный, чем простая перестановка (хотя в основном используется именно перестановка букв). -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#3
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1125 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Ну и алгоритм программы у тебя более сложный, чем простая перестановка (хотя в основном используется именно перестановка букв). В общем да. Суть взята из этого давно известного "исследования". Но захотелось написать конвертер самому и посмотреть на результаты. Получилось, что если оставлять только первую и последнюю буквы, то распознать текст ОЧЕНЬ сложно. Поэтому я оставляю костяк (половину букв), а то что между ними - перемешиваю. После этого в редких случаях добавляю или удаляю какую-нибудь букву. Как-то так ![]() Кстати, очень похоже, что эти "исследования английского университета" тоже не тотально перемешивали буквы. На коленке это было сделано так: Код onMouseDown=function(){
ot.text=convertTo(it.text) } // ot - динамическое поле вывода // it - поле ввода function convertTo(txt){ var arrText0=txt.split(" ") for (var i=0; i<arrText0.length; i++){ var word=arrText0[i] if (word.length>3) { var ix0=1 for (var ixk=word.length-1; ixk>ix0; ixk--){ if ((word.charCodeAt(ixk)>64 && word.charCodeAt(ixk)<91) || (word.charCodeAt(ixk)>96 && word.charCodeAt(ixk)<123) || (word.charCodeAt(ixk)>1039 && word.charCodeAt(ixk)<1104)) break } if ((ixk-ix0)<2) continue // нет пространства для перемешивания букв var txt1=word.substring(ix0,ixk) // перемешиваемая область txt1=f_break(txt1) arrText0[i]=word.substring(0,1)+txt1+word.substring(ixk) } } return arrText0.join(" ") } function f_break(txt){ var arrTxt=[] var strToChange="" for (var i=0; i<txt.length; i++){ if (i%2) { arrTxt[i]=null strToChange+=txt.charAt(i) } else { arrTxt[i]=txt.charAt(i) } } var arrFromChange=f_change(strToChange).split("") for (var i=0; i<arrTxt.length; i++){ if (arrTxt[i]==null) arrTxt[i]=arrFromChange.shift() } var endText=arrTxt.join("") var rnd=random(100) switch (rnd){ case 0: arrTxt.splice(random(arrTxt.length),1) // случайно удаляем один символ endText=arrTxt.join("") break; case 1: var letter=String.fromCharCode(random(1169)-65) var idx=random(arrTxt.length) endText=endText.substring(0,idx)+letter+endText.substring(idx) } return endText } function f_change(txt){ var arrText0=txt.split("") var arrText2=[] while(arrText0.length){ arrText2.push(arrText0.splice(random(arrText0.length),1)[0]) } return arrText2.join("") } -------------------- |
|
|
![]()
Сообщение
#4
|
|
Заряд: 100% ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1116 Регистрация: 12.03.2008 Пользователь №: 4145 ![]() |
Так в принципе я не плохо разобрал твой текст, chingachgoog, но приведённый МастЛивом мне показался легче в прочтении.
|
|
|
![]()
Сообщение
#5
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1125 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Я сейчас присмотрелся к тексту от MustLive и заметил, что там перемешиваются тройки букв. Т.е. слово разбивается по три буквы (кроме первой и последней) и эти три буквы между собой перемешиваются. В результате в длинном слове буква не может улететь от своего места дальше 2-х позиций. Что, несомненно, облегчает прочтение.
У меня принцип иной. Я оставляю забор из букв: СИнХрОфАзОтРоН → СИ Х О А О Р Н а остальные буквы перемешиваю полностью в случайном порядке и заполняю пустоты. В результате буква может улететь очень далеко. Плюс добавляется случайное изменение слова путем добавления/вырезания случайного символа. Видимо это усложняет прочтение по сравнению с вариантом MustLive ![]() Но каждый может поиграться сам - код есть ))) -------------------- |
|
|
![]()
Сообщение
#6
|
|
Заряд: 100% ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1116 Регистрация: 12.03.2008 Пользователь №: 4145 ![]() |
Цитата Но каждый может поиграться сам - код есть ))) Ну чтож понятно, попробую поиграться ![]() |
|
|
![]()
Сообщение
#7
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4814 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Цитата На коленке это было сделано так chingachgoog, интересный алгоритм. Исследователям из "анлигйсикх унвиертисетов" пригодится ![]() Цитата попробую поиграться Все желающие могут поиграться с этим кодом. Кому нравится читабельность текстов сделанных данным алгоритмом, то пусть его используют, или переделают немного, чтобы получить интересные словоформы. А кому больше нравиться читабельность текстов как приведённый мною оригинальный пример "искажённого текста", то пусть переделают алгоритм соответствующим образом. -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 23.04.2013 - 20:34 |