Необычные Поздравления С Днем Программиста – 2

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

В этот раз я просто печатаю «поздравления» — условно нетрудоёмкие методы закончились ещё в прошлом году.



Способ 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.

Необычные поздравления с Днем программиста – 2

Буквенные коды ASCII закодированы в размерах блоков, а цвета определяют последовательность действий «добавить размер предыдущего блока в стек – напечатать символ на вершине стека – повторить».

И наконец,

Способ 6. Бонус
Я очень люблю различные конкурсы и искренне считаю, что лучшее поздравление с Днем программиста – это профессиональное соревнование.

Левша и его команда верят в то же самое, и мы объединили усилия, чтобы создать такое соревнование.

На сам праздник, к сожалению, не успели, но в октябре мы его обязательно запустим! А пока вы можете зарегистрироваться для участия в бета-тестировании на сайте будущего конкурса.

coder2011.ru и проголосуйте за понравившуюся тему Здесь .

Теги: #языки программирования #день программиста #поздравления #конкурс #Ненормальное программирование

Вместе с данным постом часто просматривают: