Tag Archives: লুপ

পাইথন প্রোগ্রামিং : লুপ (Python Loops)

Huge Sell on Popular Electronics

1.8 Python Loops

অনেক সময় এমন অবস্থা তৈরি হয় যে একটি নির্দিষ্ট ব্লকের কোড অনেকবার চালানো লাগে, তখন লুপ এর প্রয়োজন হয়। নিচের ছবিটি লক্ষ্য করিঃ

Loop

Python প্রোগ্রামিং ল্যাঙ্গুয়েজে নিচের লুপ গুলো প্রচলিত

.

Loop Type Description
while loop Repeats a statement or group of statements while a given condition is TRUE. It tests the condition before executing the loop body.
for loop Executes a sequence of statements multiple times and abbreviates the code that manages the loop variable.
nested loops You can use one or more loop inside any another while, for or do..while loop.

 

Loop Control Statements

কোডিং এর সময় সাধারণ নিয়মের/ সিরিয়ালের পরিবর্তন বোঝাতে Loop control statements এর প্রয়োজন হয়। যখন একটি নির্দিষ্ট লুপের পরিসীমার বাইরের কোড রান হয় তখন ঐ পরিসীমার সকল অবজেক্ট ধ্বংস হয়ে যায়। Python নিচের কন্ট্রোল স্টেটমেন্ট গুলো সাপোর্ট করে।

 

Control Statement Description
break statement Terminates the loop statement and transfers execution to the statement immediately following the loop.
continue statement Causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating.
pass statement The pass statement in Python is used when a statement is required syntactically but you do not want any command or code to execute.

 

ইউনিক্স কুইক গাইড (Unix – Quick Guide)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

ইউনিক্স কি

ইউনিক্স অপারেটিং সিস্টেম হল প্রোগ্রামের একটি সেট যা কম্পিউটার ও ব্যবহারকারীর মধ্যে লিঙ্ক হিসেবে কাজ করে।

  • ১৯৬৯ সালে এটিএন্ডটি কর্মীদের দ্বারা বেল ল্যাবরেটরিতে প্রথম ইউনিক্স ডেভেলাপ করা হয়,
  • ইউনিক্সের বিভিন্ন ভার্সন পাওয়া যায়, Solaris Unix, AIX, HP Unix এবং BSD সহ লিনাক্সও অনেকটা ইউনিক্সের মত, যেটি ফ্রী ওএস।
  • ইউনিক্স কম্পিউটার একসাথে কয়েকজন ব্যবহারকারী ব্যবহার করতে পারেন।
  • ইউনিক্স কম্পিউটারে একজন ব্যবহারকারী একসাথে কয়েকটি প্রোগ্রাম চালু রাখতে পারেন।

 

লগইন

login কম্যান্ড দিয়ে আমরা সিস্টেমে লগইন করতে পারি,


login : amrood
amrood's password:
Last login: Sun Jun 14 09:32:32 2009 from 62.61.164.73
$

 

লগআউটের জন্য

কম্যান্ড প্রম্পটে logout কম্যান্ড টাইপ করলে সিস্টেম সবকিছু পরিষ্কার করে যোগাযোগ বিচ্ছিন্ন করে দেবে।

 

ফাইল ব্যবস্থাপনা

ইউনিক্সে তিন ধরণের ফাইল আছে,

  • সাধারণ ফাইল,
  • ডিরেক্টরি,
  • স্পেশাল ফাইল।

 

ফাইলনেমের সাবস্টিটিউশন

কম্যান্ড
ls -[l]
ls -[l]a
~
~user
?
*

 

ফাইলনেমের মেনিপুলেশন

কম্যান্ড
cat filename
cp source destination
mv oldname newname
rm filename
chmod nnn filename
touch filename
ln [-s] oldname newname
ls -F

 

ডিরেক্টরি ম্যানেজমেন্ট

কম্যান্ড
mkdir dirname
rmdir dirname
cd dirname
cd -
cd ~
pwd

 

এনভায়রনমেন্ট সেটআপ

PS1ও PS2 চলক, এস্কেপ ক্যারেক্টার ও এনভায়রনমেন্ট চলক নিয়ে এনভায়রনমেন্ট সেটআপ গঠিত হয়।

