Skill

Loops এবং Control Flow (লুপ এবং নিয়ন্ত্রণ প্রবাহ)

লোগো (Logo) - Computer Programming

215

Loops এবং Control Flow (নিয়ন্ত্রণ প্রবাহ) হল প্রোগ্রামিংয়ের দুটি গুরুত্বপূর্ণ ধারণা, যা প্রোগ্রামের কার্যকারিতা এবং লজিকাল প্রবাহ নিয়ন্ত্রণে ব্যবহৃত হয়। Logo ভাষায় Loops এবং Control Flow কমান্ডগুলো কার্যকরভাবে প্রোগ্রাম তৈরি করতে সাহায্য করে, বিশেষ করে যখন একাধিক কাজ পুনরাবৃত্তি করতে হয় বা শর্তযুক্ত কাজ করতে হয়।


Loops (লুপ)

Loops হল এমন একটি কৌশল, যার মাধ্যমে একাধিক কমান্ড নির্দিষ্ট সংখ্যক বার বা একটি শর্ত পূর্ণ না হওয়া পর্যন্ত পুনরাবৃত্তি করা হয়। Logo ভাষায় REPEAT কমান্ডটি প্রধান লুপ কমান্ড হিসেবে ব্যবহৃত হয়।

REPEAT কমান্ড:

REPEAT কমান্ডের মাধ্যমে নির্দিষ্ট সংখ্যক বার একটি কাজ পুনরাবৃত্তি করা যায়।

কোড উদাহরণ:

এখানে:

  • REPEAT 4: এই কমান্ডটি ৪ বার কোডটি পুনরাবৃত্তি করবে।
  • FORWARD 100: ১০০ পিক্সেল এগিয়ে যাবে।
  • RIGHT 90: টার্টলকে ৯০ ডিগ্রি ডান দিকে ঘুরিয়ে দেবে।

এটি একটি বর্গ আঁকবে, যেখানে ৪টি সোজা লাইন আঁকা হবে এবং প্রতিটি ৯০ ডিগ্রি ঘুরিয়ে বর্গ তৈরি হবে।


Control Flow (নিয়ন্ত্রণ প্রবাহ)

Control Flow হল একটি প্রোগ্রামিং কৌশল, যার মাধ্যমে শর্ত বা লজিকের উপর ভিত্তি করে বিভিন্ন কোড ব্লক চালানো বা বাদ দেওয়া হয়। Logo ভাষায় IF, IFELSE, এবং WAIT কমান্ড ব্যবহার করে নিয়ন্ত্রণ প্রবাহ পরিচালিত হয়।

IF কমান্ড:

IF কমান্ডটি একটি শর্ত পরীক্ষা করে এবং সেই শর্ত সত্য হলে নির্দিষ্ট কাজ সম্পাদন করে।

কোড উদাহরণ:

এখানে:

  • IF 5 > 3: এটি পরীক্ষা করে যদি ৫ বড় হয় ৩ থেকে (যা সত্য), তবে সেটি কোড ব্লকটি চালাবে এবং "True" প্রিন্ট করবে।

IFELSE কমান্ড:

IFELSE কমান্ডটি দুটি শর্ত দেয়, একটি শর্ত সত্য হলে একটি কাজ করবে এবং মিথ্যা হলে অন্য কাজ করবে।

কোড উদাহরণ:

এখানে:

  • IF 5 > 3: যদি শর্ত সত্য হয়, তাহলে "True" প্রিন্ট হবে।
  • ELSE: যদি শর্ত মিথ্যা হয়, তাহলে "False" প্রিন্ট হবে।

WAIT কমান্ড:

WAIT কমান্ডটি নির্দিষ্ট সময় বা শর্ত পূর্ণ না হওয়া পর্যন্ত কোডটির কার্যক্রম বন্ধ রাখে।

কোড উদাহরণ:

এখানে:

  • WAIT 5: এটি ৫ সেকেন্ডের জন্য কোডটির কার্যক্রম বন্ধ রাখবে এবং পরে "Hello after 5 seconds" প্রিন্ট করবে।

Loops এবং Control Flow এর সংমিশ্রণ:

Loops এবং Control Flow একসাথে ব্যবহৃত হলে প্রোগ্রামে শর্তযুক্ত পুনরাবৃত্তি সম্ভব হয়, যা আরও শক্তিশালী এবং নমনীয় হয়ে ওঠে।

কোড উদাহরণ:

এখানে:

  • MAKE "count 0: একটি ভেরিয়েবল তৈরি করা হয়েছে যার মান প্রথমে ০।
  • REPEAT 10: এটি ১০ বার লুপ করবে।
  • IF: লুপের মধ্যে শর্ত অনুযায়ী নির্ধারণ করা হয়েছে, যদি সংখ্যাটি জোড় হয় তাহলে "is even" এবং বিজোড় হলে "is odd" প্রিন্ট হবে।

সারসংক্ষেপ:

  • Loops (লুপ): এটি কোডের পুনরাবৃত্তি করার একটি পদ্ধতি। Logo ভাষায় REPEAT কমান্ড ব্যবহার করে আমরা একটি নির্দিষ্ট সংখ্যক বার কাজ করতে পারি।
  • Control Flow (নিয়ন্ত্রণ প্রবাহ): এটি প্রোগ্রামে শর্ত অনুযায়ী কোডের কার্যকারিতা নিয়ন্ত্রণ করতে ব্যবহৃত হয়। IF, IFELSE, এবং WAIT কমান্ডগুলি শর্তযুক্ত কাজ সম্পাদন করতে সাহায্য করে।

এই দুটি কৌশল প্রোগ্রামিংয়ে পুনরাবৃত্তি এবং শর্তযুক্ত কার্যক্রমের মাধ্যমে কোডের কার্যকারিতা এবং নমনীয়তা বৃদ্ধি করতে সহায়ক।

Content added By

Logo ভাষায় REPEAT এবং FOREVER লুপ দুটি প্রধান কমান্ড, যেগুলি একটি নির্দিষ্ট কাজ বা স্টেটমেন্ট পুনরাবৃত্তি করার জন্য ব্যবহৃত হয়। প্রতিটি লুপের নিজস্ব বৈশিষ্ট্য এবং ব্যবহার রয়েছে, যা কোডিংকে আরও সহজ এবং কার্যকরী করে তোলে।


REPEAT লুপের ব্যবহার:

REPEAT লুপটি একটি নির্দিষ্ট সংখ্যক বার একই কাজ বা স্টেটমেন্ট পুনরাবৃত্তি করতে ব্যবহৃত হয়। এর মধ্যে একটি সংখ্যা দেওয়া থাকে, যার মাধ্যমে লুপটি কতবার চলবে তা নির্ধারিত হয়।

ব্যবহার:

উদাহরণ:

এখানে:

  • REPEAT 5: লুপটি ৫ বার চলবে।
  • FORWARD 100: প্রতি লুপে টার্টল ১০০ পিক্সেল এগিয়ে যাবে।
  • RIGHT 72: প্রতি লুপে টার্টল ৭২ ডিগ্রি ডান দিকে ঘুরবে।
  • এই কোডটি ৫ বার পুনরাবৃত্তি করবে এবং একটি পেন্টাগন (পঁচটি কোণবিশিষ্ট আকার) তৈরি করবে।

FOREVER লুপের ব্যবহার:

FOREVER লুপটি একটি অবিরাম লুপ, যা কোন শর্ত পূর্ণ না হওয়া পর্যন্ত চলতে থাকে। এটি সাধারণত তখন ব্যবহৃত হয় যখন আপনি চান লুপটি চলতে থাকুক যতক্ষণ না আপনি এটি থামানোর জন্য বিশেষ কোন শর্ত দেন।

ব্যবহার:

উদাহরণ:

এখানে:

  • FOREVER: এটি একটি অস্বাভাবিক লুপ, যা কখনও থামবে না যতক্ষণ না আপনি সেটি বন্ধ না করেন।
  • FORWARD 100: টার্টলকে ১০০ পিক্সেল এগিয়ে যাবে।
  • RIGHT 90: টার্টলকে ৯০ ডিগ্রী ডান দিকে ঘুরাবে।

এই কোডটি একটি অবিরাম চতুর্ভুজ আঁকবে যতক্ষণ না আপনি লুপ বন্ধ না করেন।


REPEAT এবং FOREVER লুপের মধ্যে পার্থক্য:

  • REPEAT লুপ একটি নির্দিষ্ট সংখ্যক বার কোডটি চালানোর জন্য ব্যবহৃত হয়, যেমন ৫, ১০, ১০০ বার।
  • FOREVER লুপ অবিরামভাবে কোডটি চালাবে যতক্ষণ না আপনি সেটি থামান বা অন্য কোন শর্ত মেনে বন্ধ না করেন।

সারসংক্ষেপ:

REPEAT এবং FOREVER লুপের মাধ্যমে আপনি Logo ভাষায় কোডের পুনরাবৃত্তি করতে পারেন। REPEAT একটি নির্দিষ্ট সংখ্যক বার কোড চালায়, আর FOREVER কোড চালাতে থাকে যতক্ষণ না থামানোর নির্দেশনা দেওয়া হয়। এই লুপগুলো গ্রাফিক্স বা অ্যানিমেশন তৈরিতে অত্যন্ত উপকারী।

