সর্পিল , স্কোর: 61921 5127 4715 4655 4191
4.X~>v+^#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v
X * X X X X X X X X X X X X X X X X X X X X X X X X X
! > h y t f V b n j u [ ( 1 3 2 ) ] U J N B F T Y H G
0;vgv*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*vvv****v+^v+^v+^v+^*v++4
X X X X X X X X X X X X X X X X X X X X X X X X X X
v v v v v v v v v v v v v v v v v v v v v v v v v v
Y y J F V u t U [ G H B n 3 N 2 j ) h g f ] ( 1 b T
এখানে একজন দোভাষী পাওয়া যাবে ।
ব্যাখ্যা:
P.X~ZZ*v+^#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v
X X X X X X X X X X X X X X X X X X X X X X X X X X
! h y t f V b n j u r d c m k i e s x l o w a z p q
0;vgv*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*v*****************************************************************vP
X X X X X X X X X X X X X X X X X X X X X X X X X X
v v v v v v v v v v v v v v v v v v v v v v v v v v
z y x w V u t s r q p o n m l k j i h g f e d c b a
প্রোগ্রামটি 0
চতুর্থ লাইনের চরিত্র থেকে শুরু হয় । কোড চালানোর প্রথম টুকরোটি 0;vg
। ;
ইনপুট হিসাবে একটি সংখ্যা নেয় এবং এটি স্ট্যাকে রাখে। v
রেজিস্টারে যা আছে তা স্ট্যাকের মধ্যে রাখে। এটি কাউন্টার হিসাবে ব্যবহৃত হবে। g
এটি একটি লেবেল, যখন এটি পৌঁছে যায়, নিয়ন্ত্রণটি g
কোডের চিঠির অন্য উপস্থিতিতে চলে যায় ।
নিয়ন্ত্রণ এখন তাই এখানে:
X
v
g
যেহেতু অন্য সমস্ত দিকগুলিতে সাদা স্থান রয়েছে তাই নির্দেশিকা পয়েন্টারটি উপরের দিকে অগ্রসর হতে শুরু করে।
v
স্ট্যাকের মধ্যে একটি শূন্য রাখে এবং X
তাড়াতাড়ি স্ট্যাক থেকে পপ করে। পপড মানটি শূন্য হওয়ায়, নির্দেশ পয়েন্টারটি সরানো হয় X
(অন্যথায় এটি এটিকে হোয়াইটস্পেস হিসাবে বিবেচনা করবে)।
ডিফল্টরূপে, নিয়ন্ত্রণ প্রবাহটি টার্ন-ডান মোডে রয়েছে, সুতরাং এখন যখন এটি জংশনে পৌঁছায়, নির্দেশ পয়েন্টারটি ডানদিকে ফিরে যায়। v
তবুও আবার স্ট্যাকের মধ্যে একটি শূন্যের দিকে ঠেলে দেয়, *
নিবন্ধকে একের সাথে বাড়িয়ে দেয়।
v*v*v
X
v
g
পরেরটি v
নিবন্ধে যা আছে তা (1 নম্বর) স্ট্যাকের মধ্যে রাখে, নির্দেশ পয়েন্টারটি ডানে ফিরে যাওয়ার চেষ্টা করে, পরবর্তীটিতে আঘাত করে X
। স্তুপে সবে যুক্ত করা মানটি পপড এবং রেজিস্টারে রাখা হয়। কারণ এটি শূন্য X
নয়, প্রবেশ করা হয়নি এবং আইপি *
তার পরিবর্তে ডানদিকে পরের দিকে চলে যায় , আবার রেজিস্টারে মান বাড়িয়ে দেয়।
v*v*v*v*v
X X X X X
v v v v v
i h g f e
যতক্ষণ না আমরা এই অংশটির শেষ প্রান্তে পৌঁছায় এবং এর লাইন *
শুরু না হয় এটি বারবার ঘটে happens এতক্ষণে নিবন্ধকের মান 6, যা এএসসিআইআই লেটার g
বিয়োগ এসএসসিআই চিঠি a
। এইভাবে 97 *
টির একটি লাইনের সাহায্যে আমরা নিবন্ধকে মানটি 103-তে বাড়িয়ে দেব, যা g
আমরা মুদ্রণ করতে চাইলে সেই অক্ষরের সাথে মেলে । v
এটিকে স্ট্যাকের দিকে ঠেলে দেয় এবং এটি P
হিট করার পরে একটি অন্য লেবেল যা আমরা P
কোডের প্রথম লাইনে অন্যটিতে ঝাঁপিয়ে পড়ে ।
এখানে .
স্ট্যাক থেকে মানটি পপ করে এবং এটি একটি চরিত্র হিসাবে মুদ্রণ করে। এর পরে X
স্ট্যাক থেকে বহিরাগত শূন্যটি পপ করে, তারপরে স্ট্যাকের ~
মধ্যে থাকা দুটি মানকে (মানগুলি পাল্টা এবং ইনপুট মান হিসাবে) তুলনা করে। মানগুলি একই হলে অপারেটর স্ট্যাকের শূন্য রাখে (অন্যথায় -1 বা 1)। আবার, নিয়ন্ত্রণ ডান দিকে ঘুরিয়ে দেওয়ার চেষ্টা করে। X
স্ট্যাক থেকে তুলনা করার মানটি পপ করে, যদি এটি শূন্য হয় X
, এবং এটি !
প্রবেশের পরে , প্রোগ্রামটি শেষ করে।
P.X~ZZ*v+^
X
!
অন্যথায় আইপিটি অবিরত থাকে Z
, এটি একটি লেবেল যা এই ক্ষেত্রে ডানদিকে কেবল এক ধাপে লাফ দেয়। এটি করার কারণটি হ'ল জাম্পিংটি নিবন্ধকের মানটি শূন্যে ফিরে আসে। *
রেজিস্টার বৃদ্ধি এবং v
ফলাফল 1 স্ট্যাক মধ্যে রাখে। +
স্ট্যাকের দুটি শীর্ষ উপাদানকে পপ করে (1 এবং কাউন্টার), সেগুলি যুক্ত করে এবং ফলটিকে স্ট্যাকের মধ্যে রাখে (ফলস্বরূপ এটি কাউন্টারটিকে বাড়িয়ে তোলে)। ^
ফলটিকে স্ট্যাক থেকে অপসারণ না করে স্ট্যাক থেকে রেজিস্টারে অনুলিপি করে।
#
এক দ্বারা নিবন্ধকের মান হ্রাস করে, v
হ্রাসিত মানটিকে স্ট্যাকের দিকে ঠেলে দেয়, আইপি ডান দিকে ঘুরতে চেষ্টা করে এবং X
স্ট্যাক থেকে মানটি পপ করে। মানটি যদি শূন্য নয় তবে আইপি পূর্বে চলে যেতে থাকবে, রেজিস্টারে মান হ্রাস করে, যতক্ষণ না এটি শূন্যকে আঘাত করে এবং আইপি কোনও X
শাখায় প্রবেশ করে না ।
#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v#v
X X X X X X X X X X X X X X X X X X X X X X X X X
h y t f V b n j u r d c m k i e s x l o w a z p q
শাখাটি কাউন্টারটির মান অনুসারে একটি লেবেল নিয়ে যায়। লেবেলটি আঘাত করার পরে, নিয়ন্ত্রণটি বিভাগে যেখানে আমরা লেবেলটি g
শুরু করেছি, সেখানে অন্য একটি পুনরাবৃত্তি শুরু করে, লেবেলের অন্যান্য উপস্থিতিগুলিতে চলে যায় । যেমনটি হিসাবে g
, নিবন্ধের মানটি আমাদের মুদ্রণের জন্য প্রয়োজনীয় চিঠির ASCII মান পর্যন্ত বৃদ্ধি পায় incre তারপরে অক্ষরটি মুদ্রিত হয় এবং পাল্টা বৃদ্ধি হয়, অন্য একটি লেবেল নির্বাচন করা হয়। শেষ পুনরাবৃত্তির পরে কাউন্টারটি ইনপুটটির সমান হয় এবং প্রোগ্রামটি সমাপ্ত হয় না হওয়া পর্যন্ত এটি ঘটে।
সম্পাদনা:
P.X~Zv+^
X *
! Z
হিসাবে একই জিনিস অর্জন
P.X~ZZ*v+^
X
!
তবে কম সাদা জায়গা।
সম্পাদনা 2:
vv****v+^v+^v+^v+^*v++P
এর পরিবর্তে ব্যবহার করা যেতে পারে:
*****************************************************************vP