সি++ প্রোগ্রামিং – conditional statement – nested if-else – তৃতীয় পর্ব

সি++ প্রোগ্রামিং – conditional statement – nested if-else – তৃতীয় পর্ব 

if(condition)
{
    if(condition)
    {
        statements;
    }
    else
    {
        statements;
    }
}
else
{
    statements;
}

 

উদাহরণ – ০৫

#include <iostream>
using namespace std;
int main()
{
    int num;
    cout<<"Enter a number :";
    cin>>num;
    if(num>0)
    {
        cout<<"Number is greater than 0 !");
    }
    else
    {
        if(num==0)
        {
            printf("It is 0 !");
        }
        else
        {
            printf("Number is less than 0");
        }
    }
    return 0;
}

 

Input: -12
Output: Number is less than 0

 

উদাহরণ – ০৬

তিনটি সংখ্যার মধ্যে বৃহত্তম সংখ্যা নির্ণয়

if_else

 

#include <iostream>
using namespace std;
int main()
{
    int x,y,z ;
    cout<<"Enter three numbers :n";
    cin>> x >> y >> z;
    if(x > y)
    {
        if(x > z)
            cout<<"X is biggest numbern";
        else
            cout<<"Z is biggest numbern";

    }
    else
    {
        if(y > z)
            cout<<"Y is biggest numbern";
        else
            cout<<"Z is biggest numbern";

    }
    return 0;
}

 

উদাহরণ – ০৭

ছয়টি সংখ্যার মধ্যে বৃহত্তম সংখ্যা নির্ণয়

maximun_number

 

#include <iostream>
using namespace std;
int main()
{
    int a,b,c,x,y,z,max1,max2,max3,maximum;
    cout<<"Enter six numbers :n";
    cin>> a>>b>>c>>x >> y >> z;
    if(a > b)
    {
        max1=a;
    }
    else
    {
        max1=b;
    }

    if(c > x)
    {
        max2=c;
    }
    else
    {
        max2=x;
    }

    if(y > z)
    {
        max3=y;
    }
    else
    {
        max3=z;
    }

    if(max1 > max2)
    {
        if(max1 > max3)
            maximum=max1;
        else
            maximum=max3;

    }
    else
    {
        if(max2 > max3)
            maximum=max2;
        else
            maximum=max3;
    }
    cout<<"Maximum number is "<< maximum;
    return 0;
}

 

 

সি++ প্রোগ্রামিং – conditional statement – else if – দ্বিতীয় পর্ব

সি++ প্রোগ্রামিং – conditional statement – else if – দ্বিতীয় পর্ব :

if(condition_1)
{
    statements;
}
else if(condition_2)
{
    statements;
}
.
.
.
else
{
    statements;
}

 

উদাহরণ – ০৪

গ্রেড শিট তৈরি

তোমার ক্লাসটিচার তোমাকে একটি প্রোগ্রাম তৈরি করতে হবে যেখনে শিক্ষার্থীদের প্রত্যেক বিষয়ে প্রাপ্ত নম্বর ইনপুট দিলে ঐ বিষয়ে প্রাপ্ত গ্রেড আউটপুট দিবে।

#include <iostream>
using namespace std;
int main()
{
    int num ;
    cout<<"Enter a number :n";
    cin>>num;
    if(num>=80)
        cout<<"Grade A+";
    else if(num>=60 && num<80)
        cout<<"Grade A";
    else if(num>=40 && num<60)
        cout<<"Grade B",num;
    else
        cout<<"Fail";
    return 0;
}
Input: 67
Output: Grade A

সি++ প্রোগ্রামিং – conditional statement – if-else – প্রথম পর্ব

সি++ প্রোগ্রামিং – conditional statement – if-else – প্রথম পর্ব 

এর মাঝে আমরা if….else, else if এবং nested if নিয়ে আলচনা করবো।

১) if…else

if সর্বদা true অথবা false শর্ত যাচাই করে , যদি true হয় তবেই if condition এর জন্য যেই statement তা output দেখায়, অন্যথায় else এর জন্য যেই statement তা output দেখায়।

if(condition)
{
    statements;
}
else
{
    statements;
}

উদাহরণ – ০১

জোড় অথবা বিজোড় যাচাই করা

আর একটু বোঝার জন্য কোনো একটি সংখ্যা জোড় অথবা বিজোড় কিনা বের করার একটা প্রোগ্রাম দেখি:

তার আগে আমাদের মডুলাস অপারেটর সম্পর্কে জানতে হবে, যা অপারেটর অধ্যায়ে আলোচনা করা হয়েছে। নতুন একটি অপারেটর মডুলাস(%, Modulus) অপারেটর। মডুলাস কোন সংখ্যাকে অপর একটি সংখ্যা দিয় ভাগ করলে যেই ভাগশেষ থাকে তার মান বোঝায়। যেমন 10 কে 3 দ্বারা ভাগ করলে ভাগশেষ 1 থাকে।

অর্থাৎ 10 % 3 = 1

যদি কোন সংখ্যাকে ২ দিয়ে ভাগ করলে ভাগশেষ শুন্য থাকে তাহলে ঐ স্নগখ্যাটি জোড় এবং ভাগশেষ ১ থাকলে ঐ সংখ্যাটি বিজোড় হবে। তাহলে প্রোগ্রামিংটি নিম্ন রূপ হবে-

#include <iostream>
using namespace std;
int main()
{
    int num ;
    cout<<"Enter a number :n";
    cin>>num;
    if(num%2==0)
        cout<<"The number is an even.n";
    else
        cout<<"The number is an odd.n";
    return 0;
}
Output:
Enter a number : 12
The number is an even

 

এখানে int ডাটা টাইপ এর চলক num এর মাঝে একটি সংখ্যা ইনপুট নিবে।

এখন if এর মাঝের কন্ডিশন এ যাচাই করবে num কে 2 দ্বারা ভাগ করলে ভাগশেষ শূন্য হয় কিনা, যদি শূন্য হয় তাহলে if এর মাঝে থাকা কন্ডিশন সত্য। তাই কম্পাইলার if এর মাঝের স্টেটমেন্ট execute করবে।

আর যদি if এর মাঝের কন্ডিশন সত্য না হয় তাহলে else এর মাঝের স্টেটমেন্ট execute করবে।

if অথবা else এর স্টেটমেন্টগুলো সেকেন্ড ব্রাকেট {} এর মাঝে রাখতে হবে, তবে if অথবা else এর যদি একটি মাত্র স্টেটমেন্ট থাকে তখন সেকেন্ড ব্রাকেট {} না দিলেও হবে।

উদাহরণ – ০২

একটু গণিত ও প্রোগ্রামিং (কোন সংখ্যার পরমমান নির্ণয়)

x>0 হলে, x এর পরমমান x

x<0 হলে, x এর পরমমান -x

এবং x=0 হলে, x এর পরমমান 0 হবে।

x এর পরমমানকে |x| প্রতীক দ্বারা প্রকাশ করা হয়। অর্থাৎ,

|x|=x,যদি x>0

