LINUX.ORG.RU

Метапрог-прототип, версия 6 + будильник на Метапроге

 , ,


1

3

Наконец-то настало время для первой прикладной программы на Метапроге - будильника. Чтобы правильно его собрать, нужна последняя версия прототипа Метапрога. Архив включает в себя исходные диагарммы на LabVIEW и скомпилированные exe, которые можно запустить под Wine на линуксе, читайте инструкции из архива с названием вашего языка. Скачать:

https://www24.zippyshare.com/v/xEn1RKAG/file.html

Основная причина выпуска 6 версии - исправление бага с жесткими последовательностями, ведущими к началу цикла. Это исправление вряд ли окончательное, но для трансляции диагарммы будильника сойдет. Если после транслятора из 5 версии прототипа Метапрога сообщение о времени будильника выводилось в цикле каждый раз, то тут - только один раз, в самом начале:

https://i.postimg.cc/QM43XMjf/image.png

Также проект может похвастаться тем, что функцию проигрывания звукового файла в своей основе сделал insw, успешно разобравшись с функционалом прототипа Метапрога. Я лишь добавил дебаги с условными разветвлениями (аналог if...else) и жесткими последовательностями. В получаемом из транслятора сишном коде это выглядит как множество вложенных друг в друга if...else. Проигрывание звука:

https://i.postimg.cc/d0d2FhRY/image.png

Сишная трансляция диаграммы будильника (не забудьте sound.wav!):

https://pastebin.com/YAd4J1SN

Почему будильник на константах? С графическим вводом значений пока проблемы: всплыли новые баги с «умными массивами». Исправление будет в будущих версиях. Но в этой версии исправлено несколько других багов: теперь не должно быть проблем с заданием типа массива и индикаторы прогресса закрываются сами после завершения операции.

Переворот массива

Наконец-то удалось первернуть массив из байтов. Для этого пришлось повозиться с диаграммами транслятора-кодогенератора. В 6 версии прототипа Метапрога эта диагармма уже корректно не оттранслируется, планирую выпуск 7 версии, но надо еще поработать над массивами.

Диагармма с подробными комментариями, думаю, что все тут должно быть понятно:

https://postimg.cc/RJMKXyTB

Если все же что-то неясно - не стесняйтесь спрашивать. Полученный код:

https://pastebin.com/UsY0TZvc

Предыдущая версия:

Метапрог-прототип, версия 5



Последнее исправление: metaprog (всего исправлений: 2)
Ответ на: комментарий от DELIRIUM

Вроде он хотел захватить мир а не уничтожить? Я запутался…

AntonI ★★★★★
()
Ответ на: комментарий от DELIRIUM

фихтенгольца

Немецкий матюк?)))

Кроме шуток - имеет ли это слово значение в контексте обсуждения Метапрога? Если нет, то зачем ты назвал его? Чтобы показаться умным? Я тебя разочарую: умнее в моих глазах ты не стал.

metaprog
() автор топика
Ответ на: комментарий от metaprog

Ну фихта бы тебе почитать, чтобы хотя бы понимать O-нотацию для оценки сложности алгоритмов, для этого теорию пределов надо хотя бы на базовом уровне понимать. Фихтенгольц это все очень наглядно описывает в своем «Дифференциальном и интегральном исчислении».

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от metaprog

умнее в моих глазах ты не стал

Ты же понимаешь, что в этом треде всем абсолютно насрать на то, что тебе там в твоих глазах воспринимается?

liksys ★★★★
()
Ответ на: комментарий от liksys

Там же идеальная вселенная, где все на квадратиках со жгутиками сделано! Даже небо! Даже Аллах!

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от DELIRIUM

O-нотацию для оценки сложности алгоритмов

Я хоть и не знаю что это за зверь, но Котечка и не только пишут, что всякие там O(n) на практике вообще не работают. Правда?

metaprog
() автор топика
Ответ на: комментарий от liksys

Взаимно. Мне тоже насрать на твое мнение.

metaprog
() автор топика
Ответ на: комментарий от metaprog

Ещё как работают. Например бинарные деревья очень сильно ускоряют поиск в больших объёмах однотипных данных

saibogo ★★★★
()
Ответ на: комментарий от saibogo

Буду иметь в виду, но оставлю это на потом.

metaprog
() автор топика
Ответ на: комментарий от metaprog

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

Везде, везде это работает. Я для разнообразия даже сходил для тебя в гугл. Держи, изучай: https://habr.com/ru/post/444594/ и https://habr.com/ru/post/188010

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.