এস্কেপ ক্যারেক্টারের সিকোয়েন্স,

 

এস্কেপ সিকোয়েন্স
\t
\d
\n
\s
\W
\w
\u
\h
\#
\$

 

এনভায়রনমেন্ট চলক

চলক
DISPLAY
HOME
IFS
LANG
LD_LIBRARY_PATH
PATH
PWD
RANDOM
SHLVL
TERM
TZ
UID

 

ফিল্টার ও পাইপ

কম্যান্ড
wc [-l]
tail [-n]
sort [-n]
pr -t
grep "pattern" filename
pg or more

 

স্পেশাল চলক

চলক
$0
$n
$#
$*
$@
$?
$$
$!

 

সেল বেসিক অপারেটর

সেল বেসিক অপারেটরঃ তিন ধরণের হয়,

  • এরিথমেটিক অপারেটর,
  • রিলেসনাল অপারেটর,
  • বুলিয়েন অপারেটর

 

এরিথমেটিক অপারেটর

অপারেটর
+
-
*
/
%
=
==
!=

 

রিলেসনাল অপারেটর

অপারেটর
-eq
-ne
-gt
-lt
-ge
-le

 

বুলিয়েন অপারেটর

অপারেটর
!
-o
-a

 

স্ট্রিং অপারেটর

অপারেটর
=
!=
-z
-n
str

 

ফাইল টেস্ট অপারেটর

অপারেটর
-b file
-c file
-d file
-f file
-g file
-k file
-p file
-t file
-u file
-r file
-w file
-x file
-s file
-e file

 

সেল ডিসিশন মেকিং

if...fi বিবৃতি


if [ expression ]
then
   Statement(s) to be executed if expression is true
fi

 

if...else...fi বিবৃতি


if [ expression ]
then
   Statement(s) to be executed if expression is true
else
   Statement(s) to be executed if expression is not true
fi

 

if...elif...fi বিবৃতি


if [ expression 1 ]
then
   Statement(s) to be executed if expression 1 is true
elif [ expression 2 ]
then
   Statement(s) to be executed if expression 2 is true
elif [ expression 3 ]
then
   Statement(s) to be executed if expression 3 is true
else
   Statement(s) to be executed if no expression is true
fi

 

case...esac বিবৃতি


case word in
  pattern1)
     Statement(s) to be executed if pattern1 matches
     ;;
  pattern2)
     Statement(s) to be executed if pattern2 matches
     ;;
  pattern3)
     Statement(s) to be executed if pattern3 matches
     ;;
esac

 

সেল লুপ টাইপ

while লুপ


while command
do
   Statement(s) to be executed if command is true
done

 

for লুপ


for var in word1 word2 ... wordN
do
   Statement(s) to be executed for every word.
done

 

until লুপ


until command
do
   Statement(s) to be executed until command is true
done

 

select লুপ


select var in word1 word2 ... wordN
do
   Statement(s) to be executed for every word.
done

 

 

সেল লুপ কন্ট্রোল

ব্রেক স্টেটমেন্টের জন্য


break[n]

 

আর কন্টিনিউ স্টেটমেন্টের জন্য


continue[n]

 

সেল সাবস্টিটিউশনের জন্য

কম্যান্ড সাবস্টিটিউশন


`command`

 

আর সম্ভাব্য চলক সাবস্টিটিউশন

সাবস্টিটিউশন ফর্ম
${var}
${var:-word}
${var:=word}
${var:?message}
${var:+word}

 

রিডাইরেকশন কম্যান্ড

কম্যান্ড
pgm > file
pgm < file
pgm >> file
n > file
n >> file
n >& m
n <& m
<< tag
|

 

ইউনিক্সঃ সেল লুপ কন্ট্রোল (Unix – Shell Loop Control)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

বিভিন্ন কাজের জন্য লুপ তৈরি ও ব্যবহার করার সাথে আমরা সবাই পরিচিত। কখনো কখনো লুপ এড়ানো বা এর পুনরাবৃত্তি করা প্রয়োজন হয়ে পরে।

 

