Notice: file_put_contents(): Write of 4602 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50

Warning: file_put_contents(): Only 16384 of 20986 bytes written, possibly out of free disk space in /var/www/tgoop/post.php on line 50
🦞 Geek Engineers@geek_engineers P.532
GEEK_ENGINEERS Telegram 532
🦞 Geek Engineers
کاش میشد بگم میتونم دو خط کد با Brainfuck بنویسم |: ولی در حال حاضر تو خوندنش گیر کردم. https://en.wikipedia.org/wiki/Brainfuck
بگذارید یک توضیحات ابتدایی بدم خدمتتون |:

این Brainfuck یک زبان esoteric هست. حالا این ینی چی؟ اینا یه سری زبان های برنامه نویسی هستن که برای تست کردن محدودیت های language design و تجربه و نشون دادن هنر ساخته شدن. (به زبان خودمون مرض داشتن در حقیقت :\)

حالا خود Brainfuck چجوری کار میکنه؟ BF یه نوار داره. بهش Cells میگن. تعداد این سلول ها محدودیت نداره. و شما یه pointer داری. که مسلما به سلول ها پوینت میکنه. و داخل هر سلول شما میتونی مقدار عددی ذخیره کنی. پس کاراکتر و استرینگ و ساده ترین فیچر هایی که اسمبلی داره رو هم نداریم اینجا :) اصل کارش اینه که کلا ۸ تا instruction دارین.

Command    Meaning
> Move pointer right
< Move pointer left
+ Increment current cell
- Decrement current cell
[ Begin loop (if current cell ≠ 0)
] End loop (jump back if cell ≠ 0)
. Output current cell as ASCII character
, Input one character into cell

نکته: حواستون باشه که اگرگ current cell مقدارش 0 بشه از لوپی که با براکت ساخته شده بود خارج میشه!

حالا به این مثال توجه کنید. اون اولش یه لوپ زده که میگه اگر متن بنویسید مث کامنت میمونه. فقط کامند هایی که ولید هست به حساب میان. بعدش ۸ تا + نوشته. ینی Cell#0 مقدارش مساوی میشه با ۸. بعدش یه لوپ میشه. و توی iteration ش هر دفعه بر میگرده به Cell#0 و مقدار رو یه واحد کم میکنه (تا لوپ نهایی فقط ۸ بار اجرا بشه).

بعد بقیه ش به همین منواله. منتها یه nested loop هم میبینید :) اینو برا این خاطر زده که بتونه پروگرام ش رو کوتاه تر بنویسه! اون لوپ اولی میاد در واقع ضربدر ۸ ش میکنه. و تو لوپ داخلی هم باز به همین منوال به صورت دوره ای میاد اعدادی رو به سلول ها اضافه میکنه. تا چی بشه؟!

تا بیاد برسه به بخش نهایی:

قبلش
The result of this is:
Cell no : 0 1 2 3 4 5 6
Contents: 0 0 72 104 88 32 8

>>. Cell #2 has value 72 which is 'H'
>---. Subtract 3 from Cell #3 to get 101 which is 'e'
+++++++..+++. Likewise for 'llo' from Cell #3
ادامه ش


که میگه Cell#2 در حال حاضر مقدارش 72 هست. همینجاس که میگی 72 نمنه؟ خب 72 رو توی ASCII Table پیداش بکنید بر اساس Decimal ش میبینید که همون کاراکتر 'H' هست. حالا همین
>>.

ینی چی؟ اگر یادتون باشه از لوپی که قبل از این کدا بود به برگشته بودیم به Cell#0 و الان این میگه برو Cell#2 و مقدارش رو put کن (نمایش بده).
بقیش هم عینا همینه. فقط یه گاها برای چندتا از سلول ها لازم شده که چندتا مقدار رو دستی کم و زیاد بکنه که برسه به کاراکتر مورد نظرش! ولی سیستم کار کردنش همین بود که گفتم :)

اینی هم که اینجا میبینید ساده شده همین کده. فرقی ندارن. و اینم بگم که این ساده ترین شکل و بهینه ترین شکل نمایش Hello World با Brainfuck نیست و راه های دیگری هم هست.

امیدوارم لذت برده باشید :) لایک و کامنت فراموش نشه!
6🔥2



tgoop.com/geek_engineers/532
Create:
Last Update:

بگذارید یک توضیحات ابتدایی بدم خدمتتون |:

