অপারেটররা#

ভূমিকা#

VEXcode AIR-এর অপারেটর ব্লকগুলো ড্রোনকে সংখ্যা ও শব্দ নিয়ে কাজ করতে সাহায্য করে। এই ব্লকগুলো গাণিতিক সমস্যা সমাধান করতে, মান তুলনা করতে, শর্তগুলো সত্য না মিথ্যা তা মূল্যায়ন করতে এবং স্ট্রিং নিয়ে কাজ করতে পারে। স্ট্রিং ব্যবহার করে মান ও শব্দ প্রিন্ট করা যায়।

নিচে উপলব্ধ ব্লকগুলোর একটি তালিকা দেওয়া হলো:

  • গাণিতিক অপারেটর — যোগ, বিয়োগ, গুণ বা ভাগ করে।

  • তুলনা অপারেটর — বৃহত্তর, ক্ষুদ্রতর, বা সমান অপারেটর ব্যবহার করে দুটি মানের তুলনা করে।

  • লজিক্যাল অপারেটর — অ্যান্ড (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]>

প্যারামিটার

বর্ণনা

মান ১

তুলনা করার জন্য প্রথম মান।

অপারেটর

তুলনা করার জন্য:

  • = - সমান
  • < - কম
  • ≤ - কম বা সমান
  • > - বেশি
  • ≥ - বেশি বা সমান

মান ২

তুলনা করার জন্য দ্বিতীয় মান।

উদাহরণ

শুরু হলে
[Fly to position (0, 300, 500).]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
(1) সেকেন্ড অপেক্ষা করো
[সামনে v] দিকে চলো
<([mm v]-এ [y v]-এর অবস্থান) [math_greater_than v] [300]> না হওয়া পর্যন্ত অপেক্ষা করো
(1) সেকেন্ড অপেক্ষা করো
অবতরণ করো ▶

যৌক্তিক অপারেটর#

লজিক্যাল অপারেটর বুলিয়ান ব্লকটি জানায় যে একাধিক মানের মধ্যেকার যৌক্তিক শর্তটি সত্য নাকি মিথ্যা।

  • সত্য – যৌক্তিক শর্তটি পূরণ হয়েছে।

  • মিথ্যা – যৌক্তিক শর্তটি পূরণ হয়নি।

লজিক্যাল অপারেটর বুলিয়ান ব্লক।#
<<> [এবং v] <>>

প্যারামিটার

বর্ণনা

অবস্থা ১

মূল্যায়ন করার জন্য প্রথম বুলিয়ান শর্ত।

অপারেটর

যে লজিক্যাল অপারেটরটি ব্যবহার করতে হবে: and উভয় শর্ত সত্য হলে True রিপোর্ট করে। or অন্তত একটি শর্ত সত্য হলে True রিপোর্ট করে।

অবস্থা ২

মূল্যায়ন করার জন্য দ্বিতীয় বুলিয়ান শর্ত।

উদাহরণ

শুরু হলে
[Display when buttons 5 and 7 are pressed together.]
<<কন্ট্রোলার বোতাম [5 v] চাপা হয়েছে?> [এবং v] <কন্ট্রোলার বোতাম [7 v] চাপা হয়েছে?>> না হওয়া পর্যন্ত অপেক্ষা করো
কনসোলে [Both buttons pressed!] প্রিন্ট করো ▶

অপারেটর নয়#

নট অপারেটর (not operator) বুলিয়ান ব্লকের ফলাফলকে উল্টে দেয়। ইনপুট ট্রু (True) হলে এটি ফলস (False) রিপোর্ট করে, এবং ইনপুট ফলস (False) হলে এটি ট্রু (True) রিপোর্ট করে।

  • সত্য – ইনপুট শর্তটি সাধারণত মিথ্যা রিপোর্ট করবে।

  • মিথ্যা – ইনপুট শর্তটি সাধারণত সত্য রিপোর্ট করবে।

নট অপারেটর বুলিয়ান ব্লক।#
<না <>>

প্যারামিটার

বর্ণনা

অবস্থা