সেল লুপ নিয়ন্ত্রণের জন্য দুটি স্টেটমেন্ট নিয়ে আমরা আলোচনা করব।

  • ব্রেক স্টেটমেন্ট
  • কন্টিনিউ স্টেটমেন্ট

 

ইনফিনিট লুপ

সব লুপের শুরু বা শেষ ও একটি সীমিত ক্রিয়াসীমা থাকে, নির্ধারিত শর্তে পৌঁছে এর ক্রিয়াসীমা শেষ হয়। সেই নির্ধারিত শর্তে না পৌঁছলে লুপ স্থায়ী হয়ে থেকে যেতে পারে। এধরনের লুপ ইনফিনিট লুপ নামে পরিচিত।

 

নিচের উদাহরণে জিরো থেকে ৯ পর্যন্ত নাম্বার প্রদর্শনের নিমিত্তে লুপের প্রয়োগ দেখানো হল।


#!/bin/sh
 
a=10
 
while [ $a -ge 10 ]
do
   echo $a
   a=`expr $a + 1`
done

এই লুপ সারা জীবন স্থায়ী হবে কারণ a সবসময় ১০এর চেয়ে বড় বা এর সমান, এটি কখনো ১০ এরচেয়ে ছোট হবে না।

 

ব্রেক স্টেটমেন্ট

ব্রেক স্টেটমেন্ট সম্পূর্ণ লুপের কার্যক্রম থামাতে ব্যবহৃত হয়, এর পূর্ব পর্যন্ত সকল কোডের কার্যক্রম সম্পন্ন হওয়ার পর।

 

সিনট্যাক্স

লুপের কার্যক্রম থামাতে নিম্নোক্ত ব্রেক স্টেটমেন্ট ব্যবহার করা হয়,


break


 

 

নেস্টেড লুপ থেকে বেরিয়ে যেতে যে ব্রেক কম্যান্ড ব্যবহার করা হয় তা হল,


break n


 

 

n তম লুপ থেকে বেরিয়ে যাওয়ার জন্য এই কোড ব্যবহৃত হয়।

যেমন


#!/bin/sh
 
a=0
 
while [ $a -lt 10 ]
do
   echo $a
   if [ $a -eq 5 ]
   then
      break
   fi
   a=`expr $a + 1`
done

 

উপরের কোড যে ফলাফল দেখাবে তা হল,


0
1
2
3
4
5

 

এই উদাহরণের উভয় লুপের ক্ষেত্রে পরিবর্তন হবে যদি var1 দুইয়ের সমান ও var2 শূন্যের সমান হয়।


#!/bin/sh
 
for var1 in 1 2 3
do
   for var2 in 0 5
   do
      if [ $var1 -eq 2 -a $var2 -eq 0 ]
      then
         break 2
      else
         echo "$var1 $var2"
      fi
   done
done

 

শর্ত পূরণ হলে ইনার লুপ ও আউটার লুপ বিলুপ্ত করে দেয়া হয়,


1 0
1 5

 

কন্টিনিউ স্টেটমেন্ট

লুপের পুনরাবৃত্তির ক্ষেত্রে কন্টিনিউ স্টেটমেন্ট প্রয়োগ করা সম্ভব, এর সিনট্যাক্স হল,


continue


 

 

নেস্টেড লুপ থেকে বেরিয়ে যেতে যে ইন্টেজার আর্গুমেন্ট ব্যবহার করা হয় কন্টিনিউ কমান্ডে তা হল,


continue n


n তম লুপের ক্ষেত্রে এই কোড ব্যবহৃত হয়।

 

উদাহরণ

নিচের উদাহরণে কন্টিনিউ স্টেটমেন্টের এই কোড ব্যবহার করা হয়,


#!/bin/sh
 
NUMS="1 2 3 4 5 6 7"
 
for NUM in $NUMS
do
   Q=`expr $NUM % 2`
   if [ $Q -eq 0 ]
   then
      echo "Number is an even number!!"
      continue
   fi
   echo "Found odd number"
done

 

এটি নিচের মতো ফলাফল দেখাবে,


Found odd number
Number is an even number!!
Found odd number
Number is an even number!!
Found odd number
Number is an even number!!
Found odd number

 