|x|=-x,যদি x<0

|x|=0,যদি x=0

 

এখন আমরা যেকোনো বাস্তব সংখ্যার পরমমান বের করার একটি প্রোগ্রাম লিখবো। যেখানে

Input: যে কোনো বাস্তব সংখ্যা
Output: ঐ বাস্তব সংখ্যার পরমমান

 

#include <iostream>
using namespace std;
int main()
{
    int num ;
    cout<<"Enter a number :n";
    cin>>num;
    if(num>0)
        cout<<"num;
    else
        cout<<"-num;
    return 0;
}

 

Input: -2
Output: 2

 

উদাহরণ – ০৩

দুইটি সংখ্যার মধ্যে বৃহত্তম সংখ্যা বের করা

একটি প্রোগ্রাম লিখতে হবে যা দুইটি অসমান সংখ্যা ইনপুট দিলে তাদের মধ্যে কোনটি বড় কোনটি ছোট সংখ্যা বের করে দিবে।

#include <iostream>
using namespace std;
int main()
{
    int num1, num2 ;
    cout<<"Enter two numbers :n";
    cin>>num1>>num2;
    if(num1>num2)
        cout<<num1<<" is greater than "<<num2<<"n";
    else
        cout<<num2<<" is greater than "<<num1<<"n";
    return 0;
}

 

সি++ প্রোগ্রামিং – ইনপুট ও আউটপুট

সি++ প্রোগ্রামিং – ইনপুট ও আউটপুট

ইনপুট

যে কোনো প্রোগ্রামিং ভাষাতে ইনপুট বোঝায় যে কোনো ডাটা প্রোগ্রামএ ইনপুট করা। C++ প্রোগ্রামিং লাঙ্গুয়েজ এর কতগুলো built-in functions আছে যা প্রদত্ত ইনপুট পড়ে এবং প্রোগ্রামে প্রবেশ করায়। সি++ প্রোগ্রামিং ভাষায় আমরা cinফাংশন ব্যবহার করে থাকি ডাটা ইনপুট দেয়ার জন্য।

আউটপুট

যে কোনো প্রোগ্রামিং ভাষাতে আউটপুট বোঝায় যে কোনো ডাটা স্ক্রীন এ, প্রিন্টার এ অথবা যেকোনো ফাইল এ দেখানো। cout এর পর << চিহ্ন দিয়ে যা আউটপুটে দেখতে চাই তা লিখতে হবে। কোন ভেরিয়েবল লিখলে তাতে কোন ডাবল কোটেশন (” “) দেয় লাগবে না। তবে কোন স্ট্রিং সরাসরি লিখে আউটপুটে দেখাতে হলে তা ডাবল কোটেশন (” “) এর মাঝে লিখতে হবে।

#include <iostream>
using namespace std;
int main()
{
   int x;
   cout<<"Enter an integer: n"<<x;
   cin>>x;
   if ( x>= 0)
       cout<<"The number is positive.n";
   else
       cout<<"The number is negative.n";
}

 

সি++ প্রোগ্রামিং – অপারেটর

অপারেটর

কম্পাইলারকে যেই সংকেত সমূহ গাণিতিক বা লজিকাল কোন কাজ করার জন্য নির্দেশনা দেয় তাদের কম্পিউটার প্রোগ্রামিং-এ অপারেটর বলে। মনে করো z = (x+y), এখানে x,y,z হলো অপারেন্ড এবং =, + হলো অপারেটর।

ইউনারি অপারেটর (Unary Operator)

যে সকল অপারেটর শুধুমাত্র একটি অপারেন্ড নিয়ে কাজ করে তাদের ইউনারি অপারেটর বলে।
যেমনঃ যোগচিহ্ন (+), বিয়োগ চিহ্ন (-), বৃদ্ধি (++), হ্রাস (–) ইত্যাদি ইউনারি অপারেটর।
যোগচিহ্ন (+) ও বিয়োগ চিহ্ন (-):

উদাহরণঃ int age = +16; int num = -5; float num1 = -num2;

বৃদ্ধি (++), হ্রাস (–):

উদাহরণঃ int i++; int i–; int count++;

i++ বোঝায় i = i + 1 এবং i– বোঝায় i = i – 1;

এখন বৃদ্ধি (++), হ্রাস (–) অপারেটর ভেরিয়েবল এর আগে বসলে আগে (যেমনঃ ++count) ওই ভেরিয়েবল এর মান যথাক্রমে বাড়বে বা কমবে তারপর অন্য কাজ করবে। অনুরূপভাবে বৃদ্ধি (++), হ্রাস (–) অপারেটর ভেরিয়েবল এর পরে বসলে (যেমনঃ count++) আগে অন্যান্য কাজ আগে করবে তারপর ওই ভেরিয়েবল এর মান যথাক্রমে বাড়বে বা কমবে।

উদাহরণ

নিচের উদাহরণ গুলো দেখলে আরো সহজে বুঝতে পারবে।

#include <iostream>
using namespace std;
int main()
{
   int count, number;
   count = 4;
   number = count++;
   cout<<number;
   return 0;
}
Output: 4

উপরের প্রোগ্রাম এ number = count++; বিদ্যমাণ, count এর পর ++ থাকার করনে, count এর মান এক বাড়ানোর আগে number = count হবে তার পর count এর মান এক বাড়াবে।

উদাহরণ

#include <iostream>
using namespace std;
int main()
{
   int count, number;
   count = 4;
   number = ++count;
   cout<<number;
   return 0;
}
Output: 5

 

উপরের প্রোগ্রাম এ number = ++count; বিদ্যমাণ, count এর আগে ++ থাকার করনে, count এর মান এক বাড়াবে তারপর number = count হবে।

অপারেটরগুলোকে আরো কয়েক ভাগে ভাগ করা যায়। যেমনঃ

  1. অ্যারিথমেটিক অপারেটর
  2. এসাইনমেন্ট অপারেটর
  3. রিলেশনাল অপারেটর
  4. লজিকাল অপারেটর
  5. বিটওয়াইজ অপারেটর
  6. টাইপ কাস্টিং

১) অ্যারিথমেটিক অপারেটরঃ

অ্যারিথমেটিক অপারেটর সম্পর্কে জানাতে হলে নিচের কোডটি তোমার কম্পাইলারে লিখে কম্পাইল ও রান করো তুমি নিজেই বুঝে যাবে।

যোগ করার জন্য + অপারেটর
বিয়োগ করার জন্য - অপারেটর
গুন করার জন্য * অপারেটর
ভাগ করার জন্য / অপারেটর ব্যবহার করা হয়
ভাগশেষ বের করার জন্য % অপারেটর ব্যবহার করা হয়

মডুলাস অপারেটর

নতুন একটি অপারেটর মডুলাস(%, Modulus) অপারেটর। মডুলাস কোন সংখ্যাকে অপর একটি সংখ্যা দিয় ভাগ করলে যেই ভাগশেষ থাকে তার মান বোঝায়। যেমন 10 কে 3 দ্বারা ভাগ করলে ভাগশেষ 1 থাকে।

