Sunday, April 27, 2014

টাইটেল ট্যাগ টিউটোরিয়াল seo


এটা  খুবই গুরত্বপূর্ন একটা ওয়েব পেজের জন্য।ইউজার এবং সার্চ ইন্জিন উভয়কে এটা বলে দেয় যে পেজের মধ্যে কি আছে অর্থ্যাৎ একটা টাইটেল একটা পেজের সরাংশ।আপনার পেজের টাইটেল হতে হবে এমন যাতে এটা আপনার সাইটের আর অন্য কোন পেজের টাইটেলের সাথে মিলে না যায় অর্থ্যাৎ unique এবং নির্ভূল।সার্চ রেজাল্ট যখন আমরা ব্রাউজারে দেখি তখন পেজ টাইটেল সবার আগে প্রথম লাইনে থাকে।
ইউজার যে কিওয়ার্ড দিয়ে সার্চ করবে সেই কিওয়ার্ডটি যদি সার্চ রেজাল্টে বোল্ড করে দেখায় তাও আবার পুরো পেজ টাইটেলটি,তাহলে আপনার সাইটের ট্রাফিক বহুগুন বেড়ে যাবে।পেজ টাইটেল সবসময় এমন দিবেন যেটার সাথে পেজের কনটেন্টের খুব মিল আছে।খুব বড় টাইটেল দেয়া উচিৎ নয় এতে অনেক অপ্রয়োজনীয় শব্দ টাইটেলে চলে আসে আর খুব বড় টাইটেল হলে গুগল এর সম্পূর্ন নয় বরং কিছু অংশ দেখায়।সবচেয়ে ভাল আপনার পেজ টাইটেল হবে ছোট,প্রাসঙ্গিক এবং তথ্যবহুল।

Monday, April 21, 2014

Microsoft Small Basic প্রোগ্রামিং [পর্ব-০৪] :: লুপ ও ব্রাঞ্চিং

আপনাকে বলা হলো ১ থেকে ১০ পর্যন্ত কনসোলে দেখান। তাহলে আপনি কোড লেখা শুরু করবেন যে,
TextWindow.WriteLine(“1”) এভাবে 10 পর্যন্ত। কিন্তু আপনাকে যদি 1 থেকে 100 পর্যন্ত লিখতে বলা হয় তখন কি করবেন??
এই কাজগুলো আপনি মাত্র তিন লাইনের কোড দিয়েই করতে পারবেন। কারণ প্রতিটি প্রোগ্রামিং ল্যাংগুয়েজের মতোই Microsoft Small Basic এ লুপ আছে। লুপ দিয়ে সহজেই একাধিক স্টেটমেন্ট লেখা যায়। MS Small Basic এ দুধরনের লুপ আছে। For লুপ এবং While লুপ। আমরা For লুপের ব্যাবহার নিয়ে আজকের পর্ব শুরু করছি।

For Loop

সাধারনত For.. EndFor লুপ ব্যাবহার করে থাকি একটি নির্দিষ্ট সময়ের জন্য কোড এক্সিকিউট করার জন্য। লুপ চালানের জন্য একটি ভেরিয়েবলে সীমা যুক্ত কর দিবো। ভালোভাবে বোঝার জন্য নিচের উদাহরনটি দেখুন।
For a = 1 To 10
TextWindow.WriteLine(a)
EndFor
প্রোগ্রামটি রান করে দেখুন আউটপুটে 1 থেকে 10 দেখতে পারবেন। প্রোগ্রামটি মূলত প্রতিবার এক করে মান বৃদ্ধি করে থাকে। আপনি যদি এক এর পরিবর্তে অন্য হারে মান পরিবর্তন করতে চান তাহলে আপনাকে Step নামক কীওয়ার্ডটি ব্যাবহার করতে হবে। নিচের উদাহরনটি লক্ষ্যনীয়।
For a = 1 To 10 Step 2
TextWindow.WriteLine(a)
EndFor
আউটপুট এরকম আসবেঃ
1
3
5
7
9
এবার চলুন For লুপ দিয়ে একটা নামতা লিখে ফেলি। আমরা 5 এর ঘরের নামতা লিখব।
number = 5
For a = 1 To 10
TextWindow.WriteLine(number + " X " + a + " = " + number * a)
EndFor
প্রোগ্রামটি আসলে কিভাবে কাজ করছে? প্রথমে আমরা number নামক ভেরিয়েবলে আমরা 5 অ্যাসাইন করছি। এরপর আমরা লুপের ভিতর number এর সাথে a গুন করে প্রতি লাইনে দেখাচ্ছি। a এর মান প্রতিবার যেহেতু এক করে বৃদ্ধি পাচ্ছে তাই আমাদের রেজাল্টও প্রতি লাইনে পরিবর্তিত হচ্ছে।