বুলিয়ান শর্তটি বিপরীত করা হবে।

উদাহরণ

শুরু হলে
[Move with controller while button 5 is not pressed.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
যখন <না <কন্ট্রোলার বোতাম [5 v] চাপা হয়েছে?>>
কন্ট্রোলার দিয়ে চলো
अंत
অবতরণ করো ▶

রেঞ্জ অপারেটর#

রেঞ্জ অপারেটর বুলিয়ান ব্লকটি জানায় যে, কোনো মান একটি নির্দিষ্ট পরিসরের মধ্যে পড়ে কি না।

  • সত্য – যদি মানটি নির্ধারিত সীমার মধ্যে থাকে।

  • মিথ্যা – যদি মানটি পরিসরের বাইরে থাকে।

রেঞ্জ অপারেটর বুলিয়ান ব্লক।#
<[0] [math_less_than v] [0] [math_less_than v] [0]>

প্যারামিটার

বর্ণনা

প্রথম অপারেটর

ব্যবহার করার জন্য তুলনা অপারেটর:

  • < — কম
  • ≤ — কম বা সমান
  • — বেশি
  • ≥ — বেশি বা সমান

মূল্য

যে মানটি যাচাই করতে হবে।

দ্বিতীয় অপারেটর

ব্যবহার করার জন্য তুলনা অপারেটর:

  • < — কম
  • ≤ — কম বা সমান
  • — বেশি
  • ≥ — বেশি বা সমান

উদাহরণ

শুরু হলে
[Hover at approximately 1000mm then land.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
[উপরে v] দিকে উঠো
<[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]> না হওয়া পর্যন্ত অপেক্ষা করো
ভাসমান থাকো
(3) সেকেন্ড অপেক্ষা করো
অবতরণ করো ▶

এলোমেলোভাবে বাছাই করুন#

pick random রিপোর্টার ব্লকটি একটি সর্বনিম্ন এবং একটি সর্বোচ্চ মানের মধ্যবর্তী যেকোনো একটি ধনাত্মক বা ঋণাত্মক সংখ্যা রিপোর্ট করে। এটি সর্বনিম্ন এবং সর্বোচ্চ উভয় মানই রিটার্ন করতে পারে। উদাহরণস্বরূপ, ১ থেকে ১০ বাছাই করলে এটি ১ থেকে ১০ পর্যন্ত যেকোনো পূর্ণ সংখ্যা রিটার্ন করতে পারে।

পিক র‍্যান্ডম রিপোর্টার ব্লক।#
[1] থেকে [10] পর্যন্ত এলোমেলো বেছে নাও

প্যারামিটার

বর্ণনা

মিনিট

বাছাই করা যেতে পারে এমন সর্বনিম্ন সংখ্যা।

সর্বোচ্চ

সর্বোচ্চ সম্ভাব্য সংখ্যা যা বাছাই করা যেতে পারে।

উদাহরণ

১ থেকে ১০ এর মধ্যে একটি সংখ্যা প্রদর্শন করুন।#
শুরু হলে
[Display a number between 1 and 10.]
কনসোলে ([1] থেকে [10] পর্যন্ত এলোমেলো বেছে নাও) প্রিন্ট করো ▶

১ থেকে ১০.৫ এর মধ্যে একটি দশমিক সংখ্যা প্রদর্শন করুন।#
শুরু হলে
[Display a decimal number between 1 and 10.5.]
কনসোলে প্রিন্টের নির্ভুলতা [সব অঙ্ক v] সেট করো
কনসোলে ([1] থেকে [10.5] পর্যন্ত এলোমেলো বেছে নাও) প্রিন্ট করো ▶

পূর্ণ সংখ্যা#

রাউন্ড নাম্বার রিপোর্টার ব্লকটি প্রচলিত রাউন্ডিং নিয়ম অনুসরণ করে প্রদত্ত সংখ্যাটিকে নিকটতম পূর্ণ সংখ্যায় রাউন্ড করে রিপোর্ট করে:

  • দশমিক সংখ্যাটি ০.৫ বা তার বেশি হলে, সংখ্যাটি ঊর্ধ্বসংখ্যায় রূপান্তরিত হয়।

  • দশমিকের মান ০.৫-এর কম হলে, সংখ্যাটি নিম্ন আসন্ন মানে রূপান্তরিত হয়।

রাউন্ড নাম্বার রিপোর্টার ব্লক।#
([0] কে [0] দশমিক স্থানে গোল করো)

প্যারামিটার

বর্ণনা

সংখ্যা

যে সংখ্যাটিকে আসন্ন মানে রূপান্তর করতে হবে।

দশমিক স্থান

আসন্ন মান নির্ণয়ের জন্য দশমিকের পরের স্থান সংখ্যা।

উদাহরণ

১০ / ৩ এর আসন্ন মান প্রদর্শন করুন।#
শুরু হলে
[Display the rounded result of 10 / 3.]
কনসোলে প্রিন্টের নির্ভুলতা [0.01 v] সেট করো
কনসোলে (([10] [math_division v] [3]) কে [1] দশমিক স্থানে গোল করো) প্রিন্ট করো ▶

গাণিতিক ফাংশন#

গাণিতিক ফাংশন রিপোর্টার ব্লকটি প্রদত্ত সংখ্যার উপর একটি নির্বাচিত গাণিতিক ফাংশন প্রয়োগ করে এবং ফলাফলটি ফেরত দেয়। এটি পরম মান, আসন্নীকরণ, বর্গমূল, ত্রিকোণমিতিক ফাংশন, লগারিদম এবং ঘাতের মতো অপারেশন সমর্থন করে।

ম্যাথ ফাংশন রিপোর্টার ব্লক।#
[0]-এর [abs v]

প্যারামিটার

বর্ণনা

ফাংশন

ইনপুট মানের উপর প্রয়োগ করার জন্য গাণিতিক প্রক্রিয়া:

  • abs — পরম মান
  • floor — নিম্নগামী আসন্ন মান
  • ceiling — ঊর্ধ্বগামী আসন্ন মান
  • sqrt — বর্গমূল
  • sin — সাইন
  • cos — কোসাইন
  • tan — ট্যানজেন্ট
  • asin — বিপরীত সাইন
  • acos — বিপরীত কোসাইন
  • atan — বিপরীত ট্যানজেন্ট
  • ln — স্বাভাবিক লগারিদম
  • log — ১০-ভিত্তিক লগারিদম
  • e^ — অয়লারের সংখ্যার ঘাত
  • ১০^ — ১০-এর কোনো ঘাত
  • ঋণাত্মক — সংখ্যাটির ঋণাত্মক মান ফেরত দেয়

সংখ্যা

যে সংখ্যাটির উপর ফাংশনটি প্রয়োগ করতে হবে।

উদাহরণ

১৬-এর বর্গমূল প্রদর্শন করুন।#
শুরু হলে
[Display the square root of 16.]
কনসোলে ([16]-এর [sqrt v]) প্রিন্ট করো ▶

atan2#

atan2 রিপোর্টার ব্লকটি Y/X এর ইনভার্স ট্যানজেন্টকে ডিগ্রিতে একটি কোণ হিসাবে রিপোর্ট করে, যা ধনাত্মক X-অক্ষ এবং (X, Y) বিন্দুর মধ্যবর্তী কোণকে নির্দেশ করে।

atan2 ব্লক#
(x:[4] y:[3]এর atan2)

প্যারামিটার

বর্ণনা

x

বিন্দুটির আনুভূমিক অবস্থান, যা মূলবিন্দু (0,0) থেকে পরিমাপ করা হয়।

y

বিন্দুটির উল্লম্ব অবস্থান, যা মূলবিন্দু (0,0) থেকে পরিমাপ করা হয়।

উদাহরণ

বর্তমান অবস্থান (4, 3) থেকে কোণ গণনা করুন।#
শুরু হলে
[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 Console.]
কনসোলে ([VEX] [code] যোগ করো) প্রিন্ট করো ▶

চিঠি#

লেটার রিপোর্টার ব্লকটি প্রদত্ত স্ট্রিং-এর নির্দিষ্ট অবস্থান থেকে একটি একক-অক্ষরের স্ট্রিং রিপোর্ট করে।

লেটার রিপোর্টার ব্লক।#
([apple]-এর [1] নম্বর অক্ষর)

প্যারামিটার

বর্ণনা

অবস্থান

স্ট্রিং-এ অক্ষরটির অবস্থান (১ থেকে শুরু)।

স্ট্রিং

যে স্ট্রিংটি থেকে একটি অক্ষর বের করতে হবে।

উদাহরণ

শুরু হলে
[Display the first letter of "drone".]
কনসোলে ([drone]-এর (1) নম্বর অক্ষর) প্রিন্ট করো ▶

দৈর্ঘ্য#

length রিপোর্টার ব্লকটি নির্দিষ্ট স্ট্রিংটিতে থাকা অক্ষরের সংখ্যা রিপোর্ট করে, যার মধ্যে স্পেসও অন্তর্ভুক্ত থাকে।

লেংথ রিপোর্টার ব্লক।#
([apple]-এর দৈর্ঘ্য)

প্যারামিটার

বর্ণনা

স্ট্রিং

যে দড়িটির দৈর্ঘ্য মাপতে হবে।

উদাহরণ

শুরু হলে
[Count the number of characters in "VEX Robotics".]
কনসোলে ([VEX Robotics]-এর দৈর্ঘ্য) প্রিন্ট করো ▶

ধারণ করে#

contains বুলিয়ান ব্লকটি জানায় যে নির্দিষ্ট স্ট্রিংটিতে প্রদত্ত শব্দ বা অক্ষরটি অন্তর্ভুক্ত আছে কি না।

  • সত্য – স্ট্রিংটিতে সেই নির্দিষ্ট শব্দ বা অক্ষরটি অন্তর্ভুক্ত আছে।

  • মিথ্যা – স্ট্রিংটিতে সেই নির্দিষ্ট শব্দ বা অক্ষরটি নেই।

Contains বুলিয়ান ব্লক।#
<[apple]-এ [a] আছে?>

প্যারামিটার

বর্ণনা

স্ট্রিং

যে মূল স্ট্রিংটির মধ্যে অনুসন্ধান করতে হবে।

অনুসন্ধান পদ

স্ট্রিংটির মধ্যে যে শব্দ বা অক্ষরটি খুঁজতে হবে।

উদাহরণ

শুরু হলে
[Check if "robotics" contains "bot".]
যদি <[robotics]-এ [bot] আছে?> তাহলে
কনসোলে [The word contains "bot".] প্রিন্ট করো ▶
অন্যথায়
কনসোলে [Not found.] প্রিন্ট করো ▶
अंत

রূপান্তর করুন#

convert রিপোর্টার ব্লকটি একটি সংখ্যার মানকে নির্দিষ্ট ধরনে, অর্থাৎ টেক্সট বা সংখ্যা হিসেবে, রূপান্তর করার পর তা রিপোর্ট করে।

  • text – সংখ্যাটিকে একটি স্ট্রিং-এ রূপান্তর করে। String Operator ব্লকগুলির সাথে কাজ করার জন্য সংখ্যাগুলিকে অবশ্যই স্ট্রিং ফরম্যাটে থাকতে হবে।

  • number – সংখ্যাটিকে দশমিক মানে রূপান্তর করে।

কনভার্ট রিপোর্টার ব্লক।#
([0] কে [টেক্সট v]-এ রূপান্তর করো)

প্যারামিটার

বর্ণনা

মূল্য

রূপান্তর করার জন্য সংখ্যাটি।

প্রকার

The type to convert the number into:

  • text
  • number

উদাহরণ

শুরু হলে
[Add any number to 5.]
[Give me a number.] জিজ্ঞেস করুন এবং অপেক্ষা করুন
কনসোলে (((উত্তর) কে [সংখ্যা v]-এ রূপান্তর করো) [math_plus v] [5]) প্রিন্ট করো ▶