#include <iostream>
using namespace std;
int main()
{
   int a, b;
   a = 10;
   b = 3;
   cout<<"a + b = "<<a + b<<"n";
   cout<<"a - b = "<<a - b<<"n";
   cout<<"a * b = "<<a * b<<"n";
   cout<<"a / b = "<<a / b<<"n";
   cout<<"a % b = "<<a % b<<"n";
}
a + b = 13
a - b = 7
a * b = 30
a / b = 3
a % b = 1

২) এসাইনমেন্ট অপারেটরঃ

কোন ভেরিয়েবল এর মাঝে কোন মান রাখার জন্য এসাইনমেন্ট অপারেটর ব্যবহার করা হয়। যেমনঃ num1 ও num2 এর যোগফল num3 এর মাঝে রাখতে হবে, তাহলে লিখতে হবে num3 = num1+num2; এখানে num1+num2 = num3 লেখা যাবে না।

num3 = num1+num2    num3 = (num1+num2)
a+=b                a = a+b
a-=b                a = a-b
a*=b                a = a*b
a/=b                a = a/b

 

This topic is not complete. Comming soon :)

সি++ প্রোগ্রামিং – স্ট্রিং(String) ডাটা টাইপ

সি++ প্রোগ্রামিং – স্ট্রিং(String) ডাটা টাইপ

স্ট্রিং

সি++ প্রোগ্রামিং ভাষাতে স্ট্রিং একটি নতুন ডাটা টাইপ হিসেবে ধরা হয়।

তবে অবশ্যই standard library (header <string>) অন্তর্ভুক্ত করতে হবে। Code::Blocks এ হেডার ফাইলে ইহা অন্তর্ভুক্ত না করলে error দেখায় না। কিন্তু অবশ্যই standard library (header <string>) অন্তর্ভুক্ত করতে হবে।

স্ট্রিং ডিক্লেয়ার করাঃ

string name = "Faisal";
string name ("Faisal");
string name {"Faisal"};
// my first string
#include <iostream>
#include <string>
using namespace std;
int main ()
{
  string name;
  name = "This is a string";
  cout << mystring;
  return 0;
}
Output: This is a string

C-plus-plus String Data Type

সি++ প্রোগ্রামিং – character ডাটা টাইপ

সি++ প্রোগ্রামিং – character ডাটা টাইপ

char (character) ডাটা টাইপ এর ময়নাতদন্ত

কোন বর্ণ বা চিহ্ন সংরক্ষণ করার জন্য char ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
a) char বর্ণ বা চিহ্নের ডাটা টাইপ বোঝায়।
b) কোন বর্ণ বা চিহ্ন সংরক্ষণ করার জন্য char ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
c) char এর ডাটা টাইপের জন্য মেমরিতে 1 বাইট (8 বিট) জায়গা বরাদ্দ হয়।
d) char এর ডাটা টাইপ একটির বেশি character ধারণ করতে পারে না। e) char এর ডাটা টাইপ এর ভেরিয়েবল এ রাখা character টি single quotes এর মাঝে রাখতে হয়। যেমনঃ char ch = ‘A’;

উপরের লেখা গুলোর কিছুই বুঝি নাই ? シ তাহলে তোমার কোড::ব্লকস(Code::Blocks) open করে আমার সাথে নিচের কোড গুলি লিখে কম্পাইল ও রান করো। シ

#include <iostream>
using namespace std;
int main()
{
    char ch;
    cout<<"Enter a character.n";
    cin>>ch;
    cout<<"You typed "<<ch<<".n";
}
Sample Input: A
Output:You typed A.

 

সি++ প্রোগ্রামিং – character ডাটা টাইপ

সি++ প্রোগ্রামিং – float ডাটা টাইপ

সি++ প্রোগ্রামিং – float ডাটা টাইপ

float ডাটা টাইপ এর ময়নাতদন্ত

একটি ভগ্নাংশের(floating number) ভেরিয়েবল ডিক্লারেশন করার জন্য float ব্যবহার করা হয়। যেমন দুইটি পূর্ণসংখ্যা 12.023432 এবং 3.893213, সংখ্যা দুইটির যোগফল 12.023432+3.893213 = 15.916645 ।
a) float ভগ্নাংশের ডাটা টাইপ বোঝায়।
b) একটি ভগ্নাংশের(floating number) মান ধারণ করার জন্য float ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
c) float ডাটা টাইপ 2/4 বাইট-এ পূর্ণসংখ্যার মান সংরক্ষণ করে। আমাদের ব্যবহৃত কম্পিউটার এর CPU তে যেই প্রসেসর থাকে তার উপর নির্ভর করে পরিবর্তিত হয়। আমাদের কম্পিউটার-এ 16 বিট প্রসেসর ব্যবহার করলে float এর ডাটা টাইপের জন্য মেমরিতে 2 বাইট (16 বিট) জায়গা বরাদ্দ হয়।
d) আবার আমাদের কম্পিউটার-এ 32 বিট প্রসেসর ব্যবহার করলে float এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট (32 বিট) জায়গা বরাদ্দ হয়। আমরা সচারাচর 32 বিট এর কম্পিউটার ব্যবহার করে থাকি ও কোড::ব্লকস(Code::Blocks) 32 বিট এর “Program File” এ ইন্সটল হয়, অর্থাৎ আমাদের কম্পিউটার 32/64 বিট এর হোক না কেনো,float এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট জায়গা বরাদ্দ হবে।
e) float ভগ্নাংশের ডাটা টাইপ এ দশমিক এর পর ৬ ঘর পর্যন্ত মান বসে।
উপরের লেখা গুলোর কিছুই বুঝি নাই ? シ তাহলে তোমার কোড::ব্লকস(Code::Blocks) open করে আমার সাথে নিচের কোড গুলি লিখে কম্পাইল ও রান করো। シ

ভাগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 10 এবং 3, প্রথম সংখ্যাকে দ্বিতীয় সংখ্যা দিয়ে ভাগ করলে ভাগফল 10 ÷ 3 = 3.333333, নিচের কোড আমাদের কম্পাইলারে কম্পাইল ও রান করালে আউটপুট স্ক্রিনে দেখানো হবে “10.000000 divided by 3.000000 is 3.333333 .”

#include <iostream>
using namespace std;
int main()
{
   float num1,num2,num3;
   num1 = 10;
   num2 = 3;
   num3 = num1 / num2;
   cout<<num1<<" divided by "<<num2<<" is "<<num3<<".n";
}
Output: 10 divided by 3 is 3.333333 .

 

double ডাটা টাইপ এর ময়নাতদন্ত

