অপারেটররা#
ভূমিকা#
VEXcode V5-এর অপারেটর ব্লকগুলো রোবটকে সংখ্যা ও শব্দ নিয়ে কাজ করতে সাহায্য করে। এই ব্লকগুলো গাণিতিক সমস্যা সমাধান করতে, মান তুলনা করতে, শর্তগুলো সত্য না মিথ্যা তা মূল্যায়ন করতে এবং স্ট্রিং নিয়ে কাজ করতে পারে। স্ট্রিং ব্যবহার করে মান ও শব্দ প্রিন্ট করা যায়।
নিচে উপলব্ধ ব্লকগুলোর একটি তালিকা দেওয়া হলো:
গাণিতিক অপারেটর – যোগ, বিয়োগ, গুণ বা ভাগ করে।
তুলনা অপারেটর – বৃহত্তর, ক্ষুদ্রতর, বা সমান অপারেটর ব্যবহার করে দুটি মানের তুলনা করে।
লজিক্যাল অপারেটর – অ্যান্ড (and) বা অর (or) ব্যবহার করে একাধিক শর্ত মূল্যায়ন করে।
নট অপারেটর – বুলিয়ান মানকে উল্টে দেয়।
রেঞ্জ অপারেটর – কোনো সংখ্যা একটি নির্দিষ্ট সীমার মধ্যে পড়ে কিনা তা পরীক্ষা করে।
এলোমেলোভাবে বাছাই করুন – একটি নির্দিষ্ট পরিসরের মধ্যে একটি এলোমেলো সংখ্যা তৈরি করে।
পূর্ণ সংখ্যা – একটি সংখ্যাকে নিকটতম পূর্ণ সংখ্যায় রূপান্তর করে।
গাণিতিক ফাংশন – বর্গমূল, ত্রিকোণমিতি, লগারিদম এবং সূচকের মতো ক্রিয়াকলাপ প্রয়োগ করে।
atan2 – y/x এর ইনভার্স ট্যানজেন্ট নির্ণয় করে।
ভাগশেষ – ভাগের অবশিষ্ট অংশ প্রকাশ করে।
join – দুটি স্ট্রিংকে একত্রিত করে একটি স্ট্রিং তৈরি করে।
অক্ষর – অবস্থান অনুসারে একটি স্ট্রিং থেকে অক্ষর বের করে।
length – একটি স্ট্রিং-এ অক্ষরের সংখ্যা জানায়।
contains – একটি স্ট্রিং-এ কোনো নির্দিষ্ট শব্দ বা অক্ষর আছে কিনা তা পরীক্ষা করে।
রূপান্তর – একটি সংখ্যাকে টেক্সট, পূর্ণ সংখ্যা বা দশমিকে রূপান্তর করে।
গণিত অপারেটর#
ম্যাথ অপারেটর রিপোর্টার ব্লকটি অপারেটরের উভয় পাশে রাখা মানগুলির উপর মৌলিক গাণিতিক ক্রিয়াকলাপ সম্পাদন করে। এটি প্রকল্পের প্রিন্ট প্রিসিশনের উপর ভিত্তি করে একটি ফলাফল প্রদান করে, যা ডিফল্টরূপে ০ দশমিক স্থান থাকে কিন্তু স্ক্রিনে প্রিন্ট প্রিসিশন সেট করুন অথবা কনসোলে প্রিন্ট প্রিসিশন সেট করুন ব্লক ব্যবহার করে সামঞ্জস্য করা যেতে পারে।
([0] [math_plus v] [0])
প্যারামিটার |
বর্ণনা |
|---|---|
মান ১ |
কার্যক্রমে ব্যবহৃত প্রথম সংখ্যাটি। |
অপারেটর |
ব্যবহৃত গাণিতিক অপারেটর:
|
মান ২ |
কার্যক্রমে ব্যবহৃত দ্বিতীয় সংখ্যাটি। |
উদাহরণ
শুরু হলে
[Perform basic addition and show two decimal places.]
স্ক্রিনে প্রিন্টের নির্ভুলতা [0.01 v] সেট করো
স্ক্রিনে ([10] [math_plus v] [10.5]) প্রিন্ট করো ▶
তুলনা অপারেটর#
তুলনা অপারেটর বুলিয়ান ব্লকটি জানায় যে দুটি মানের মধ্যে তুলনাটি সত্য (True) নাকি মিথ্যা (False)।
সত্য – তুলনাটি সঠিক (যেমন, 5 > 3 হলে সত্য ফলাফল আসে)।
মিথ্যা – তুলনাটি সঠিক নয় (যেমন, 2 ≥ 5 হলে মিথ্যা ফলাফল আসে)।
<[0] [math_equal v] [0]>
প্যারামিটার |
বর্ণনা |
|---|---|
মান ১ |
তুলনা করার জন্য প্রথম মান। |
অপারেটর |
তুলনা করার জন্য:
|
মান ২ |
তুলনা করার জন্য দ্বিতীয় মান। |
উদাহরণ
শুরু হলে
[Turn right until the heading reaches 90 degrees.]
[ডান v] দিকে ঘোরো
[0.5] সেকেন্ড অপেক্ষা করো
<(ডিগ্রিতে চালানোর দিকনির্দেশ) [math_greater_than v] [90]> না হওয়া পর্যন্ত অপেক্ষা করো
চালানো বন্ধ করো
যৌক্তিক অপারেটর#
লজিক্যাল অপারেটর বুলিয়ান ব্লকটি জানায় যে একাধিক মানের মধ্যেকার যৌক্তিক শর্তটি সত্য নাকি মিথ্যা।
সত্য – যৌক্তিক শর্তটি পূরণ হয়েছে।
মিথ্যা – যৌক্তিক শর্তটি পূরণ হয়নি।
<<> [এবং v] <>>
প্যারামিটার |
বর্ণনা |
|---|---|
অবস্থা ১ |
মূল্যায়ন করার জন্য প্রথম বুলিয়ান শর্ত। |
অপারেটর |
যে লজিক্যাল অপারেটরটি ব্যবহার করতে হবে: and উভয় শর্ত সত্য হলে True রিপোর্ট করে। or অন্তত একটি শর্ত সত্য হলে True রিপোর্ট করে। |
অবস্থা ২ |
মূল্যায়ন করার জন্য দ্বিতীয় বুলিয়ান শর্ত। |
উদাহরণ
শুরু হলে
[Display if the ▼ and B Controller buttons are pressed.]
চিরকাল
স্ক্রিন মুছে দাও
স্ক্রিনে সারি [1] কলাম [1]-এ কার্সার নিয়ে যাও
যদি <<[Controller1 v] [▼ v] চাপা হয়েছে?> [এবং v] <[Controller1 v] [B v] চাপা হয়েছে?>> তাহলে
স্ক্রিনে [Buttons pressed!] প্রিন্ট করো ▶
अंत
अंत
অপারেটর নয়#
নট অপারেটর (not operator) বুলিয়ান ব্লকের ফলাফলকে উল্টে দেয়। ইনপুট ট্রু (True) হলে এটি ফলস (False) রিপোর্ট করে, এবং ইনপুট ফলস (False) হলে এটি ট্রু (True) রিপোর্ট করে।
সত্য – ইনপুট শর্তটি সাধারণত মিথ্যা রিপোর্ট করবে।
মিথ্যা – ইনপুট শর্তটি সাধারণত সত্য রিপোর্ট করবে।
<না <>>
প্যারামিটার |
বর্ণনা |
|---|---|
অবস্থা |
বুলিয়ান শর্তটি বিপরীত করা হবে। |
উদাহরণ
শুরু হলে
[Turn until the robot is facing left. ]
চিরকাল
যদি <না <(ডিগ্রিতে চালানোর দিকনির্দেশ) [math_greater_than v] [270]>> তাহলে
[ডান v] দিকে ঘোরো
অন্যথায়
চালানো বন্ধ করো
রেঞ্জ অপারেটর#
রেঞ্জ অপারেটর বুলিয়ান ব্লকটি জানায় যে, কোনো মান একটি নির্দিষ্ট পরিসরের মধ্যে পড়ে কি না।
সত্য – যদি মানটি নির্ধারিত সীমার মধ্যে থাকে।
মিথ্যা – যদি মানটি পরিসরের বাইরে থাকে।
<[0] [math_less_than v] [0] [math_less_than v] [0]>
প্যারামিটার |
বর্ণনা |
|---|---|
প্রথম অপারেটর |
ব্যবহার করার জন্য তুলনা অপারেটর:
|
মূল্য |
যে মানটি যাচাই করতে হবে। |
দ্বিতীয় অপারেটর |
ব্যবহার করার জন্য তুলনা অপারেটর:
|
উদাহরণ
শুরু হলে
[Turn and display when facing forward or back. ]
[ডান v] দিকে [360] ডিগ্রি ঘোরো ◀ এবং অপেক্ষা করো না
চিরকাল
স্ক্রিন মুছে দাও
স্ক্রিনে সারি [1] কলাম [1]-এ কার্সার নিয়ে যাও
যদি <[90] [math_less_than v] (ডিগ্রিতে চালানোর দিকনির্দেশ) [math_less_than v] [270]> তাহলে
স্ক্রিনে [Facing backward!] প্রিন্ট করো ▶
অন্যথায়
স্ক্রিনে [Facing forward!] প্রিন্ট করো ▶
এলোমেলোভাবে বাছাই করুন#
pick random রিপোর্টার ব্লকটি একটি সর্বনিম্ন এবং একটি সর্বোচ্চ মানের মধ্যবর্তী যেকোনো একটি ধনাত্মক বা ঋণাত্মক সংখ্যা রিপোর্ট করে। এটি সর্বনিম্ন এবং সর্বোচ্চ উভয় মানই রিটার্ন করতে পারে। উদাহরণস্বরূপ, ১ থেকে ১০ বাছাই করলে এটি ১ থেকে ১০ পর্যন্ত যেকোনো পূর্ণ সংখ্যা রিটার্ন করতে পারে।
[1] থেকে [10] পর্যন্ত এলোমেলো বেছে নাও
প্যারামিটার |
বর্ণনা |
|---|---|
মিনিট |
বাছাই করা যেতে পারে এমন সর্বনিম্ন সংখ্যা। |
সর্বোচ্চ |
সর্বোচ্চ সম্ভাব্য সংখ্যা যা বাছাই করা যেতে পারে। |
উদাহরণ
শুরু হলে
[Display a number between 1 and 10.]
স্ক্রিনে ([1] থেকে [10] পর্যন্ত এলোমেলো বেছে নাও) প্রিন্ট করো ▶
পূর্ণ সংখ্যা#
রাউন্ড নাম্বার রিপোর্টার ব্লকটি প্রচলিত রাউন্ডিং নিয়ম অনুসরণ করে প্রদত্ত সংখ্যাটিকে নিকটতম পূর্ণ সংখ্যায় রাউন্ড করে রিপোর্ট করে:
দশমিক সংখ্যাটি ০.৫ বা তার বেশি হলে, সংখ্যাটি ঊর্ধ্বসংখ্যায় রূপান্তরিত হয়।
দশমিকের মান ০.৫-এর কম হলে, সংখ্যাটি নিম্ন আসন্ন মানে রূপান্তরিত হয়।
([0] কে [0] দশমিক স্থানে গোল করো)
প্যারামিটার |
বর্ণনা |
|---|---|
সংখ্যা |
যে সংখ্যাটিকে আসন্ন মানে রূপান্তর করতে হবে। |
দশমিক স্থান |
আসন্ন মান নির্ণয়ের জন্য দশমিকের পরের স্থান সংখ্যা। |
উদাহরণ
শুরু হলে
[Display the rounded result of 10 / 3.]
স্ক্রিনে প্রিন্টের নির্ভুলতা [0.01 v] সেট করো
স্ক্রিনে (([10] [math_division v] [3]) কে [1] দশমিক স্থানে গোল করো) প্রিন্ট করো ▶
গাণিতিক ফাংশন#
গাণিতিক ফাংশন রিপোর্টার ব্লকটি প্রদত্ত সংখ্যার উপর একটি নির্বাচিত গাণিতিক ফাংশন প্রয়োগ করে এবং ফলাফলটি ফেরত দেয়। এটি পরম মান, আসন্নীকরণ, বর্গমূল, ত্রিকোণমিতিক ফাংশন, লগারিদম এবং ঘাতের মতো অপারেশন সমর্থন করে।
[0]-এর [abs v]
প্যারামিটার |
বর্ণনা |
|---|---|
ফাংশন |
ইনপুট মানের উপর প্রয়োগ করার জন্য গাণিতিক প্রক্রিয়া:
|
সংখ্যা |
যে সংখ্যাটির উপর ফাংশনটি প্রয়োগ করতে হবে। |
উদাহরণ
শুরু হলে
[Display the square root of 16.]
স্ক্রিনে ([16]-এর [sqrt v]) প্রিন্ট করো ▶
atan2#
atan2 রিপোর্টার ব্লকটি Y/X এর ইনভার্স ট্যানজেন্টকে ডিগ্রিতে একটি কোণ হিসাবে রিপোর্ট করে, যা ধনাত্মক X-অক্ষ এবং (X, Y) বিন্দুর মধ্যবর্তী কোণকে নির্দেশ করে।
(x:[4] y:[3]এর atan2)
প্যারামিটার |
বর্ণনা |
|---|---|
x |
বিন্দুটির আনুভূমিক অবস্থান, যা মূলবিন্দু (0,0) থেকে পরিমাপ করা হয়। |
y |
বিন্দুটির উল্লম্ব অবস্থান, যা মূলবিন্দু (0,0) থেকে পরিমাপ করা হয়। |
উদাহরণ
শুরু হলে
[Calculate the angle from current position (4, 3).]
স্ক্রিনে (x:[4] y:[3]এর atan2) প্রিন্ট করো ▶
বাকি#
remainder রিপোর্টার ব্লকটি দুটি মানের মধ্যে ভাগফলের ভাগশেষ প্রতিবেদন করে।
([0] / [0]-এর ভাগশেষ)
প্যারামিটার |
বর্ণনা |
|---|---|
লভ্যাংশ |
যে সংখ্যাটিকে ভাগ করতে হবে। |
ভাজক |
যে সংখ্যা দিয়ে ভাগ করতে হবে। |
উদাহরণ
শুরু হলে
[Display the remainder of 10 / 3.]
স্ক্রিনে ([10] / [3]-এর ভাগশেষ) প্রিন্ট করো ▶
যোগদান করুন#
join রিপোর্টার ব্লকটি দুটি ইনপুট স্ট্রিংকে একত্রিত করে একটি একক স্ট্রিং রিপোর্ট করে।
([apple] [banana] যোগ করো)
প্যারামিটার |
বর্ণনা |
|---|---|
স্ট্রিং ১ |
একত্রিত করার জন্য প্রথম স্ট্রিং। |
স্ট্রিং ২ |
একত্রিত করার জন্য দ্বিতীয় স্ট্রিং। |
শুরু হলে
[Display "VEXcode" on the screen.]
স্ক্রিনে ([VEX] [code] যোগ করো) প্রিন্ট করো ▶
চিঠি#
লেটার রিপোর্টার ব্লকটি প্রদত্ত স্ট্রিং-এর নির্দিষ্ট অবস্থান থেকে একটি একক-অক্ষরের স্ট্রিং রিপোর্ট করে।
([apple]-এর [1] নম্বর অক্ষর)
প্যারামিটার |
বর্ণনা |
|---|---|
অবস্থান |
স্ট্রিং-এ অক্ষরটির অবস্থান (১ থেকে শুরু)। |
স্ট্রিং |
যে স্ট্রিংটি থেকে একটি অক্ষর বের করতে হবে। |
শুরু হলে
[Display the first letter of "Robot".]
স্ক্রিনে ([Robot]-এর (1) নম্বর অক্ষর) প্রিন্ট করো ▶
দৈর্ঘ্য#
length রিপোর্টার ব্লকটি নির্দিষ্ট স্ট্রিংটিতে থাকা অক্ষরের সংখ্যা রিপোর্ট করে, যার মধ্যে স্পেসও অন্তর্ভুক্ত থাকে।
([apple]-এর দৈর্ঘ্য)
প্যারামিটার |
বর্ণনা |
|---|---|
স্ট্রিং |
যে দড়িটির দৈর্ঘ্য মাপতে হবে। |
উদাহরণ
শুরু হলে
[Count the number of characters in "VEX Robotics".]
স্ক্রিনে ([VEX Robotics]-এর দৈর্ঘ্য) প্রিন্ট করো ▶
ধারণ করে#
contains বুলিয়ান ব্লকটি জানায় যে নির্দিষ্ট স্ট্রিংটিতে প্রদত্ত শব্দ বা অক্ষরটি অন্তর্ভুক্ত আছে কি না।
সত্য – স্ট্রিংটিতে সেই নির্দিষ্ট শব্দ বা অক্ষরটি অন্তর্ভুক্ত আছে।
মিথ্যা – স্ট্রিংটিতে সেই নির্দিষ্ট শব্দ বা অক্ষরটি নেই।
<[apple]-এ [a] আছে?>
প্যারামিটার |
বর্ণনা |
|---|---|
স্ট্রিং |
যে মূল স্ট্রিংটির মধ্যে অনুসন্ধান করতে হবে। |
অনুসন্ধান পদ |
স্ট্রিংটির মধ্যে যে শব্দ বা অক্ষরটি খুঁজতে হবে। |
উদাহরণ
শুরু হলে
[Check if "robotics" contains "bot".]
যদি <[robotics]-এ [bot] আছে?> তাহলে
স্ক্রিনে [The word contains "bot".] প্রিন্ট করো ▶
অন্যথায়
স্ক্রিনে [Not found.] প্রিন্ট করো ▶
अंत
রূপান্তর করুন#
convert রিপোর্টার ব্লকটি একটি সংখ্যার মানকে নির্দিষ্ট ধরনে, অর্থাৎ টেক্সট বা সংখ্যা হিসেবে, রূপান্তর করার পর তা রিপোর্ট করে।
text – সংখ্যাটিকে একটি স্ট্রিং-এ রূপান্তর করে। String Operator ব্লকগুলির সাথে কাজ করার জন্য সংখ্যাগুলিকে অবশ্যই স্ট্রিং ফরম্যাটে থাকতে হবে।
number – সংখ্যাটিকে দশমিক মানে রূপান্তর করে।
([0] কে [টেক্সট v]-এ রূপান্তর করো)
প্যারামিটার |
বর্ণনা |
|---|---|
মূল্য |
রূপান্তর করার জন্য সংখ্যাটি। |
প্রকার |
যে ধরনের নম্বরে রূপান্তর করতে হবে:
|
উদাহরণ
শুরু হলে :: hat events
[Display the robot's heading as it turns.]
[ডান v] দিকে ঘোরো
চিরকাল
সব সারি মুছে দাও
([Currently facing: ] ((ডিগ্রিতে চালানোর দিকনির্দেশ) কে [টেক্সট v]-এ রূপান্তর করো) যোগ করো) প্রিন্ট করো ▶
[0.5] সেকেন্ড অপেক্ষা করো