spamsink: (Default)
Компилятор с языка POP-2, уже у нас тут упоминавшийся, оказывается, мальчиковый.

Демонстрируем на простом примере
Так себе функциональное программирование )
spamsink: (Default)
Знаменитая программа-виртуальный собеседник ELIZA была, как водится, в свое время адаптирована к русскому языку. Вот как это выглядело:

  ПEPEД BAMИ - ПPOГPAMMA "ЛИЗA", ПPEДHAЗHAЧEHHAЯ ДЛЯ
  MOДEЛИPOBAHИЯ ПPOЦECCA ЧEЛOBEЧECKOГO MЫШЛEHИЯ.
  ПPOГPAMMA ПPEДCTABЛЯET COБOЙ BAPИAHT CИCTEMЫ  ELIZA
  AДAПTИPOBAHHЫЙ COTPУДHИKAMИ ЛBTA OИЯИ ДЛЯ ЭBM БЭCM-6.
  ПOCЛE ПOЯBЛEHИЯ HA ЭKPAHE CИMBOЛA "?" HAБИPAЙTE
  CTPOKУ.  ПPИЗHAK KOHЦA CTPOKИ - CИMBOЛ "LINE FEED".
  ПPEДOCTEPEЖEHИE : ПPOГPAMMA CAMOOБУЧAЮЩAЯCЯ, ПOЭTOMУ
  OЧEHЬ ПPOCИM BAC ИЗБEГATЬ HEПPИЛИЧHЫX BЫPAЖEHИЙ.
  ЧTOБЫ ЗAKOHЧИTЬ CEAHC - HAБEPИTE CЛOBO   KOHEЦ.

вот как это работало )
spamsink: (Default)
Андрей Борисович Ходулёв, к сожалению, рано ушедший от нас (1953-1999), был замечательным человеком: и переводчиком культовой (ЕВПОЧЯ) компьютерной литературы, и разносторонним программистом, и чемпионом по решению головоломок...

В частности, он был автором реализации языка POP-2 на БЭСМ-6, об оживлении которого я не так давно писал.

Вчера выяснилось, что в Новой Зеландии of all places есть человек, которому интересно было бы это дело позапускать, потому что он сам пишет компилятор с POP-2, и нужен какой-нибудь эталон. Ну собрал я ему дистрибутивчик, послал; а что делать, не оставлять же человека в беспомощном состоянии.
spamsink: (lenin)
Без комментариев.

       П А Р А М Е Т Р Ы   А Н К Е Т Ы

01. ФАМИЛИЯ                    14. СЕМЬЯ + ДЕТИ
02. ИМЯ                        15. АДРЕС
03. ОТЧЕСТВО                   16. ТЕЛЕФОН
04. ПОЛ                        17. ЗАЧИСЛЕНИЯ ДАТА
05. РОЖДЕНИЯ ДАТА              18. ПОВЫШЕНИЯ ДАТА + ТИП
06. НАЦИОНАЛЬНОСТЬ             19. ПОДРАЗДЕЛЕНИЕ
07. КПСС ГОД                   20. ДОЛЖНОСТЬ
08. ВЛКСМ ГОД                  21. ЗАРПЛАТА
09. ПРОФСОЮЗ                   22. СОСТАВ ВОЕННЫЙ
10. ОБРАЗОВАНИЕ                23. ВОИНСКОЕ ЗВАНИЕ
11. СТЕПЕНЬ УЧЕНАЯ             24. СТРОЙ ВОЕННЫЙ
12. ЗВАНИЕ УЧЕНОЕ              25. БРОНЬ ВОЕННАЯ
13. СПЕЦИАЛЬНОСТЬ


Хотя нет, один комментарий будет. Один пунктик съехал слегка; непонятно, почему: искусственный интеллект еще не умел угадывать пол по ФИО (например, потому, что у носителей паспортов национальных республик форма отчества могла быть на национальном языке, -оглы там, -кызы, или вообще -оол, все не перечислишь; а по имени еще труднее).
spamsink: (lenin)
Под катом приведена вроде бы цельная программа на мёртвом языке POP-2, делающая вид, что играет в крестики-нолики 4х4х4. Пока не выяснено, имеется ли в нашем распоряжении работающий компилятор для этого конкретного диалекта языка. Желающим предлагается по наитию перевести эту программу на какой-нибудь более современный язык и выяснить, насколько сильно она играет.
355 строк, 9 Кб )
Публикуется, если верить гуглопоиску по текстовым сообщениям, впервые.
spamsink: (lenin)
Язык, конечно, не человеческий, поэтому в основном под катом.
В качестве примера:
    FUNCTION DEBFN X;
      IF DEBUG THEN BUGIO(X, ">",HD); DEBSP+1->DEBSP; .X;
        DEBSP-1->DEBSP; BUGIO(X, "<",LAMBDA; HD(.TL) END)
      EXIT;.X
    END;

