মূল বিষয়বস্তু
কম্পিউটার প্রোগ্রামিং
Course: কম্পিউটার প্রোগ্রামিং > Unit 1
Lesson 10: লজিক এবং if বিবৃতি- If বিবৃতি
- চ্যালেঞ্জ: বলের খেলা
- আরও মাউসের প্রতিক্রিয়া
- চ্যালেঞ্জ: তোমার তৈরি করা প্রথম রঙ করার অ্যাপ্লিকেশন
- বুলিয়ান
- চ্যালেঞ্জ: সংখ্যা বিশ্লেষক
- লজিকাল অপারেটর
- চ্যালেঞ্জ: তোমার তৈরি করা প্রথম বাটন
- চ্যালেঞ্জ: স্মার্ট বাটন
- If/Else - পর্ব 1
- চ্যালেঞ্জ: ফ্লাশি ফ্ল্যাশ কার্ড
- If/Else - পর্ব 2
- পর্যালোচনা: লজিক এবং if স্টেটমেন্ট
- প্রকল্প: ম্যাজিক বল
© 2023 Khan Academyব্যবহারের শর্তাদিগোপনীয়তার নীতিমালাকুকি নোটিশ
পর্যালোচনা: লজিক এবং if স্টেটমেন্ট
আমরা এই অনুশীলনীতে লজিক এবং if স্টেটমেন্ট সম্পর্কে যা শিখেছি এটি হল তার পর্যালোচনা।
প্রায়ই আমরা প্রোগ্রামে "শর্ত অনুযায়ী" কাজ করতে চাই - প্রোগ্রামকে আমরা এরকমভাবে বলতে চাই যে, "যদি এই বিবৃতিটি সত্য হয়, তাহলে X কাজটি কর, আর যদি অন্য বিবৃতিটি সত্যি হয়, তাহলে Y কাজটি কর।" এটা অনেকটা এইরকম যে- সকালে ঘুম থেকে ওঠার পরে - যদি বাইরে বৃষ্টি হচ্ছে দেখি তাহলে আমি ছাতা নিয়ে বাইরে বের হব, কিন্তু যদি বাইরে রোদ থাকে, তাহলে আমি সানগ্লাস নিয়ে বাইরে বের হব। আমরা প্রোগ্রামে if স্টেটমেন্ট এবং if/else স্টেটমেন্ট দুইটি কন্ডিশনাল রাশির (conditional expression) সাথে ব্যবহার করে যুক্তি অনুযায়ী কাজ করতে পারি।
একটি if স্টেটমেন্ট প্রোগ্রামকে ততক্ষণ পর্যন্ত কোড চালানোর নির্দেশ দেবে, যতক্ষণ পর্যন্ত কন্ডিশনটি সত্য (true) থাকবে। নিচের কোডটি একটি বার্তা আউটপুট হিসেবে প্রদর্শন করবে, যদি
x
, এর মান 0 থেকে বৃহত্তর হয়:var x = 5;
if (x > 0) {
text('x is a positive number!', 200, 200);
}
যেহেতু এখানে, x এর মান হল 5, যা 0 থেকে বড় এবং ফলস্বরূপ আমরা আউটপুট হিসেবে ক্যানভাসে বার্তাটি দেখতে পারব। এখন আমরা যদি x এর মান পরিবর্তন করে -1 করি, তাহলে আউটপুটে আমরা কোনো বার্তা দেখব না, কারণ এখানে x এর মান 0 থেকে বড় নয়।
x>0
এরকম রাশিগুলোকে কন্ডিশনাল রাশি বলা হয় - অর্থাৎ রাশিটি সত্য
নাকি মিথ্যা
তা এটা মূল্যায়ন করে থাকে। যখন কোনো মান সত্য
বা মিথ্যা
হয়, তখন তাদেরকে আমরা বুলিয়ান মান বলি (সংখ্যা বা স্ট্রিং এর ঠিক বিপরীত)। উদাহরণস্বরূপ, নিচের কন্ডিশনাল রাশিটি দেখা যাক:text(x > 0, 200, 200); // Displays "true"
আমরা এটিকে চলক হিসেবে সংরক্ষণ করতে পারি এবং তারপর এটি প্রদর্শন করতে পারি:
var isPositive = x > 0;
text(isPositive, 200, 200);
আমরা তখন বলতে পারি যে,
isPositive
বুলিয়ান মানটি সংরক্ষণ করছে, কারণ x এর মানের উপরে ভিত্তি করে হয় এটি সত্য
অথবা মিথ্যা
হবে।কন্ডিশনাল রাশি তৈরী করার জন্য অনেকগুলো পন্থা আমরা অবলম্বন করতে পারি যেগুলো
সত্য
বা মিথ্যা
স্টেটমেন্টগুলো মূল্যায়ন করবে, কারণ তুলনা করার জন্য অনেকগুলো অপারেটর আমাদের কাছে আছে। সবচেয়ে বেশি ব্যবহৃত অপারেটরগুলোর নাম এখানে দেওয়া হল:নিচে উল্লেখিত চলকটির কথা বিবেচনায় রেখে, তুলনা করার জন্য এখানে কিছু অপারেটর এবং সত্য হয় এমন রাশি উল্লেখ করা হল:
var myAge = 28;
অপারেটর | অর্থ | সত্য (True) রাশি | |
---|---|---|---|
=== | সমান | myAge === 28 | |
!== | সমান নয় | myAge !== 29 | 28 !== 29 |
> | বৃহত্তর | myAge > 25 | 28 > 25 |
>= | বৃহত্তর অথবা সমান | myAge >= 28 | 28 >= 28 |
< | ক্ষুদ্রতর | myAge < 30 | 28 < 30 |
<= | ক্ষুদ্রতর অথবা সমান | myAge <= 28 | 28 <= 28 |
একটি সাধারণ ভুল হল, নিযুক্ত করার অপারেটর (
=
) ও তুলনা করার অপারেটর (===
) ব্যবহারের ক্ষেত্রে বিভ্রান্ত হওয়া, কারণ এই দুইটি অপারেটরই সমান চিহ্ন ব্যবহার করে থাকে, কিন্তু তারা ভিন্ন। নিযুক্ত করার অপারেটরটি আসলে চলকের মান পরিবর্তন করে, যেখানে তুলনা করার অপারেটর শুধু চলকের মানটি পড়ে দেখে যে, মানটি অন্য কোনো মানের সমান কিনা। উদাহরণস্বরুপ:var x = 2 + 2; // Sets it equal to 4
if (x === 4) { // Asks the question, "does this equal 4?"
text("yep, 2 + 2 = 4!", 200, 200);
}
কখনো কখনো একটি কন্ডিশনাল রাশিতেই আমরা একাধিক তুলনা একসাথে করতে চাই এবং এই কাজটি করার জন্য আমাদের লজিকাল অপারেটর আছে। এই অপারেটরগুলো দিয়ে প্রোগ্রামে চলক যাচাই করা যায়, যেমন - আমাদের প্রোগ্রামে "X এবং Y উভয়ই সত্য কিনা" অথবা "X বা Y এর মধ্যে যেকোন একটি সত্য কিনা", ইত্যাদি।
আমাদের যদি এমন একটি শর্ত লাগে যেখানে দুইটি শর্তই এখানে সত্য হতে হবে তাহলে আমরা
&&
অর্থাৎ ("AND") অপারেটরটি ব্যবহার করতে পারি:var degreesOutside = 70;
var numberOfClouds = 50;
if (degreesOutside > 70 && numberOfClouds < 5) {
text("Wear sun screen!", 200, 200);
}
একটি আয়তক্ষেত্রের ভেতরে ব্যবহারকারীর মাউসের অবস্থান (একটি বাটনের তৈরি করার জন্য) যাচাই করে দেখার জন্য আমরা এই অপারেটর ব্যবহার করে থাকি, এক্ষেত্রে অনেকগুলো
&&
অপারেটর ব্যবহার করা হয়:rect(100, 50, 100, 100);
mousePressed = function() {
if (mouseX > 100 && mouseX < 200 && mouseY > 50 && mouseY < 150) {
text("You pressed it!", 80, 75);
}
};
আমরা যদি এখন এমন একটি শর্ত চাই যেখানে কমপক্ষে একটি শর্ত সত্য হবে তাহলে আমরা
||
অর্থাৎ ("OR") অপারেটরটি ব্যবহার করতে পারি:var degreesOutside = 70;
var numberOfClouds = 50;
if (degreesOutside > 70 || numberOfClouds < 5) {
text("Wear sun screen if it's hot outside or there aren't many clouds!", 200, 200);
}
যদি আমাদের জটিল কোন শর্ত যাচাই করতে হয়, তখন
&&
এবং ||
উভয়টিই আমরা একটি রাশিতে ব্যবহার করতে পারি। একই রকম রাশিগুলো একত্র করার জন্য প্রথম বন্ধনী ব্যবহার করা হয়, যেন প্রোগ্রাম বিভ্রান্ত না হয়ে যায় যে কোন ক্রম অনুযায়ী এখানে মূল্যায়নের কাজটি করতে হবে:var myAge = 28;
if ((myAge >= 0 && myAge < 3) || myAge > 90) {
println('You\'re not quite in your peak.');
}
এখন if স্টেটমেন্টে ফিরে যাওয়া যাক। if কন্ডিশনটি যদি সত্য না হয় তাহলে আমরা এখানে কিছু কোড করতে চাই - এক্ষেত্রে, আমরা একটি else স্টেটমেন্ট যুক্ত করে থাকি।
var age = 28;
if (age > 16) {
println('Yay, you can drive!');
} else {
println('Sorry, but you have ' + (16 - age) + ' years until you can drive.');
}
অনেক সময় আমরা একাধিক কন্ডিশন যাচাই করার মাধ্যমে এবং প্রতিটির উপরে ভিত্তি করে বিভিন্ন কাজ করতে চাই, এক্ষেত্রে আমরা
else if
ব্যবহার করতে পারি:var age = 20;
if (age >= 35) {
println('You can vote AND hold any place in government!');
} else if (age >= 30) {
println('You can vote AND run for the Senate!');
} else if (age >= 18) {
println('You can vote!');
} else {
println('You have no voice in government!');
}
তোমার যতবার ইচ্ছা ততবার তুমি কন্ডিশন যাচাই করা করতে পার - শুধুমাত্র প্রতিটি কন্ডিশন যাচাইয়ের কোডগুলো যে সঠিক আছে তা নিশ্চিত করতে হবে। চলকের মানগুলো পরিবর্তন করে কোড নিয়ে পরীক্ষা করে দেখতে হবে যতক্ষণ পর্যন্ত না তুমি বন্ধনীর ভিতরে থাকা প্রতিটি কোড পরীক্ষা করে দেখছ, যাতে তুমি জানতে পার যে কোডগুলো সঠিকভাবে কাজ করছে।
আশা করি এই অনুশীলনী থেকে তুমি বুঝতে পেরেছ যে, কন্ডিশন হল প্রোগ্রামিং এর গুরত্বপূর্ণ একটি অংশ এবং এটা শক্তিশালী এবং সহজে ব্যবহারযোগ্য প্রোগ্রাম তৈরীতে আমাদের সাহায্য করে থাকে।
আলোচনায় অংশ নিতে চাও?
কোন আলাপচারিতা নেই।