While Loop

While Loop এর Syntax হলোঃ
While (condition)
‘some codes to be executed
EndWhile
আগে একটি উদাহরন তারপরে বিস্তারিত While Loop সম্পর্কে বলছি।
x = 10
While (x <= 100)
TextWindow.WriteLine(x)
x = x + 10
EndWhile
এখন প্রোগ্রামটি কিভাবে কাজ করলো তা জেনে নিই। প্রথমে আমরা x এর মান 10 অ্যাসাইন করলাম। এরপর আমরা while লুপে একটা শর্ত জুড়ে দিলাম যে  যতক্ষন পর্যন্ত x এর মান ১০০ এর সমান বা ছোট থাকবে ততক্ষণ পর্যন্ত লুপের ভিতরের কাজগুলো চলতে থাকবে। এখন লুপের ভিতর প্রথম স্টেটমেন্ট হলো কনসোল উইন্ডোতে x এর মান লেখা অর্থাৎ আউটপুট দেওয়া। এর পর আছে x = x + 10 এর মানে হলো x এর মান ১০ বৃদ্ধি করা। এখন x এর মান হলো ২০ । যেহেতু সে ১০০ এর ছোট তাই স্ক্রীনে x এর নতুন মান ২০ প্রিন্ট করবে। এভাবে ১০০ হওয়া পর্যন্ত লুপ চলতে থাকবে। আমরা বিষয়টাকে নিচের ফ্লো-চার্টের মাধ্যমে দেখাতে পারি।

ব্র্রাঞ্চিং ( Branching )

আপনারা এতোক্ষনে জানেন যে প্রোগ্রাম লাইন বাই লাইন কাজ করে। আপনারা অনেকেই হয়তো প্রোগ্রাম শেষ না করে পূর্বের কোন স্টেটমেন্টে চলে যেতে চান। এজন্য Goto আমরা কীওয়ার্ড ব্যবহার করবো। এর এই Goto কীওয়ার্ড ব্যবহার করে পূর্বে স্টেটমেন্টে ফিরে যাওয়াকে Branching বলে। একটি উদাহরনের মাধ্যমে চলুন বিষয়টি দেখে নিই।
j = 1

start:

TextWindow.WriteLine(j)

j =  j + 1

If j < 10 Then

Goto start

EndIf

এখানে start হলো একটি লেবেল। আমরা বলেছি যদি j এর মান ১০ এর চেয়ে ছোট হয় তাহলে। start এ চলে যাও। লেবেল লেখার নিয়মটি ভালো করে দেখুন। আমরা লেবেলের পর একটি কোলন দিয়েছি।
Goto এর ব্যবাহার আমরা একটি প্রোগ্রামের মেনু তৈরী করে তাতে ফিরে যাওয়ার কাজে লাগাতে পারি। নিচের প্রোগ্রামটি উদাহরনসরূপ দিলাম।
TextWindow.Title = "Multifunction Calculator"
Start:
TextWindow.WriteLine("Enter the number of program you want to run: ")
TextWindow.WriteLine("1. Addition")
TextWindow.WriteLine("2. Subtraction")
TextWindow.WriteLine("3. Exit")
choice = TextWindow.ReadNumber()

If (choice = 1) Then
    TextWindow.WriteLine("Enter a number: ")
    x = TextWindow.ReadNumber()
    TextWindow.WriteLine("Enter another number: ")
    y = TextWindow.ReadNumber()
    ans = x + y
    TextWindow.WriteLine("The sum of entered numbers is " + ans)
    Goto Start
ElseIf (choice = 2) Then
    TextWindow.WriteLine("Enter a number: ")
    x = TextWindow.ReadNumber()
    TextWindow.WriteLine("Enter another number: ")
    y = TextWindow.ReadNumber()
    ans = x- y
    TextWindow.WriteLine("The subtraction of entered numbers is " + ans)
    Goto Start
ElseIf (choice = 3) Then
    TextWindow.WriteLine("Thanks for using this app.")
    'program will end here
Else
    TextWindow.WriteLine("Invalid Number. Try again!")
    Goto Start
EndIf