double ডাটা টাইপ float ডাটা টাইপের মতই। একটি বড় ভগ্নাংশের(floating number) ভেরিয়েবল ডিক্লারেশন করার জন্য double ব্যবহার করা হয়। যেমন দুইটি পূর্ণসংখ্যা 12.023432 এবং 3.893213 । সংখ্যা দুইটির যোগফল 12.023432+3.893213 = 15.916645 ।
a) double ভগ্নাংশের ডাটা টাইপ বোঝায়।
b) একটি বড় ভগ্নাংশের(floating number) মান ধারণ করার জন্য double ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
c) double এর ডাটা টাইপের জন্য মেমরিতে 8 বাইট (64 বিট) জায়গা বরাদ্দ হয়
d) double ভগ্নাংশের ডাটা টাইপ এ দশমিক এর পর 6 ঘর পর্যন্ত মান

 

# সি++ float ডাটা টাইপ

সি++ প্রোগ্রামিং – রিটার্ণ শূন্য নিয়ে কিছু কথা

সি++ প্রোগ্রামিং – রিটার্ণ শূন্য নিয়ে কিছু কথা

কোন ফাংশন “return 0;” পাওয়া মাত্র ওই ফাংশন এর কাজ শেষ হয়। অর্থাৎ ফাংশন যদি “return 0;” প্রথমেই মেইন ফাংশন এর মাঝে থাকতো তাহলে কম্পাইলার ওইখানেই কম্পাইল করা থামিয়ে দিতো। বলে রাখি কম্পাইলার লাইন বাই লাইন পড়ে কম্পাইল করে। নিচের কোডটি দেখো।

#include <iostream>
using namespace std;
int main()
{
   return 0;
   int num1,num2,num3;
   num1 = 12;
   num2 = 3;
   num3 = num1 + num2;
   cout<<"Sum of two numbers is "<<num3<<".n";
}
Output: কোনো কিছুই আউটপুট স্ক্রিনে দেখাবে না।

main() ফাংশন এর মাঝে প্রথমেই "return 0;" পাওয়ায় কম্পাইলার ওইখানেই কম্পাইল করা থামিয়ে দি্বে।তাই পরের অংশ আর কম্পাইলার পড়বে না। যেহেতু নিচের অংশগুলো কম্পাইলার পড়েনি তাই আউটপুট এ কিছুই দেখবে না।

সি++ প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – দ্বিতীয় পর্ব

সি++ প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – দ্বিতীয় পর্ব

যোগ করার জন্য + অপারেটর 
বিয়োগ করার জন্য - অপারেটর 
গুন করার জন্য * অপারেটর 
ভাগ করার জন্য / অপারেটর ব্যবহার করা হয়।

গুন করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 10 এবং 3, প্রথম সংখ্যাকে দ্বিতীয় সংখ্যা দিয়ে গুন করলে গুনফল 10 * 3 = 30 হবে।

#include <iostream>
using namespace std;
int main()
{
   int num1,num2,num3;
   num1 = 10;
   num2 = 3;
   num3 = num1 * num2;
   cout<<num1<<" multiplied by "<<num2<<" is "<<num3<<"/n";
   return 0;
}
Output: 10 multiplied by 3 is 30.


ভাগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 10 এবং 3, প্রথম সংখ্যাকে দ্বিতীয় সংখ্যা দিয়ে ভাগ করলে ভাগফল 10 ÷ 3 = 3.333, কিন্তু আমরা যখন 10 এবং 3 কে int ডাটা টাইপ এর ভেরিয়েবল এ রাখবো তখন দশমিক সংরক্ষণ করতে পারবো না। তাই নিচের কোড আমাদের কম্পাইলারে কম্পাইল ও রান করালে আউটপুট স্ক্রিনে দেখানো হবে “10 divided by 3 is 3.” এই সমস্যা সমাধানের জন্য আমাদের নতুন একটি ডাটা টাইপ float অথবা double ব্যবহার করা হয়।

#include <iostream>
using namespace std;
int main()
{
   int num1,num2,num3;
   num1 = 10;
   num2 = 3;
   num3 = num1 / num2;
   cout<<num1<<" divided by "<<num2<<" is "<<num3<<"/n";
   return 0;
}
Output: 10 divided by 3 is 3.

 

সি++ প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – প্রথম পর্ব

সি++ প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – প্রথম পর্ব

পূর্ণসংখ্যার (Integer) ডাটা টাইপ এর ময়নাতদন্ত

একটি পূর্ণসংখ্যার (integer number) ভেরিয়েবল ডিক্লারেশন করার জন্য int ব্যবহার করা হয়। যেমন দুইটি পূর্ণসংখ্যা 12 এবং 3 , সংখ্যা দুইটির যোগফল 12+3 = 15 ।

  1. int পূর্ণসংখ্যার ডাটা টাইপ বোঝায়।
    একটি পূর্ণসংখ্যার (integer) মান ধারণ করার জন্য int ভেরিয়েবল ব্যবহার করা হয়।
  2. পূর্ণসংখ্যার ডাটা টাইপ 2/4 বাইট-এ পূর্ণসংখ্যার মান সংরক্ষণ করে। আমাদের ব্যবহৃত কম্পিউটার এর CPU তে যেই প্রসেসর থাকে তার উপর নির্ভর করে পরিবর্তিত হয়।
    আমাদের কম্পিউটার-এ 16 বিট প্রসেসর ব্যবহার করলে int এর ডাটা টাইপের জন্য মেমরিতে 2 বাইট (16 বিট) জায়গা বরাদ্দ হয়।
  3. আবার আমাদের কম্পিউটার-এ 32 বিট প্রসেসর ব্যবহার করলে int এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট (32 বিট) জায়গা বরাদ্দ হয়।
    আমরা সচারাচর 32 বিট এর কম্পিউটার ব্যবহার করে থাকি ও কোড::ব্লকস(Code::Blocks) 32 বিট এর “Program File” এ ইন্সটল হয়, অর্থাৎ আমাদের কম্পিউটার 32/64 বিট এর হোক না কেনো,int এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট জায়গা বরাদ্দ হবে।
  4. int ভেরিয়েবল যদি 2 বাইট এর হয় তাহলে -32,768 থেকে +32,767 পর্যন্ত মান সংরক্ষণ করতে পারে।
  5. int ভেরিয়েবল যদি 4 বাইট এর হয় তাহলে -2,147,483,648 থেকে +2,147,483,647 পর্যন্ত মান সংরক্ষণ করতে পারে।


দুইটি পূর্ণসংখ্যা 12 এবং 3, এখন 12 কে 3 দ্বারা ভাগ করলে ভাগফল হবে 4, কিন্তু যদি দুইটি পূর্ণসংখ্যা 10 এবং 3 হয়, তাহলে 10 কে 3 দ্বারা ভাগ করলে ভাগফল হবে 3.3333, ভাগফলএ দশমিক বিদ্যমান। পূর্ণসংখ্যার (Integer) ডাটা টাইপ int এর ভেরিয়েবল ভগ্নাংশ সংরক্ষণ করতে পারে না। এক্ষেত্রে নতুন একটি ডাটা টাইপ float অথবা double ব্যবহার করা হয়।

  • int পূর্ণসংখ্যার ডাটা টাইপ দশমিক মান সংরক্ষণ করতে পারে না।
  • int পূর্ণসংখ্যার ডাটা টাইপ এ দশমিক এর পরের অংশ বাদ যায়। যেমনঃ 10 ÷ 3 = 3.3333 না হয়ে 3 হবে, দশমিক এর পরের অংশ বাদ যায়।

