Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753

Польская запись и стек

17.06.2020, 17:31. Показов 5243. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пользуетесь ли Вы при написании программ польской записью или обратной польской, стеком, для какого языка программирования и в каких случаях? Что по этому поводу думаете?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2020, 17:31
Ответы с готовыми решениями:

Обратная польская запись
Можете подсказать алгоритм по переводу выражения из постфиксной нотации в инфиксную?

Обратная польская запись
если реализовывать ОПЗ на стеке функции (sin, cos, ln и т.п.) имеют какой приоритет по сравнению с остальными действиями? я предполагаю что...

Постфиксная запись (обратная польская последовательность)
Подскажите как можно сделать алгоритм нахождения значения в польской записи быстрее? Если он и так работает за линейное время. Задача не...

14
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
17.06.2020, 18:18
Forth - это есть такой стековый язык, в нем как раз все выражения записываются в виде обратной польской записи. Использую как скриптовый язык в проектах на С/CPP.

Стеки на самом деле используются в очень многих алгоритмах, вне зависимости от ЯП. Последний раз я стек использовал при парсинге довольно простого с виду формата текстового файла. Писал на Lua.

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

А еще думаю, что понимание префиксной, инфиксной и постфиксной записей - это базис.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
17.06.2020, 19:28  [ТС]
А каким образом Forth прикручивается к Си в виде скриптового языка? То есть, как это сделать?
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
17.06.2020, 20:30
Ну... я использую свой собственный... Написан на жуткой смеси плайн-си и плюсов. О стандарте нет и речи, в моей версии к примеру 3 стека, а не два как в обычном...
А вообще, сишные версии форта я встречал довольно давно, если интересно, могу поднять архивы...

Добавлено через 5 минут
Цитата Сообщение от supmener Посмотреть сообщение
То есть, как это сделать?
У меня это сишный исходник, который я просто кидаю в проект. И имеется простейший API для вызова форт-слов и получения результатов выполнения.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
17.06.2020, 20:45  [ТС]
Благодарю, Пока что изучать не планирую, поинтересовался на всякий случай (пока что изучаю Питон, Си и Лисп, а потом возможно займусь Java, Javascript и Pascal.). Если попадутся архивы на жестком диске, то можно прикрепить к сообщению, если объем не большой. Может кому то будет интересно.
А за сколько времени Вы изучили Форт и Lua и какой опыт в языках на момент начала изучения уже имели?
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
17.06.2020, 21:07
С фортом я познакомился в 9 классе, до этого в рамках УПК нам за учебный год дали Basic, Fortran и Pascal -- после императивных языков я был просто очарован возможностью легким движением вводить в язык свои собственные синтаксические конструкции. На хорошем уровне я forth начал понимать года через три, на тот момент pascal был более практичен и востребован, я в основном писал на нем, форт был скорее как хобби.

...с Луа я впервые столкнулся в 2011 году, уже имея примерно 22 года опыта работы, первый скрипт на этом языке я написал за три дня, не имея никакого опыта, на добротный уровень вышел примерно за год практики и чтения нужных книг.
1
 Аватар для Вадим Тукаев
309 / 290 / 116
Регистрация: 23.01.2018
Сообщений: 933
18.06.2020, 11:44
Если заинтересовались конкатенативными языками, очень рекомендую потыкать палочкой Factor.



Кстати, в языке APL все вычисления производятся справа налево без приоритетов. Например, 3×4+5 равно 27. Но обратной польской записью это не является, там немного сложнее устроено.

1
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
18.06.2020, 12:31
Цитата Сообщение от Вадим Тукаев Посмотреть сообщение
потыкать палочкой Factor
спасибо, тыкали.
был шанс поучаствовать в разработке, но не состоялось.
1
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
18.06.2020, 15:27
Цитата Сообщение от supmener Посмотреть сообщение
можно прикрепить к сообщению, если объем не большой. Может кому то будет интересно.
не знаю, 15 метров... as is...
0
2 / 2 / 0
Регистрация: 06.07.2022
Сообщений: 19
06.07.2022, 19:05
Forth (Форт) в интеграции с Си получается автоматически, если на Си сделана реализация его.
Достаточно много таких реализаций есть на Github (находятся по слову Forth)

P.S. там же много проектов так или иначе имеющих Forth наполнение, но зачастую в реализации Форт на разных языках программирования.