আজ এতোটুকুই থাক। আগামী পর্বে আমরা সাবরুটিন তৈরী ও একটি গ্রাফিকাল উইন্ডো তৈরী করা শিখবো।

Microsoft Small Basic প্রোগ্রামিং [পর্ব-০৩] :: কন্ডিশনাল স্টেটমেন্ট

Microsoft Small Basic এ প্রোগ্রামিং শিখুন টিউটোরিয়ালের তৃতীয় পর্বে আপনাকে স্বাগতম। আজ আমরা কন্ডিশনাল স্টেটমেন্ট সম্পর্কে জানবো। তবে এর পূর্বে আমি গত পর্বে কিছু বিষয় বাদ দিয়ে গিয়েছিলাম যা আমার জানানো উচিত ছিলো।

স্ট্রিং ইনপুট নেওয়া

আমি গত পর্বেই বলেছিলাম স্ট্রিং হলো একসারি ক্যারেকটার। যেমন আপনার নাম বা যে কোন লেখা। আমরা যে কোন নাম্বার ইনপুট নিয়েছিলাম ReadNumber অপারেশন ব্যাবহার করে। স্ট্রিং ইনপুট নেওয়ার জন্য আমরা শুধুমাত্র Read অপারেশন ব্যাবহার করবো। নিচের উদাহরণটি লক্ষ্য করুন।
TextWindow.WriteLine("Please Enter your Name: ")
name = TextWindow.Read()
TextWindow.WriteLine("Hello " + name +", welcome to the world of programming.")
আপনারা নিচের মতো আউটপুট দেখতে পারবেনঃ

TextWindow এর টাইটেল দেওয়া ও Text রঙ্গীন করা

উপরের প্রোগ্রামটির স্ক্রীনশট দেখুন। আমাদের কনসোল এর টাইটেলবারে ফাইলের লোকেশন দেখাচ্ছে। কিন্তু আমরা আমাদের অ্যাপ্লিকেশনের কাজ অনুযায়ী এর নাম দিতে চাই। যেমন উপরের প্রোগ্রামটার টাইটেল আমরা String Input Example দিতে পারি। এজন্য আমরা TextWindow.Title ব্যবহার করবো। নিচের উদাহরনটি লক্ষ্য করুন।
TextWindow.Title = "String Input Example"
TextWindow.WriteLine("Please Enter your Name: ")
name = TextWindow.Read()
TextWindow.WriteLine("Hello " + name +", welcome to the world of programming.")
Output:

আবার আমরা কনসোলের লেখাগুলোর বর্ণও পরিবর্তন করতে পারি। আপনারা হয়তো সাদা রং দেখতে পছন্দ করবেন না। তাই লেখাগুলোর বর্ণ পরিবর্তন করতে আমরা TextWindow.ForegroundColor প্রোপারটি টি ব্যাবহার করবো। নিচের উদাহরনটি লক্ষ্য করুন।
TextWindow.Title = "Changing Color of TEXT"
TextWindow.ForegroundColor = "green"
TextWindow.WriteLine("This text has GREEN color")
TextWindow.ForegroundColor = "Red"
TextWindow.WriteLine("This Text has RED color")
প্রোগ্রামটি রান করলে আমরা নিচের মতো দেখতে পারবোঃ

আপনাদের সুবিধার্তে আমি Small Basic এ কিছু বৈধ রংয়ের নাম দিচ্ছি।
Black
Blue
Cyan
Gray
Green
Magenta
Red
White
Yellow
DarkBlue
DarkCyan
DarkGray
DarkGreen
DarkMagenta
DarkRed
DarkYellow

কন্ডিশনাল স্টেটমেন্ট

এবার আমি আমার আজকের পর্বের মূল বিষয় কন্ডিশনাল স্টেটমেন্ট সম্পর্কে বর্ণনা করবো। কন্ডিশন এর বাংলা হলো শর্ত। তাই এখানে আমরা শর্ত নিয়েই কাজ করবো। এখন প্রশ্ন শর্ত কি? যেমন আপনাকে শর্ত দেওয়া হলো যে আপনার বয়স ২১ বছর না হলে আপনি বিয়ে করতে পারবেন না। তেমনি প্রোগ্রামেও আপনাকে এরকম শর্ত দেওয়া হবে যে একটা নির্দিষ্ট মান সত্য হলেই শুধুমাত্র তার পরবর্তী কোডগুলো এক্সিকিউট হবে।
MS Small Basic ল্যাংগুয়েজে শর্ত দেওয়ার Syntax বা নিয়ম হলোঃ
If (condition) Then
    'some code goes here