Я понятия не имею, на что это, вообще, похоже.
и тому подобное )
spamsink: (lenin)
⠢⠂⠑⠒⠡⠠⠒⡤⢌⠌⠄⡤⠂⠌⠉⠁⢉⠤⢉⠑⠄⠔⠢⢈⢌⠠⠑⠕⢊⠢⡁⠁⠔⢉⠒⠂⠀⠀⠀⠀
⠑⠀⠢⠀⡐⠀⠀⠀⠂⠂⠂⠐⠀⠀⡐⠀⠀⠀⠂⠀⠂⠂⠄⠀⠂⠀⡀⠀⠁⠐⠀⠁⠀⠀⠀⠁⠀⠀⠀⠀
⠀⠁⠀⢡⠀⠰⠊⠬⠀⢠⠄⠄⠁⡬⠀⡄⠄⠮⠀⠌⠄⠈⠠⠠⠀⠰⠐⠌⠀⠂⠀⠀⠎⠅⠊⠀⠀⠀⠀⠀

Упрощенный вариант:
⠌⠂⢉⠂⠊⡉⠠⢉⠄⠡⠠⠊⠤⠑⠈⠑⠁⠌⠒⠈⠡⠠⠉⠄⠢⠊⠉⡑⠁⡡⢈⠈⠉⠄⠀⠀⠀⠀⠀⠀
⠀⠀⠂⡀⢀⠠⠀⠀⠂⠈⠀⠀⠒⣀⠀⡀⡀⠀⠒⠀⡐⠐⠀⠁⠠⡐⠐⠀⠄⠈⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀
⠡⠁⠀⠀⡀⠀⠈⠄⠀⡀⠈⣀⠀⠀⠠⢀⠀⢁⠀⠐⠀⠀⢄⠀⠂⠀⠄⢀⠀⠀⠀⠐⡈⠀⠀⠀⠀⠀⠀⠀

А ну-ка, криптоаналитики!
spamsink: (lenin)
На старых компьютерах не было различия между регистрами букв (сравните с самыми первыми пишущими машинками, а также с телеграфными аппаратами) - все буквы на печати выглядели как заглавные, но понимались в тексте преимущественно как строчные. Если надо было специально обозначить, что некоторая буква — заглавная, перед ней записывался символ надчеркивания (‾). Таким образом этот символ мог быть допустим, например, в именах переменных, но только если после него следует буква.
В противном случае компилятор выдавал сообщение об ошибке (по техническим причинам — даже если это нарушение было в тексте комментария). Выглядело оно так: ПОСЛЕ НАДЧЕРКИВАНИЯ <пропуск> НЕ БУКВА.

Заполните пропуск словом из семи букв. Следующие варианты неверны:пока их 7 )
Комментарии скринятся пару дней. Уже есть несколько угадавших.

Upd: Комменты открыты. Всем спасибо.
spamsink: (lenin)
Советское пасхальное яйцо: в конце генерации операционной системы программа генерации спрашивала "XOTИTE УЗHATЬ, ЧTO Я ДУMAЮ O BAC ?" и при положительном ответе выдавала одно из следующих сообщений:

  • BЫ XOPOШO ЗAПPOГPAMMИPOBAHЫ. BAC MOЖHO ИCПOЛЬЗOBATЬ BMECTO ЭBM.
  • BЫ HETEPПEЛИBЫ, HEOБУЗДAHHЫ И AГPECCИBHЫ. BЫ ПAДETE ЖEPTBOЙ COБCTBEHHЫX CTPACTEЙ.
  • BЫ TOPOПЫЖKA И XAЛTУPЩИK !
  • BЫ OЧEHЬ CПOCOБHЫ И ПPИЯTHЫ B OБЩEHИИ. BAC ЖДET ПOBЫШEHИE ПO CЛУЖБE.
  • BЫ CПOKOЙHЫ И CTAБИЛЬHЫ. BAШИ ЛУЧШИE BPEMEHA EЩE HE HACTУПИЛИ ИЛИ УЖE ПPOШЛИ.
  • XOPOШИЙ ЧEЛOBEK, HO HEAKKУPATHЫЙ.
  • BЫ, HECOMHEHHO, ГЛУБOKИЙ MЫCЛИTEЛЬ, BAM BПOPУ PAБOTATЬ CИCTEMHЫM AHAЛИCTOM.
  • BAM BCE BPEMЯ ЧTO-TO MEШAET, BЫ HE MOЖETE COCPEДOTOЧИTЬCЯ.
  • BЫ ПPOCTO CAБOTAЖHИK !
