{"id":300741,"date":"2020-03-25T21:00:13","date_gmt":"2020-03-25T21:00:13","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=300741"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=300741","title":{"rendered":"\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Befunge \u043d\u0430 Python"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/494132\/\">\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u043a\u0443\u0440\u0441\u0443 \u00ab\u041e\u0441\u043d\u043e\u0432\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432\u00bb \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 4-\u0433\u043e \u043a\u0443\u0440\u0441\u0430 \u044f \u0438\u0437\u0443\u0447\u0430\u043b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u044d\u0437\u043e\u0442\u0435\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. <a href=\"https:\/\/habr.com\/ru\/company\/edison\/blog\/313334\/\">\u0412\u043e\u0442 \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443<\/a>. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u0430\u043c\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u043c\u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u044f\u0437\u044b\u043a Befunge (\u041a\u0440\u0438\u0441 \u041f\u0440\u0435\u0441\u0441, 1993 \u0433\u043e\u0434), \u043e\u0441\u043e\u0431\u043e \u043e\u0442\u043c\u0435\u0447\u0443 \u0442\u0440\u0438 \u0435\u0433\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438:<\/p>\n<ol>\n<li>\u041f\u043e\u043b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u044b\u0439 \u0442\u043e\u0440, \u0442.\u0435. \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0442\u043e \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u043a\u043e\u043c\u0430\u043d\u0434-\u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0437\u0430\u043c\u043a\u043d\u0443\u0442\u0430\u044f \u043f\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0439(\u043d\u0438\u0436\u043d\u0435\u0439) \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u0438 \u043f\u043e \u043b\u0435\u0432\u043e\u043c\u0443(\u043f\u0440\u0430\u0432\u043e\u043c\u0443) \u0441\u0442\u043e\u043b\u0431\u0446\u0443. \u041f\u043e \u043f\u043e\u043b\u044e \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u043c\u0430\u043d\u0434 (\u043a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u2013 \u044d\u0442\u043e \u043d\u0435\u043a\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0441 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438 x,y), \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0438 \u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435. \u0414\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043e \u0432\u0441\u0435 4 \u0441\u0442\u043e\u0440\u043e\u043d\u044b (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0430\u043f\u0440\u0430\u0432\u043e \u0441 \u0442\u043e\u0447\u043a\u0438 0,0), \u0430 \u043f\u0440\u0438 \u0432\u044b\u0445\u043e\u0434\u0435 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u00ab\u043f\u043e\u043b\u044f\u00bb \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b.<\/li>\n<li>\u0412 \u044f\u0437\u044b\u043a\u0435 \u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (p, g), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u0435\u043d\u044f\u044e\u0442 \u0441\u0430\u043c\u043e \u043f\u043e\u043b\u0435, \u0442.\u0435. \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u00ab\u0441\u0430\u043c\u043e\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00bb \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u0435\u043d \u043a\u043e\u0434\u0443 \u043d\u0430 \u0444\u0438\u043d\u0438\u0448\u0435. \u0421\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u00ab123pgpg##@\u00bb, \u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u00abABC@1@2@3.14\u00bb (\u043d\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440).<\/li>\n<li>\u041a\u0440\u0438\u0441 \u041f\u0440\u0435\u0441\u0441\u0438 \u043e\u0442\u043c\u0435\u0447\u0430\u043b, \u0447\u0442\u043e \u0445\u043e\u0442\u0435\u043b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044f\u0437\u044b\u043a, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. \u0414\u0435-\u0444\u0430\u043a\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b exe-\u0444\u0430\u0439\u043b\u044b \u0430\u0434\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u043d\u043e, \u044f \u043d\u0430\u0448\u0435\u043b \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0447\u0442\u043e \u043d\u0430 \u0421\u0438 \u043a\u0442\u043e-\u0442\u043e \u0441\u043c\u043e\u0433 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c\u2026 \u041b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440 \u0438\u0437 \u044f\u0437\u044b\u043a\u0430 \u0432 \u043a\u043e\u0434 \u043d\u0430 Python, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b.<\/li>\n<\/ol>\n<p>  <a name=\"habracut\"><\/a><br \/>  \u041f\u043e\u043b\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 1993-\u0433\u043e \u0433\u043e\u0434\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 25 \u0441\u0442\u0440\u043e\u043a \u043f\u043e 80 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439. \u0412\u0441\u0435\u0433\u043e \u0432 \u044f\u0437\u044b\u043a\u0435 36 \u043a\u043e\u043c\u0430\u043d\u0434, \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044d\u0442\u043e \u0441\u0438\u043c\u0432\u043e\u043b \u0442\u0430\u0431\u043b\u0438\u0446\u044b ASCII. <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Befunge\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438<\/a>, \u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043e\u0442\u0442\u0443\u0434\u0430 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435:<\/p>\n<p>  <b>\u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 (9):<\/b><\/p>\n<p>  &gt; \u0414\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u043f\u0440\u0430\u0432\u043e<br \/>  &lt; \u0414\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u043b\u0435\u0432\u043e<br \/>  ^ \u0414\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u0432\u0435\u0440\u0445<br \/>  v \u0414\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u043d\u0438\u0437<br \/>  _ \u0414\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u043f\u0440\u0430\u0432\u043e, \u0435\u0441\u043b\u0438 \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430 0, \u0438\u043d\u0430\u0447\u0435 \u2014 \u0432\u043b\u0435\u0432\u043e.<br \/>  | \u0414\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u043d\u0438\u0437, \u0435\u0441\u043b\u0438 \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430 0, \u0438\u043d\u0430\u0447\u0435 \u2014 \u0432\u0432\u0435\u0440\u0445.<br \/>  ? \u0414\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438<br \/>  # \u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u044f\u0447\u0435\u0439\u043a\u0443 (\u00ab\u0442\u0440\u0430\u043c\u043f\u043b\u0438\u043d\u00bb)<br \/>  @ \u041a\u043e\u043d\u0435\u0446 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<\/p>\n<p>  <b>\u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043e \u0441\u0442\u0435\u043a\u043e\u043c (3):<\/b><\/p>\n<p>  : \u041f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a \u043a\u043e\u043f\u0438\u044e \u0432\u0435\u0440\u0448\u0438\u043d\u044b<br \/>  \\ \u041e\u0431\u043c\u0435\u043d\u044f\u0442\u044c \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u0432\u0435\u0440\u0448\u0438\u043d\u0443 \u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u0443<br \/>  $ \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0435\u0440\u0448\u0438\u043d\u0443<\/p>\n<p>  <b>\u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (2):<\/b><br \/>  p \u00abPUT\u00bb: \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u044f\u0447\u0435\u0439\u043a\u0438 \u0438 ASCII-\u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u044d\u0442\u0438\u043c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c<br \/>  g \u00abGET\u00bb: \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u044f\u0447\u0435\u0439\u043a\u0438; ASCII-\u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043f\u043e \u044d\u0442\u0438\u043c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0435\u043a<\/p>\n<p>  <b>\u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b (2):<\/b><\/p>\n<p>  0-9 \u041f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u0432 \u0441\u0442\u0435\u043a<br \/>  &quot; \u041d\u0430\u0447\u0430\u043b\u043e\/\u043a\u043e\u043d\u0435\u0446 \u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c ASCII-\u043a\u043e\u0434\u044b \u0432\u0441\u0435\u0445 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u0442\u0435\u043a<\/p>\n<p>  <b>\u0421\u0442\u0435\u043a\u043e\u0432\u044b\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (5):<\/b><\/p>\n<p>  + \u0421\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u044b<br \/>   \u2014 \u0412\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u044b<br \/>  * \u0423\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u044b<br \/>  \/ \u0426\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0434\u0435\u043b\u0435\u043d\u0438\u0435<br \/>  % \u041e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f<\/p>\n<p>  <b>\u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0441\u0442\u0435\u043a\u0430 \u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (2):<\/b><\/p>\n<p>  ! \u041e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435: \u043d\u0443\u043b\u044c \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 1, \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2014 \u043d\u0430 0<br \/>  ` \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u00ab\u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c\u00bb: \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0435\u0440\u0448\u0438\u043d\u044b, \u0432 \u0441\u0442\u0435\u043a \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f 1, \u0438\u043d\u0430\u0447\u0435 0<\/p>\n<p>  <b>\u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 (4):<\/b><\/p>\n<p>  &#038; \u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0447\u0438\u0441\u043b\u043e \u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0442\u0435\u043a<br \/>  ~ \u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0438\u043c\u0432\u043e\u043b \u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a \u0435\u0433\u043e ASCII-\u043a\u043e\u0434<br \/>  . \u0420\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u0432\u0435\u0440\u0448\u0438\u043d\u0443 \u0441\u0442\u0435\u043a\u0430 \u043a\u0430\u043a \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e<br \/>  , \u0420\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 ASCII-\u043a\u043e\u0434\u0443 \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430<\/p>\n<p>  \u042f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 (\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440) \u044f\u0437\u044b\u043a\u0430 Befunge \u043d\u0430 Python \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c 1993-\u0433\u043e \u0433\u043e\u0434\u0430 \u0441 \u043f\u0430\u0440\u043e\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439: 1) \u043f\u043e\u043b\u0435 \u043d\u0435 25\u044580 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e \u0448\u0438\u0440\u0438\u043d\u0435 \u0438 \u0432\u044b\u0441\u043e\u0442\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430, 2) \u043f\u043e\u043b\u0435 \u043d\u0435 \u0437\u0430\u043a\u043e\u043b\u044c\u0446\u043e\u0432\u0430\u043d\u043e \u0432 \u0442\u043e\u0440, \u0442.\u0435. \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0441 \u043f\u0435\u0440\u0435\u0441\u043a\u0430\u043a\u0438\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443. \u042d\u0442\u043e \u043d\u0435 \u043b\u0435\u043d\u044c (\u0445\u043e\u0442\u044f, \u043a\u043e\u0433\u043e \u044f \u043e\u0431\u043c\u0430\u043d\u044b\u0432\u0430\u044e?), \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432\u0441\u0435 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0430 \u0434\u043e\u043f\u0438\u043b\u0438\u0442\u044c \u043f\u043e\u043b\u0435 \u0434\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u043e\u0440\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e, \u0431\u044b\u043b\u043e \u0431\u044b \u0436\u0435\u043b\u0430\u043d\u0438\u0435. <\/p>\n<p>  \u041a\u043e\u0434 \u0432\u044b\u0448\u0435\u043b \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u0438\u0437\u043b\u0438\u0448\u043d\u0435 \u00ab\u0432 \u043b\u043e\u0431\u00bb, \u043d\u043e \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u043d \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u0438 \u0435\u0433\u043e \u0437\u0430\u0434\u0430\u0447\u0430 \u2013 \u0431\u044b\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c, \u0430 \u043d\u0435 \u0443\u0436\u0430\u0442\u044b\u043c \u0434\u043e \u043f\u0430\u0440\u044b \u0441\u0442\u0440\u043e\u043a \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435.<\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 1<\/h3>\n<p>  \u041a\u043e\u0434 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u0441 \u043e\u0434\u043d\u0438\u043c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c (\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0433\u043e\u0432\u043e\u0440\u0435\u043d\u043e), \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0444\u0430\u0439\u043b \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c. \u041f\u043e\u043b\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 <a href=\"https:\/\/rentry.co\/ivansedov-befunge\">rentry.co\/ivansedov-befunge<\/a>, \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 GitHub \u043c\u043d\u0435 \u043f\u043e\u043a\u0430 \u0440\u0430\u043d\u043e. \u041a \u0441\u043b\u043e\u0432\u0443, \u0442\u0430\u043c \u0435\u0441\u0442\u044c \u043e\u043a\u043e\u043b\u043e 20 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u044f\u0437\u044b\u043a\u0430 Befunge, \u043d\u043e \u043a\u043e\u0434 \u043b\u0438\u0431\u043e \u043d\u0430 \u0421\u0438 (\u043d\u0435 \u043c\u043e\u0439 \u044f\u0437\u044b\u043a), \u043b\u0438\u0431\u043e \u043d\u0430 Python, \u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u0447\u0442\u043e \u044f \u043d\u0435 \u0440\u0435\u0448\u0438\u043b\u0441\u044f \u043f\u043e\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f. \u041e\u0434\u043d\u0430\u043a\u043e, \u0442\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u0431\u0440\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0443\u0442 <a href=\"https:\/\/github.com\/causal-agent\/befungee\">github.com\/causal-agent\/befungee<\/a> <\/p>\n<pre><code class=\"python\">from sys import * import time import random <\/code><\/pre>\n<p>  \u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: <\/p>\n<ol>\n<li>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 sys \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0423 \u043c\u0435\u043d\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0430\u0437\u044b\u0432\u0430\u043b\u0441\u044f bbb.py, \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u044d\u0442\u043e\u043c \u0436\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 1.bf, \u0441\u0430\u043c Python \u0432\u0435\u0440\u0441\u0438\u0438 3.7, \u0430 \u043f\u043e\u0442\u043e\u043c\u0443 \u0432\u044b\u0437\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u0442\u0430\u043a: python3 bbb.py 1.bf<\/li>\n<li>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 time \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0430\u0445, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0434\u0435\u043b\u0430\u0442\u044c 0,5-1,0 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0435\u0436\u0434\u0443 \u0432\u044b\u0437\u043e\u0432\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434. <\/li>\n<li>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 random \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u00ab?\u00bb (\u0437\u043d\u0430\u043a \u0432\u043e\u043f\u0440\u043e\u0441\u0430), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u0435\u043d\u044f\u0435\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434. \u0414\u0430-\u0434\u0430, \u0432 Befunge \u0435\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0430-\u0430\u043d\u0430\u043b\u043e\u0433 \u0434\u043e\u0440\u043e\u0436\u043d\u043e\u0433\u043e \u043a\u0430\u043c\u043d\u044f \u0418\u043b\u044c\u0438 \u041c\u0443\u0440\u043e\u043c\u0446\u0430, \u043f\u043e\u043f\u0430\u0432 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u00ab\u043f\u043e\u0434\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u043e\u043d\u0435\u0442\u0443\u00bb \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043a\u0443\u0434\u0430 \u0438\u0434\u0442\u0438 (1 \u0432\u0432\u0435\u0440\u0445, 2 \u0432\u043f\u0440\u0430\u0432\u043e, 3 \u0432\u043d\u0438\u0437, 4 \u0432\u043b\u0435\u0432\u043e). \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u00ab\u043f\u043e\u0439\u0442\u0438 \u043d\u0430\u0437\u0430\u0434\u00bb \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u0441\u044f \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435. <\/li>\n<\/ol>\n<p>  <\/p>\n<pre><code class=\"python\">class Pointer:     def __init__(self, x=0, y=0, vector=2, value=None):         self.x = x         self.y = y         self.vector = vector         self.value = value         self.stack = []         self.stack_sf = 0      def __str__(self):         return 'Point ({},{}) vektor:{} value:{} stack_sf:{} stack:{}'.format(self.x, self.y, self.vector, self.value, self.stack_sf, self.stack)      def step(self):         if self.vector == 1:             self.x -= 1         elif self.vector == 2:             self.y += 1         elif self.vector == 3:             self.x += 1         elif self.vector == 4:             self.y -= 1      def action(self): \t# \u041f\u043e\u043a\u0430 \u0442\u0443\u0442 \u043f\u0443\u0441\u0442\u043e, \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432\u0442\u043e\u0440\u0443\u044e \u0447\u0430\u0441\u0442\u044c <\/code><\/pre>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043b\u0430\u0441\u0441, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439\u0441\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435: Pointer (\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c), \u0438\u043c\u0435\u0435\u0442 6 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0438 2 \u043c\u0435\u0442\u043e\u0434\u0430. \u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430: 1) \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0445 (\u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e=0), 2) \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0443 (\u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e=0), 3) vector (\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f, \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e=2 \u043d\u0430\u043f\u0440\u0430\u0432\u043e), 4) value (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0435 x,y, \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e=None), \u044d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043d\u0430\u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c, 5) stack (\u0441\u0442\u0435\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e=[]) \u0438 6) stack_st (\u0444\u043b\u0430\u0433 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a, \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e=0).<\/p>\n<p>  \u0423 \u043a\u043b\u0430\u0441\u0441\u0430 \u0434\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430: 1) step() \u0448\u0430\u0433 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f, \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0431\u0435\u0437 \u0432\u0441\u044f\u043a\u0438\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a \u0438 \u0442\u0435\u0441\u0442\u043e\u0432 \u043c\u0435\u043d\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 x,y \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 vector \u0438 2) action() \u044d\u0442\u043e \u0441\u0435\u0440\u0434\u0446\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u041a\u043e\u0434 action() \u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043f\u043e\u043a\u0430 \u043d\u0435 \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u043b \u043e\u0442 \u043b\u043e\u0433\u0438\u043a\u0438.<\/p>\n<pre><code class=\"python\"># =============================== # =           \u0424\u0443\u043d\u043a\u0446\u0438\u0438           = # ===============================  def open_file(name):     data = open(name, 'r').read()     return data  def field_print():     for row in A:         for elem in row:             print(elem, end='')         print()   <\/code><\/pre>\n<p>  \u0414\u0432\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: 1) open_file(name) \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043b \u043f\u043e \u043f\u0440\u0438\u0441\u043b\u0430\u043d\u043d\u043e\u043c\u0443 \u0438\u043c\u0435\u043d\u0438, \u0447\u0438\u0442\u0430\u0435\u0442 \u0435\u0433\u043e \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438 2) field_print() \u043f\u0435\u0447\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0410, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0410 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043e \u0447\u0443\u0442\u044c \u043d\u0438\u0436\u0435.<\/p>\n<pre><code class=\"python\"># =========================================== # =           \u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438           = # ===========================================  numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] operators = ['+', '-', '*', '\/', '%'] point = Pointer()                           # \u0423\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f text = open_file(argv[1]).split(&quot;\\n&quot;)       # \u0421\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 n = len(text)                               # n = \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0440\u043e\u043a m = 0                                       # m = \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432  # \u041f\u043e\u0438\u0441\u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 (\u044d\u0442\u043e \u0438 \u0431\u0443\u0434\u0435\u0442 m) for line in text:     if len(line) &gt; m:         m = len(line)  # \u041f\u043e\u043b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u043c\u0430\u0441\u0441\u0438\u0432 n \u043d\u0430 m \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432) A = [' '] * n for i in range(n):     A[i] = [' '] * m  # \u0417\u0430\u0431\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u043b\u0435 for i in range(len(text)):     for j in range(len(text[i])):         A[i][j] = text[i][j] <\/code><\/pre>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0412 \u0441\u043f\u0438\u0441\u043e\u043a numbers \u043a\u043b\u0430\u0434\u0435\u043c \u0432\u0441\u0435 \u0446\u0438\u0444\u0440\u044b \u043e\u0442 0 \u0434\u043e 9, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 (10 \u0443\u0436\u0435 \u043d\u0435 \u0432\u043b\u0435\u0437\u0435\u0442, \u0434\u0432\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430). \u0412 \u0441\u043f\u0438\u0441\u043e\u043a operators \u043a\u043b\u0430\u0434\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 point = Pointer(\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e), \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f\u2026 <\/p>\n<p>  \u0412 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e text \u043a\u043b\u0430\u0434\u0435\u043c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0440\u0430\u0437\u0431\u0438\u0442\u044b\u0439 \u043f\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0443 \u00ab\u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430\u00bb. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 text \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u0440\u043e\u043a \u0442\u0435\u043a\u0441\u0442\u0430 \u0440\u0430\u0437\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0434\u043e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432 \u043f\u043e \u0441\u0432\u043e\u0438\u043c \u043c\u0435\u0441\u0442\u0430\u043c. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u043d\u0430\u0439\u0442\u0438 \u043b\u0435\u0433\u043a\u043e n = len(text), \u0430 \u0432\u043e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u043d\u0430\u0434\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u0441\u0442\u0440\u043e\u043a, \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432 text. \u042f \u043d\u0435 \u043d\u0430\u0448\u0435\u043b \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u043b\u043e\u0431: \u043f\u0440\u043e\u0439\u0442\u0438\u0441\u044c \u043f\u043e \u0432\u0441\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0430\u043c \u0438 \u043d\u0430\u0439\u0442\u0438 \u0442\u0443, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430. \u0418\u043c\u0435\u044f \u043d\u0430 \u0440\u0443\u043a\u0430\u0445 n \u0438 m (\u0447\u0438\u0441\u043b\u043e \u0441\u0442\u0440\u043e\u043a \u0438 \u0447\u0438\u0441\u043b\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044f) \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432, \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u043e\u0431\u0435\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u043e text, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043f\u043e \u0441\u0432\u043e\u0438\u043c \u043c\u0435\u0441\u0442\u0430\u043c.<\/p>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0438 \u0432\u0441\u0435 \u044d\u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 n \u043d\u0430 m. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e field_print() \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0440\u0430\u0441\u0438\u0432\u043e, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043f\u043b\u044b\u043b\u043e \u0438 \u043d\u0435 \u043d\u0430\u0440\u0443\u0448\u0438\u043b\u043e \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<pre><code class=\"python\"># ========================================== # =           \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430           = # ==========================================  # field_print()  while point.value != '@':     try:         point.value = A[point.x][point.y]       # 1) \u0421\u0447\u0438\u0442\u0430\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043e\u0434 point         point.action()                          # 2) \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0443         # print(point)                            # 3) \u041e\u0442\u043b\u0430\u0434\u043a\u0430: \u0432\u044b\u0432\u043e\u0434 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f         # time.sleep(0.5)                         # 4) \u041e\u0442\u043b\u0430\u0434\u043a\u0430: \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 0.5 c\u0435\u043a     except IndexError:                          # \u0415\u0441\u043b\u0438 \u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u043f\u043e\u043b\u0435 = \u0441\u0442\u043e\u043f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430         print('\u041a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u0441\u0442\u0435\u043a \u0438\u043b\u0438 \u0432\u044b\u0448\u043b\u0438 \u0437\u0430 \u043f\u043e\u043b\u0435')         break  # field_print() print() <\/code><\/pre>\n<p>  \u0412\u0441\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 (\u0446\u0438\u043a\u043b), \u0434\u043e \u0438 \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043f\u043e\u043b\u0435 (\u0438\u043d\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u043e). \u0426\u0438\u043a\u043b \u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab@\u00bb (\u0430\u043c\u043f\u0435\u0440\u0441\u0430\u043d\u0434, \u0441\u043e\u0431\u0430\u0447\u043a\u0430, \u043a\u043e\u043d\u0435\u0446 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b). \u0412\u043d\u0443\u0442\u0440\u0438 \u0446\u0438\u043a\u043b\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f 4 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f:<\/p>\n<ol>\n<li>\u0412 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e point.value \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0410 \u043f\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c point.x, point.y<\/li>\n<li>\u0412\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 point.action(), \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 (\u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0439) \u043a\u043e\u043c\u0430\u043d\u0434\u044b<\/li>\n<li>\u041d\u0430 \u044d\u043a\u0440\u0430\u043d \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c (\u0432\u0441\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430)<\/li>\n<li>\u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0435\u0440\u0435\u0434 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0435\u0439 (0,1 \u0441\u0435\u043a \u2013 0,5 \u0441\u0435\u043a)<\/li>\n<\/ol>\n<p>  3 \u0438 4 \u043f\u0443\u043d\u043a\u0442\u044b \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b (\u043e\u043d\u0438 \u0434\u0430\u0436\u0435 \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b), \u043d\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u0412\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0446\u0438\u043a\u043b\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u0441 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u043e\u043c \u043e\u0448\u0438\u0431\u043a\u0438 IndexError (\u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u044b\u0445\u043e\u0434\u0430 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0438\u043d\u0434\u0435\u043a\u0441\u0430), \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430:<\/p>\n<ol>\n<li>\u041c\u044b \u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0438\u0441\u044c \u043a \u0441\u0442\u0435\u043a\u0443, \u0430 \u0442\u0430\u043c \u043d\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/li>\n<li>\u041c\u044b \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0432\u044b\u0448\u043b\u0438 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b(\u043c\u0430\u0441\u0441\u0438\u0432\u0430) \u043f\u043e \u0448\u0438\u0440\u0438\u043d\u0435 \u0438\u043b\u0438 \u0432\u044b\u0441\u043e\u0442\u0435<\/li>\n<\/ol>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u0443\u0441\u0442\u043e\u0439 print() \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0441 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 2<\/h3>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u0430\u043c\u043e\u0433\u043e \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u2013 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 point.action() \u043a\u043b\u0430\u0441\u0441\u0430 Pointer. \u0412\u0441\u0435, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0438\u0436\u0435, \u043d\u0430\u0434\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0443\u0434\u0430, \u0433\u0434\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e:<\/p>\n<pre><code class=\"python\">    def action(self): \t# \u041f\u043e\u043a\u0430 \u0442\u0443\u0442 \u043f\u0443\u0441\u0442\u043e, \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432\u0442\u043e\u0440\u0443\u044e \u0447\u0430\u0441\u0442\u044c <\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0442\u0441\u0442\u0443\u043f\u044b:<\/p>\n<pre><code class=\"python\">        if self.value == '&quot;' and self.stack_sf == 0:                # \u041f\u0435\u0440\u0432\u0430\u044f, \u0432\u0442\u043e\u0440\u0430\u044f &quot;             self.stack_sf = 1         elif self.value == '&quot;' and self.stack_sf == 1:             self.stack_sf = 0         elif self.stack_sf == 1:                                    # &quot;Hello&quot; \u0432 \u0441\u0442\u0435\u043a \u043a\u043e\u0434\u0430\u043c\u0438             self.stack.append(ord(self.value))         elif self.value in numbers and self.stack_sf == 0:             # 123 \u0432 \u0441\u0442\u0435\u043a \u0446\u0438\u0444\u0440\u0430\u043c\u0438             self.stack.append(int(self.value)) <\/code><\/pre>\n<p>  \u0424\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 action() \u044d\u0442\u043e \u043c\u043d\u043e\u0433\u043e-\u043c\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0439, \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430. \u0412\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u00ab\u0435\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 = \u043a\u0430\u0432\u044b\u0447\u043a\u0435 \u0438 \u0444\u043b\u0430\u0433 \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 stack_sf=0\u00bb, \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0444\u043b\u0430\u0433 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0432 1. \u041c\u044b \u0432\u043e\u0448\u043b\u0438 \u0432 \u0441\u0442\u0440\u043e\u043a\u0443.<\/p>\n<p>  (\u0418\u043d\u0430\u0447\u0435)\u0435\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 = \u043a\u0430\u0432\u044b\u0447\u043a\u0435 \u0438 \u0444\u043b\u0430\u0433 \u043f\u043e\u0434\u043d\u044f\u0442 \u0432 1, \u0442\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043a\u0430\u0432\u044b\u0447\u043a\u0430 \u043d\u0430\u0448\u043b\u0430\u0441\u044c \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437 \u0438 \u043d\u0430\u0434\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 (\u0444\u043b\u0430\u0433 stack_sf \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 0). \u041c\u044b \u0432\u044b\u0448\u043b\u0438 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<p>  (\u0418\u043d\u0430\u0447\u0435)\u0435\u0441\u043b\u0438 \u0434\u0432\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0438 \u0444\u043b\u0430\u0433 stack_sf=1, \u0442\u043e \u043c\u044b \u00ab\u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438\u00bb \u0438 \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a \u043a\u043e\u0434 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430. \u041d\u0435 \u0441\u0430\u043c \u0441\u0438\u043c\u0432\u043e\u043b, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e ASCII-\u043a\u043e\u0434.<\/p>\n<p>  (\u0418\u043d\u0430\u0447\u0435)\u0435\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0441\u0440\u0435\u0434\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 numbers \u0438 \u0444\u043b\u0430\u0433 stack_sf=0, \u0442\u043e \u044d\u0442\u043e, \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0446\u0438\u0444\u0440\u0430 \u0438, \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043c\u044b \u043d\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438, \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b = \u0446\u0438\u0444\u0440\u0435. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0435 \u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0430\u043c \u0441\u0438\u043c\u0432\u043e\u043b. \u0412\u0441\u0435 \u0436\u0435 \u043f\u043e\u043c\u043d\u044f\u0442, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0446\u0438\u0444\u0440\u0430 1, \u0430 \u0443 \u043d\u0435\u0435 \u043a\u043e\u0434=49. \u0422\u0430\u043a \u0432\u043e\u0442, \u0435\u0441\u043b\u0438 \u043c\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438, \u0442\u043e \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a 49, \u0430 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 1 \u0434\u043e\u043b\u0436\u043d\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a 1.<\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0438 \u0434\u0430\u043b\u0435\u0435 \u0432\u0441\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0431\u0443\u0434\u0443\u0442 elif (\u0438\u043d\u0430\u0447\u0435, \u0435\u0441\u043b\u0438\u2026), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0431\u0443\u0434\u0443 \u043f\u0438\u0441\u0430\u0442\u044c \u0438\u0445 \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u0435\u0441\u043b\u0438\u00bb. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432\u0441\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0434\u0432\u043e\u0439\u043d\u044b\u0435, \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0438 \u0435\u0449\u0435 \u0442\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u043c\u044b \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 (\u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u0441\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443). \u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u043d\u043e \u044d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432 \u043b\u043e\u0431 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u043a\u0446\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u044d\u0442\u043e\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/p>\n<pre><code class=\"python\">        elif self.value in operators and self.stack_sf == 0:             b = self.stack.pop()             a = self.stack.pop()             if self.value == '+':                 res = a + b                                         # a+b \u0432 \u0441\u0442\u0435\u043a             elif self.value == '-':                 res = a - b                                         # a-b \u0432 \u0441\u0442\u0435\u043a             elif self.value == '*':                 res = a * b                                         # a*b \u0432 \u0441\u0442\u0435\u043a             elif self.value == '\/':                 if b == 0:                     res = 0                 else:                     res = a \/\/ b                                    # a\/\/b \u0432 \u0441\u0442\u0435\u043a             elif self.value == '%':                 res = a % b                                         # a%b \u0432 \u0441\u0442\u0435\u043a             self.stack.append(res) <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0441\u0440\u0435\u0434\u0438 operators (\u0438 stack_sf=0), \u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u043c\u044b \u043f\u043e\u043f\u0430\u043b\u0438 \u043d\u0430 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e. \u0412\u0441\u0435 \u043e\u043d\u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435: 1) \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u0441\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f (\u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c) \u0447\u0438\u0441\u043b\u043e b, 2) \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u0441\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f (\u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c) \u0447\u0438\u0441\u043b\u043e a, 3) res = \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 a \u0438 b, 4) res \u043a\u043b\u0430\u0434\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0435\u043a. \u041f\u0440\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 0 \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f 0, \u0445\u043e\u0442\u044f \u0430\u0432\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b \u0432\u044b\u0431\u043e\u0440 0 \u043b\u0438\u0431\u043e 1.<\/p>\n<pre><code class=\"python\">        elif self.value == '!' and self.stack_sf == 0:             a = self.stack.pop()             if a == 0:                 a = 1             else:                 a = 0             # 0-&gt;1, 1-&gt;0             self.stack.append(a)          elif self.value == '`' and self.stack_sf == 0:             a = self.stack.pop()        # \u0432\u0435\u0440\u0448\u0438\u043d\u0430             b = self.stack.pop()        # \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u0430             if b &gt; a:                 res = 1             else:                 res = 0             # b&gt;a -&gt; 1|0             self.stack.append(res) <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab!\u00bb, \u0442\u043e \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043c\u0435\u043d\u0443 \u0433\u043e\u043b\u043e\u0432\u044b (\u0432\u0435\u0440\u0448\u0438\u043d\u044b) \u0441\u0442\u0435\u043a\u0430: \u0431\u044b\u043b 0 \u2013 \u0441\u0442\u0430\u043d\u0435\u0442 1, \u0431\u044b\u043b\u043e \u0447\u0442\u043e-\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0435 \u043e\u0442 0 \u2013 \u0441\u0442\u0430\u043d\u0435\u0442 1. \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab`\u00bb (\u0430\u043f\u043e\u0441\u0442\u0440\u043e\u0444), \u0442\u043e \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u0435\u0440\u0448\u0438\u043d\u0443 \u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u0443: 1) \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0435\u0440\u0448\u0438\u043d\u044b, \u0442\u043e \u043d\u0430 \u0441\u0442\u0435\u043a \u043a\u043b\u0430\u0434\u0435\u0442\u0441\u044f 1, 2) \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u0430 \u043c\u0435\u043d\u044c\u0448\u0435(\u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430) \u0432\u0435\u0440\u0448\u0438\u043d\u044b, \u0442\u043e \u043d\u0430 \u0441\u0442\u0435\u043a \u043a\u043b\u0430\u0434\u0435\u0442\u0441\u044f 0. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u0438 \u0441\u043d\u044f\u0442\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043e\u043d\u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f (\u0443\u0434\u0430\u043b\u044f\u044e\u0442\u0441\u044f), \u0430 \u043d\u0435 \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f.<\/p>\n<pre><code class=\"python\">        elif self.value == '?' and self.stack_sf == 0:             # ? (\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435)             a = random.randint(1, 4)             self.vector = a          elif self.value == ':' and self.stack_sf == 0:              # \u0433\u043e\u043b\u043e\u0432\u0430 \u0433\u043e\u043b\u043e\u0432\u0430             last = self.stack.pop()             self.stack.append(last)             self.stack.append(last)          elif self.value == '\\\\' and self.stack_sf == 0:             # ab =&gt; ba             a = self.stack.pop()             b = self.stack.pop()             self.stack.append(a)             self.stack.append(b) <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab?\u00bb, \u0442\u043e \u043d\u0430\u0434\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u043f\u043e\u0439\u0442\u0438 \u043f\u043e \u043d\u0435\u043c\u0443. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e random.randint(1, 4), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0442 \u0447\u0438\u0441\u043b\u0430 1,2,3,4 \u0438 \u0437\u0430\u043d\u043e\u0441\u0438\u043c \u043d\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 point.vector<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab:\u00bb, \u0442\u043e \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0432 \u0441\u0442\u0435\u043a \u043a\u043e\u043f\u0438\u044e \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0441\u0442\u0435\u043a\u0430, \u0442.\u0435. \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0435\u0435, \u0430 \u043f\u043e\u0442\u043e\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0441\u0442\u0435\u043a \u0434\u0432\u0430 \u0440\u0430\u0437\u0430.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab\\\\\u00bb (\u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u043a\u043e\u0441\u0430\u044f), \u0442\u043e \u043d\u0430\u0434\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u0432\u0435\u0440\u0448\u0438\u043d\u0443 \u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0448\u0438\u043d\u0443. \u0414\u043e\u0441\u0442\u0430\u0435\u043c \u0434\u0432\u0430 \u0447\u0438\u0441\u043b\u0430, \u043a\u043b\u0430\u0434\u0435\u043c \u0438\u0445 \u043d\u0430 \u0441\u0442\u0435\u043a \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435.<\/p>\n<pre><code class=\"python\">        elif self.value == '#' and self.stack_sf == 0:              # \u043f\u0440\u044b\u0436\u043e\u043a &quot;\u0432\u043f\u0435\u0440\u0435\u0434&quot;             self.step()          elif self.value == ',' and self.stack_sf == 0:              # \u0433\u043e\u043b\u043e\u0432\u0430=65=A             value = self.stack.pop()             print(chr(value), end='')          elif self.value == '.' and self.stack_sf == 0:              # Print \u0433\u043e\u043b\u043e\u0432\u0430             a = self.stack.pop()             print(a, end='') <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab#\u00bb (\u0440\u0435\u0448\u0435\u0442\u043a\u0430), \u0442\u043e \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u043f\u0440\u044b\u0433\u043d\u0443\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e (\u043f\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e) \u043a\u043e\u043c\u0430\u043d\u0434\u0443. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 action() \u0435\u0441\u0442\u044c \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u044b\u0436\u043e\u043a \u0432\u043f\u0435\u0440\u0435\u0434 self.step(), \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u0443\u0442\u0441\u044f \u0432\u043f\u0435\u0440\u0435\u0434 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443. \u0417\u0430\u043f\u0438\u0441\u0430\u0432 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u00ab#\u00bb self.step() \u043c\u044b \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0435\u043b\u0430\u0435\u043c \u0434\u0432\u0430 \u043f\u0440\u044b\u0436\u043a\u0430 \u0438 \u00ab\u043e\u0431\u0441\u043a\u0430\u043a\u0438\u0432\u0430\u0435\u043c\u00bb \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043e\u0441\u043b\u0435 \u00ab#\u00bb.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab,\u00bb (\u0437\u0430\u043f\u044f\u0442\u0430\u044f), \u0442\u043e \u043d\u0430\u0434\u043e \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b, ASCII-\u043a\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043b\u0435\u0436\u0438\u0442 \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430. \u0415\u0441\u043b\u0438 \u0442\u0430\u043c \u043b\u0435\u0436\u0438\u0442 \u0447\u0438\u0441\u043b\u043e 65, \u0442\u043e \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043d\u0430\u0434\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u00abA\u00bb.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab.\u00bb (\u0442\u043e\u0447\u043a\u0430), \u0442\u043e \u043d\u0430\u0434\u043e \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043b\u0435\u0436\u0438\u0442 \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430, \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u0430\u043a \u0447\u0438\u0441\u043b\u043e. \u0415\u0441\u043b\u0438 \u0442\u0430\u043c \u043b\u0435\u0436\u0438\u0442 65, \u0442\u043e \u043d\u0430\u0434\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u00ab65\u00bb. \u0412 \u043e\u0431\u043e\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f \u043f\u0440\u0438 \u0432\u044b\u0432\u043e\u0434\u0435 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 end=\u2019\u2019, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.<\/p>\n<pre><code class=\"python\">        elif self.value == '_' and self.stack_sf == 0:              # \u0423\u0441\u043b\u043e\u0432\u0438\u0435 &quot;_&quot;             test = self.stack.pop()             if test == 0:                 # \u0433\u043e\u043b\u043e\u0432\u0430 = 0, \u0432\u043f\u0440\u0430\u0432\u043e(2)                 self.vector = 2             else:                 # \u0433\u043e\u043b\u043e\u0432\u0430 !=0, \u0432\u043b\u0435\u0432\u043e(4)                 self.vector = 4          elif self.value == '|' and self.stack_sf == 0:              # \u0423\u0441\u043b\u043e\u0432\u0438\u0435 &quot;|&quot;             test = self.stack.pop()             if test == 0:                 self.vector = 3             else:                 self.vector = 1 <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u00ab_\u00bb (\u043d\u0438\u0436\u043d\u0435\u0435 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u0435), \u0442\u043e \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u043e \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u0438. \u0421\u043d\u0438\u043c\u0430\u0435\u043c \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u0447\u0438\u0441\u043b\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 (test), \u0435\u0441\u043b\u0438 \u043e\u043d\u043e =0, \u0442\u043e \u0434\u0432\u0438\u0433\u0430\u0435\u043c\u0441\u044f \u0432\u043f\u0440\u0430\u0432\u043e (vector=2), \u0435\u0441\u043b\u0438 \u043e\u043d\u043e !=0, \u0442\u043e \u0434\u0432\u0438\u0433\u0430\u0435\u043c\u0441\u044f \u0432\u043b\u0435\u0432\u043e (vector=4).<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b = \u00ab|\u00bb (\u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0435\u0440\u0442\u0430), \u0442\u043e \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u0438. \u0421\u043d\u0438\u043c\u0430\u0435\u043c \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u0447\u0438\u0441\u043b\u043e (test), \u0435\u0441\u043b\u0438 \u043e\u043d\u043e =0, \u0442\u043e \u0434\u0432\u0438\u0433\u0430\u0435\u043c\u0441\u044f \u0432\u043d\u0438\u0437 (vector=3), \u0438\u043d\u0430\u0447\u0435 \u0434\u0432\u0438\u0433\u0430\u0435\u043c\u0441\u044f \u0432\u0432\u0435\u0440\u0445 (vector=1).<\/p>\n<pre><code class=\"python\">        elif self.value == '$' and self.stack_sf == 0:              # \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0433\u043e\u043b\u043e\u0432\u0443             self.stack.pop()          elif self.value == '~' and self.stack_sf == 0:              # Input: A =&gt; 65             val = input('\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0438\u043c\u0432\u043e\u043b: ')             self.stack.append(ord(val[0]))          elif self.value == '&' and self.stack_sf == 0:              # Input: 65 =&gt; 65             val = int(input('\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0447\u0438\u0441\u043b\u043e: '))             self.stack.append((val))          elif self.value == 'p' and self.stack_sf == 0:              # x, y, symcode             x = self.stack.pop()                                    # A(x,y) = symcode             y = self.stack.pop()             symcode = self.stack.pop()             A[x][y] = chr(symcode)          # x, y, value=A(x,y)         elif self.value == 'g' and self.stack_sf == 0:             x = self.stack.pop()                                    # ord(value) =&gt; \u0441\u0442\u0435\u043a             y = self.stack.pop()             value = A[x][y]             self.stack.append(ord(value)) <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b = \u00ab$\u00bb, \u0442\u043e \u043d\u0430\u0434\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0435\u0440\u0448\u0438\u043d\u0443. \u0414\u0435\u043b\u0430\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 pop().<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b = \u00ab~\u00bb (\u0442\u0438\u043b\u044c\u0434\u0430), \u0442\u043e \u043f\u0440\u043e\u0441\u0438\u043c \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0438\u043c\u0432\u043e\u043b \u0438 \u043a\u043b\u0430\u0434\u0435\u043c \u0432 \u0441\u0442\u0435\u043a \u0435\u0433\u043e ASCII-\u043a\u043e\u0434. \u041f\u0440\u0438\u0441\u043b\u0430\u043b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u00ab\u0410\u00bb (\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0435), \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a 65. \u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043a\u043b\u0430\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u043c val[0], \u0430 \u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u0432\u0435\u0441\u0442\u0438 \u00abApple\u00bb \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043a\u043e\u0434 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b = \u00ab&#038;\u00bb (\u0430\u043c\u043f\u0435\u0440\u0441\u0430\u043d\u0434), \u0442\u043e \u043c\u044b \u043f\u0440\u043e\u0441\u0438\u043c \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0447\u0438\u0441\u043b\u043e \u0438 \u043a\u043b\u0430\u0434\u0435\u043c \u0447\u0438\u0441\u043b\u043e \u0432 \u0441\u0442\u0435\u043a. \u0412\u0432\u0435\u043b\u0438 65, \u0432 \u0441\u0442\u0435\u043a \u043d\u0430\u0434\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c 65.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0432\u0435 \u0441\u0430\u043c\u044b\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b = \u00abp\u00bb, \u0442\u043e \u043d\u0430\u0434\u043e \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u044f\u0447\u0435\u0439\u043a\u0438 \u0438 ASCII-\u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430, \u0430 \u043f\u043e\u0442\u043e\u043c \u043d\u0430 \u043f\u043e\u043b\u0435 \u0410 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u043f\u043e \u044d\u0442\u0438\u043c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432 \u0441\u0442\u0435\u043a\u0435 \u043b\u0435\u0436\u0430\u043b\u043e 1,2,65 \u0438 \u043c\u044b \u0434\u043e\u0441\u0442\u0430\u043b\u0438 (1,2) \u0438 65, \u0432 \u044f\u0447\u0435\u0439\u043a\u0443 (1,2) \u043d\u0430\u0434\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b \u00ab\u0410\u00bb. \u0415\u0449\u0435 \u0440\u0430\u0437 \u043e\u0442\u043c\u0435\u0447\u0430\u044e: \u0434\u043e\u0441\u0442\u0430\u043b\u0438 \u0442\u0440\u0438 \u0447\u0438\u0441\u043b\u0430, \u0430 \u043f\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c \u043f\u043e\u043b\u043e\u0436\u0438\u043b\u0438 \u0441\u0438\u043c\u0432\u043e\u043b. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b = \u00abg\u00bb, \u0442\u043e \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u044f\u0447\u0435\u0439\u043a\u0438, \u043f\u043e \u043d\u0438\u043c \u043d\u0430 \u043f\u043e\u043b\u0435 \u0438\u0449\u0435\u0442\u0441\u044f \u044f\u0447\u0435\u0439\u043a\u0430, \u043e\u0442\u0442\u0443\u0434\u0430 \u0434\u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b \u0438 \u0435\u0433\u043e ASCII-\u043a\u043e\u0434 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0435\u043a. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043d\u0430 \u043f\u043e\u043b\u0435 \u0432 \u044f\u0447\u0435\u0439\u043a\u0435 (2,3) \u043b\u0435\u0436\u0430\u043b \u0441\u0435\u0431\u0435 \u0441\u0438\u043c\u0432\u043e\u043b \u00abB\u00bb, \u0443 \u043d\u0430\u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0432\u044b\u0448\u043b\u0430 \u00abg\u00bb \u0438 \u043c\u044b \u0434\u043e\u0441\u0442\u0430\u043b\u0438 \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u0447\u0438\u0441\u043b\u0430 2,3. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0438\u0434\u0435\u043c \u043f\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c (2,3), \u0434\u043e\u0441\u0442\u0430\u0435\u043c \u043e\u0442\u0442\u0443\u0434\u0430 \u0441\u0438\u043c\u0432\u043e\u043b \u00abB\u00bb, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0435\u0433\u043e \u0432 \u0447\u0438\u0441\u043b\u043e 66 (\u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 B) \u0438 \u043a\u043b\u0430\u0434\u0435\u043c 66 \u043d\u0430 \u0441\u0442\u0435\u043a.<\/p>\n<pre><code class=\"python\">        elif self.value == '&gt;' and self.stack_sf == 0:              # &gt;             self.vector = 2         elif self.value == '&lt;' and self.stack_sf == 0:              # &lt;             self.vector = 4         elif self.value == '^' and self.stack_sf == 0:              # ^             self.vector = 1         elif self.value == 'v' and self.stack_sf == 0:              # v             self.vector = 3         self.step()                                                 # \u041e\u0434\u0438\u043d \u0448\u0430\u0433 <\/code><\/pre>\n<p>  \u041d\u0443, \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430: \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043f\u043e \u043f\u043e\u043b\u044e. \u0422\u0443\u0442 \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e: \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b \u0438 \u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 (vector). \u0412 \u0441\u0430\u043c\u043e\u043c \u043a\u043e\u043d\u0446\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 action() \u0441\u0442\u043e\u0438\u0442 self.step(), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0448\u0430\u0433 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, action() \u044d\u0442\u043e \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438 \u0448\u0430\u0433 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b.<\/p>\n<h3>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h3>\n<p>  \u041f\u0438\u0441\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0431\u044b\u043b\u043e \u043e\u0434\u043d\u043e \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435. \u0410 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0434\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043d\u0435\u0441\u043b\u0438 \u043c\u043e\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0448\u044c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0435\u043a\u0438\u0439 \u043a\u043e\u0434, \u0430 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f (\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e!) \u0438 \u0442\u044b \u044d\u0442\u043e \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0448\u044c! \u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u043c\u043e\u0433 \u0441\u0430\u0439\u0442 <a href=\"http:\/\/befungius.aurlien.net\/\">befungius.aurlien.net<\/a>, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0430\u0432\u0442\u043e\u0440 \u0432\u044b\u043b\u043e\u0436\u0438\u043b \u043e\u043d\u043b\u0430\u0439\u043d-\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 Befunge (\u043d\u0430 JavaScript). \u0412\u043e\u0442 \u0435\u0433\u043e \u0432\u0438\u0434\u0435\u043e \u0441 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 <a href=\"https:\/\/www.youtube.com\/watch?v=oCPT3L33848\">www.youtube.com\/watch?v=oCPT3L33848<\/a>, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e \u044f\u0437\u044b\u043a\u0435.<\/p>\n<p>  \u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u044e\u0431\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Befunge, \u043a\u0440\u043e\u043c\u0435 \u0442\u0435\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043f\u043e\u043b\u044f \u043a\u0430\u043a \u0442\u043e\u0440\u0430, \u0442.\u0435. \u0438\u043c\u0435\u044e\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044b \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0441\u0432\u0435\u0442\u0430. \u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043d\u0430\u0434\u043e \u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0430\u043c\u043e \u043f\u043e\u043b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430-\u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043c\u0435\u043d\u044f\u0435\u0442 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443 \u0410[0][1]), \u0442\u0430\u043a \u0447\u0442\u043e \u043b\u0438\u0431\u043e \u0432 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0432\u044b\u0432\u043e\u0434 \u044d\u0442\u043e\u0439 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d, \u043b\u0438\u0431\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0435 \u0432\u0441\u044e \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0410 \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0448\u0430\u0433\u0430.<\/p>\n<p>  \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u043d\u0435 \u0432\u044b\u043b\u0438\u0437\u0430\u043d\u043d\u0430\u044f \u0434\u043e \u0431\u043b\u0435\u0441\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u0430 \u0443\u0447\u0435\u0431\u043d\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438 \u043f\u0440\u0430\u0432\u0438\u0442\u044c. \u041e\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b, \u0445\u043e\u0442\u044f \u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0435\u0433\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437. \u041a\u0440\u0438\u0442\u0438\u043a\u0430 \u043d\u0435 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442\u0441\u044f, \u043d\u043e \u0438 \u043d\u0435 \u0432\u043e\u0437\u0431\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f. \u0412\u0441\u0435\u043c \u0443\u0434\u0430\u0447\u0438 \u0438 \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u043a\u043e\u0434\u0430.<\/p>\n<p>  Hello world!<\/p>\n<pre><code class=\"python\">0&quot;!dlrow olleH&quot;&gt;:#,_@ <\/code><\/pre>\n<p>  Bazz<\/p>\n<pre><code class=\"python\">0&gt; 1+:3%v &gt;^  v%5:_:5% v ,v.:_v     v0_0&quot;zzub&quot;v &quot;v         #      &gt;0&quot;zzub&quot;v &quot;   v&quot;fizz&quot;&lt;         &lt; ^&lt;         $&lt;&gt;:#,_v     &gt;      #^^#   &lt; <\/code><\/pre>\n<p>  \u0424\u0438\u0431\u043e\u043d\u0430\u0447\u0447\u0438<\/p>\n<pre><code class=\"python\">62*1+v&gt;01p001&gt;+v&gt;\\:02p\\:02gv      0       ^             &lt;      .         :p      &quot;         .1         v 0,&quot; &quot;&lt;0      &quot;  &gt;1g12-+:|      ,          @      &gt;^ <\/code><\/pre>\n<p>  Count<\/p>\n<pre><code class=\"python\">&gt;91+:9`v p   v  _v     &gt;$0 v ^ 01+*68&lt; <\/code><\/pre>\n<p>  \u0410 \u0432\u043e\u0442 \u044d\u0442\u043e \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u043f\u043e\u043b\u044f<\/p>\n<pre><code class=\"python\">0&gt;:00p58*`#@_0&gt;:01p78vv$$&lt; @^+1g00,+55_v# !`\\+*9&lt;&gt;4v$ @v30p20&quot;?~^&quot;&lt; ^+1g10,+*8&lt;$ @&gt;p0\\&gt;\\::*::882**02g*0v &gt;^ `*:*&quot; d&quot;:+*:-*&quot;[Z&quot;+g3 &lt; |&lt; v-*&quot;[Z&quot;+g30*g20**288\\--\\&lt;# &gt;2**5#&gt;8*:*\/00g&quot;P&quot;*58*:*v^ v*288 p20\/**288:+*&quot;[Z&quot;+-&lt;: &gt;*%03 p58*:*\/01g&quot;3&quot;* v&gt;::^    \\_^#!:-1\\+-*2*:*85&lt;^ <\/code><\/pre>\n<p>  <b>\u0421\u0441\u044b\u043b\u043a\u0438 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b:<\/b><\/p>\n<ol>\n<li><a href=\"https:\/\/rentry.co\/ivansedov-befunge\">\u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434<\/a><\/li>\n<li><a href=\"http:\/\/befungius.aurlien.net\/\">\u041e\u043d\u043b\u0430\u0439\u043d-\u0432\u0435\u0440\u0441\u0438\u044f<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/arnemart\/befungius\">\u041e\u043d\u0430 \u0436\u0435 \u043d\u0430 JavaScript<\/a><\/li>\n<li><a href=\"http:\/\/bef-93.blogspot.com\/2014\/06\/bef-93-tutorial.html\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/a> (\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439)<\/li>\n<li><a href=\"https:\/\/esolangs.org\/wiki\/Befunge\">\u0421\u0442\u0430\u0442\u044c\u044f \u043d\u0430 \u0432\u0438\u043a\u0438<\/a> (\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439)<\/li>\n<\/ol>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/494132\/\"> https:\/\/habr.com\/ru\/post\/494132\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/494132\/\">\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u043a\u0443\u0440\u0441\u0443 \u00ab\u041e\u0441\u043d\u043e\u0432\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432\u00bb \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 4-\u0433\u043e \u043a\u0443\u0440\u0441\u0430 \u044f \u0438\u0437\u0443\u0447\u0430\u043b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u044d\u0437\u043e\u0442\u0435\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. <a href=\"https:\/\/habr.com\/ru\/company\/edison\/blog\/313334\/\">\u0412\u043e\u0442 \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443<\/a>. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u0430\u043c\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u043c\u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u044f\u0437\u044b\u043a Befunge (\u041a\u0440\u0438\u0441 \u041f\u0440\u0435\u0441\u0441, 1993 \u0433\u043e\u0434), \u043e\u0441\u043e\u0431\u043e \u043e\u0442\u043c\u0435\u0447\u0443 \u0442\u0440\u0438 \u0435\u0433\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438:<\/p>\n<ol>\n<li>\u041f\u043e\u043b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u044b\u0439 \u0442\u043e\u0440, \u0442.\u0435. \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0442\u043e \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u043a\u043e\u043c\u0430\u043d\u0434-\u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0437\u0430\u043c\u043a\u043d\u0443\u0442\u0430\u044f \u043f\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0439(\u043d\u0438\u0436\u043d\u0435\u0439) \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u0438 \u043f\u043e \u043b\u0435\u0432\u043e\u043c\u0443(\u043f\u0440\u0430\u0432\u043e\u043c\u0443) \u0441\u0442\u043e\u043b\u0431\u0446\u0443. \u041f\u043e \u043f\u043e\u043b\u044e \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u043c\u0430\u043d\u0434 (\u043a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u2013 \u044d\u0442\u043e \u043d\u0435\u043a\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0441 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438 x,y), \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0438 \u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435. \u0414\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043e \u0432\u0441\u0435 4 \u0441\u0442\u043e\u0440\u043e\u043d\u044b (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0430\u043f\u0440\u0430\u0432\u043e \u0441 \u0442\u043e\u0447\u043a\u0438 0,0), \u0430 \u043f\u0440\u0438 \u0432\u044b\u0445\u043e\u0434\u0435 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u00ab\u043f\u043e\u043b\u044f\u00bb \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b.<\/li>\n<li>\u0412 \u044f\u0437\u044b\u043a\u0435 \u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (p, g), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u0435\u043d\u044f\u044e\u0442 \u0441\u0430\u043c\u043e \u043f\u043e\u043b\u0435, \u0442.\u0435. \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u00ab\u0441\u0430\u043c\u043e\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00bb \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u0435\u043d \u043a\u043e\u0434\u0443 \u043d\u0430 \u0444\u0438\u043d\u0438\u0448\u0435. \u0421\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u00ab123pgpg##@\u00bb, \u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u00abABC@1@2@3.14\u00bb (\u043d\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440).<\/li>\n<li>\u041a\u0440\u0438\u0441 \u041f\u0440\u0435\u0441\u0441\u0438 \u043e\u0442\u043c\u0435\u0447\u0430\u043b, \u0447\u0442\u043e \u0445\u043e\u0442\u0435\u043b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044f\u0437\u044b\u043a, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. \u0414\u0435-\u0444\u0430\u043a\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b exe-\u0444\u0430\u0439\u043b\u044b \u0430\u0434\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u043d\u043e, \u044f \u043d\u0430\u0448\u0435\u043b \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0447\u0442\u043e \u043d\u0430 \u0421\u0438 \u043a\u0442\u043e-\u0442\u043e \u0441\u043c\u043e\u0433 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c\u2026 \u041b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440 \u0438\u0437 \u044f\u0437\u044b\u043a\u0430 \u0432 \u043a\u043e\u0434 \u043d\u0430 Python, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b.<\/li>\n<\/ol>\n<p>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-300741","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/300741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=300741"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/300741\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=300741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=300741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=300741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}