উপরের লেখা গুলোর কিছুই বুঝি নাই ? シ তাহলে তোমার কোড::ব্লকস(Code::Blocks) open করে আমার সাথে নিচের কোড গুলি লিখে কম্পাইল ও রান করো। シ

int ডাটা টাইপ এর ময়নাতদন্তের মূল অংশ (কোড লিখা)

যোগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 12 এবং 3, সংখ্যা দুইটির যোগফল 12+3 = 15 , এখন মনে করো আমি যোগ করতে পারি না। シ কিন্তু আমি কিন্তু সি++ প্রোগ্রামিং ভাষায় কোড লিখতে পারি। তো এখন দুইটি সংখ্যা যোগ করার জন্য আমার কাছে একটা উপায় হল সি++ দিয়ে যোগ করার একটি কোড লিখে ফেলা। চলো লিখে ফেলি। তুমি হয়তো ভাবছো তুমি যোগ করতে পারো তাহলে তোমার তো সি++ দিয়ে যোগ করার কোড লেখার কোনো দরকার নেই। না দরকার আছে, বলছি কেনো দরকার। প্রথম প্রথম যতো বেশি কোড লিখবে ততোবেশি ভালো ভাবে সি++ দিয়ে কোড লেখা আয়ত্ত করতে পারবে।

// Determining Sum of Two number
#include <iostream>
using namespace std;
int main()
{
   int num1,num2,num3;
   num1 = 12;
   num2 = 3;
   num3 = num1 + num2;
   cout<<"Sum of two numbers is "<<num3<<"/n";
   return 0;
}
Output: Sum of two numbers is 15.

কোডের ব্যাখ্যা: এখানে তিনটি int ডাটা টাইপ এর ভেরিয়েবল বিদ্যমান যথাক্রমে num1, num2 ও num3, যা মেমরিতে এই তিনটি ভেরিয়েবল এর জন্য 4 বাইট করে তিনটি জায়গা নিয়ে নিবে। এখন num1 = 12 ও num2 = 3 মানে num1 এর মা 12 এবং num2 এর মান 3 করলাম। এটাকে assign করা বলে। এখন num3 = num1 + num2; অর্থাৎ num3 এর মাঝে num1 ও num2 এর যোগফল রাখলাম।

যোগ করার জন্য + অপারেটর
বিয়োগ করার জন্য - অপারেটর
গুন করার জন্য * অপারেটর
ভাগ করার জন্য / অপারেটর ব্যবহার করা হয়।

 

সি++ প্রোগ্রামিং ভাষার একটি অনন্য বৈশিষ্ট্য হল এটি case sensitive, অর্থাৎ কম্পাইলারের upper case এবং lower case এর জন্য আলাদা গুরুত্ব বহন করে। তুমি লিখেছো int num; এখন মান রাখার সময় যদি লিখো “Num = 2;” তাহলে কম্পাইলার এরর বার্তা দিবে কেননা তুমি ডিক্লিয়ার করেছো int num। আবার যদি cout এর জায়গায় Cout বা COUT লিখো তাহলেও কম্পাইলার error বার্তা দিবে।

বিয়োগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 12 এবং 3, প্রথম সংখ্যা দ্বিতীয় সংখ্যার বিয়োগফল 12-3 = 9 । এখন মনে করো আমি বিয়োগও করতে পারি না। シ কিন্তু তাতে কি ! আমি তো কিন্তু সি প্রোগ্রামিং ভাষায় কোড লিখতে পারি। তো এখন প্রথম সংখ্যা হতে দ্বিতীয় সংখ্যার বিয়োগফল বের করার জন্য আমার কাছে একটা উপায় হল সি দিয়ে বিয়োগ করার একটি কোড লিখে ফেলা। চলো লিখে ফেলি। তুমি হয়তো ভাবছো তুমি বিয়োগ করতে পারো তাহলে তোমার তো সি দিয়ে বিয়োগ করার কোড লেখার কোনো দরকার নেই। আগেই বলেছি দরকার আছে, প্রথম প্রথম যতো বেশি কোড লিখবে ততোবেশি ভালো ভাবে সি দিয়ে কোড লেখা আয়ত্ত করতে পারবে।

#include <iostream>
using namespace std;
int main()
{
   int num1,num2,num3;
   num1 = 12;
   num2 = 3;
   num3 = num1 - num2;
   cout<<"Difference of two numbers is"<<num3<<"/n";
   return 0;
}
Output: Difference of two numbers is 9.

এখানে তিনটি int ডাটা টাইপ এর ভেরিয়েবল বিদ্যমান যথাক্রমে num1, num2 ও num3, যা মেমরিতে এই তিনটি ভেরিয়েবল এর জন্য 4 বাইট করে তিনটি জায়গা নিয়ে নিবে। এখন num1 = 12 ও num2 = 3 মানে num1 এর মা 12 এবং num2 এর মান 3 করলাম। এটাকে assign করা বলে। এখন num3 = num1 – num2; অর্থাৎ num3 এর মাঝে প্রথম সংখ্যা (num1) হতে দ্বিতীয় সংখ্যার( num2) বিয়োগফল রাখলাম।

সি++ প্রোগ্রামিং ভাষার একটি অনন্য বৈশিষ্ট্য হল এটি case sensitive, অর্থাৎ কম্পাইলারের upper case এবং lower case এর জন্য আলাদা গুরুত্ব বহন করে। তুমি লিখেছো int num; এখন মান রাখার সময় যদি লিখো “Num = 2;” তাহলে কম্পাইলার এরর বার্তা দিবে কেননা তুমি ডিক্লিয়ার করেছো int num। আবার যদি cout এর জায়গায় Cout বা COUT লিখো তাহলেও কম্পাইলার error বার্তা দিবে।

এভাবে যোগ, বিয়োগ, গুণ, ভাগ এর সহজ প্রোগ্রাম তুমি লিখে ফেলতে পারো। তবে int ডাটা টাইপ এর ভেরিয়েবল এ সর্বদা পূর্ণসংখ্যা ব্যবহৃত হবে।

সি++ প্রোগ্রামিং ডাটা টাইপ

সি++ প্রোগ্রামিং ডাটা টাইপ

সি++ প্রোগ্রামিং ভাষায় কয়েকটি মূল ডাটা টাইপ আমরা বেশি ব্যবহার করি। ডাটা টাইপগুলো ভেরিয়েবল সংজ্ঞায়িত করার জন্য ব্যবহৃত হয়।

১. int [পূর্ণসংখ্যা (integer) ভেরিয়েবল বোঝানোর জন্য]
২. float [ভগ্নাংশ (floating) ভেরিয়েবল বোঝানোর জন্য] ৩. char [character ভেরিয়েবল বোঝানোর জন্য] ৪. string [ অনেক গুলো character নিয়ে string তৈরি হয়]

সি++ প্রোগ্রামিং – ধ্রুবক