http://rosettacode.org/wiki/Category:Forth
Форум рускоязычных пользователей Форт языка (активен с 2006 года)
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
07.07.2022, 11:17
Цитата Сообщение от forthuser Посмотреть сообщение
Форум рускоязычных пользователей Форт языка (активен с 2006 года)
самая свежая запись от 24 июня. Умнгум. Я там попытался зарегистрироваться, но так подтверждения регистрации и не дождался.

На мой взгляд, Lua сейчас более перспективен. Именно в плане метапрограммирования, где когда-то форту не было равных.
0
2 / 2 / 0
Регистрация: 06.07.2022
Сообщений: 19
07.07.2022, 12:52
Да, текущая активность форумчан не большая и проявляется по каким то кому то интересным вопросам т.к. обсуждение каких то тем уже было и не по разу.

При регистрации, вроде, надо писать письмо на мыло администратора (есть на главной странице).

И, да Forth (Форт) несколько отличен от майнстрим языков т.к. построен в несколько другой парадигме и философии своего использования (конкатенативного программирования и метарасширения языка при простейшем его базовом понимании составных его частей)

P.S. т.к. база пользователей языка небольшая, то и особого прорыва его использования особо и не придвидится, но он уверенно занимает нишу встроенных систем и по рейтингу IEEE Spectrum входит в топ 50-ти языков.
Но его использование распространяется и на возможность создания разного софта для ПК.

Как пример такой программы XFMAP картографическая система для кадастровых инженеров и может применятся геодезистами для рисовки топопланов.

Исходники программы на Forth (SPF4)

Есть и популярные Форт системы как для Windows так и Linux как Win32Forth, SPF4, gForth, pForth, kForth, BigForth ..,

Достаточно зайти и на Github и ввести слово Forth чтобы убедится, что он достаточно представлен и на этой площадке.

Добавлено через 12 минут
P.P.S. Самая последняя запись на рускоязычном форуме по Forth (Форт) языку вчера в верхнем топике на заглавной странице.

Может тематика Форт обсуждения/применения приживётся и на местном форуме, а не в эпизодических репликах на форуме,
но он и здесь в какой то степени присутствует, если пошукать по закоулкам.

Форт форум:
График активности форума по метрике от mail.ru
Общая информация о текущем месте в рейтинге сайтов по посещаемости

https://concatenative.org/wiki/view/Front%20Page

Добавлено через 10 минут
Чем Форт отличается от общих языков программирования?

Тем, что в нём ключевое понятие около которого построена вся экосистема языка СЛОВО и поэтому упор на наполнение добавляемых слов в систему и их понимание/применение полностью отданo на неограниченную волю программисту.
При этом все аспекты как самой системы так и содаваемого решения контролируемы в рамках используемой системы

Добавлено через 12 минут
За счёт использования магии цепочечного программирования действие некоторого слова может быть очень лаконично запрограммировано и зачастую без необходимости использования локальных переменных.
т.к. нет необходимости связывания фактических с формальными переменных параметров функций как в алгол языках а внутренний стек для их передачи между словами находится в распоряжении программиста.
0
2 / 2 / 0
Регистрация: 06.07.2022
Сообщений: 19
07.07.2022, 13:08
Grobots

Grobots - это стратегическая игра в реальном времени, в которой вы пишете программы для управления командами роботов, когда они кормятся, размножаются и сражаются. Он работает на Mac OS X, Windows и Linux. Прочитайте обзор или посмотрите на некоторые скриншоты, чтобы узнать, что происходит. Программы, которые управляют роботами, называются сторонами и написаны на простом диалекте Форта.
attachmentid=1355692&stc=1&d=1657188440
Миниатюры
Польская запись и стек  
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.07.2022, 06:51
Цитата Сообщение от vantfiles Посмотреть сообщение
На мой взгляд, Lua сейчас более перспективен.
https://habr.com/ru/post/321864/
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
21.07.2022, 08:48  [ТС]
Калькулятор Обратной Польской Записи на Пайтон
https://github.com/FlongyDev/py-rpn
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.07.2022, 08:48
Помогаю со студенческими работами здесь

Стек. Польская запись. Вычисление значения
Здравствуйте! Очень нужна помощь в написании данной программы!!! (реализовать в динамике в паскале) Написать программу, вычисления...

польская запись
Необходима срочная помощь в реализации польской записи на С++ для АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ. УСЛОВИЕ. Необходимо вычислить...

польская запись
создать в маткад польскую запись с помощью стэк

Польская запись
Создать приложение для вычисления значения арифметического выражения, которое может включать в себя действительные числа, а также круглые...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru