MacroWorld: портал про ЛогоМиры и ПервоЛого

Объявление



Вы находитесь на www.macroworld.mybb.ru.

Здесь вы найдете информацию по ЛогоМирам и ПервоЛого.


Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » MacroWorld: портал про ЛогоМиры и ПервоЛого » Процедуры » Учавствуем в раскрытии тайн Логомиров3.0


Учавствуем в раскрытии тайн Логомиров3.0

Сообщений 1 страница 5 из 5

1

Внимание, участники! Ищем встроенные секретные команды, ради более полного использования среды программирования Лого!

0

2

Прошу обратить ваше внимание, пользователи, что данная процедура предназначена для Абсолютно пустого проекта, во избежание утери данных.
В пояснение: когда я запускал сие творение, после обыкновенного сохранения, выключения и перезапуска проекта обнаруживалось, что тот выдает ошибку:
"Неправильный формат файла" и все данные, бывшие в проекте, просто не могут больше эксплуатироваться Логомирами.

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

это .вир
бди [нов_текст "тт1 [-400 300][800 600]][] установи "тт1 "с_именем? "нет
бди [нов_текст "тт2 [-400 300][800 600]][] установи "тт2 "с_именем? "нет установи "тт2 "видно? "нет
локально [стр сик ком]
бди [нов_атрибут "с1][] бди [нов_атрибут "с2][]
бди [нов_атрибут "с3][] бди [нов_атрибут "с4][]
бди [нов_атрибут "с5][] бди [нов_атрибут "с6][]
бди [нов_атрибут "с7][] бди [нов_атрибут "с8][]
спроси [Начать с начала?]
если или (пусто? с8) (ответ = "да) [
установи_с1 "н установи_с2 "н
установи_с3 "н установи_с4 "н
установи_с5 "н установи_с6 "н
установи_с7 "н установи_с8 46]
всегда [пусть "ош "н пусть "сик "да пусть "стр 1
бди [пусть "ком (слово :ком символ с1)][] бди [пусть "ком (слово :ком символ с2)][]
бди [пусть "ком (слово :ком символ с3)][] бди [пусть "ком (слово :ком символ с4)][]
бди [пусть "ком (слово :ком символ с5)][] бди [пусть "ком (слово :ком символ с6)][]
бди [пусть "ком (слово :ком символ с7)][] бди [пусть "ком (слово :ком символ с8)][]
установи_с8 (с8 + 1)
если с8 = 47 [установи_с8 97] если с8 = 123 [установи_с8 97 бди [установи_с7 с7 + 1] [установи_с7 46]]
если с7 = 47 [установи_с7 97] если с7 = 123 [установи_с7 97 бди [установи_с6 с6 + 1] [установи_с6 46]]
если с6 = 47 [установи_с6 97] если с6 = 123 [установи_с6 97 бди [установи_с5 с5 + 1] [установи_с5 46]]
если с5 = 47 [установи_с5 97] если с5 = 123 [установи_с5 97 бди [установи_с4 с4 + 1] [установи_с4 46]]
если с4 = 47 [установи_с4 97] если с4 = 123 [установи_с4 97 бди [установи_с3 с3 + 1] [установи_с3 46]]
если с3 = 47 [установи_с3 97] если с3 = 123 [установи_с3 97 бди [установи_с2 с2 + 1] [установи_с2 46]]
если с2 = 47 [установи_с2 97] если с2 = 123 [установи_с2 97 бди [установи_с1 с1 + 1] [установи_с1 46]]
если с1 = 47 [установи_с1 97] если с1 = 123 [останов]
тт2, бди [делай :ком бди [повтори (число_строк "тт1) [если_иначе идентичны? строка :стр "тт1 :ком [пусть "сик "нет смитсон][пусть "стр (:стр + 1) пусть "сик "да] ]][] если :сик = "да [тт1, вкт пиши :ком нота 80 2]]
[если не (элемент 2 разбери ошибка) = "знаю, [бди [повтори (число_строк "тт1) [если_иначе идентичны? строка :стр "тт1 ошибка [пусть "сик "нет смитсон][пусть "стр (:стр + 1) пусть "сик "да] ]][] если :сик = "да [тт1, вкт пиши ошибка нота 80 2]]
пусть "ком " ]
конец

Отредактировано Peter (2014-08-14 20:18:07)

0

3

Небольшая справка по коду программы.

1)Первоначально программа создает 2 текстовых окна с именами "тт1 и "тт2 в ПРОЕКТЕ РАЗМЕРОМ [820 620], НЕ МЕНЬШЕ!!!!!

Если данные тексты уже созданы, программа игнорирует этот шаг и придает текстам нужные параметры: их имена не отображаются, а текст с именем "тт2 скрыт под текстом "тт1

2)Затем создаются 4 локальных переменных:

"стр - отвечает за номер строки используемой в шаге 10.3, для сравнения идентичности с результатом шага 10.1 (или 10.2).
"сик - переменная-датчик, используемый в шаге 10.3, для выяснения надобности выведения в текстовом окне результата шага .
"ком - переменная-слово, используемое для получения результата в шаге 10.

3)Программа создает 8 глобальных переменных, необходимых для сохранения результата работы при непредусмотренном завершении программы после шага .

4)Программа запрашивает ответ на вопрос [Начать с начала?]. Для продолжения непредусмотренно завершенной работы, оставьте ответ ЛЮБЫМ, кроме слова "да. Если вы только начали работу с программой, она в любом случае установит ВСЕ 8 глобальных переменных, полученных в шаге 3, в первоначальное положение: ВСЕ кроме последней будут иметь значение "слово, последняя будет иметь вид числа.

5)Программа запускает автономный процесс, связанный с ядром программы.

6)Переменная "сик предустанавливается в значение "да. Эта переменная в процессе может лишь потерять это значение.
   Переменная "стр устанавливается в значение 1, что будет использовано при проверке идентичности(см шаг ).

7)Бесхитростный шаг, позволивший мне присвоить переменной "ком значение слова, состоящего последовательно из символов, кодами которых являются глобальные переменные. Следует отметить, что если любая из них имеет вид символа(см. шаг 4), символ игнорируется программой и переменная "ком принимает значение слова состоящего только из тех символов, чьи глобальные переменные имеют вид числа.

8)Последняя глобальная переменная увеличивается на 1

9)Блок проверок. На данном этапе программа анализирует каждую из 8-ми глобальных переменных на предмет выхода за рамки английского алфавита и точки(Переменная "ком может состоять ТОЛЬКО из строчных букв английского алфавита и точки).

10)Самый бесхитростный шаг: программа проверяет слово, содержащееся в переменной "ком на выполнимость.

10.1)При успешном выполнении слова, содержащегося в переменной "ком (Например, команды "ск"), программа проверяет наличие этого слова в уже имеющемся перечне результатов(текст "тт1)(см Подшаг 10.3).
10.2)Если программа не может просто выполнить это слово, она анализирует ошибку, получившуюся при выполнении. В том случае, если текст ошибки не является стандартным для всех невыполнимых слов(Ошибка начинается на "Не знаю, что делать с..."), программа проверяет текст "тт1 на наличие строки с идентичной информацией(см Подшаг 10.3).

10.3)Программа проверяет текст "тт1 на идентичность строки :стр текста "тт1 и результата шага 10, после чего, в случае совпадения, присваивает логической переменной "сик значение "нет" и производит невыполнимое действие, являющееся причиной выхода из этой части процедуры, ЛИБО оставляет все как есть и проверяет следующую строку. Если ни одна строка не явилась идентичной рез-тату 10-го шага, переменная "сик по-прежнему имеет значение "да"

11)Программа выводит результат шага 11 в конец текста "тт1(ТОЛЬКО если переменная "сик после шага 10.3 имеет значение "да")
12)Обнуляется переменная "ком

0

4

Как вы можете видеть, программа не предусматривает вывод ошибки связанной с русскоязычными словами. Она использует только английские буквы и точку, но на экране мы видим совершенно ИНТРИГУЮЩИЙ результат!

После первого прогона программы, я нашел по меньшей мере 10 команд, не пропечатанных ни в одном словаре ЛогоМиров, такие как:
.eb
.el
.es
.ew
.db
.ds
.dl
.dw
.serialinit
.malloc
.free
.send
.ask

И также несколько странных команд без входных параметров.

Кроме того, программа по совершенно неясной мне причине, выводит также и русские команды!
Назначение этих Скрытых Команд по большей части остается для меня загадкой.

Единственное, что мне удалось узнать:
1)команды .eb .el .es .ew закрывают ЛогоМиры без запросов на сохранение, без всякого промедления, если в качестве входного параметра написать любую цифру :)
Это можно использовать в качестве выпинывания из своего проекта при несанкционированном доступе :)
2)команда .malloc при написании цифры 1 выдает каждый раз разные шестизначные числа, приближенные к 1000000.

НО изначально программа задумывалась для нахождения команды, позволившей бы мне импортировать в проект ВИДЕО без команды "добавь" и без открытия меню "Файл". Кстати, такую команду я так и не нашел.

0

5

Кстати, на поиск скрытых команд меня натолкнул тот факт, что в Словаре ЛогоМиров3.0 в секции "продвинутый" под буквой "У" в командах "узнай" и "установи" для кнопок отсутствует пункт "надпись"!
Сами попробуйте:

бди [нкн "кнопка1 [0 0][сообщи [Вот так вота!]]][]установи "кнопка1 "надпись [Вот так вота]

До того я и предположить не мог, что некоторые команды и т.д. могут отсутствовать в Словаре, а теперь я уже не знаю, те ли ЛогоМиры3.0, за кого себя выдают!

0


Вы здесь » MacroWorld: портал про ЛогоМиры и ПервоЛого » Процедуры » Учавствуем в раскрытии тайн Логомиров3.0