Content added By

Logo ভাষায় IF, IFELSE এবং Logical Conditions (যেমন AND, OR, NOT) ব্যবহার করে আপনি প্রোগ্রামিংয়ে শর্তসাপেক্ষ কাজ পরিচালনা করতে পারেন। এই শর্তসাপেক্ষ কমান্ডগুলো ব্যবহার করে আপনি কোডের নির্দিষ্ট অংশ নির্দিষ্ট শর্তে কার্যকর বা নিষ্ক্রিয় করতে পারেন। নিচে এই কমান্ডগুলো এবং তাদের ব্যবহার সম্পর্কে বিস্তারিত আলোচনা করা হলো:


1. IF কমান্ড:

IF কমান্ডটি একটি শর্ত পরীক্ষা করে এবং যদি সেই শর্ত সত্য হয়, তবে একটি নির্দিষ্ট কাজ সম্পাদন করে। এটি একটি শর্ত অনুযায়ী কাজ করতে সহায়ক।

ব্যবহার:

উদাহরণ:

এখানে:

  • MAKE "x 10: ভেরিয়েবল x তৈরি করা হয়েছে এবং তার মান দেওয়া হয়েছে ১০।
  • IF :x > 5: শর্ত চেক করছে যে x যদি ৫ এর চেয়ে বড় হয়, তাহলে নিচের কোড ব্লকটি রান করবে এবং "x is greater than 5 প্রদর্শিত হবে।

2. IFELSE কমান্ড:

IFELSE কমান্ডটি IF কমান্ডের মতোই কাজ করে, তবে এখানে একটি বিকল্প শর্তও থাকে, যা শর্ত মিথ্যা হলে কার্যকর হয়।

ব্যবহার:

উদাহরণ:

এখানে:

  • IFELSE শর্ত চেক করছে যে x যদি ৫ এর চেয়ে বড় হয়, তাহলে প্রথম কোড ব্লকটি চালাবে, এবং না হলে দ্বিতীয় কোড ব্লকটি চালাবে, যেখানে "x is less than or equal to 5" প্রদর্শিত হবে।

3. Logical Conditions (AND, OR, NOT):

Logo ভাষায় শর্তের মধ্যে AND, OR, এবং NOT ব্যবহার করে যৌক্তিক পরীক্ষাগুলি করা যায়।

AND (এবং):

AND শর্ত দুটি বা তার বেশি শর্ত একসাথে সত্য হলে সত্য হবে।

ব্যবহার:

উদাহরণ:

এখানে, শর্ত দুটি পূর্ণ হলে "x is greater than 5 and y is less than 10 প্রদর্শিত হবে।

OR (অথবা):

OR শর্ত দুটি বা তার মধ্যে যেকোনো একটি শর্ত সত্য হলে সত্য হবে।

ব্যবহার:

উদাহরণ:

এখানে, :y < 10 শর্ত সত্য হলে কোডটি চালাবে, কারণ একে অপরের মধ্যে একটি শর্তও সত্য হলে পুরো শর্ত সত্য হয়ে যাবে।

NOT (নট):

NOT কমান্ডটি একটি শর্তকে বিপরীত (negate) করে। যদি শর্তটি সত্য হয়, তাহলে NOT এর কারণে এটি মিথ্যা হয়ে যাবে এবং যদি এটি মিথ্যা হয়, তাহলে সত্য হয়ে যাবে।

ব্যবহার:

উদাহরণ:

এখানে, :x যদি ৫ এর চেয়ে ছোট হয়, তাহলে কোডটি চালাবে এবং "x is not greater than 5 প্রদর্শিত হবে।


সারসংক্ষেপ:

Logo ভাষায় IF, IFELSE, এবং Logical Conditions (AND, OR, NOT) ব্যবহার করে শর্তসাপেক্ষ কাজ পরিচালনা করা যায়। IF শর্ত সত্য হলে কাজ করে, IFELSE দুটি শর্তের মধ্যে একটি নির্বাচিত শর্তের ওপর ভিত্তি করে কোড চালায়, এবং AND, OR, NOT কমান্ডগুলো শর্তগুলির মধ্যে যৌক্তিক সম্পর্ক নির্ধারণ করে। এই শর্তগুলি ব্যবহারের মাধ্যমে কোডের কার্যকারিতা আরও নমনীয় এবং শক্তিশালী করা যায়।

Content added By