این Brainfuck یک زبان esoteric هست. حالا این ینی چی؟ اینا یه سری زبان های برنامه نویسی هستن که برای تست کردن محدودیت های language design و تجربه و نشون دادن هنر ساخته شدن. (به زبان خودمون مرض داشتن در حقیقت :\)

حالا خود Brainfuck چجوری کار میکنه؟ BF یه نوار داره. بهش Cells میگن. تعداد این سلول ها محدودیت نداره. و شما یه pointer داری. که مسلما به سلول ها پوینت میکنه. و داخل هر سلول شما میتونی مقدار عددی ذخیره کنی. پس کاراکتر و استرینگ و ساده ترین فیچر هایی که اسمبلی داره رو هم نداریم اینجا :) اصل کارش اینه که کلا ۸ تا instruction دارین.

Command    Meaning
> Move pointer right
< Move pointer left
+ Increment current cell
- Decrement current cell
[ Begin loop (if current cell ≠ 0)
] End loop (jump back if cell ≠ 0)
. Output current cell as ASCII character
, Input one character into cell

نکته: حواستون باشه که اگرگ current cell مقدارش 0 بشه از لوپی که با براکت ساخته شده بود خارج میشه!

حالا به این مثال توجه کنید. اون اولش یه لوپ زده که میگه اگر متن بنویسید مث کامنت میمونه. فقط کامند هایی که ولید هست به حساب میان. بعدش ۸ تا + نوشته. ینی Cell#0 مقدارش مساوی میشه با ۸. بعدش یه لوپ میشه. و توی iteration ش هر دفعه بر میگرده به Cell#0 و مقدار رو یه واحد کم میکنه (تا لوپ نهایی فقط ۸ بار اجرا بشه).

بعد بقیه ش به همین منواله. منتها یه nested loop هم میبینید :) اینو برا این خاطر زده که بتونه پروگرام ش رو کوتاه تر بنویسه! اون لوپ اولی میاد در واقع ضربدر ۸ ش میکنه. و تو لوپ داخلی هم باز به همین منوال به صورت دوره ای میاد اعدادی رو به سلول ها اضافه میکنه. تا چی بشه؟!

تا بیاد برسه به بخش نهایی:

قبلش
The result of this is:
Cell no : 0 1 2 3 4 5 6
Contents: 0 0 72 104 88 32 8

>>. Cell #2 has value 72 which is 'H'
>---. Subtract 3 from Cell #3 to get 101 which is 'e'
+++++++..+++. Likewise for 'llo' from Cell #3
ادامه ش


که میگه Cell#2 در حال حاضر مقدارش 72 هست. همینجاس که میگی 72 نمنه؟ خب 72 رو توی ASCII Table پیداش بکنید بر اساس Decimal ش میبینید که همون کاراکتر 'H' هست. حالا همین
>>.

ینی چی؟ اگر یادتون باشه از لوپی که قبل از این کدا بود به برگشته بودیم به Cell#0 و الان این میگه برو Cell#2 و مقدارش رو put کن (نمایش بده).
بقیش هم عینا همینه. فقط یه گاها برای چندتا از سلول ها لازم شده که چندتا مقدار رو دستی کم و زیاد بکنه که برسه به کاراکتر مورد نظرش! ولی سیستم کار کردنش همین بود که گفتم :)

اینی هم که اینجا میبینید ساده شده همین کده. فرقی ندارن. و اینم بگم که این ساده ترین شکل و بهینه ترین شکل نمایش Hello World با Brainfuck نیست و راه های دیگری هم هست.

امیدوارم لذت برده باشید :) لایک و کامنت فراموش نشه!

BY 🦞 Geek Engineers




Share with your friend now:
tgoop.com/geek_engineers/532

View MORE
Open in Telegram


Telegram News

Date: |

On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." The group’s featured image is of a Pepe frog yelling, often referred to as the “REEEEEEE” meme. Pepe the Frog was created back in 2005 by Matt Furie and has since become an internet symbol for meme culture and “degen” culture. Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members. The court said the defendant had also incited people to commit public nuisance, with messages calling on them to take part in rallies and demonstrations including at Hong Kong International Airport, to block roads and to paralyse the public transportation system. Various forms of protest promoted on the messaging platform included general strikes, lunchtime protests and silent sit-ins. Commenting about the court's concerns about the spread of false information related to the elections, Minister Fachin noted Brazil is "facing circumstances that could put Brazil's democracy at risk." During the meeting, the information technology secretary at the TSE, Julio Valente, put forward a list of requests the court believes will disinformation.
from us


Telegram 🦞 Geek Engineers
FROM American