সি++ প্রোগ্রামিং – ধ্রুবক

ধ্রুবক (Constant)

ধ্রবক (Constant) নির্দিষ্ট মান বোঝায় যা প্রোগ্রাম এ প্রথম থেকে শেষ পর্যন্ত একই থাকে। যেমন মনে করো তোমার প্রোগ্রাম এ কোথাও পাই(π) ব্যবহার করা লাগবে, এখন প্রোগ্রাম এর কোথাও পাই এর মান এর পরিবর্তন হবে না। নম্বর, অক্ষর, স্ট্রিং সবই প্রোগ্রাম এ ধ্রবক (Constant) হিসেবে ব্যবহৃত হয়। প্রোগ্রাম এ ধ্রবক (Constant) ব্যবহার করা হলে int, char, float, double ইত্যাদি ডাটা টাইপ এর ভেরিয়েবল এর মান পরিবর্তন করা যায় না।

অনেক রকম ধ্রবক (Constant) হতে পারে, যেমনঃ-

  1. Integer constants,
  2. Floating-point constants,
  3. Character constants,
  4. String constants

কোন ডাটা ধ্রবক হিসেবে ব্যবহার করতে হলে তার ডাটা টাইপের পূর্বে const কীওয়ার্ড ব্যবহার করতে হয়। যেমনঃ

const int length = 12;
const char ch = 'A';
const float pi = 3.1416;
const char name[] = "icche code";

সি++ প্রোগ্রামিং ভাষায় ধ্রবক define প্রিপ্রসেসর দিয়েও ডিক্লেয়ার করা যায়।

যেমনঃ#define PI = 3.1416

আমরা জানি, কোন বৃত্তের ব্যাসার্ধ r হলে, বৃত্তের ক্ষেত্রফল πr^2। এখন এমন একটি প্রোগ্রাম লিখতে হবে যাতে বৃত্তের ব্যাসার্ধর মান ইনপুট দিলে আউটপুটে ঐ বৃত্তের ক্ষেত্রফল এর মান প্রিন্ট করবে।

#প্রথম কোড
ধ্রুবক – প্রথম উদাহরণ

using namespace std;
int main()
{
const float PI = 3.1416;
float radius, area;
cin>>radius;
area = PI * r * r;
cout<<"The area of the circle is "<<area<<"\n");
return 0;
}

দ্বিতীয় কোড

#include <iostream>
using namespace std;

#define PI 3.1416
int main()
{
   float radius, area;
   cin>>radius;
   area = PI * r * r;
   cout<<"The area of the circle is "<<area<<"\n");
}

 

Output: The area of the circle is 20.

সি++ প্রোগ্রামিং এ আমরা কিছু ব্যাকস্লাস ধ্রুবক ব্যবহার করি। ইতিমধ্যে তোমরা “n” সম্পর্কে জেনেগেছো, যা একটি নতুন লাইন প্রিন্ট এর জন্য ব্যবহিত হয়।

সি++ প্রোগ্রামিং – ধ্রুবক

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রামিং – চলক

সি++ প্রোগ্রামিং – চলক

সি++ প্রোগ্রামে কোন সংখ্যা রাখা এবং তা নিয়ে নানা রকম কাজ করা হয় বোঝার জন্য চলকের প্রয়োজন। এখানে সি++ প্রোগ্রামিং এ চলক নিয়ে আলোচনা করা হয়েছে।

মনে করো তোমাকে কম্পিউটার দুইটি সংখ্যা ইনপুট নেয়া লাগবে। কোথায় রাখবে ? মনে করো তোমাকে পানি সংরক্ষণ করতে হবে। তার জন্য দরকার একটি পাত্র। ঠিক তেমনি কম্পিউটার এ কিছু সংখ্যা ইনপুট নিয়ে তা রাখার জন্য ভেরিয়েবল দরকার।

অনেক রকম ভেরিয়েবল (Variable) হতে পারে, যেমনঃ-

  1. Integer Variabl,
  2. Floating-point Variabl,
  3. Character Variabl,
  4. String Variabl
// my first string
#include <iostream>
#include <string>
using namespace std;

int main ()
{
  string mystring;
  mystring = "This is a string";
  cout << mystring;
  return 0;
}
এখানে mystring নামে একটি ভেরিয়েবল ডিক্লেয়ার করা হয়েছে।

সি++ প্রোগ্রামিং – চলক

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রামিং আইডেন্টিফায়ার

সি++ প্রোগ্রামিং আইডেন্টিফায়ার

আইডেন্টিফায়ার

প্রোগ্রাম এর উপাদানগুলো যেমন ভেরিয়েবল, ধ্রুবক, ফাংশন, যে কোনো ডাটা ইত্যাদির যেই নাম দেয়া হয় তাই আইডেন্টিফায়ার। সি++ প্রোগ্রামিং ভাষায় আইডেন্টিফায়ার আলফানিউমেরিক অক্ষরের সংমিশ্রণে গঠিত। এর প্রথম বর্ণমালার একটি অক্ষর(uppercase or lowercase) বা একটি নিম্নরেখা(underline) দিয়ে শুরু হয়। পরে যেকোনো অক্ষর বা নম্বর বস্তে পারে।

আইডেন্টিফায়ার নামকরনের নিয়মাবলীঃ

১. প্রথম অক্ষর অবশ্যই analphabet (uppercase or lowercase) অথবা নিম্নরেখা (underscore) হতে হবে।
যেমনঃ var1, _var, var_1 ইত্যাদি ভেরিয়েবল বা ফাংশন এর নাম হিসেবে ব্যবহার করা যাবে। কিন্তু 1var, %var, @var ইত্যাদি ভেরিয়েবল বা ফাংশন এর নাম হিসেবে ব্যবহার করা যাবে না।
২. underscore বাদে অন্য কোন বিশেষ অক্ষর বা punctuatio চিহ্ন ব্যবহার করা যাবে না।
৩. কোন কীওয়ার্ড এর নাম ভেরিয়েবল হিসেবে লেখা যাবে না। যেমন, int, chat, float ইত্যাদি ভেরিয়েবল হিসেবে লেখা অবৈধ। কিন্তু Int, FLOAT, CHAR ইত্যাদি ভেরিয়েবল এর নাম হিসেবে ব্যবহার করা যাবে।
৪. সি++ প্রোগ্রামিং ভাষার একটি অনন্য বৈশিষ্ট্য হল এটি case sensitive, অর্থাৎ কম্পাইলারের upper case এবং lower case এর জন্য আলাদা গুরুত্ব বহন করে। তুমি লিখেছো int num; এখন মান রাখার সময় যদি লিখো “Num = 2;” তাহলে কম্পাইলার এরর বার্তা দিবে কেননা তুমি ডিক্লিয়ার করেছো int num। আবার যদি cout এর জায়গায় COUT বা COut লিখো তাহলেও কম্পাইলার এরর বার্তা দিবে।