Logo ভাষায় Loops (লুপ) ব্যবহার করে জটিল অঙ্কন তৈরি করা সম্ভব, যা প্রোগ্রামিংয়ের খুবই শক্তিশালী বৈশিষ্ট্য। লুপের মাধ্যমে আমরা একই কোড বারবার চালিয়ে জটিল আকার তৈরি করতে পারি। REPEAT এবং FOR কমান্ডগুলির মাধ্যমে লুপ ব্যবহার করা যায়। এই লুপগুলি একাধিক বার কোড চালিয়ে একটি নির্দিষ্ট প্যাটার্ন বা আকৃতি তৈরি করতে সহায়তা করে।

নিচে Loops ব্যবহার করে কিছু Complex Drawings তৈরি করার উদাহরণ দেওয়া হলো:


1. Spiral Shape তৈরি করা (Spiral Drawing):

Spiral বা পাকানো আকার তৈরি করতে, আমরা একটি REPEAT লুপ ব্যবহার করব, যাতে প্রতিটি ধাপে টার্টল একটু বেশি এগিয়ে যাবে এবং একটু বেশি ঘুরবে। এতে একটি প্যাটার্ন তৈরি হবে।

কোড:

এখানে:

  • REPEAT 100: ১০০ বার এই কোডটি পুনরাবৃত্তি হবে।
  • FORWARD :count: প্রতিবার টার্টল ১ থেকে বাড়িয়ে এগিয়ে যাবে।
  • RIGHT 30: টার্টল ৩০ ডিগ্রী ডানদিকে ঘুরবে।
  • MAKE "count :count + 2: প্রতিবার লুপের পরে count ভেরিয়েবলের মান ২ করে বাড়ানো হবে, যাতে টার্টল আরও বেশি দূরে চলে যায়।

2. Star Shape তৈরি করা (Star Drawing):

একটি তারা তৈরি করতে, আমরা একটি REPEAT লুপ ব্যবহার করব যা একাধিক সোজা লাইন আঁকবে এবং তারপর টার্টলকে ঘুরাবে।

কোড:

এখানে:

  • REPEAT 5: ৫ বার এই কোডটি পুনরাবৃত্তি হবে, কারণ একটি তারা ৫টি কোণ দিয়ে তৈরি।
  • FORWARD 100: টার্টল ১০০ পিক্সেল এগিয়ে যাবে।
  • RIGHT 144: টার্টল ১৪৪ ডিগ্রী ডান দিকে ঘুরবে, যা তারা আকৃতির পয়েন্ট তৈরি করবে।

3. Flower Shape তৈরি করা (Flower Drawing):

একটি ফুলের আকার তৈরি করতে, আমরা REPEAT লুপ ব্যবহার করব, যেখানে প্রতিটি পেটার্ন আঁকার পর টার্টল ঘুরবে।

কোড:

এখানে:

  • REPEAT 36: ৩৬টি পেটার্ন আঁকবে।
  • FORWARD 100 RIGHT 90: প্রতিটি পেটার্ন আঁকার জন্য সোজা ১০০ পিক্সেল এগিয়ে যাবে এবং ৯০ ডিগ্রী ডানদিকে ঘুরবে।
  • RIGHT 10: প্রতিটি পেটার্নের পর ১০ ডিগ্রী ঘুরাবে, যাতে পুরো ফুলের আকার তৈরি হয়।

4. Square Spiral তৈরি করা (Square Spiral):

একটি বর্গাকার স্পাইরাল তৈরি করতে, আমরা REPEAT লুপ ব্যবহার করব এবং প্রতি ধাপে সাইডের দৈর্ঘ্য এবং কোণ পরিবর্তন করব।

কোড:

এখানে:

  • REPEAT 50: ৫০ বার লুপটি চলবে।
  • FORWARD :count: প্রতি ধাপে টার্টল ৫ থেকে বাড়িয়ে এগিয়ে যাবে।
  • RIGHT 90: টার্টল ৯০ ডিগ্রী ডান দিকে ঘুরবে।
  • MAKE "count :count + 5: প্রতি লুপে সাইডের দৈর্ঘ্য ৫ পিক্সেল বাড়ানো হবে, যা একটি স্পাইরাল তৈরি করবে।

সারসংক্ষেপ:

Logo ভাষায় Loops ব্যবহার করে জটিল আকৃতি যেমন Spiral, Star, Flower এবং Square Spiral তৈরি করা সম্ভব। REPEAT কমান্ডের মাধ্যমে একটি নির্দিষ্ট কাজ বারবার চালানো যায়, যা কোডের পুনরাবৃত্তি এবং জটিল প্যাটার্ন তৈরি করতে সহায়তা করে। লুপের মাধ্যমে একাধিক লাইন এবং কোণ নিয়ন্ত্রণ করে আকৃতির আকার পরিবর্তন করা যায় এবং তা গ্রাফিক্সে প্রতিফলিত হয়।

