Я хочу продолжить традицию, начатую год назад. с этой статьей (кстати, я очень рада, что она до сих пор помнить ), и поговорим еще о нескольких способах сделать поздравление необычным и профессиональным.
В этот раз я просто печатаю «поздравления» — условно нетрудоёмкие методы закончились ещё в прошлом году.
Способ 1. Магия
В этой категории традиционно представлены профессиональные трюки на вполне обычных языках, которыми мы пользуемся каждый день, в данном случае C++ (или просто C).
#include <stdio.h> int main() { int A = 10, B = A^1937006968, C = B^337251857; printf((char *)&C); }Отказ от ответственности.
Этот трюк использует низкоуровневые манипуляции с памятью; результаты могут различаться в зависимости от архитектуры компьютера и используемого компилятора.
Подробно этот метод я рассмотрел в статье.
Числовые подписи ; он основан на генерации чисел, содержащих наборы байтов нужной строки, и выводе их в виде строк.
Для лучшей обфускации искомые числа можно вычислить как результат операций над другими числами — в этом случае в других режимах просмотра числа не будут отображаться как значимые строки.
Способ 2. Шпион
В прошлом году код для Пробелы .Очевидный выбор, когда нужно написать что-то невидимое, но не единственное.
В этом году я использую Ruby для достижения почти такого же эффекта.
print " ".Конечно, не так уж и впечатляюще; мешают команды, окружающие это буйство пространств.map{|z| z.size.chr}
Но написать программу гораздо проще: каждая строка в кавычках преобразуется в один символ с ASCII-кодом, равным длине строки.
Содержимое строк совершенно неважно: туда можно, например, ввести явный текст или ASCII-арт и так далее:
print " ## ## #### ##### ##### #### ## ## #### ##### ##### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ###### ###### ##### ##### ###### ###### ###### ##### ##### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##### ## ## ## ## ## ## ## ## ##### ## ## ".map{|z| z.size.chr}
Способ 3. Драматический
Это не столько самостоятельный метод, сколько поправка к методу, изложенному в прошлом году.Мне все же удалось запустить интерпретатор Шекспир , и к моему стыду, поздравления в нем не начались.
Прежде всего, язык распознает только известных автору-интерпретатору шекспировских персонажей; ни Ариэль, ни Просперо, ни Калибан не входят в их число.
То же самое касается и словарного запаса: никаких подопытных кроликов и пьяных дураков, только одобренный автором словарный запас (достаточно скудный).
Наконец, прилагательные должны соответствовать существительному по эмоциональной окраске.
Следование всем этим правилам накладывает строгие ограничения на текст и лишает его большей части очарования.
Способ 4. Классический
В прошлом году я совершенно незаслуженно очернил замечательный язык Бефунге – на нем отлично пишутся замаскированные поздравления, нужно лишь проявить немного изобретательности.Например, вот так:
v > AA vBBB >RRR AA v > AA vBBB >:#, _ @ I " " A A " B " R A A " " A A " B " R I I I SHHT AAAA ABBB RRRR AAAA GHHN AAAA OBBB CRRR I I I " " A A " B " R A A " " A A " B " R > ^ A A >BBB ^ RR A A > ^ A A >BBB ^ RR o o oЕсли внимательно присмотреться к надписи, то можно увидеть, что символы v, > и ^ направляют указатель инструкции по некоторым буквенным строкам.
Между поворотами курсора есть встроенные команды добавления символов в стек в виде «символ» — в Befunge двойная кавычка переключает режим с интерпретации команд на заталкивание символов в стек.
«Лишние» символы, встречающиеся указателю инструкции по пути, просто игнорируются.
Программа заканчивается на последнем R и первых двух восклицательных знаках циклом, который извлекает символы из стека (в порядке, обратном тому, когда они попадают в стек).
Способ 5. Декоративный
В этом разделе я предлагаю программу для Пит — этот язык оставляет больше простора для творчества, чем прошлогодний Brainloller.Буквенные коды ASCII закодированы в размерах блоков, а цвета определяют последовательность действий «добавить размер предыдущего блока в стек – напечатать символ на вершине стека – повторить».
И наконец,
Способ 6. Бонус
Я очень люблю различные конкурсы и искренне считаю, что лучшее поздравление с Днем программиста – это профессиональное соревнование.Левша и его команда верят в то же самое, и мы объединили усилия, чтобы создать такое соревнование.
На сам праздник, к сожалению, не успели, но в октябре мы его обязательно запустим! А пока вы можете зарегистрироваться для участия в бета-тестировании на сайте будущего конкурса.
coder2011.ru и проголосуйте за понравившуюся тему Здесь .
Теги: #языки программирования #день программиста #поздравления #конкурс #Ненормальное программирование
-
Пророчества Гейтса
19 Oct, 24 -
Прибыль Red Hat Выросла На 42%
19 Oct, 24 -
Контроль Доступа На Основе Поведения
19 Oct, 24