কোন সরল দোলকের ঝুলন বিন্দু হতে ববের ভরকেন্দ্র পর্যন্ত দৈর্ঘ্যকে সরল দোলকের কার্যকরী দৈর্ঘ্য L বলে। সুতার দৈর্ঘ্য l এবং ববের ব্যসার্ধ r হলে সরল দোলকের কার্যকরী দৈর্ঘ্য L = l + r হবে। এখন এমন একটি প্রোগ্রাম লিখো যাতে সুতার দৈর্ঘ্য এবং ববের ব্যসার্ধ ইনপুট দেয়া হলে আউটপুট এ সরল দোলকের কার্যকরী দৈর্ঘ্য এর মান দেখাবে ।

#include <iostream>
using namespace std;
int main()
{
   float _length,radius,effective_length;
   cin>>_length>>radius;
   effective_length = _length + radius;
   cout<<"Effective Length is "<< effective_length<<"n";
}
Sample in put: 2 3
Output: Effective Length is 5

 

এখানে _length, radius ও effective_length তিনটি float ডাটা টাইপ এর ভেরিয়েবল। যদি %length, 1radius ইচ্যাদি নামে ভেরিয়েবল ডিক্লেয়ার করি তা কম্পাইলারে এরর দেখাবে। আবার “int _length,radius,effective_length;” নামে ভেরিয়েবল ডিক্লেয়ার করে যদি “scanf(“%f %f”,&_Length, &RADIUS);” লিখলেও কম্পাইলার এরর দেবে। কেননা _length,radius এবং _Length,RADIUS সি++ প্রোগ্রামিং ভাষায় একই বোঝায়

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রামের গঠন

একটি সরল সি++ প্রোগ্রাম (সি++ প্রোগ্রামের গঠন)

নিচের সাধারণ সি++ প্রোগ্রামটি মনে রাখি এবং সামনের লেকচার গুলিতে এগিয়ে যাই। আরো ২-৩ টা লেকচার পড়লেই ভালভাবে বোঝা যাবে। যেহেতু সকল C++ প্রোগ্রাম এর common syntax একই রকম তাই প্রথমে আমরা এমন একটা খুবই সাধারণ C++ প্রোগ্রাম দেখি যা run করলে Hello World print করবে। এই প্রোগ্রামটি বুঝতে পারলে C++ এর অন্যান্য প্রোগ্রাম গুলো বুঝতে সুবিধা হবে।

#include <iostream>
using namespace std;

int main ()
{
   cout << "Hello World";
   return 0;
}

উপরের প্রোগ্রামটিতে প্রথম লাইনে #include হল Preprocessor Commands।
দ্বিতীয় লাইনেint main() বিদ্যমান। প্রতিটি সি++ প্রোগ্রামএ main() ফাংশন থাকবেই।int হচ্ছে main() ফাংসন এর return type অর্থাত integer টাইপ value return করবে।
উপরের প্রোগ্রামটিতে

{
   cout << "Hello World";
   return 0;
}

প্রোগ্রাম এর এই অংশকে প্রোগ্রাম এর body বলে। >এখানে cout হচ্ছে নিজে আর একটা ফাংশন যা কোনো কিছু print করে।

সি++ প্রোগ্রাম লেখার পূর্বে

সি++ প্রোগ্রামিং ভাষায় যেকোনো কোড লেখার পূর্বেই নিচের অংশটুকু লিখে ফেলবে। কেননা সব সি++ প্রোগ্রাম এ নিচের অংশটুকু থাকবেই।