ইউনিক্সঃ সেল লুপ টাইপ (Unix – Shell Loop Types)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

লুপ হল আদর্শ প্রোগ্রামিং অনুষঙ্গ যার দ্বারা কম্যান্ডের সেটকে পুনরাবৃত্তিক ভাবে সম্পাদন করা যায়। সেল প্রোগ্রামিঙের জন্য প্রযোজ্য লুপের প্রকরণগুলোকে নিচে পরীক্ষা করে দেখা হবে।

  • হোয়াইল লুপ
  • ফর লুপ
  • আনটিল লুপ
  • সিলেক্ট লুপ

 

বিভিন্ন পরিস্থিতির উপর ভিত্তি করে বিভিন্ন লুপ ব্যবহার করতে হয়। এটি ব্যবহারের দক্ষতা প্রোগ্রামিং প্র্যাকটিসের সাথে সাথে বৃদ্ধি পাবে। হোয়াইল লুপ ও ফর লুপ সি, সি প্লাস প্লাস বা পিইআরএল জাতীয় প্রোগ্রামিং ভাষায় পাওয়া যায়।

 

নেস্টিং লুপ

সব ধরণের লুপ নেস্টিং ধারণাকে সমর্থন করে, এই ধারণা অনুসারে একটি লুপকে সদৃশ আরেকটি লুপের ভেতর স্থাপন করা যায়।

এভাবে হোয়াইল লুপ বা সদৃশ অন্য কোনও লুপকে কীভাবে স্থাপন করা যায় তা দেখানো যাক,

এক হোয়াইল লুপকে অন্য হোয়াইল লুপের অংশ হিসেবে ব্যবহার করা যায়, এর সিনট্যাক্স হল,


while command1 ; # this is loop1, the outer loop
do
   Statement(s) to be executed if command1 is true
 
   while command2 ; # this is loop2, the inner loop
   do
      Statement(s) to be executed if command2 is true
   done
 
   Statement(s) to be executed if command1 is true
done

 

লুপ নেস্টিংএর একটি সহজ উদাহরণ হল,


#!/bin/sh
 
a=0
while [ "$a" -lt 10 ]    # this is loop1
do
   b="$a"
   while [ "$b" -ge 0 ]  # this is loop2
   do
      echo -n "$b "
      b=`expr $b - 1`
   done
   echo
   a=`expr $a + 1`
done

 

নয় গণনার লুপের ভেতর আরেকটি গণনা লুপ প্রয়োগ করার ক্ষেত্রে উপরের কোডিং ব্যবহৃত হয়েছে, যা নিম্নোক্ত ফলাফল দেখায়,


0
1 0
2 1 0
3 2 1 0
4 3 2 1 0
5 4 3 2 1 0
6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
8 7 6 5 4 3 2 1 0
9 8 7 6 5 4 3 2 1 0

এখানে echo –n কাজ করেছে, -n এর জন্য নতুন লাইন ক্যারেকটার স্থাপন রহিত হয়েছে।

 

While লুপ, Do-While লুপ, For লুপ, try-catch-finally ব্লক:

Huge Sell on Popular Electronics

While লুপ, Do-While লুপ, For লুপ, try-catch-finally ব্লক:
এবং break, continue বিষয় নিয়ে আলোচনা করব।

গুরুত্বপূর্ণ বিষয়গুলি:
while লুপ:
while(condition){
//do something
}
do-while লুপ:
do{
//do something
}while(condition);
for লুপ:
for(initial_value;condition;increment){
//do something
}
try-catch-finally ব্লক:
try{
//try something
}catch(Exception e){
//do something if exception occurs
}finally{
//do something even if exception occurs or not
}
break, continue:
break; //লুপ থেকে বেরিয়ে আসবে
continue; //বাকি অংশ বাদ দিয়ে লুপ এর শেষে চলে যাবে

আসা করি উপরের বিষয় গুলো ভাল ভাবে অনুশীলন করলে আপনি ভাল ফলাফল পাবেন।

পিএইচপি ৫ while লুপ (PHP 5 while Loops)

Huge Sell on Popular Electronics

প্রতাপ চন্দ্র

 

পিএইচপি while লুপ কোডের একটি ব্লক নির্বাহ করে যতক্ষণ পর্যন্ত একটি বেধে দেয়া শর্ত TRUE হতে থাকে।
যখন কোড লেখা হয় তখন এমন প্রয়োজন হতে পারে যে একই কাজ বার বার করার দরকার পড়ছে। তখন ওই কাজের জন্য বার বার কোড না লিখে লুপ ব্যবহার করে একই ফল পাওয়া যায়। এতে কোড পরিচ্ছন্ন থাকে এবং সহজে ও দ্রুত কাজ সম্পন্ন হয়।

পিএইচপিতে নিচের লুপ স্টেটমেন্টগুলো ব্যবহার করা হয়:

  • while – যতক্ষণ পর্যন্ত একটি নির্দিষ্ট শর্ত পূরণ হতে থাকে ততক্ষণ কোডের একটি ব্লক নির্বাহ করতে থাকে।
  • do...while – একবার লুপটি সম্পন্ন করে, অতপর যতক্ষণ পর্যন্ত একটি নির্দিষ্ট শর্ত পূরণ হতে থাকে ততক্ষণ পুরো লুপটি নির্বাহ করতে থাকে।
  • for – একটি নির্দিষ্ট সংখ্যক বার কোডের একটি ব্লক নির্বাহ হতে থাকে।
  • foreach – একটি অ্যারের সবগুলো উপাদানে না পৌছানো পর্যন্ত কোডের একটি ব্লক নির্বাহ করতে থাকে।

পিএইপি while লুপ

যতক্ষণ পর্যন্ত একটি নির্দিষ্ট শর্ত পূরণ হতে থাকে ততক্ষণ কোডের একটি ব্লক নির্বাহ করতে থাকে।

গঠনরীতি


while (condition is true) {
     code to be executed;
 }

নিচের উদাহরণে $x চলকের প্রাথমিক মান 1 ধরা হয় ($x = 1)। এরপর $x এর মান যতক্ষণ পর্যন্ত 5 এর কম থাকবে কিংবা সমান হবে ($x <= 5) ততক্ষণ প্রতি লুপে ($x++) চলক $x এর মান 1 করে বাড়তে থাকবে।


<?php 
 $x = 1;
while($x <= 5) {
     echo "The number is: $x <br>";
     $x++;
 } 
 ?>

 

কোডটি রান করালে ফলাফল আসবে:


The number is: 1
The number is: 2
The number is: 3
The number is: 4
The number is: 5


 

পিএইচপি do...while লুপ

do...while লুপ কোডের একটি ব্লক একবার রান করবে। এরপর শর্ত যাচাই করবে। যতক্ষণ শর্ত TRUE হবে ততক্ষণ লুপ চলতে থাকবে।

গঠনরীতি:


do {
     code to be executed;
 } while (condition is true);

নিচের উদাহরণে $x চলকের প্রাথমিক মান 1 ধরা হয়েছে ($x = 1)। এরপর do...while লুপ প্রাথমিক আউটপুট দেবে। এরপর $x এর মান 1 বাড়াবে। এরপর শর্ত পরীক্ষা করে দেখবে $x এর মান 5 এর কম আছে কিংবা সমান হয়েছে কিনা। যতক্ষণ পর্যন্ত তা TRUE হবে ততক্ষণ লুপে দেয়া কোড নির্বাহ হবে এবং আউটপুট আসতে থাকবে।
যেমন:


<?php 
 $x = 1;
do {
     echo "The number is: $x <br>";
     $x++;
 } while ($x <= 5);
 ?>

 

কোডটি রান করলে আগের মতোই ফলাফল আসবে:


The number is: 1
The number is: 2
The number is: 3
The number is: 4
The number is: 5


 

এখানে লক্ষ্য করুন, do...while লুপে শর্ত যাচাই করা হয় লুপের মধ্যকার স্টেটমেন্টটি নির্বাহ হবার পরে। এর অর্থ হলো do...while লুপ কোডটি নূন্যতম একবার নির্বাহ হবে, এমনকি শর্ত যদি FALSE হয় তবুও।