Else
    'some code goes here
End If
চলুন উদাহরনের মাধ্যমে বোঝানো যাক। নিচের প্রোগ্রামটি ইউজার থেকে একটি নাম্বার ইনপুট নিবে। তারপর চেক করে আউটপুট দিবে নাম্বারটি ধনাত্মক নাকি ঋণাত্মক।
TextWindow.WriteLine("Enter a number: ")
x = TextWindow.ReadNumber()
If (x >= 0) Then
    TextWindow.WriteLine("The Number is Positive!")
Else
    TextWindow.WriteLine("The Number is Negative!")
EndIf
উপরের প্রোগ্রামটি কিভাবে কাজ করে তা নিচের ফ্লো চার্টের মাধ্যমে দেখানো যেতে পারে।

আশা করি আপনারা বুঝতে পেরেছেন। এখানে শর্তে আমরা যে অপারেটর ব্যাবহার করেছি তা হলো বড় ও সমান (>= বা Greater Than or Equal). এই অপারেটরকে বলা হয় রিলেশনাল অপারেটর। MS Small Basic এর রিলেশনাল অপারেটর সমূহ হলোঃ
Sign
In Words
=
Equal To
>
Greater Than
<
Less Than
>=
Greater Than or Equal
<=
Less Than or Equal
!=
Not Equal
এখন আমরা যদি একাধিক শর্ত দিতে চাই তাহলে আমাদের Elseif ব্যবাহার করতে হবে। Syntax হবে নিম্নরূপঃ
If (condition Then
    'some code goes here
Elseif(condition) Then
    'some code goes here
Else
    'some code goes here
End If
আমরা ধরে নেই ০ ধনাত্মক বা ঋণাত্মক নয়। উপরের প্রোগ্রামটি শূন্য ইনপুট দিলে বলে যেনো The number is Zero. তাহলে আমাদের প্রোগ্রামটি হবেঃ
TextWindow.WriteLine("Enter a number: ")
x = TextWindow.ReadNumber()
If (x > 0) Then
    TextWindow.WriteLine("The Number is Positive!")
ElseIf (x=0) Then
    TextWindow.WriteLine("The Number is Zer0!")
Else
    TextWindow.WriteLine("The Number is Negative!")
EndIf
আমরা একটি কন্ডিশনাল স্টেটমেন্টের ভিতর আরও কন্ডিশন দিতে পারি। চলুন নিচের প্রোগ্রামটা দেখি।
TextWindow.Title = "Marriage Age Checking"
TextWindow.WriteLine("Enter your Name: ")
name = TextWindow.Read()
TextWindow.WriteLine("Are You Male/Female ? (Enter m or f)")
sex = TextWindow.Read()
If( sex = "m") Then
    TextWindow.WriteLine("Enter your Age: ")
    age = TextWindow.ReadNumber()
    If( age < 21 ) Then
        TextWindow.ForegroundColor = "red"
        TextWindow.WriteLine("Sorry " + name +", you don’t have right to get married.")
    Else
        TextWindow.ForegroundColor = "green"
        TextWindow.WriteLine("Congrats " + name + ", you have the right to get married.")
    EndIf
ElseIf ( sex = "f" ) Then
    age = TextWindow.ReadNumber()
    If( age < 18 ) Then
        TextWindow.ForegroundColor = "red"
        TextWindow.WriteLine("Sorry " + name +", you don’t have right to get married.")
    Else
        TextWindow.ForegroundColor = "green"
        TextWindow.WriteLine("Congrats " + name + ", you have the right to get married.")
    EndIf
Else
    TextWindow.WriteLine("You have entered wrong letter !")
EndIf
বিশাল প্রোগ্রাম তাই না? বাস্তব জীবনের প্রোগ্রাম এর চেয়েও বড় হয়! আচ্ছা আমাকে কি প্রোগ্রামটা ব্যাখ্যা করতে হবে? আশাকরি প্রোগ্রামটা দেখেই বুঝতে পারবেন। যদি বুঝতে না পারেন তাহলে মন্তব্যের ঘর ফাঁকাই থাকে। ওটাতে জিজ্ঞাসা করতে পারেন। আমি ব্যাখ্যা যুক্ত করে দিবো।
আজ এতোটুকুই থাক। আগামী পর্বে আমরা লুপ শিখবো।