spamsink: (lenin)
Была одна программа, которая, помимо прочего, умела играть в калах. Она называлась "Джин" (хотя из выдаваемых сообщений и было понятно, что авторы знают, как пишется слово "джинн"); ей был придан соответствующий колорит, поэтому во время игры она могла выдавать следующие более или менее колоритные сообщения (остальные удалены ради краткости):
САЛАМ АЛЕЙКУМ,
САЛАМ,
  ЮН
  УВАЖАЕМ
  ПОЧТЕНН
ЫЙ
АЯ
  фамилия-ХАН
-ХАНУМ
, ЭФЕНДИ

(фамилия бралась по UID из базы ОС, пол и возраст - из базы программы, если были введены; пол также мог быть угадан по окончанию фамилии)
и так далее )
spamsink: (lenin)
Цитата из официальной инструкции 25-летней давности для пользователя ЭВМ советского производства с софтом советского производства. Публикуется в сокращении, приведенная к читабельному виду.

8.1.5. () KОHEЦ CEAHCA

/П/. Сообщение системы о завершении работы с диалоговой задачей. [...] Инициирование сообщения и завершение работы с диалоговой задачей для большей части многотерминальных и однотерминальных задач может быть произведено с помощью одного из нижеперечисленных мнемокодов: BЫЙ, BЫXОД, K (два раза), KОH, KHЦ, F, END, STОP. Примечание: если перед началом работы пользователь обнаружил на экране видеотона символ стандартного приглашения ("-") или символ нестандартного приглашения (любой другой символ, отличный от стандартного), что может явиться результатом продолжения работы диалоговой задачи, оставленной предыдущим абонентом, то перед выполнением нужной работы необходимо перебрать все буквенные сокращения, перечисленные выше. Одно из них должно оказаться директивой конца задачи. [Emphasis mine. - S.]


строго говоря )
spamsink: (lenin)
У розы из предыдущего поста, как было модно с 1980 года, должно было быть имя. Его можно было задавать явно, а если оно не было задано, генерировалось случайное. Например, такие (считайте игрек буквой У):
EKOTЬBAБ ЛЯBECЫXП EMOCИEBE EБЩATИPC TCЫKOГИЧ ЫKOCЛЯOH
OMYШAHИM HИPCTЫKO ЛИPИXПOP ИTTЫBAXC ECЯЗЫKOC ИИЯXПOTC
ПCTHЫИTЬ AHTEHOДO EБOПPИTA ИPEHЫKYД OTBACЫИC CTИTCПPO
HЫTCИЯЗO EИOЛГPOБ YЛЬOBCЫK CEMYЛЬKИ EБOTCOПЫ AДOЗATHИ
COOBOTИM HИЙCЯECT AKEИEИTE ИФOГPCTЬ ПOTTOPИФ BATEДEBA

Особо отмечу "омушаним" и "соовотим", "семульки" (превед Лему) и "ватедева" (звучит по-санскритски; так и оказалось, Dewaté-dewa = great god of gods, говорят нам гуглобуки). А Потториф (Pottorif) - реальная фамилия, говорит нам гугл.

Делалось это следующей процедурой опять Паскаль, но слегка отформатированный )
А теперь гвоздь программы: текст из 510 символов, на основе которого генерируются случайные "имена", таков: я добавил пробелы в очевидных местах для удобства чтения, в массиве Z их не было )
spamsink: (lenin)
Внезапно, в файле-образе диска, который у меня был на протяжении лет 20, нашлась программа на Паскале, датированная 23.05.85 в комментарии, рисующая на графическом дисплее разные картинки (хозяйке на заметку: дампы надо смотреть в виде потока символов во всех теоретически возможных кодировках, а не только в паре самых распространенных).
Ничего похожего на дисплей "Электроника МС 7401" винницкого производства у меня нет, поэтому птичий язык я выкинул, а команды Постскрипта вставил. Некоторые из выдаваемых картинок таким образом удалось воскресить.

Естественно, уже в то время не обошлось без котов.

Длина процедуры - 42 строки.