Content added By

Logo ভাষায় Turtle এর অবস্থান পরিবর্তন করে Control Flow ম্যানেজ করা একটি শক্তিশালী উপায়, যা প্রোগ্রামিংয়ের মধ্যে লজিক্যাল দিকগুলিকে নিয়ন্ত্রণ করতে সহায়তা করে। টার্টলের অবস্থান পরিবর্তন করার মাধ্যমে আমরা লজিক্যাল স্ট্রাকচার, শর্ত (conditions), লুপ (loops) এবং অন্যান্য কার্যাবলী নিয়ন্ত্রণ করতে পারি।

নিচে Turtle এর অবস্থান পরিবর্তন এবং Control Flow ম্যানেজ করার কিছু পদ্ধতি আলোচনা করা হলো।


1. টার্টলের অবস্থান পরিবর্তন:

Logo ভাষায় PENUP এবং PENDOWN কমান্ড ব্যবহার করে টার্টলের অবস্থান পরিবর্তন করা যায়। PENUP কমান্ড দিয়ে টার্টলকে সরানো যায়, কিন্তু আঁকা বন্ধ থাকে, এবং PENDOWN দিয়ে আঁকা শুরু করা যায়।

PENUP এবং PENDOWN ব্যবহার:

এখানে:

  • PENUP: টার্টলকে সরানো হবে কিন্তু আঁকা হবে না।
  • PENDOWN: টার্টল আবার আঁকা শুরু করবে।

2. শর্ত (Condition) ব্যবহার করে Control Flow:

Logo ভাষায় IF এবং IFELSE কমান্ড ব্যবহার করে শর্তপূর্ণ নির্দেশনা দেওয়া যায়। এটি টার্টলের অবস্থান পরিবর্তন এবং কোডের প্রবাহ নিয়ন্ত্রণ করতে সাহায্য করে।

IF কমান্ড:

এখানে:

  • IF :x > 30: যদি x ভেরিয়েবলের মান ৩০ এর বেশি হয়, তবে টার্টল ১০০ পিক্সেল এগিয়ে যাবে।

IFELSE কমান্ড:

এখানে:

  • IFELSE: যদি শর্ত সত্য হয়, তাহলে এক কাজ হবে, অন্যথায় অন্য কাজ হবে।

3. লুপ (Loop) ব্যবহার করে Control Flow:

REPEAT কমান্ড ব্যবহার করে নির্দিষ্ট সংখ্যক বার টার্টলকে নির্দেশ দেওয়া যায়। এটি টার্টলের অবস্থান পরিবর্তন করতে ব্যবহৃত হয়।

REPEAT লুপ:

এখানে:

  • REPEAT 4: এটি ৪ বার টার্টলকে সোজা এগিয়ে যেতে এবং ৯০ ডিগ্রী ঘুরাতে সহায়তা করবে।

LOOP WITH CONDITION:

এখানে:

  • REPEAT 5: ৫ বার পুনরাবৃত্তি করবে।
  • IF :x < 3: শর্ত দেয় যে, যদি x এর মান ৩ এর কম হয়, তবে টার্টল ৫০ পিক্সেল এগিয়ে যাবে।

4. টার্টলকে নির্দিষ্ট অবস্থানে স্থানান্তর (Move to Specific Location):

Logo ভাষায় SETHEADING, SETPOS, এবং SETXY কমান্ড ব্যবহার করে টার্টলকে নির্দিষ্ট অবস্থানে স্থানান্তরিত করা যায়।

SETHEADING কমান্ড:

এখানে:

  • SETHEADING 90: এটি টার্টলকে ৯০ ডিগ্রি ঘুরাবে।

SETXY কমান্ড:

এখানে:

  • SETXY 200 200: এটি টার্টলকে স্ক্রীনের (২০০, ২০০) পজিশনে নিয়ে যাবে।

সারসংক্ষেপ:

Logo ভাষায় PENUP, PENDOWN, IF, REPEAT, SETHEADING, এবং SETXY এর মতো কমান্ড ব্যবহার করে টার্টলের অবস্থান পরিবর্তন এবং Control Flow ম্যানেজ করা যায়। এগুলি ব্যবহার করে কোডের প্রবাহ এবং লজিক নিয়ন্ত্রণ করা সম্ভব, যা আকৃতি আঁকার সময় টার্টলের চলাচল এবং প্রোগ্রামিংয়ের গঠন নিয়ন্ত্রণ করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...