#include <iostream>
using namespace std;
int main ()
{
   /*কোড এখানে লিখতে হবে।*
   return 0;
}

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রাম লেখা এবং কম্পাইল করা

সি++ প্রোগ্রাম লেখা এবং কম্পাইল করা

কম্পাইলার-এ প্রোগ্রাম লেখা এবং কম্পাইল করা

কোড::ব্লকস(Code::Blocks) এ প্রোগ্রাম লেখার জন্য নিচের ধাপ গুলো অনুসরণ করোঃ-
ধাপ ১কোড::ব্লকস(Code::Blocks) সফটওয়্যারটি Open করো।

codeblocks

 

ধাপ ২এবার একটি নতুন একটি Empty File খুলতে হবে। File >>New >>Empty File

ধাপ ৩এখন ফাইলটি save করো। খেয়াল রাখবে যেখানে save করছো ওই খানেই তোমার সকল সি++ প্রোগ্রামগুলো রাখতে, তাহলে পরবর্তীতে খুঁজে পেতে সুবিধা হবে। ফাইলের নাম তোমার ইচ্ছা মতো দিলেই হবে, তবে পরবর্তীতে যাতে বোঝা যায় এটা কিসের কোড সেইভাবেই নাম দেয়া ভালো। save করার সময় অবশ্যই ফাইলের নামের শেষে .cpp রাখতে হবে। আমি আমার সি প্রোগ্রাম এর নাম দিয়েছি HelloWorld.cpp

codeblocks_6

 

এবার সি++ প্রোগ্রামটি লিখে ফেলি। প্রথমে কিচ্ছু বোঝা লাগবে না চোখ বন্ধ করে নিচের কোডটি কোড ব্লকস এ লিখে রান করি। পরের অধ্যায়ে বিস্তারিত আলোচনা করা হবে।

#include <iostream>
using namespace std;

int main ()
{
  cout << "Hello World! ";
}

codeblocks_7

 

কোড::ব্লকস(Code::Blocks)-এ Build and run এ ক্লিক করলে আমাদের প্রগ্রামটি প্রথমে কম্পাইল হবে ও পরে run করবে।

codeblocks_8

#সি++ প্রোগ্রাম লেখা এবং কম্পাইল করা

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

 

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং )

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং )
সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং )

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) হচ্ছে একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা। সি প্রোগ্রামিং ভাষাকে আরো সমৃদ্ধ করতে বিয়ার্নে স্ট্রোভ্‌স্ট্রুপ সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) ভাষা ডেভেলপ করেন ১৯৮০ সালে। উনি যুক্তরাষ্ট্রের এটিএন্ডটি বেল ল্যাবোরাটারিতে (AT&T Bell Laboratary) সি প্লাস প্লাস নিয়ে গবেষণা করেন এবং ১৯৮০ সালে চূড়ান্তভাবে প্রকাশ করেন।

সি++(সি প্লাস প্লাস) যেহেতু সি এর উপর ভিত্তি করে তৈরি করা হয়েছে, সি প্রোগ্রামিং এর সকল সুবিধা সি++ এ পাওয়া যাবে। সি++ প্রোগ্রামিং ভাষা ব্যবহার করে আরো উন্নত কোডিং করা সম্ভব।

সি এর সঙ্গে সি++ এর তুলনা করলে সি++ যে সকল সুবিধা পাওয়া যায়- উদাহরণস্বরূপ

  1. সি ভাষায় তথ্য লুকানো যায় না
  2. সি লো লেভেলের ভাষা ( মাঝে মাঝে একই কোড সি দিয়ে বুঝতে এবং কোড লেখা কঠিন হয়ে যায়, যা সি++ প্রোগ্রামিং এ সহজেই উপলব্ধি করা যায়। )
  3. সি++ প্রোগ্রামিং এ ফাংশন ওভারলোডিং করা যায় যা সি প্রোগ্রামিং অনুমতি দেয় না
  4. সি++ প্রোগ্রামিং এ কমপ্লেক্স ডাটা টাইপ ( complex data type ) বিদ্যমান।

 

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

[সি++ প্রোগ্রামিং

Tutorial on C++(C Plus Plus) Programming in Bangla]

পাইথন প্রোগ্রামিং ভাষা

পাইথন প্রোগ্রামিং ভাষা

পাইথন প্রোগ্রামিং ভষা

পাইথন প্রোগ্রামিং ভাষা (Python Programming) একটি object-oriented উচ্চস্তরের প্রোগ্রামিং ভাষা। ১৯৯১ সালে গুইডো ভ্যান রোসাম এটি প্রথম প্রকাশ করেন। পাইথন প্রোগ্রামিং ভাষা -তে প্রোগ্রামের পঠনযোগ্যতা ও প্রোগ্রামার এর সহজবোধ্যতার উপর বেশি গুরুত্ব দেয়া হয়েছে।

পাইথন (Python) এর ব্যবহার

  1. সাধারণত দ্রুত সফটওয়ার নির্মাণের জন্য পাইথন ব্যবহৃত হয়।
  2. ওয়েব এপ্লিকেশনে পাইথন প্রোগ্রামিং ভাষা এর ব্যবহার উল্লেখযোগ্য।
  3. পাইথন একটি বিস্ময়কর এবং শক্তিশালী প্রোগ্রামিং ভাষা, ব্যবহার করা সহজ ( পড়তে ও লিখতে )। পাইথন প্রোগ্রামিং এবং Raspberry Pi (রাস্পবেরী পাই) যে কোন প্রজেক্টকে  বাস্তব জগতের সাথে সুন্দর ভাবে সংযোগ স্থাপন করতে পারে।
  4. বিভিন্ন বড় বড় প্রকল্পে পাইথন এর ব্যবহার উল্লেখ যোগ্য। যেমনঃ জোপ অ্যাপ্লিকেশন সার্ভার, এমনেট ডিস্ট্রিবিউটেড ফাইল স্টোর, ইউটিউব এবং মূল বিটটরেন্ট ক্লায়েন্ট ইত্যাদিতে পাইথন এর উল্লেখযোগ্য ব্যবহার রয়েছে।যে সমস্ত বড় প্রতিষ্ঠান পাইথন ব্যবহার করে তাদের মধ্যে গুগল ও নাসা উল্লেখযোগ্য।

পাইথন কেনো শিখবো ?

বর্তমানে অনেক পরিচিত উচ্চস্তরের প্রোগ্রামিং ভাষা আছে যেমন সি, সি++, পি-এইচ-পি, জাভা ইত্যাদি। তাহলে নতুন করে কেনো পাইথন শেখা জরুরি ?

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

ওয়েব ডিজাইনে পাইথন প্রোগ্রামিং

যারা ওয়েব ডিজান, বিশেষত ওয়েব অ্যাপ ডেভেলপ করতেচান তাদের জন্য পাইথন অনেক উপযোগী একটি প্লাটফর্ম। পাইথন জ্যাঙ্গো (ইংরেজীঃ Django) ব্যবহার করে অনেক সহজেই ওয়েব অ্যাপ তৈরি করা যায়।

জ্যাঙ্গো - পাইথন প্রোগ্রামিং
জ্যাঙ্গো – পাইথন প্রোগ্রামিং

পাইথন ভার্শন

পাইথনের দুইটি ভার্শন এখন সবচেয়ে বেশি ব্যবহৃত হয়ঃ-

  1. পাইথন 2.x
  2. পাইথন 3.x

পাইথন প্রোগ্রামিং

পাইথন প্রোগ্রামিং এ “Hello World” প্রোগ্রাম নিম্ন রূপ –

print(“Hello World!”)

পাইথন 2.x এবং পাইথন 3.x এর মাঝে কিছু পার্থক্য

পাইথন 2.x পাইথন 3.x
print() is a statement in Python 2 print() is a function in Python 3
raw_input() input()
x = input(“Enter a number: “) x = eval(input(“Enter a number: “))

 

পাইথন প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি। 

সি প্রোগ্রামিং – সি কম্পাইলার

সি প্রোগ্রামিং – সি কম্পাইলার

সি প্রোগ্রামিং – সি কম্পাইলার

কম্পাইলার

বর্তমানের প্রোগ্রামিং ভাষাগুলো মানুষের বোধগোম্য করে তৈরি করা হয় যাতে সহজেই কোড লেখা যায়। আমরা যেই প্রোগ্রাম লিখি সি/সি++/জাভা ইত্যাদি প্রোগ্রামিং ভাষায় আমাদের কম্পিউটার তা বুঝতে পারে না। কম্পিউটারের মাইক্রোপ্রসেসর নির্দিষ্ট একটা ভাষা বোঝে, তা হলো মেশিনকোড। মেশিনকোড 0 ও 1 এর সমন্বয়ে গঠিত। কম্পিউটারের মাইক্রোপ্রসেসর এই মেশিনকোড বুঝতে পারে এবং সেই অনুযায়ী কর্মসম্পাদন করে।
কোন প্রোগ্রামের সোর্সকোড কে কম্পাইলার অ্যাসেম্বলি কোডে পরিনত করে, পরবর্তীকালে অ্যাসেম্বলার অ্যাসেম্বলি কোডকে মেশিনকোড এ পরিনত করে।

কম্পাইলার এক ধরনের কম্পিউটার প্রোগ্রাম বা প্রোগ্রাম-সমষ্টি যা কোন কম্পিউটার ভাষায় লেখা প্রোগ্রামকে অপর একটি কম্পিউটার ভাষার প্রোগ্রামে (যা সাধারণত বাইনারি সংখ্যা দিয়ে গঠিত) পরিণত করে।

সি প্রোগ্রামিং এর জন্য প্রয়োজনীয় সি কম্পাইলার

সি প্রোগ্রামিং ভাষায় লেখা প্রোগ্রাম কে কম্পাইল করার জন্য আমারা অনেক রকম কম্পাইলার ব্যবহার করে থাকি। আমরা এখানে Code::Blocks ব্যবহার করবো। কোড::ব্লকস(Code::Blocks) একটি ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট(Integrated Development Environment) ওরফে হয় (IDE) । অর্থাৎ কোড::ব্লকস(Code::Blocks) কম্পাইলার কিংবা linker নয়, কোড :: ব্লকস একটি কম্পাইলার সংকলন যাতে (MinGW / GCC) অন্তর্ভুক্ত থাকে।

কয়েকটি সি/সি প্লাস প্লাস কম্পাইলারের নাম

  1. ANSI C++
  2. Turbo C++
  3. Borland C++
  4. Code::Blocks
  5. Microsoft C++

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

[সি প্রোগ্রামিং – সি কম্পাইলার]