ট্র্যাক
/
Haskell
Haskell
/
অনুশীলনী
/
রোবট সিমুলেটর
রোবট সিমুলেটর

রোবট সিমুলেটর

সহজ

নির্দেশনা

একটি রোবট সিমুলেটর লিখুন।

একটি রোবট কারখানার টেস্ট ফ্যাসিলিটির রোবটের নড়াচড়া যাচাই করার জন্য একটি প্রোগ্রাম দরকার।

রোবটদের তিনটি সম্ভাব্য নড়াচড়া আছে:

  • ডান দিকে ঘোরা
  • বাম দিকে ঘোরা
  • সামনে এগোনো

রোবটদের একটি কাল্পনিক অসীম গ্রিডে রাখা হয়, যেখানে তারা {x,y} কোঅর্ডিনেটে, যেমন {3,8}, একটি নির্দিষ্ট দিকে (উত্তর, পূর্ব, দক্ষিণ বা পশ্চিম) মুখ করে থাকে; উত্তর ও পূর্ব দিকে গেলে কোঅর্ডিনেট বাড়ে।

এরপর রোবট বেশ কিছু নির্দেশনা পায়, আর তখনই টেস্টিং ফ্যাসিলিটি যাচাই করে রোবটের নতুন অবস্থান এবং এটি কোন দিকে মুখ করে আছে।

  • "RAALAL" অক্ষর-স্ট্রিংটির অর্থ:
    • ডান দিকে ঘোরা
    • দুইবার সামনে এগোনো
    • বাম দিকে ঘোরা
    • একবার সামনে এগোনো
    • আবারও বাম দিকে ঘোরা
  • ধরুন একটি রোবট {7, 3} অবস্থানে উত্তর দিকে মুখ করে যাত্রা শুরু করল। তাহলে নির্দেশনার এই ধারাটি চালালে শেষে সেটি {9, 4} অবস্থানে পশ্চিম দিকে মুখ করে থাকবে।

ইঙ্গিত

এই অনুশীলনীটি সম্পূর্ণ করতে হলে আপনাকে Robot ডেটা টাইপটি তৈরি করতে হবে এবং নিচের ফাংশনগুলো ইমপ্লিমেন্ট করতে হবে:

  • bearing
  • coordinates
  • mkRobot
  • move

একটি ডামি ডেটা ডিক্লারেশন আর টাইপ সিগনেচার আগেই দেওয়া আছে, তবে ফাংশনগুলো ডিফাইন করা এবং অর্থপূর্ণ একটি ডেটা টাইপ, newtype বা টাইপ সাইনোনিম তৈরি করা আপনাকেই করতে হবে।


সূত্র

একটি বিখ্যাত কোম্পানির ইন্টারভিউ প্রশ্ন থেকে অনুপ্রাণিত।
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Haskell Exercism

রোবট সিমুলেটর শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Haskell ট্র্যাকের 107টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।