নিচের উদাহরণে $x চলকের প্রাথমিক মান 6 ধরা হয়েছে। এরপর কোডটি রান করে। তারপর শর্ত পরীক্ষা করে দেখে লুপ করবে কিনা। যেহেতু শর্ত FALSE হয় তাই আর লুপ হয় না।


<?php 
 $x = 6;
do {
     echo "The number is: $x <br>";
     $x++;
 } while ($x<=5);
 ?>

 

উপরের উদাহরেণের ক্ষেত্রে ফলাফল আসবে:


The number is: 6


 

পিএইচপি ৫ ফর লুপ (PHP 5 for Loops)

Huge Sell on Popular Electronics

প্রতাপ চন্দ্র

 

প্রোগ্রামিং ল্যাঙ্গুয়েজে লুপিং একটি গুরুত্বপূর্ণ টার্ম। একটি নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত কম্পিউটারকে একই কাজ পুণ:পুণ: করানোর জন্য for loop স্টেটমেন্ট ব্যবহার করা হয়। PHP (পিএইপি) ল্যাঙ্গুয়েজেও for loop স্টেটমেন্ট ব্যবহার করা হয় এক ব্লক কোড একটি নির্দিষ্ট সংখ্যকবার আবর্তিত হয়ে নির্বাহ করার জন্য।

PHP তে for loop স্টেটমেন্টটি তখন ব্যবহার করা হয় যখন আগেভাগে জানা থাকে কোডটি কতবার বা কতদূর পর্যন্ত রান করাতে হবে।

Syntax বা গঠনরীতি:


for (init counter; test counter; increment counter) {
     code to be executed;
 }

 

এই syntax এ যে প্যারামিটারগুলো ব্যবহার করা হয়েছে তা নিচে ব্যাখ্যা করা হলো:

  • init counter: লুপ কাউন্টার কোন সংখ্যা থেকে শুরু করবে সেই প্রাথমিক মান।
  • test counter: শর্তটির অবস্থা মূল্যায়ন করে দেখে। মান যদি শর্তটির মধ্যে থাকে অর্থাৎ TRUE হয় তবে আবার loop চালু করে। যদি শর্তের বাইরে চলে যায় অর্থাৎ FALSE হয় তখন লুপিং শেষ করে দেয়।
  • increment counter: লুপ কাউন্টারের মান বৃদ্ধি করে।

নিচে একটি উদাহরণ দেয়া হলো:


<?php 
 for ($x = 0; $x <= 10; $x++) {
     echo "The number is: $x <br>";
 } 
 ?>

 

এই কোডটি রান করালে ফলাফল আসবে নিচের মতো:


The number is: 0
The number is: 1
The number is: 2
The number is: 3
The number is: 4
The number is: 5
The number is: 6
The number is: 7
The number is: 8
The number is: 9
The number is: 10


 

পিএইপি foreach Loop:

foreach লুপ কেবলমাত্র array তে কাজ করে। লুপটি একটি অ্যারেতে রাখা প্রতিটি উপাদানে পর্যায়ক্রমে প্রবেশের জন্য ব্যবহার করা হয়। এর গঠনরীতি নিচে দেয়া হলো:


foreach ($array as$value) {
     code to be executed;
 }

প্রতিটি লুপ যখন কার্যকর হয় তখন অ্যারের তাতক্ষনিক উপাদানটি $value হিসেবে পরিগণিত হবে এবং অ্যারের পরের উপাদানে যায়। যতক্ষণ পর্যন্ত না এটি ওই অ্যারের সর্বশেষ উপাদানে পৌছাবে ততক্ষণ একই প্রক্রিয়া চলতে থাকবে।

নিচের উদাহরণটি একটি লুপ প্রদর্শন করবে যা $colors অ্যারের value গুলো আউটপুট হিসেবে এক এক করে প্রদর্শন করবে।


<?php 
 $colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
     echo "$value <br>";
 }
 ?>

 

এই কোডটি রান করালে ফলাফল আসবে নিচের মতো:


red
green
blue
yellow


 

লেকচার-০৭: সিএসই-১০০: সি প্রোগ্রামিং পরিচিতি – সি এ লুপ (For loop in C)

Huge Sell on Popular Electronics