Также имеются случайным образом генерируемые "цветочки", символически называемые розами; видимо, за розоцветную пятилепестность. розы )
Есть и абстрактный узор (увы, только один). узор )
Название процедуры, генерирующей следующую картинку, (из 4 букв) предлагаю угадать. Не стесняйтесь, угадывайте, слово приличное, из 4 букв как по-русски, так и по-английски. как называется эта картинка? )
Приведу в качестве примера самую короткую из процедур, выдранную из исходного текста, с правками для выдачи Постскрипта:
осторожно, Паскаль )
spamsink: (lenin)
Есть набор ГОСТов, как бы регулирующих правила подготовки программной документации, ноги у которых растут из ЕСКД (единая система конструкторской документации), т.е. чем сильнее похоже на чертёж, тем лучше.
В былые времена (лет, скажем, 20 назад) с этим делом было строго, но чертить и писать чертежным шрифтом уже никому не хотелось, и документация готовилась с помощью форматирующих программ (одна из них, например, называлась СИПРОД - видимо, что-то типа "СИстема ПРОграммной Документации"), а входной язык выглядел примерно так:
*RED                                                                               
*0STA*RG*NN*1RL*0MCS1 67                                                           
*ST4 35 42 67                                                                      
 1)*MDCOГЛACOBAHO                                                                  
*MDПPEДCTABИTEЛЬ ЗAKAЗЧИKA N2272                                                   
*/*10C А.Б.ПЕТРОВ*/                                                           
 2)*MDУTBEPЖДAЮ                                                                    
*MDPУKOBOДИTEЛЬ ПPEДПPИЯTИЯ                                                        
*/*10C В.Г.ВАСЕЧКИН*/                                                                 
$                                                                                  
*0MCS5 63                                                                          
*3/                                           
...
*P*0RL*0MCS1 67                                                                    
*2/*D.-----------------------------------------------------------------.           
*/*DI                    ЛИCT PEГИCTPAЦИИ ИЗMEHEHИЙ                   I            
*/*DI-----------------------------------------------------------------I            
*/*DI   IHOMEPA ЛИCTOB (CTPAHИЦ)IBCEГO I        I          I      I   I            
*/*DI И I-----------------------IЛИCTOBI        I BXOДЯЩИЙ I      I   I            
*/*DI З I ИЗ- I ЗA- I     IAHHУ-I(CTP.)I HOMEP  I   HOMEP  I ПOД- I Д I            
*/*DI M I ME- I ME- I HO- IЛИPO-I  B   I ДOKУ-  ICOПPOBOДИ-I ПИCЬ I A I            
*/*DI . I HEH-I HEH-I BЫX IBAH- IДOKУ- I MEHTA  I TEЛЬHOГO I      I T I            
*/*DI   I HЫX I HЫX I     IHЫX  IMEHTE I        IДOKУMEHTA I      I A I            
*SL1 5 11 17 23 29 36 45 56 63 67                                                  
 1)*2/ 1)*2/ 1)*2/ 1)*2/ 1)*2/ 1)*2/                                               
 1)*2/ 1)*2/ 1)*2/ 1)*2/ 1)*2/ 1)*2/                                               
 1)*2/ 1)*2/ 1)*2/ 1)*2/ 1)*2/ 1)*2/                                               
 1)*2/ 1)*2/ 1)*2/ 1)*2/ 1)*2/                                                     
$                                                                                  
*E                                                                                 
*END

(Люди были серьёзные, до формата вида HTML или markdown не дотумкали.)

Нашлось несколько документов в подобном виде, в общей сложности под 9 тысяч строк, которые хотелось бы превратить в что-то красивое с минимумом затрат времени. По очевидным причинам гуглить слово "сипрод" или "siprod" не помогает (попробуйте, посмейтесь). Кто-нибудь пользовался подобной лабудой и помнит ли этот птичий язык?

Originally posted by [livejournal.com profile] spamsink at Единая система программной документации

spamsink: (lenin)
Определите язык программирования:
фрагмент программы )

Ради интереса комменты скринятся на день-другой.

Upd: Комменты расскринены.
spamsink: (lenin)
Один из местных музеев открыл доступ к запискам небезызвестного Гэри Килдалла, умершего при невыясненных обстоятельствах 11 июля 1994 года в одном из баров Калифорнии.
spamsink: (lenin)
C этим алгоритмом и его модификациями это просто безумие какое-то!
Было - стало:

по шагам )
или вот в цвете примерчик )
spamsink: (lenin)
Небольшое изменение алгоритма из главы 1
привело к потрясающему результату. Из исходной картинки — черного круга на белом фоне — после ста шагов получилось следующее:


Найдите на картинке четыре черепа.

вот как это было )

Profile

spamsink: (Default)
spamsink

March 2017

S M T W T F S
   12 3 4
5678 9 10 11
121314 15 1617 18
1920 2122 232425
262728293031 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 25th, 2017 01:33 pm
Powered by Dreamwidth Studios