সি প্রোগ্রামিং – রিকার্শন ফাংশন দিয়ে স্বাভাবিক সংখ্যার যোগফল নির্নয়

সি প্রোগ্রামিং – রিকার্শন ফাংশন দিয়ে স্বাভাবিক সংখ্যার যোগফল নির্নয় –
C Program to Find the Sum of Natural Numbers using Recursion

সি প্রোগ্রামিং এ রিকার্শন ফাংশন দিয়ে N সংখ্যক স্বাভাবিক সংখ্যার যোগফল নির্নয় করার জন্য,  নিম্নলিখিত সি প্রোগ্রামিং বিষয়গুলির জ্ঞান থাকতে হবে:-

১) রিকার্শন ফাংশন – প্রথম পর্ব 
২) রিকার্শন ফাংশন – দ্বিতীয় পর্ব 
৩) রিকার্শন ফাংশন – তৃতীয় পর্ব 

#include <stdio.h>

int sumnumber(int num)
{
    if(num != 0)
        return num + sumnumber(num-1);
    else
        return num;
}

int main()
{
    int numbur;
    printf("Enter a positive integer: ");
    scanf("%d", &numbur);
    printf("Sum of Natural Number is %d",sumnumber(numbur));
    return 0;
}

আউটপুট ১ –

Enter a positive integer: 10
Sum of Natural Number is 55

আউটপুট ২ –

Enter a positive integer: 100
Sum of Natural Number is 5050

আউটপুট ৩ –

Enter a positive integer: 500
Sum of Natural Number is 125250

 

সি প্রোগ্রামিং দিয়ে অধিবর্ষ যাচাই করা

সি প্রোগ্রামিং দিয়ে অধিবর্ষ যাচাই করা

C Program to Check Leap Year

এই উদাহরণটি বোঝার জন্য, আপনার নিম্নলিখিত সি প্রোগ্রামিং বিষয়গুলির জ্ঞান থাকতে হবে:

১) সি প্রোগ্রামিং অপারেটর
২) সি প্রোগ্রামিং if…else

একটি অধিবর্ষ সম্পূর্ণভাবে 4 দ্বারা বিভাজ্য হয়, তবে 00 দিয়ে শেষ হওয়া বছর অধিবর্ষ হবে শুধুমাত্র যদি এটি 400 দ্বারা সম্পূর্ণরূপে বিভক্ত হয়।

#include <stdio.h>

int main()
{
    int x;
    printf("Enter a Year: ");
    scanf("%d",&x);

    if(x%4 == 0)
    {
        if( x%100 == 0)
        {
            if ( x%400 == 0)
                printf("%d is a leap year.", x);
            else
                printf("%d is not a leap year.", x);
        }
        else
            printf("%d is a leap year.", x );
    }
    else
        printf("%d is not a leap year.", x);
return 0;
}

আউটপুট ১ –

Enter a year: 2100
2100 is not a leap year.

আউটপুট ২ –

Enter a year: 2018
2018 is not a leap year.

আউটপুট ৩ –

Enter a year: 2020
2020 is a leap year.

 

সি প্রোগ্রামিং – ফাংশন

সি প্রোগ্রামিং – ফাংশন

সি প্রোগ্রামিং – ফাংশন

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

  1. Main function
  2. User-defined function এবং
  3. Standard library functions

প্রোগ্রামিং এ ফাংশন কতগুলো নির্দেশের সমষ্টি যা একসঙ্গে একটি কাজ সম্পাদন করে। মনে করো, এমন একটি প্রোগ্রাম লিখতে হবে যা অনেক গুলো সংখ্যার বর্গ এবং ফেক্টরিয়াল বের করবে। এ ক্ষেত্রে আমরা সংখ্যার বর্গ এবং ফেক্টরিয়াল নির্ণয় করার দুইটি ফাংশন  লিখে ফেলতে পারি, এতে প্রতিটি সংখ্যার জন্য আলাদা সংখ্যার বর্গ এবং ফেক্টরিয়াল নির্ণয় করার কোড না লিখে এই ফাংশন দুইটি করে সহজেই করতে পারি। অর্থাৎ আমাদের কোড লেখার কাজ কমে গেলো অনেক গুন।  খুশি ?? নিচের উদাহরণটি লক্ষ্য করলে আরো সহজ ভাবে বুঝতে পারবে।

একটি চকলেট প্রস্তুত করার মেশিন চিন্তা করো, এই মেশিনের মধ্যে চকলেট তৈরির উপকরণ গুলো ইনপুট দিলে মেশিনের মধ্যে ঐ উপকরণ গুলো নিয়ে নানা রকম প্রসেস এর মাধ্যমে আউটপুটে চকলেট পাওয়া যায়।

<চকলেট > মেশিন ( < চকলেট তৈরির উপকরণ > )
{
চকলেট তৈরির উপকরণ প্রসেস এর মাধ্যমে চকলেট প্রস্তুত
return চকলেট
}

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

প্রতিটি সি প্রোগ্রামে এক অথবা একাধিক ফাংশন থাকে যা নিম্নোক্ত ভাবে প্রকাশ করা যায়-

return_type function_name( parameter list )
{
body of the function
return Data;
}

ফাংশন কিভাবে সি প্রোগ্রামিং এ কাজ করে?

কম্পাইলার যখন প্রধান ফাংশনের মধ্যে কোন একটি ফাংশন যেমন function_name( ) পায়, তখন কম্পাইলার লাফ দিয়ে ঐ ফাংশনে চলে যায় এবং কম্পাইলার উক্ত ফাংশনের ভিতরের কোডগুলি চালনা শুরু করে।

c-function-how-function-work

ফাংশনে আর্গুমেন্ট কিভাবে পাঠানো হয় ?

নিচের উদাহরণে, ফাংশন কল করে দুটি ভেরিয়েবল x এবং y পাঠানো হয়েছে।

Passing arguments to a function

ফাংশন কিভাবে আর্গুমেন্ট রিটার্ণ করে ?

ফাংশন কিভাবে আর্গুমেন্ট রিটার্ণ করে তা নিচের উদাহরণে দেখানো হয়েছে। মূল ফাংশন থেকে function_name() ফাংশন কল করায়, sum ভেরিয়েবলের মধ্যে z ভেরিয়েবলের মান চলে আসবে।

ফাংশন কিভাবে আর্গুমেন্ট রিটার্ণ করে ?

উদাহরন – ১ : দুইটি সংখ্যার যোফল নির্ণয় 

#include <stdio.h>

int function_name(int x, int y)
{
    int z;
    z = x + y;
    return z;
}

int main()
{
    int a,b,sum;
    printf("Enter two number : ");
    scanf("%d %d", &a,&b);
    sum = function_name(a,b);
    printf("Summation is %d\n", sum);
    return 0;
}

Sample Input: Enter a number : 5  7
Output: Summation is 12

উদাহরন – ২ : আয়তাকার বস্তুর আয়তন নির্ণয়

কোনো আয়তাকার বস্তুর আয়তন হচ্ছে ঐ বস্তুর দৈর্ঘ X প্রস্থ X উচ্চতা। এখন একটি ফাংশন লিখি যাকোন আয়তাকার বস্তুর আয়তন পরিমাপ করবে। ফাংশনটির প্রোটোটাইপ int volume (int a, int b, int c) যা কোনো আয়তাকার বস্তুর আয়তন পরিমাপ করে ঐ আয়তন রিটার্ন করবে।

#include <stdio.h>

int volume (int a, int b, int c)
{
    return a*b*c;
}

int main ()
{
    int x,y,z,ans;
    x=3;
    y=4;
    z=5;
    ans = volume (x,y,z);
    printf ("Volume is %d\n", ans);
    return 0;
}

Output:
Volume is 60

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

#include <stdio.h>

int max(int num1, int num2);
int main ()
{
    int a,b,c;
    a = 10;
    b = 12;
    c = maximum(a, b);
    printf( "Maximum number is : %d\n", c );
    return 0;
}

/* function for finding maximum number */
int maximum(int x, int y)
{
    /* local variable */
    int z;
    if (x > y)
        z = x;
    else
        z = y;
    return z;
}

Output: Maximum number is : 12

উদাহরণ  – ৪ : মৌলিক সংখ্যা যাচাই 

মৌলিক সংখ্যা যাচাই করার একটি প্রোগ্রাম নিচের কোডে দেখানো হয়েছে। যে সকল স্বাভাবিক সংখ্যাকে ১ এবং সে সংখ্যা ছাড়া অন্য কোনো সংখ্যা দ্বারা ভাগ যায় না, তাকে মৌলিক সংখ্যা বলে।
১ থেকে ১০০-এর মাঝের ২৫টি মৌলিক সংখ্যাগুলো হচ্ছে ২, ৩, ৫, ৭, ১১, ১৩, ১৭, ১৯, ২৩, ২৯, ৩১, ৩৭, ৪১, ৪৩, ৪৭, ৫৩, ৫৯, ৬১, ৬৭, ৭১, ৭৩, ৭৯, ৮৩, ৮৯, ৯৭ ।

কোনো একটি সংখ্যা মূল ফাংশনে পূর্ণ সংখ্যার চলক হ-এর মাঝে ইনপুট নেয়া হয়েছে। তারপর ঐ হ চলক দিয়ে prime(n) ফাংশন কল করা হয়েছে। prime(n) ফাংশনে ঐ সংখ্যাটিকে ২ থেকে শুরু করে ঐ সংখ্যার চেয়ে এক কম সকল সংখ্যা দিয়ে ভাগ করা হয়েছে। এর মাঝের যে কোনো একটি সংখ্যা দিয়ে ভাগ করলে যদি ভাগশেষ শূণ্য হয় তাহলে সংখ্যাটি মৌলিক সংখ্যা নয়। আর যদি একবারও ভাগ না যায় তাহলে i-এর মান বেড়ে ঐ সংখ্যার সমান হবে এবং ফলাফলে সংখ্যাটি মৌলিক সংখ্যা দেখাবে।

#include<stdio.h>
int prime(int a);
int main()
{
      int n;
      printf("Enter a number :");
      scanf("%d",&n);
      prime(n);
      return 0;
}
int prime(int a)
{
      int i;
      for ( i = 2 ; i <= a - 1 ; i++ )
      {
          if ( a%i == 0 )
          {
              printf("%d is not prime.\n", a);
              break;
          }
      }
      if ( i == a )
      printf("%d is prime.\n", a);
}

Sample Input: Enter a number : 7
Output: 7 is prime.

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


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

সি প্রোগ্রামিং – ফর লুপ

সি প্রোগ্রামিং – ফর লুপ

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

সি প্রোগ্রামিং – ফর লুপ

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

  1. ফর লুপ
  2. হোয়াইল লুপ এবং
  3. ডু হোয়াইল লুপ

সি প্রোগ্রামিং এ ফর লুপ নিম্নক্ত ভাবে লেখা হয় –

for (1.initialization; 2.condition; 3.increment/decrement)
{
4.statement ;
}

ফর লুপ -এর প্রথম ব্রাকেটের মাঝে তিনটি অংশ থাকে, যার প্রতিটি অংশের মাঝে সেমিকোলন (;) দিতে হয়। যথা:
1) initialization expression :
যেমন: i=0;
2) loop condition :
যেমন: i<5
3) increment/decrement expression :
যেমন: i++

লুপ প্রথমে initialization থেকে শুরু হয়, তারপর কন্ডিশন যাচাই করে। যদি কন্ডিশন সত্য হয় তাহলে ফর লুপ -এর মাঝের কোড execute করে, সত্য না হলে ফর লুপ শেষ হয়ে যায়। এখন ফর লুপ -এর মাঝের কোড execute করার পর increment/decrement করে পুনরায় কন্ডিশন যাচাই করে। যদি কন্ডিশন সত্য হয় তাহলে ফর লুপ -এর মাঝের কোড execute করে, সত্য না হলে ফর লুপ শেষ হয়ে যায়। এভাবে চলতেই থাকে এবং কন্ডিশন মিথ্যা হলে থেমে যাবে।

উদাহরণ – ১

ফর লুপ  দিয়ে প্রথমেই আমরা একটি প্রোগ্রাম লিখে ফেলি যা ৫ বার Bangladesh আউটপুটে দেখাবে –

#include<stdio.h>
int main()
{
    printf("Bangladesh\n");
    printf("Bangladesh\n");
    printf("Bangladesh\n");
    printf("Bangladesh\n");
    printf("Bangladesh\n");
    printf("Bangladesh\n");
    printf("Bangladesh\n");
    printf("Bangladesh\n");
    printf("Bangladesh\n");
    printf("Bangladesh\n");
    return 0;
}

আউটপুট -

Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh

এখন যদি ১০০ বার Bangladesh আউটপুটে দেখাতে বলে তখন কি করবে ? ১০০ বার printf(“Bangladesh\n”); না লিখে আমরা লুপ ব্যভার করে সহজেই এই সমস্যা সমাধান করতে পারি। তো চলো উপরের প্রোগ্রামটি একটি লুপ দিয়ে লিখে ফেলি –

#include<stdio.h>
int main()
{
    int i;
    for(i=1;i<=10;i++)
    {
        printf("Bangladesh\n");
    }
    return 0;
}

আউটপুট -

Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh
Bangladesh

উদাহরণ – ২ 

কোন সংখ্যার ফেক্ট্ররিয়াল নির্ণয় –

কোন n ধনাত্মক সংখ্যার ফেক্ট্ররিয়াল হচ্ছে:

n! = 1 * 2 * 3 * 4 * …. * (n-2)  *(n-1) * n

ফর লুপ দিয়ে কোন সংখ্যার ফেক্ট্ররিয়াল নির্ণয় করার প্রোগ্রাম –

#include <stdio.h>
int main()
{
    int num, i, factorial = 1;
    printf("Enter an positive integer: ");
    scanf("%d",&num);
    for(i=1; i<=num; ++i)
    {
        factorial *= i;
    }
    printf("Factorial of %d is %d", num, factorial);
    return 0;
}

উদাহরণ – ৩

প্রথম n সংখ্যক স্বাভাবিক সংখ্যার বর্গের সমষ্টি নির্ণয় –

আমরা জানি, প্রথম n সংখ্যক স্বাভাবিক সংখ্যার বর্গের সমষ্টি –

12+ 22 + 32+ 42+…. + n2  = { n(n+1)(2n+1)}/6

ফর লুপ দিয়ে প্রথম n সংখ্যক স্বাভাবিক সংখ্যার বর্গের সমষ্টি নির্ণয়য়ের প্রোগ্রাম –

#include <stdio.h>
int main()
{
    int n;
    int sum=0;
    printf("Enter the values of n: ");
    scanf("%d",&n);
    sum = ( n*(n+1)*(2*n+1))/6;
    printf("Sum of the series: %d ",sum);
    return 0;
}

Sample Input: Enter the values of n: 5
Output: Sum of the series: 55

উদাহরণ – ৪

ফর লুপ দিয়ে প্রথম n সংখ্যক স্বাভাবিক সংখ্যার চতুর্ঘাতের সমষ্টি নির্ণয় –

এখন যদি প্রথম n সংখ্যক স্বাভাবিক সংখ্যার চতুর্ঘাতের সমষ্টি নির্ণয় করতে বলা হয় তাহলে আমরা আর আগের মত ধারার সূত্র জানি না, কিন্তু প্রোগ্রাম লিখে সহজে বের করতে পারি। নিচের কোডটি দেখো। যেহেতু হ সংখ্যক স্বাভাবিক সংখ্যার চতুর্ঘাতের সমষ্টি নির্ণয় করতে হবে তাই প্রতি বার sum – এর মাঝে (i*i*i*i) যোগ করতে হবে। তাই প্রথমে sum – এর মাঝে শূন্য রাখা হয়েছে কেননা প্রথম ধাপে যদি sum – এর সাথে (i*i*i*i) যোগ করি sum – এর গার্বেজ মান [প্রোগ্রাম এ কোনো ভেরিয়েবল ডিক্লেয়ার করলে ঐ ভেরিয়েবল-এর মাঝে একটি গার্বেজ থাকে যতক্ষণ না আমরা কোনো মান ঐ ভেরিয়েবল রাখি] যোগ হয়ে যাবে।

#include<stdio.h>
int main()
{
    int n,i;
    int sum=0;
    printf("Enter the values of n: ");
    scanf("%d",&n);
    for(i =1;i <= n;i+=1)
    {
        sum=sum+(i*i*i*i);
    }
    printf("Sum of the series:%d ",sum);
    return 0;
}

Sample Input: Enter the values of n: 5
Output: Sum of the series: 979

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


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

অধ্যায়-১.২ : তথ্য ও যোগাযোগ প্রযুক্তি – বিশ্বগ্রামের সুবিধা ও অসুবিধা

অধ্যায়-১.২ : তথ্য ও যোগাযোগ প্রযুক্তি – বিশ্বগ্রামের সুবিধা ও অসুবিধা

গ্লোবাল ভিলেজ বা বিশ্বগ্রাম কী ? বিশ্বগ্রামের সুবিধা ও অসুবিধাগুলো কি কি ?

নম্বর : ১ + ২ + ২ = ৫

উত্তর:

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

বিশ্বগ্রামের সুবিধা:-

১. মানুষের জীবন যাত্রার মানের উন্নয়ন ঘটছে।
২. আউটসোর্সিংয়ের মাধ্যমে একদেশের লোক অন্য দেশের কোনো বায়ারের কাজ ঘরে বসেই করতে পারছে এবং বৈদেশিক মুদ্রা উপার্জন করতে পারছে।
৩. ঘরে বসে সহজেই উন্নত চিকিৎসা সেবা গ্রহণ করা সম্ভব হচ্ছে।
৪. ই-লানির্ং এর মাধ্যমে যেমন, ভিডিও টিউটোরিয়াল, অনলাইন লাইব্রেরি, ইবুক ব্যবহারের ফলে শিক্ষা সহজ লভ্য হচ্ছে এবং শিক্ষা ব্যবস্থার উন্নয়ন ঘটছে।
৫. জীবনযাত্রার মান উন্নত হচ্ছে।
৬. অডিও কনফারেন্সিং, ভিডিও কনফারেন্সিং, চ্যাট, ই-মেইলের মাধ্যমে যোগাযোগ ব্যবস্থা সহজ হয়েছে।
৭. ব্যবসা বাণিজ্যের প্রসার ঘটেছে এবং লেনদেন আরো সহজতর হচ্ছে।
৮. ইন্টারনেটের মাধ্যমে ঘরে বসে অফিস-আদালতের কাজ করা যায়।
৯. বিভিন্ন দেশের সাংস্কৃতিক তথ্যাদি জানা এবং বিনিময় করা যাচ্ছে।
১০. বিশ্বভাতৃত্ববোধ জাগ্রত হচ্ছে।

বিশ্বগ্রামের অসুবিধা:-

১. এক দেশের সংস্কৃতি অন্যদেরশের সাথে মিশে যাচ্ছে, যা নিজ দেশীয় সংস্কৃতির জন্য কখনো কখনো হুমকি হয়ে দাঁড়াচ্ছে।
২. ইন্টারনেট প্রযুক্তি ব্যবহার করে হ্যাকিং এ মাধ্যমে গোপনীয় তথ্য চুরি হচ্ছে।
৩. সাইবার আক্রমণ সংঘটিত হচ্ছে।
৪. ক্রেডিট কার্ডের তথ্য চুরির মাধ্যমে ই-কমার্স পদ্ধতিটিকে হুমকির মুখে ফেলেছে।
৫. ফাইল শেয়ার করার ওয়েবসাইটগুলোর মাধ্যমে কপিরাইটের বস্তুসমূহের বিতরণ ও ব্যবহার উৎসাহিত হচ্ছে।
৬. মানুষের ব্যক্তিগত গোপনীয়তা লংঘিত হচ্ছে।

নিচের কুইজে অংশ গ্রহণ করার পূর্বে উপরের লেকচারটি পুনরায় দেখে নাও -

Email

বিশ্বগ্রাম হচ্ছে -

বিশ্বগ্রামের সুবিধা নয় কোনটি - 


অধ্যায়-১.১ : তথ্য ও যোগাযোগ প্রযুক্তি – গ্লোবাল ভিলেজ বা বিশ্বগ্রাম কী ?

অধ্যায়-১.১ : তথ্য ও যোগাযোগ প্রযুক্তি – গ্লোবাল ভিলেজ বা বিশ্বগ্রাম কী ?

আলোচ্য সূচি –

১.১ তথ্য ও যোগাযোগ প্রযুক্তি (Information and Communication Technology) –

গ্লোবাল ভিলেজ বা বিশ্বগ্রাম -এ আমরা তথ্যের আদান – প্রদানের জন্য দৈনন্দিন জীবনের প্রতি মূহূর্তে প্রযুক্তি ব্যবহার করে থাকি। প্রযুক্তি আমাদের প্রতিমূহূর্তের যোগাযোগ, তথ্যের আদান-প্রদানকে এমন পর্যায়ে নিয়ে গেছে যে তথ্য ও যোগাযোগ প্রযুক্তির ব্যবহার বন্ধ করে দিলে পৃথিবীর সব কিছু থেমে যাবে। যোগাযোগে, শিক্ষার উপকরণ, সৃজনশীলতার বিকাশ, বিনোদন, জ্ঞানের বিকাশ, গবেষণায় ইত্যাদি সকল ক্ষেত্রে তথ্য ও যোগাযোগ প্রযুক্তির ব্যবহার ক্রমাগত বৃদ্ধি পাচ্ছে।

১.২.০ গ্লোবাল ভিলেজ বা বিশ্বগ্রাম এর ধারণা (Concept of Global Village)

একটি গ্রামের মানুষ গুলোর জীবন যাত্রা একবার কল্পনা কর। গ্রামের সকল মানুষের মধ্যে এক অন্যরকম মিল থাকে, একের প্রয়োজনে অন্যজন এগিয়ে যায়, একে অন্যের সম্পর্ক জানতে পারে। এটাই হচ্ছে একটা প্রকৃত গ্রামের দৃশ্য।

এখন বিশ্বগ্রাম দিয়ে কি বোঝায় ? এটা কি বিশ্বের গ্রাম ? নাকি সারা বিশ্ব মিলে একটি গ্রাম ? হাঁ সারা বিশ্ব মিলে একটি গ্রাম। যেখানে পৃথিবীর সবাই মিলে তাদের মাধ্যে তথ্য, ভাষা, সংস্কৃতি, জ্ঞান, শিক্ষা, অর্থনীতি সহ যে কোন কিছু অনেক সহজে আদান -প্রদান করতে পারি। ইন্টারনেট তথ্যেও এই আদান প্রদানকে অনেক সহজ করে দিয়েছে। মুহূর্তের মধ্যেই কোন তথ্যে সারা বিশ্বে ছড়িয়ে দেয়া যায়। তাই পৃথিবীর কোথায় কি ঘটছে তা জানতে পারি। এভাবে সারা পৃথিবীকে একটা ছোট গ্রামের সাথে তুলনা করা যায় এবং এখান থেকেই বিশ্ব গ্রামের ধারণা চলে আসে। কানাডিয়ান দার্শনিক মার্শাল ম্যাকলুহ্যান ১৯৬২ সালে গ্লোবাল ভিলেজ বা বিশ্বগ্রাম শব্দটি ব্যবহার করেন।

বহুনির্বাচনি প্রশ্ন 


১১. স্কাইপি বলতে কী বুঝায়? (অনুধাবন)
ক. ইলেকট্রনিক্স গুডস
খ. ভিডিও চ্যাটিং ব্যবস্থার মাধ্যম
গ. রেডিও স্টেশন ঘ. স্পেইস স্টেশন

১২. আউটসোর্সিং বলতে কী বুঝায়? (অনুধাবন)
ক. অন্য দেশের কর্মীদের দ্বারা অনলাইন কাজ করানো
খ. অন্য দেশে গবেষণার সুযোগ
গ. চাকরী খোঁজার কেন্দ্র ঘ. বহির্গমন

১৩. নিচের কোনটি গ্লোবাল আউট সোর্সিং মার্কেট প্লেস? (অনুধাবন)
ক. ওডেক্স খ. যমুনা
গ. ওয়ার্কার ঘ. ই-ওয়ার্ক

১৪. বিশ্বব্যাপী এক অদৃশ্য সামাজিক বন্ধন – (উচ্চতর দক্ষতা)
i. গড়ে তুলছে গ্লোবাল ভিলেজ
ii. গড়ে তুলেছে বিশ্বের বিভিন্ন দেশের মানুষের মধ্যে সম্পর্ক
iii. গড়ে তুলছে শত্রুতার বৈরি পরিবেশ
নিচের কোনটি সঠিক?
ক. i খ. i ও ii
গ. ii ঘ. iii

১৫. বর্তমান সময়ের আধুনিক সকল যোগাযোগের ও সম্প্রচার ব্যবস্থাই মূলত কী নির্ভর? (জ্ঞান)
ক. স্যাটেলাইট খ. রেডিও
গ. টেলিভিশন ঘ. দৈনিক পত্রিকা

১৬. GPS বলতে কী বোঝায়? (অনুধাবন)
ক. গ্রোস ডাইস সিস্টেম
খ. গ্লোবাল পজিশনিং সিস্টেম
গ. গুড পজিশনিং সিস্টেম
ঘ. গ্রাউন্ড পজিশনিং সিস্টেম

১৭. গ্লোবাল ভিলেজ বা বিশ্বগ্রাম প্রতিষ্ঠান ক্ষেত্রে নিচের কোন উপাদানটির ভূমিকা সবচেয়ে বেশি? (অনুধাবন)
ক. ইন্টারনেট খ. রেডিও
গ. টেলিভিশন ঘ. টেলিফোন

১৮. মোবাইল ফোন আসলে কী? (অনুধাবন)
ক. একটি চুম্বক সিস্টেম খ. একটি ছোট্ট ডিভাইস
গ. একটি প্রোগ্রামিং ঘ. একটি যাদুর বাক্স

১৯. মানুষকে একে অপরের সন্নিকটে নিয়ে আসার ক্ষেত্রে গ্লোবাল পজিশনিং সিস্টেম ভূমিকা রাখছে- (উচ্চতর দক্ষতা)
র. স্যাটেলাইটের মাধ্যমে রর. চুম্বক প্রক্রিয়ার মাধ্যমে
ররর. তড়িৎ প্রক্রিয়ার মাধ্যমে
নিচের কোনটি সঠিক?
ক. র ও রর খ. র
গ. রর ঘ. ররর

২০. হারবার্ট মার্শাল ম্যাকলুহান ছিলেন- (জ্ঞান)
ক. কৃষিবিদ খ. দার্শনিক
গ. রসায়নবিদ ঘ. প্রযুক্তিবিদ

২১. হারবার্ট মার্শাল ম্যাকলুহান তার দুটি গ্রন্থে বিশ্বগ্রাম কথাটি কত দশকে প্রবর্তন করেন? (জ্ঞান)
ক. ১৯৪০ খ. ১৯৫০
গ. ১৯৭০ ঘ. ১৯৬০

২২. গ্লোবাল ভিলেজ বা বিশ্বগ্রাম বলতে বুঝায়- (অনুধাবন)
ক. বিশ্ব জুড়ে ইন্টারনেটের বিস্তারকৃত জালকে
খ. বিশ্বের উন্নয়নশীল গ্রামগুলোকে
গ. বিশ্ব জুড়ে কম্পিউটারের ব্যবহারকে
ঘ. বিশ্ব জুড়ে যোগাযোগ ব্যবস্থার উন্নয়নকে

২৩. ম্যাকলুহান কোন নামটি প্রবর্তিত সমগ্র ইন্টারনেট ব্যবহারকারীদের সমন্বয়ে গঠিত একীভূত গোষ্ঠীর নাম হিসেবে নির্বাচন করেছেন? (জ্ঞান)
ক. Global Warming খ. Global Village
গ. Global Earth ঘ. Global Town

২৪. কোনটি গ্লোবাল ভিলেজ বা বিশ্বগ্রামে এক স্থান থেকে অন্য স্থানে যাওয়ার বাহন? (জ্ঞান)
ক. কম্পিউটার খ. মোবাইল ফোন
গ. টেলিভিশন ঘ. ফ্যাক্স মেশিন

২৫. কোনটি সামাজিক, অর্থনৈতিক ও রাজনৈতিক কাঠামোর মূল ভিত্তি? (জ্ঞান)
ক. চিকিৎসা ব্যবস্থা খ. যোগাযোগ ব্যবস্থা
গ. শিক্ষা ব্যবস্থা ঘ. বিনোদন ব্যবস্থা

এইচ টি এম এল কি ? – এইচ টি এম এল কোড লেখা

এইচ টি এম এল কি ? – এইচ টি এম এল কোড লেখা

আলোচ্য সূচি –

  • এইচ টি এম এল কি ? ( HTML কি? )
  • HTML শেখার প্রয়োজনীয় যন্ত্রপাতি গুলো জানা।
  • Notepad++ (নোটপ্যাড ++) ডাউনলোড করবো কিভাবে।
  • এইচ টি এম এল কোড লিখবো কিভাবে ? এবং আউটপুট পর্যবেক্ষণ।

এইচ টি এম এল কি ? ( HTML কি? )

এইচ টি এম এল কি – এইচ টি এম এল ( HTML ) একটা Mark Up কম্পিউটার ল্যাঙ্গুয়েজ। এইচ টি এম এল কোড এর মাধ্যমের আমরা পৃথিবীর বিশাল তথ্য-ভান্ডার, ছবি, ভিডিও ইত্যাদি ইন্টারনেটের মাধ্যমে মানুষের সামনে মুহূর্তেই প্রদর্শন করতে পারি। HTML কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়, একে Hyper Text Mark Up Language বলা হয়। এইচ টি এম এল কি ? একটা ওয়েব পেজের বিভিন্ন অংশ ব্রাউজারের মাধ্যমে কিভাবে প্রদর্শিত হবে, তা এইচ টি এম এল ( HTML 5 ) এ Mark Up ট্যাগ সমূহ ব্যবহার করে প্রকাশ করা হয় । HTML কোড হচ্ছে কত গুলো Mark Up ট্যাগ এর সমষ্টি।

সবার আগে HTML শেখা-

ওয়েব ডিজাইনিং শেখার জন্য সবার আগে HTML শেখা জরুরি। কেননা ওয়েবপেজ গুলো HTML দিয়ে লেখা হয়। সাথে অন্যান্য কিছু থাকে যেমনঃ CSS, Java Sctipt, PHP ইত্যাদি। আবারও বলে দিচ্ছি ওয়েব ডিজাইনিং করতে সবার আগে HTML তারপর অন্যকিছু শিখবে।

HTML শেখার যন্ত্রপাতি-

HTML কোড লেখার জন্য কিছু যন্ত্রপাতি লাগবে তা একটু দেখে নাও –

১) একটি কম্পিউটার

২) HTML কোড লেখার জন্য একটি Notepad বা Notepad++(আমি নোটপেড++ বেশি prefer করি।)

৩) তোমার লেখা কোড ব্রাইজারে পরীক্ষা করার জন্য একটি ব্রাউজার। যেমনঃ Google Crome, Mozilla Firefox, Opera, Internet Explorer ইত্যাদি।

Notepad++ (নোটপ্যাড ++) ডাউনলোড করো-

Notepad++(নোটপ্যা++) www.notepad-plus-plus.org ওয়েব সাইটে গিয়ে 6-8MB Notepad++(নোটপ্যাড++) এর .exe ফাইলটি ডাউনলোড করে install করে নাও। যদি ডাইনলোড করতে না পারো তবে তোমার কম্পিউটার এ ডিফল্ট Notepad দেয়া থাকে তাতেও HTML কোড লেখা যাবে।
Notepad++ (নোটপ্যাড++) এ HTML কোড লেখাঃ

Notepad++(নোটপ্যাড++) install করা হয়ে গেলে Notepad++(নোটপ্যাড++) ওপেন করে কোড লেখা শুরু করে দাও। তার জন্য নিচের ধাপ গুলো অনুসরণ কর।

HTML কোড

১) প্রথম একটি নতুন ফাইল খুলে তা যেকোনো নাম দিয়ে save কর, তবে অবশ্যই নামের শেষে .html দিয়ে হবে। (উদাহরণঃ index.html)

প্রথম ধাপঃ তোমার নোটপ্যাড ওপেন কর।

দ্বিতীয় ধাপঃ একটি নতুন ফাইল খুলো। File > New (শর্টকাটঃ ctrl + N )

তৃতীয় ধাপঃ যদি ওয়েব পেজে বাংলা লিখতে চাইলে অবশ্যই নিচের ছবির মত Encode in UTF-8 সিলেক্ট করে সেভ করবে।

চতুর্থ ধাপঃ এবার ফাইলটি সংরক্ষণ করো। প্রথমে File এ ক্লিক করে Save as এ ক্লিক করো, একটি নতুন Window আসবে। তুমি যেখানে তোমার এইচটিএমএল সংরক্ষণ করতে চাও সেই ড্রাইভারে সংরক্ষণ করতে পারবে। File name এর জায়গায় তোমার ইচ্ছা মতো নাম দিতে পারবে শুধু নামের শেষে .html দিতে হবে।

২) এবার নিচের কোডটুকু এই ফাইলের মাঝে লিখে আবার save কর। ভয় পাওয়ার কিচ্ছু নেই, আপাদত তোমাকে কোড বুঝতে হবে না শুধু দেখে দেখে টাইপ কর, পরের অধ্যায়ে এই কোড এর ব্যাখ্যা দেয়া আছে।

<!DOCTYPE html>
<html>

<head>
<title>This Is Title</title>
</head>

<body>

<h1>My First Heading.</h1>
<p>My first paragraph.</p>

</body>
</html>

৩) এখন যেখানে সেভ করেছো সেখানে গিয়ে ফাইলটি একটি ব্রাউজারে open করো, নিচের মতো তোমার ব্রাউজারে আউটপুট দেখতে পাবে।

ইন্টারনেট, ওয়ার্ল্ডওয়াইডওয়েব, সার্ভার, ওয়েবসাইট, ওয়েব ব্রাউজার

ইন্টারনেট, ওয়ার্ল্ডওয়াইডওয়েব, সার্ভার, ওয়েবসাইট, ওয়েব ব্রাউজার

ইন্টারনেটের ইতিহাস

ইন্টারনেট, ওয়ার্ল্ডওয়াইডওয়েব, সার্ভার, ওয়েবসাইট, ওয়েব ব্রাউজার ইত্যাদি নিয়ে আলোচনার আগে ইন্টারনেটের ইতিহাস জেনে নেই। ইন্টারনেট সম্পর্কে জনসাধারণ প্রথম ধারণা প্রবর্তিত হয়েছিল, যখন কম্পিউটার বিজ্ঞান অধ্যাপক লিওনার্ড ক্রাইনরক তার গবেষণাগার ইউনিভার্সিটি অফ ক্যালিফোর্নিয়া, লস অ্যাঞ্জেলেস (ইউসিএলএ) থেকে অর্পানেটের মাধ্যমে একটি বার্তা স্ট্যানফোর্ড রিসার্চ ইনস্টিটিউট (এসআরআই) তে পাঠান। নেটওয়ার্ক সরঞ্জামের দ্বিতীয় অংশ সেখানে স্থাপিত করা হয়েছিল। ১৯৮০ সালের শেষের দিকে এবং ১৯৯০ সালের শুরুর দিকে বাণিজ্যিক ইন্টারনেট সেবা প্রদানকারীরা (আইএসপির) আবির্ভাব হতে থাকে।১৯৯৫ সালে ইন্টারনেটকে বানিজ্যিক পণ্যে পরিণত হয়।

১৯৯০ সালের মাঝামাঝি থেকে, ইন্টারনেট সংস্কৃতিতে ও বানিজ্যে এবং কাছাকাছি-তাৎক্ষণিক যোগাযোগ যেমন, ইলেকট্রনিক মেইল, ইনস্ট্যান্ট মেসেজিং, ভয়েস ওভার ইন্টারনেট প্রোটোকল (ভিওআইপি) “ফোন কল”, দ্বি-মুখ ইন্টারেক্টিভ ভিডিও কল এবং ওয়ার্ল্ড ওয়াইড ওয়েবসহ ইন্টারনেট ফোরাম, ব্লগ, সামাজিক নেটওয়ার্কিং পরিষেবা এবং অনলাইনে কেনাকাটার ওয়েব সাইটসমূহে একটি বিপ্লবী প্রভাব বিস্তার করে।
গবেষণার এবং শিক্ষা সম্প্রদায় অব্যাহত বিকাশ এবং উন্নত নেটওয়ার্ক যেমন, এনএসএফস’র অতি উচ্চ-দ্রুতগতির ব্যাকবোন নেটওয়ার্ক পরিষেবা (ভিবিএনএস), ইন্টারনেট২ এবং জাতীয় ল্যামডারেল ব্যবহার করে।
আজ ইন্টারনেট অনলাইন তথ্য, ব্যবসা, বিনোদন এবং সামাজিক নেটওয়ার্কিং এর জন্য ক্রমাগত বৃদ্ধি পেয়ে চলেছে।

ইন্টারনেট, ওয়ার্ল্ডওয়াইডওয়েব, সার্ভার, ওয়েবসাইট, ওয়েব ব্রাউজার


ইন্টারনেট কি ?

ইন্টারনেট এক বিশেষ ধরনের যোগাযোগ প্রযুক্তি যা বিশ্বব্যাপী কম্পিউটার সংযোগের মাধ্যমে কম্পিউটার থেকে কম্পিউটারে তথ্য আদান-প্রদান করার প্রক্রিয়াই হল ইন্টারনেট সিস্টেম। ইন্টারনেট ব্যবস্থায় ই-মেইল এর মাধ্যমে চিঠি আদান-প্রদান করা যায়। অর্থাৎ পরস্পরের সাথে সংযুক্ত অনেকগুলো কম্পিউটার নেটওয়ার্কের সমষ্টি যা সাধারন মানুষের জন্য উন্মুক্ত

ওয়ার্ল্ডওয়াইডওয়েব কি ?

ওয়ার্ল্ড ওয়াইড ওয়েব (World Wide Web) বা WWW বা W3 মূলতঃ ওয়েব নামে পরিচিত। World Wide Web হচ্ছে ইন্টারনেটে তথ্য আদান প্রদানের একটি পদ্ধতি যার সাহায্য নিয়ে একটি ওয়েব ব্রাউজারের সহায়তা নিয়ে একজন দর্শক ওয়েবপাতা বা ওয়েবপেজ দেখতে পারে এবং সংযোগ বা হাইপারলিঙ্ক ব্যবহার করে নির্দেশনা গ্রহণ ও প্রদান করতে পারে।

ওয়েবপেজ বা ওয়েবসাইট কি ?

ইন্টারনেটে তথ্যে গুলো সংরক্ষিত থাকে ওয়েবপেজ বা ওয়েবসাইটে। ওয়েবপেজ বা ওয়েবসাইট হচ্ছে www বা ওয়ার্ল্ড ওয়াইড ওয়েব এর একটি ডকুমেন্টেশন ফাইল যাতে সকল প্রকারের তথ্য, লিঙ্ক, মাল্টিমিডিয়া ইত্যাদি প্রদর্শনের জন্য নির্দেশনা দেয়া থাকে। এই ওয়েবপেজ বা ওয়েবসাইট গুলো সাধারনত html , java script বা css ইত্যাদি বেসিক ল্যাগুয়েজ ব্যবহার করা হয়। আর এই ওয়েবপেজ বা সাইট গুলো একটি সার্ভার এ সংরক্ষন করা থাকে। এবং ওয়েবপেজ বা সাইট এর জন্য নির্দিষ্ট কোন নাম বা ডোমেইন এ রাখা হয়। যখন আমরা ওয়েব ব্রাউজারে ঐ নির্দিষ্ট ডোমেইনের নাম লিখে ইণ্টার প্রেস করি তখন ঐ পেজটি আমারা দেখতে পাই।

ওয়েবপেজ কিভাবে তৈরি করে ?

 

ওয়েব পেজ এ আমরা html , java script বা css ইত্যাদি বেসিক ল্যাগুয়েজ ব্যবহার করে থাকি। html এর সাথে css দিয়ে ওয়েব পেজটি আরো দৃষ্টিনন্দন করা যায়, তাই ওয়েব পেজ তৈরির জন্য css শেখা জরুরি।

ওয়েব সার্ভার কি করে ?

সার্ভার বিরামহীন কাজ করে এবং সর্বদা ওয়েব ব্রাউজার থেকে কোন অনুরোধ এর জন্য অপেক্ষা করে। যখন ব্রাউজার থেকে কোন অনুরোধ আসে কোন ওয়েব পেজ এর জন্য তখন সার্ভার ঐ ওয়েব পেজ খুঁজে বের করে এবং তা বাউজারের নিকট পাঠিয়ে দেয়।

ওয়েব ব্রাউজার কি করে ?

ব্রাউজার যখন কোন লিংক এ ক্লিক করি তখন ব্রাউজার সার্ভারে একটি অনুরোধ পাঠায় ঐ লিংক এ যে সকল তথ্য আছে তা পাঠানোর জন্য, পরে সার্ভার যেই তথ্য পাঠায় তা ব্রাউজার উইন্ডোতে

পাইথন প্রোগ্রামিং – পাইথন কন্ডিশনাল স্টেটমেন্ট (১ম পর্ব)

পাইথন প্রোগ্রামিং – পাইথন কন্ডিশনাল স্টেটমেন্ট (১ম পর্ব)

পাইথন কন্ডিশনাল

পাইথন প্রোগ্রামিং – কন্ডিশনাল স্টেটমেন্ট (১ম পর্ব) তে প্রথমেই আমরা জানবো কিভাবে একটি প্রোগ্রাম লজিক দিয়ে কম্পিউটারকে নানান নির্দেশনা দিয়ে থাকে। পাইথন কন্ডিশনাল লজিক ব্যবহার করে আমরা সহজেই অনেক জটিল সমস্যার সমাধান করতে পারি।

কন্ট্রোল স্টেটমেন্ট

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

ক) কন্ডিশনাল
খ) লুপ

কন্ডিশনাল (Conditional)

কন্ডিশনালের মধ্যে আমরা if, elif (else if) এবং nested if নিয়ে আলচনা করবো কয়েকটি পর্বে। এই পর্বে থাকছে কন্ডিশনাল নিয়ে বিশদ আলোচনা। 

ইফ কন্ডিশনাল (if Conditional)

if সর্বদা true অথবা false শর্তযাচাই করে , যদি condition true হয় তবে if-এর জন্য যেই স্টেটমেন্ট তা আউটপুটে দেখায়, অন্যথায় else এর জন্য যেই স্টেটমেন্ট তা আউটপুটে দেখাবে।

একটি if সাধারণত নিচের মত করে লেখা হয়:

if BOOLEAN EXPRESSION:
    STATEMENTS_1;
else:
    STATEMENTS_2;

এখানে if এর পর যেই BOOLEAN EXPRESSION লেখা আছে, আসলে তা হচ্ছে একটি Condition, যা নির্ধারন করে if এর স্টেটমেন্ট অথবা else এর স্টেটমেন্ট execute করবে।

উদাহরণ: জোড় অথবা বিজোড় নির্নয় করার প্রোগ্রাম 
If…else বোঝার জন্য কোনো একটি সংখ্যা জোড় অথবা বিজোড় কিনা বের করার একটা প্রোগ্রাম দেখি:

num = 12
if num%2==0:
    print(“The number is Even.”)
else:
    print(“The number is Odd.”)

উপরের প্রোগ্রামে প্রথমে ভেরিয়েবল num-এর ভেতরে একটি সংখ্যা রাখা হয়েছে। এখন if-এর মাঝের কণ্ডিশন এ যাচাই করবে num-এর মধ্যে রাখা সংখ্যা কে 2 দ্বারা ভাগ করলে ভাগশেষ শূন্য হয় কিনা (আমরা জানি কোনো সংখ্যাকে অপর কোনো সংখ্যা দিয়ে ভাগ করলে ভাগশেষ কত হবে তা জানার জন্য পাইথন প্রোগ্রাম এ আমরা মডুলাস অপারেটর, % ব্যবহার করি, বিস্তারিত আগেই আলোচনা করা হয়েছে), যদি শূন্য হয় তাহলে if-এর মাধ্যে থাকা কন্ডিশন সত্য। তাই কম্পাইলার if-এর জন্য বরাদ্দকৃত স্টেটমেন্ট execute করবে। আর যদি if-এর কন্ডিশন সত্য না হয় তাহলে else-এর জন্য বরাদ্দকৃত স্টেটমেন্ট execute করবে। যখন আমরা num এর মধ্যে 12 রাখবো তখন 12 কে 2 দ্বারা ভাগ করলে ভাগশেষ ০ হবে তাই if-এর মাঝের কন্ডিশন সত্য হবে এবং print() দ্বারা আউটপুটে The number is Even. দেখাবে। আবার যখন 5 রাখবো তখন 5 কে 2 দ্বারা ভাগ করলে ভাগশেষ 1 হবে, অর্থাৎ if-এর কন্ডিশন সত্য হবে না তাই তাই else-এর স্টেটমেন্ট execute করবে। else-এর মাঝের print() দ্বারা আউটপুটে The number is Odd. দেখাবে।

if এবং else যে লাইনে বিদ্যমান ঐ লাইনের শেষে অবশই কোলন (:) দিতে হবে। ifএবং else-এর স্টেটমেন্টগুলো অবশ্যই if/else এর এক ট্যাব পরে লিখবে হবে। অন্যথায় স্টেটমেন্ট ওভ/বষংব এর অংশ বুঝাবে না। কোন লাইনের পূর্বে কীবোর্ডের ট্যাব (ঞধন) বাটন প্রেস করলেই ঐ লাইন এক-ট্যাব পরে সরে যাবে।
এখন যদি আগেই num চলকের মধ্যে কোন না রেখে কীবোর্ড থেকে তুমি কোন সংখ্যা ইনপুট দিতে চাও, সেক্ষেত্রে একটি intput() ফাংশন ব্যবহার করতে হবে। যেহেতু আমরা পূর্নসংখ্যা ইনপুট নিবো, তাই আমাদের “Type converter functions” হিসেবে input() ফাংশনের পূর্বে int() ব্যবহার করতে হবে।

প্রোগ্রাম দেখি:

num = int(input(“Enter a number: “))
if num%2==0:
    print(“The number is Even.”)
else:
    print(“The number is Odd.”)

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


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

মেশিন লার্নিং – পৃথিবীর ভবিষ্যৎ কেনো ?

মেশিন লার্নিং – পৃথিবীর ভবিষ্যৎ কেনো ?

মেশিন লার্নিং – পৃথিবীর ভবিষ্যৎ কেনো ?

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

মেশিন লার্নিং

মেশিন লার্নিং

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

মেশিন লার্নিং এবং বর্তমান বিশ্ব

আমরা ইতোমধ্যে পূর্বের দশকে দেখেছি, মেশিন লার্নিং আমাদের দিয়েছে স্বয়ংক্রিয় এবং নিজ থেকে চলমান গাড়ি (self-driving cars), কন্ঠ উদঘাটন করা (practical speech recognition), ওয়েব সার্চ ইত্যাদি। মেশিন লার্নিং-এখন এতোই ব্যপ্তিশীল যে, আমাদের প্রতিনিয়ত কাজে শত শত মেশিন লার্নিং-কোড জড়িত। অনেক বিজ্ঞানী মনে করেন, মেশিন লার্নিং হচ্ছে সবচেয়ে নির্ভরশীল মাধ্যম যা দিয়ে মানুষের সমকক্ষ আর্টিফিশিয়াল ইন্টিলিজেন্স তৈরি করা সক্ষম। যেমন আমরা কিছুদিন আগেই আর্টিফিশিয়াল ইন্টিলিজেন্স সম্পন্ন রোবট সোফিয়া কে নিয়ে মেতেছিলাম। যা এই মেশিন লার্নিং-এরই অবদানের একটি অংশ মাত্র।

মেশিন লার্নিং শুরু করার আগে কয়েকটি কেতাবি সংজ্ঞা দেখা যাক। এই ব্যাপারে Arthur Samuel বলেন, Field of study that gives computers the ability to learn without being explicitely programmed. অর্থাৎ কিনা, কম্পিউটারের যদি এমন কোন অলৌকিক ক্ষমতা থাকে যার জন্য সে যেকোন কিছু আগে থেকে ঐ বিষয়ক প্রোগ্রাম লেখা ছাড়াই শিখতে পারে।

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

কোর্সটি সম্পূর্ণ নয়। এপ্রিলে মেশিন লার্নিং-এর পুরো টিউটোরিয়াল পাওয়া যাবে। মেশিন লার্নিং-কোড লেখার জন্য আমরা এই কোর্সে পাইথন ব্যবহার করবো। তাই পাইথন প্রোগ্রামিং না জানা থাকলে এখান থেকে শিখে নাও জলদি।

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


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

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

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

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

সি প্রোগ্রামিং এ ব্যবহৃত অপারেটর সমূহ হলো : –

  1. ইউনারি অপারেটর (Unary Operator)
  2. বাইনারি অপারেটর (Binary Operator)

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

যে সকল অপারেটর শুধুমাত্র একটি অপারেন্ড নিয়ে কাজ করে তাদের ইউনারি অপারেটর বলে। যেমন: ধনাত্বক বোঝাতে যোগচিহ্ন (+), ঋনাত্বক বোঝাতে বিয়োগ চিহ্ন (-), বৃদ্ধি (++), হ্রাস (–) ইত্যাদি ইউনারি অপারেটর। যোগচিহ্ন (+) ও বিয়োগ চিহ্ন (-):
উদাহরণ: int age = +16; int num = -5; float num1 = -num2;

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

উদাহরণ: i++ ; i- – ; count++;

i + + বোঝায় i = i + ১ এবং

i – – বোঝায় i = i – 1;

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

Pre Increment ( ++i ) Post Increment ( ++i )
i = 5 ;
a = ++i ;
আগে increment হবে
∴ i = 6 ;
a = 6 ;
i = 5 ;
a = i++ ;
পরে increment হবে
∴ i = 5 ;
a = 6 ;

এখন আমরা সি প্রোগ্রামিংদিয়ে দুইটি কোড দেখি, প্রথম কোডটিতে Pre Increment এবং দ্বিতীয় কোডটিতে আমরা Post Increment দেখানো হয়েছে।

উদাহরণ -১ : Pre Increment

#include <stdio.h>
int main()
{
    int count, number;
    count = 4;
    number = ++count;
    printf("%d\n", number);
    return 0;
}

Output: 5

উদাহরণ – ২ : Post Increment

#include <stdio.h>
int main()
{
    int count, number;
    count = 4;
    number = count++;
    printf("%d\n", number);
    return 0;
}

Output: 4

বাইনারি অপারেটর (Binary Operator)

১)  অ্যারিথ মেটিক অপারেটর
২) এসাইনমেন্ট অপারেটর
৩) রিলেশনাল অপারেটর
৪) লজিক্যাল অপারেটর
৫) বিটওয়াইজ অপারেটর

বি. দ্র.- যেহেতু উপরের অপারেটরগুলো দুইটি অপারেন্ড নিয়ে কাজ করে তাই এদের বাইনারি অপারেটর বলে।

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

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

যোগ (+), বিয়োগ(-), গুণ(*), ভাগ(/) ইত্যাদি অ্যারিথমেটিক অপারেটর সম্পর্কে আগেই আমরা জানি। নতুন একটি অপারেটর মডুলাস (%) অপারেটর। মডুলাস কোনো সংখ্যাকে অপর একটি সংখ্যা দিয়ে ভাগ করলে যেই ভাগশেষ থাকে তার মান বোঝায়। যেমন 10 কে 3 দ্বারা ভাগ করলে ভাগশেষ 1 থাকে। অর্থাৎ 10 % 3 = 1

এই অপারেটরগুলো দিয়ে এমন আরো কিছু উদাহরণ দেখে নাও –

2+3*6/2 = 11 3*4%5 = 2
12/6+9 = 11 3*4/2%5 = 1
3%2 = 1 3+4%3 = 4
5%3 = 2 3*4-5 = 7

 

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


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

সৃজনশীল প্রশ্ন এবং উত্তর – তথ্য ও যোগাযোগ প্রযুক্তি (একাদশ এবং দ্বাদশ শ্রেণী)

সৃজনশীল প্রশ্ন এবং উত্তর – তথ্য ও যোগাযোগ প্রযুক্তি (একাদশ এবং দ্বাদশ শ্রেণী)

সৃজনশীল প্রশ্ন এবং উত্তর – তথ্য ও যোগাযোগ প্রযুক্তি (একাদশ এবং দ্বাদশ শ্রেণী)

  • এনসিটিবি কর্তৃক অনুমোদিত পাঠ্যের অনুকরণে সকল সৃজনশীল প্রশ্ন এবং উত্তরগুলো রচিত ।
  • সহজ ও সাবলিল ভাষায় উত্তর দেয়া হয়েছে।
  • প্রশ্নের উত্তর সরাসরি দেয়া এবং নম্বর অনুযায়ি পরীক্ষার হলে উত্তর দেয়ার মতো করে টপিকগুলো সাজানো হয়েছে।
  • বিগত ১০ বৎসরের প্রশ্নের প্রোগ্রামিং অংশের সমাধান।
  • সাধারণ ও সৃজনশীল প্রশ্নাবলী অন্তর্ভুক্ত।
  • মডেল প্রশ…

অধ্যায়-১ : তথ্য ও যোগাযোগ প্রযুক্তি

অধ্যায়-২ : কমিউনিকেশন সিস্টেম ও নেটওয়ার্কিং

অধ্যায়-৩: সংখ্যা পদ্ধতি ও ডিজিটাল ডিভাইস

অধ্যায়-৪ : ওয়েব ডিজাইন পরিচিতি এবং HTML

অধ্যায়-৫ : প্রোগ্রামিং ভাষা

অধ্যায়-৬ : ডেটাবেস ম্যানেজমেন্ট সিস্টেম

তথ্য ও যোগাযোগ প্রযুক্তি (সৃজনশীল) মডেল প্রশ্ন – ২০১৮


এইচএসসি পরীক্ষা – ২০১৮
বিষয় : তথ্য ও যোগাযোগ প্রযুক্তি (সৃজনশীল)
সৃজনশীল প্রশ্ন এবং উত্তর – তথ্য ও যোগাযোগ প্রযুক্তি (একাদশ এবং দ্বাদশ শ্রেণী)

[যে কোন ৪টি প্রশ্নের উত্তর দাও]

১. রহিম সাহেব একজন কম্পিউটার ব্যবসায়ী। তিনি বিদেশ থেকে কম্পিউটার ও বিভিন্ন ধরনের যন্ত্রাংশ আমদানি করেন এবং দেশের বিভিন্ন অঞ্চলে পরিবেশকের মাধ্যমে বিক্রি করে থাকেন। তিনি বিশ্বের বিভিন্ন দেশের বিভিন্ন কোম্পানীর সাথে যোগাযোগ রক্ষা করেন। এজন্যই ই-কমার্সের মাধ্যমে আমদানির সব আর্থিক লেনদেন করে থাকেন।
ক. বিশ্বগ্রাম কী?
খ. বিশ্বগ্রাম এর সুবিধা লেখ।
গ. রহিম সাহেব ব্যবসায়-বাণিজ্য নিয়ন্ত্রণে কী কী কাজ করতে পারেন? বর্ণনা কর।
ঘ. বিভিন্ন ক্ষেত্রে বিশ্বগ্রাম-এর ভূমিকা মূল্যায়ন কর।

২. সুমন একটি ব্যাংকে Chief Technical Officer হিসেবে কর্মরত আছেন। বর্তমানে তার ব্যাংকের কেন্দ্রীয় সার্ভার এবং নেটওয়ার্ক যন্ত্রপাতি ব্যাংকের Head Office এ অবস্থিত। Head Office এর ভাড়ার পরিমাণ বেশি হওয়ায় ব্যাংকের পরিচালনা পরিষদ তাকে বিকল্প ব্যবস্থা গ্রহণের জন্য আদেশ দিয়েছেন। সুমন এক্ষেত্রে ক্লাউড কম্পিউটিং এর সুবিধা গ্রহণের চিন্তা করবেন।
ক. ক্লাউড বলতে কী বুঝায়?
খ. কোন নেটওয়ার্কিং প্রযুক্তি সবচাইতে নির্ভরযোগ্য ডেটা আদান – প্রদান করতে পারবে এবং কেন?
গ. ব্যাংকের যোগাযোগের মাধ্যম হিসেবে তারবিহীন যোগাযোগের যথার্থতা আলোচনা কর।
ঘ. পাবলিক ও প্রাইভেট ক্লাউড দিয়ে এই সমস্যা সমাধানে বিভিন্ন ধাপগুলো উল্লেখ করে তুলনামূলক সুবিধা অসুবিধা বর্ণনা কর। ৪

৩. সাধারণ হিসাব-নিকাশের জন্য ব্যবহার করা হয় দশমিক সংখ্যা পদ্ধতি। কম্পিউটারের অভ্যন্তরীণ কাজ করা হয় বাইনারি সংখ্যা পদ্ধতিতে। অনেক সময় বাইনারি সংখ্যা পদ্ধতিকে দশমিক সংখ্যা পদ্ধতিতে রূপান্তরের প্রয়োজন হয়। কম্পিউটার শিক্ষক ক্লাসে রুমাকে বলল তোমার রোল নম্বর ১৫, যদি তোমার রোল নম্বর ১৫ কে বাইনারিতে লিখা হয় তাহলে তার মান হবে ১১১১।
ক. সংখ্যা পদ্ধতি কী?
খ. দশমিক সংখ্যাকে বাইনারি সংখ্যায় রূপান্তরের নিয়মাবলি লিখ।
গ. বাইনারি সংখ্যা (১০১১০.০১১)২ কে দশমিক সংখ্যার রূপান্তর কর।
ঘ. কম্পিউটারের অভ্যন্তরে বাইনারি সংখ্যা পদ্ধতি ব্যবহারের প্রয়োজনীয়তা ব্যাখ্যা কর।

৪. রনি ও ঈশিতা দুই জন ভালো বন্ধু। তারা এক সাথে পড়াশুনা করে। রনি তার আরেক বন্ধুর কাছ থেকে শুনেছে যে, এখন ওয়েব ডিজাইন করে ইন্টারনেট থেকে অর্থ উপার্জন করা যায়। রনি একদিন ঈশিতার এর কাছে এসে বলল, বন্ধু আমাদের ওয়েব ডিজাইন ও ওয়েব সাইট এর কাঠামো সম্বে ধারণা নিতে হবে।
ক. ওয়েব ডিজাইন কী?
খ. ওয়েব ডিজাইন ও ওয়েব কাঠামোর মূল পার্থক্য কোনটি?
গ. উদ্দীপকের দুই বন্ধুর ওয়েব ডিজাইন ও ওয়েব কাঠামো তৈরির জন্য সর্বপ্রথম কী জানতে হবে? কারণ ব্যাখ্যা কর।
ঘ. উদ্দীপকের রনি কেন ওয়েব ডিজাইন ও ওয়েব কাঠামোর ধারণা নেওয়ার জন্য ঈশিতার কাছে এসে বলে? যুক্তিসহ ব্যাখ্যা কর।

৫. মামুন সাহেব একজন ব্যবসায়ী। তিনি তার ব্যবসায়ীক কর্মকান্ড পরিচালনার জন্য একটি সফটওয়ার কোম্পানির সাথে চুক্তিবদ্ধ হলেন। সফটওয়্যার কোম্পানিটি প্রোগ্রাম রচনার ধাপ অনুযায়ী প্রোগ্রাম রচনা করলেন। অনুবাদক প্রোগ্রামের মাধ্যমে প্রোগ্রাম নির্বাহ করা হলো। চুক্তি অনুযায়ী নির্ধারিত সময়ে সফটওয়্যার কোম্পানি মামুন সাহেবকে সফটওয়্যারটি বুঝিয়ে দিলেন।
ক. অনুবাদক প্রোগ্রাম কি?
খ. কম্পইলার ও ইন্টারপ্রেটারের মধ্যে দুইটি পার্থক্য লিখ।
গ. মামুন সাহেবের চুক্তিবদ্ধ কোম্পানিটি কীভাবে প্রোগ্রাম রচনা করবে তা বর্ণনা কর।
ঘ. মামুন সাহেবের চুক্তিবদ্ধ কোম্পানিটি সি প্রোগ্রাম ছাড়া অন্য প্রোগ্রাম ব্যবহার করলে যে ধরনের সমস্যার সম্মুখিন হবে- তা বিশ্লেষণ কর।

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

ম্যাটল্যাব পরিচিতি :: Introduction to MATLAB

ম্যাটল্যাব পরিচিতি :: Introduction to MATLAB

ম্যাটল্যাব পরিচিতি :: Introduction to MATLAB

বাংলাদেশ প্রকৌশল বিশ্ববিদ্যালয়ের (বুয়েট) তড়িৎ এবং ইলেকট্রনিক কৌশল বিভাগের সহযোগী অধ্যাপক শ্রদ্ধ্যেয় ড. ফারসীম মান্নান মোহাম্মদী স্যার “ম্যাটল্যাব পরিচিতি :: Introduction to MATLAB” বইটি সম্পূর্ণ পড়ে নিম্নক্ত উক্তি দিয়েছেন –

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

ড. ফারসীম মান্নান মোহাম্মদী
সহযোগী অধ্যাপক, তড়িৎ এবং ইলেকট্রনিক কৌশল বিভাগ
বাংলাদেশ প্রকৌশল বিশ্ববিদ্যালয়ের (বুয়েট)

“ম্যাটল্যাব পরিচিতি :: Introduction to MATLAB” বইটি প্রকাশিত হচ্ছে একুশে বই মেলা ২০১৬ এ অন্বেষা প্রকাশ থেকে।

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

মো. আরিফুজ্জামান ফয়সাল
তড়িৎ ও ইলেকট্রনিক কৌশল বিভাগ (চতুর্থ বর্ষ)
বাংলাদেশ প্রকৌশল বিশ্ববিদ্যালয় (বুয়েট)
ইমেইল- stranglefaisal@gmail.com
ওয়েবসাইট – www.faisal.icchecode.com

“ম্যাটল্যাব পরিচিতি :: Introduction to MATLAB” বইটি প্রকাশিত হচ্ছে একুশে বই মেলা ২০১৬ এ অন্বেষা প্রকাশ থেকে।

সূচি
প্রথম অধ্যায়
ম্যাটল্যাব পরিচিতি
দ্বিতীয় অধ্যায়
চলক
তৃতীয় অধ্যায়
বিল্ট ইন ফাংশন
চতুর্থ অধ্যায়
ইনপুট ও আউটপুট
পঞ্চম অধ্যায়
গ্রাফ আঁকা
ষষ্ঠ অধ্যায়
অপারেটর
সপ্তম অধ্যায়
if এবং switch
অষ্টম অধ্যায়
লুপ
নবম অধ্যায়
ফাংশন
দশম অধ্যায়
সিমুলিংক
পরিশিষ্ট

Matlab Porichiti-Arifuzzaman Faisal
ম্যাটল্যাব পরিচিতি :: Introduction to MATLAB

“ম্যাটল্যাব পরিচিতি :: Introduction to MATLAB” বইটি প্রকাশিত হচ্ছে একুশে বই মেলা ২০১৬ এ অন্বেষা প্রকাশ থেকে।

গুণিতক বের করার টেকনিক গুলো

গুণিতক বের করার টেকনিক গুলো

গুণিতক বের করার টেকনিক গুলো

প্রথমেই দেখে নেই গুণিতক কি, কিভাবে কোন সংখ্যার গুণিতক বের করে।
একটি সংখ্যা কোন সংখ্যা দ্বারা বিভাজ্য হলে প্রথম সংখ্যাটিকে দ্বিতীয় সংখ্যার গুণিতক বলে আর দ্বিতীয় সংখ্যাটিকে প্রথম সংখ্যার গুণনীয়ক বলে। যেমনঃ ১০ কে ৫ দ্বারা ভাগ করলে নিঃশেষে বিভাজ্য হবে সেক্ষেত্রে ১০ সংখ্যাটি ৫ এর গুণিতক আর ১০ এর গুণনীয়ক হচ্ছে ৫।

 ২ – এর গুণিতক

কোন সংখ্যার শেষ অংক ০/২/৪/৬/৮ হলে ঐ সংখ্যাটি ২ দ্বারা নিঃশেষে বিভাজ্য হবে এবং সংখ্যাটি অবশ্যই ২ এর গুণিতক হবে।

যেমন- ১৩২৩ এর শেষ অংকটি ৩ যা, ০/২/৪/৬/৮ নয় তাই ১৩২৩ সংখ্যাটি ২ এর গুণিতক নয়।

আবার, ১৭৬ এর শেষ অংক ৬ হওয়ায় ১৭৬ সংখ্যাটি ২ এর গুণিতক।

৩ – এর গুণিতক

কোন সংখ্যার অংকগুলোর যোগফল যদি ৩ দিয়ে নিঃশেষে বিভাজ্য হয়, তবে সংখ্যাটি ৩ এর গুণিতক হবে।

যেমন- ১৪৩ এর অংক গুলোর যোগফল ১+৪+৩ = ৭, যা ৩ দিয়ে বিভাজ্য নয়, সুতরাং ১৪৩ সংখ্যাটি ৩ এর গুণিতক নয়।

আবার, ১৬৭৮২ এর অংক গুলোর যোগফল ১+৬+৭+৮+২ = ২৪, যা ৩ দিয়ে বিভাজ্য, সুতরাং ১৬৭৮২ সংখ্যাটি ৩ এর গুণিতক।

৪ – এর গুণিতক

কোন সংখ্যার শেষের দুইটি অংক দিয়ে গঠিত সংখ্যা যদি ৪ দিয়ে নিঃশেষে বিভাজ্য হয়, তবে সংখ্যাটি ৪ এর গুণিতক হবে।

যেমন- ১৩২৪ এর শেষ দুইটি অংক দিয়ে গঠিত সংখ্যা ২৪, যা ৪ দিয়ে নিঃশেষে বিভাজ্য, তাই ১৩২৪ সংখ্যাটি ৪ এর গুণিতক।

৫ – এর গুণিতক

কোন সংখ্যার শেষের অংকটি ০ বা ৫ হলে ঐ সংখ্যাটি ৫ এর গুণিতক হবে।

যেমন ১২৫

৬ – এর গুণিতক

কোন সংখ্যার যদি ২ এবং ৩ এর গুণিতক হয় তবেই ঐ সংখ্যাটি ৬ এর গুণিতক হবে।

যেমন, ১৬৭৮২ এর অংক গুলোর যোগফল ১+৬+৭+৮+২ = ২৪, যা ৩ দিয়ে বিভাজ্য, সুতরাং ১৬৭৮২ সংখ্যাটি ৩ এর গুণিতক।

আবার, ১৬৭৮২ এর শেষ অংক ২, সুতরাং ১৬৭৮২ সংখ্যাটি ২ এর গুণিতক।

১৬৭৮২ সংখ্যাটি ২ এবং ৩ এর গুণিতক হওয়ায়, ১৬৭৮২ সংখ্যাটি ৬ এর গুণিতক হবে।

৭ – এর গুণিতক

কোন সংখ্যার শেষের অংকটি বাদ দিলে যেই সংখ্যা থাকে তার থেকে বাদ দেয়া অংকটির দ্বিগুণ বিয়োগ করতে হবে। এই প্রক্রিয়া বার বার চালাতে হবে…

প্রাপ্ত সংখ্যাটি যদি ৭ দিয়ে ভাগ যায় তবে ঐ সংখ্যাটি ৭ দিয়ে বিভাজ্য হবে। (এভাবে সবার শেষে প্রাপ্ত সংখ্যাটি ০/৭/৭ দিয়ে নিঃশেষে বিভাজ্য হলে প্রদত্ত সংখ্যাটি ৭ দিয়ে বিভাজ্য)

যেমন- ১৩২৩

১৩২ – ৩×২ = ১২৬

১২ – ৬×২ = ০

প্রাপ্ত সংখ্যাটি (০) ৭ দিয়ে ভাগ যায় তাই ১৩২৩ সংখ্যাটি ৭ দিয়ে বিভাজ্য হবে।

৮ – এর গুণিতক

কোন সংখ্যার শেষের তিনটি অংক দিয়ে গঠিত সংখ্যা যদি ৮ দিয়ে নিঃশেষে বিভাজ্য হয়, তবে সংখ্যাটি ৮ এর গুণিতক হবে।

যেমন- ৩৯৮১৪৫৯৬০ এর শেষ তিনটি অংক দিয়ে গঠিত সংখ্যা ৯৬০, যা ৮ দিয়ে নিঃশেষে বিভাজ্য, তাই ৩৯৮১৪৫৯৬০ সংখ্যাটি ৮ এর গুণিতক।

৯ – এর গুণিতক

কোন সংখ্যার অংকগুলোর যোগফল যদি ৯ দিয়ে নিঃশেষে বিভাজ্য হয়, তবে সংখ্যাটি ৯ এর গুণিতক হবে।

যেমন- ১১১৬ এর অংক গুলোর যোগফল ১+১+১+৬= ৯, যা ৯ দিয়ে বিভাজ্য, সুতরাং ১১১৬ সংখ্যাটি ৯ এর গুণিতক।

১০ – এর গুণিতক

কোন সংখ্যার শেষের অংকটি ০ হলে ঐ সংখ্যাটি ১০ এর গুণিতক হবে।

যেমন ১২০, ১২১২৩৪১০ ইত্যাদি।

১১ – এর গুণিতক

কোন সংখ্যার (জোড় স্থানীয় অংকগুলোর যোগফল – বিজোড় স্থানীয় অংকগুলোর যোগফল) এ বিয়োগফল যদি ০ হয় বা ১১ দিয়ে নিঃশেষে বিভাজ্য হয়, তবে সংখ্যাটি ১১ এর গুণিতক হবে।

যেমন – ৩৮১২৪৯ এর জোড় স্থানীয় অংকগুলোর যোগফল = ৮+২+৯ = ১৯

বিজোড় স্থানীয় অংকগুলোর যোগফল = ৩+১+৪= ৮

∴ নির্ণেয় বিয়োগফল = ১৯ – ৮ = ১১, যা ১১ দিয়ে নিঃশেষে বিভাজ্য, তাই ৩৮১২৪৯ সংখ্যাটি ১১ এর গুণিতক হবে।

১২ – এর গুণিতক

কোন সংখ্যার যদি ৩ এবং ৪ এর গুণিতক হয় তবেই ঐ সংখ্যাটি ১২ এর গুণিতক হবে।

যেমন, ৪১৫৯০৮ এর অংক গুলোর যোগফল ৪+১+৫+৯+০+৮ = ২৭, যা ৩ দিয়ে বিভাজ্য, সুতরাং ৪১৫৯০৮ সংখ্যাটি ৩ এর গুণিতক

আবার, ৪১৫৯০৮ এর শেষ দুইটি অংক দিয়ে গঠিত সংখ্যা ০৮, যা ৪ দিয়ে বিভাজ্য, সুতরাং ৪১৫৯০৮ সংখ্যাটি ৪ এর গুণিতক।

৪১৫৯০৮ সংখ্যাটি ৩ এবং ৪ এর গুণিতক হওয়ায়, ৪১৫৯০৮ সংখ্যাটি ১২ এর গুণিতক হবে।

১৩ – এর গুণিতক

কোন সংখ্যার শেষের অংকটি বাদ দিলে যেই সংখ্যা থাকে তার থেকে বাদ দেয়া অংকটির চারগুণ যোগ করতে হবে। এই প্রক্রিয়া বার বার চালাতে হবে…

প্রাপ্ত সংখ্যাটি যদি ১৩ দিয়ে ভাগ যায় তবে ঐ সংখ্যাটি ১৩ দিয়ে বিভাজ্য হবে। (এভাবে সবার শেষে প্রাপ্ত সংখ্যাটি ১৩ দিয়ে নিঃশেষে বিভাজ্য হলে প্রদত্ত সংখ্যাটি ১৩ দিয়ে বিভাজ্য)

যেমন- ৫৯২৮

৫৯২ + ৮×৪ = ৬২৪

৬২ + ৪×৪ = ৭৮

৭ + ৮×৪ = ৩৯

প্রাপ্ত সংখ্যাটি (৩৯) ১৩ দিয়ে ভাগ যায় তাই ৫৯২৮ সংখ্যাটি ১৩ দিয়ে বিভাজ্য হবে।

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ পরিবর্তন

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ পরিবর্তন

মনে করো প্রোগ্রামের এর কোন অংশে কোন data পূর্ণসংখ্যায় আছে তা ভগ্নাংশে নিতে চাও, বা কোন সংখ্যাকে স্ট্রিং হিসেবে ব্যবহার করতে চাও, এই কাজ গুলো সহজেই করা যায়। যেমন কোন ডাটা যদি int – এর মধ্যে লিখি তাহলে তা পূর্ণসংখ্যা রিটার্ন করবে। যেমন-

>>> int(2.39)

2

এখানে যেহেতু পূর্ণসংখ্যায় প্রকাশ করা হয়েছে তাই দশমিকের পরের অংশ বাদ যাবে।

কোন সংখ্যাকে স্ট্রিং-এ প্রকাশ করার জন্য সংখ্যাটি str এর মধ্যে লিখতে হবে। যেমন-

>>> str(123)

‘123’

>>> str(120.34)

‘120.34’

>>> str(4903.021)

‘4903.021’

 

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ পরিবর্তন

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ যাচাই করা

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ যাচাই করা

এখন কোন সংখ্যা Integer Number অথবা Float Number ? কোনটি Strings, কোনটি Lists ? এসব জানার জন্য পাইথনে type নামে একটি ফাংশন আছে। type ফাংশন এর মধ্যে আমরা যেই ডাটার class বা type জানতে চাই তা লিখে দিলেই প্রদত্ত ডাটার class দেখাবে। পাইথন ডাটা টাইপ যাচাই করার কয়েকটি কোড দেখানো হলো –

>>> type(123)
<class ‘int’>
>>> type(35.50)
<class ‘float’>
>>> type(‘Hello Friends’)
<class ‘str’>
>>> type(”’Arifuzzaman Faisal”’)
<class ‘str’>
>>> type(“123”)
<class ‘str’>
>>> type([1,2,3,4,5])
<class ‘list’>
>>> type([“Imran”,”GSC”,”CSE”,2013])
<class ‘list’>

এখানে integer বা পূর্ণসংখ্যার জন্য class ‘int’ প্রদর্শন করে, float বা ভগ্নাংশের জন্য class ‘float’ প্রদর্শন করে, স্ট্রিং এর জন্য class ‘str’ এবং লিস্ট এর জন্য class ‘list’ প্রদর্শন করে। অর্থাৎ কোন ডাটা পাইথনে বৈধ কিনা/ ডাটার টাইপ/ক্লাস কি তা জানার জন্য ঐ ডাটা type ফাংশন এর মধ্যে লিখে দিলে এবং ডাটা পাইথনে বৈধ হলে প্রদত্ত ডাটার class দেখাব্ল, অন্যথায় error প্রদর্শন করবে।

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


পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Lists

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Lists

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Lists

লিস্ট হচ্ছে একটি ক্রমে কতগুলো মান এর একটি সংকলন, যাদের একটি সাধারণ নাম থাকে। তুমি যদি সি প্রোগ্রামিং এর অ্যারের সাথে পরিচিত থাকো তাহলে লিস্ট সহজেই বুঝতে পারবে, লিস্ট সি প্রোগ্রাম এর এক মাত্রিক অ্যারের মতই, শুধু গঠন পার্থক্য বিদ্যমান। যেমন একটি লিস্ট লিখবো number, যার উপাদান গুলো 1,2,3,4,5 । পাইথনে লিস্টের উপাদানগুলো তৃতীয় বন্ধনীর মধ্যে কমা দ্বারা একটির পর আর একটি লিখতে হয়। নিচের মত করে তোমার Python interpreter – এ number = [1,2,3,4,5] লিস্টটি লিখো।

>>> number = [1,2,3,4,5]
>>> number
[1, 2, 3, 4, 5]

এখানে নামের একটি লিস্ট নিয়েছি যার উপাদান গুলো 1,2,3,4,5। লিস্টের উপাদানগুলো আলাদা আলাদা ভাবে ব্যবহারের জন্য number[0], number[1], number[2], number[3] এবং number[4] লিখতে হবে। এখানে লিস্টের নামের পর তৃতীয় বন্ধনীর মধ্যে উপাদানের অবস্থান লিখে দিতে হয়, এই অবস্থান সংখ্যাকে ইনডেক্স বলে। অর্থাৎ কোন লিস্টের একটি উপাদান ডিক্লেয়ার করলে ঐ লিস্টের নাম এর সাথে তৃ্তীয় বন্ধনীর মাঝে উপাদানের অবস্থান (ইনডেক্স) লিখতে হয়। এই ইনডেক্স এর মান শুন্য [0] থেকে শুরু হয়। অর্থাৎ উপরের number লিস্টের প্রথম উপাদানের জন্য ইন্ডেক্স [0], দ্বিতীয় উপাদানের ইন্ডেক্স [1], তৃতীয় উপাদানের ইন্ডেক্স [2], এভাবে শেষ উপাদানের ইন্ডেক্স [list_size – 1] হবে। নিচের উদাহরণ দেখো-

>>> number = [1,2,3,4,5]
>>> number[0]
1
>>> number[1]
2
>>> number[2]
3
>>> number[3]
4
>>> number[4]
5

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


পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Strings

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Strings

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Strings

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Strings নিয়ে এই লেকচারে আলোচনা করা হবে। যে কোন প্রোগ্রামিং ভাষার মত পাইথনেও স্ট্রিং এর গুরুত্ব অনেক। তাই স্ট্রিং সম্পর্কে পরিষ্কার ধারণা থাকতে হবে। পাইথনে single quotes (‘ ‘) অথবা double quotes (” “) এর যে কোন একটির মধ্যে স্ট্রিং লিখতে হয়। যেমন- নিচের মত করে স্ট্রিংগুলো তোমার Python interpreter – এ লিখে enter প্রেস করো।

>>> “Hello Python”
‘Hello Python’
>>> ‘Bangladesh’
‘Bangladesh’
>>> “Hello World’
SyntaxError: EOL while scanning string literal

পাইথনেও স্ট্রিং লেখার জন্য single quotes (‘ ‘) অথবা double quotes (” “) এর যে কোন একটি ব্যবহার করতে হবে, তাদের সংমিশ্রণ করা যাবে না। যেমন উপরের শেষ স্ট্রিং (“Hello World’) –এ প্রথমে double quotes (” “) পরে single quotes (‘ ‘)- এর সংমিশ্রণের জন্য Python interpreter এখানে “Syntax Error” দেখায়।

এখন স্ট্রিং-এ উদ্ধৃতি চিহ্ন যদি আউটপুটে দেখাতে চাও সেক্ষেত্রে ঐ স্ট্রিং এর আগে ব্যাকস্লাস (\) দিতে হবে। যেমন-

>> ‘doesn\’t’
“doesn’t”
>> ‘”What is your name”, he asked.’
‘”What is your name”, he asked.’

তিনটি single quotes/ double quotes এর মধ্যেও পাইথনে স্ট্রিং লেখা যায়। যেমন-

>>> “””I am Anjan Das”””
‘I am Anjan Das’
>>> ”’I am Kawsar Hamid”’

‘I am Kawsar Hamid’

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Strings

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


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

পাইথন প্রোগ্রামিং – অ্যারিথমেটিক অপারেটর

পাইথন প্রোগ্রামিং – অ্যারিথমেটিক অপারেটর

পাইথন প্রোগ্রামিং – কয়েকটি অ্যারিথমেটিক অপারেটর

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

অ্যারিথমেটিক অপারেটরের অগ্রগণ্যতা (Rules of precedence)

আরিথমেটিক অপারেটরের অগ্রগণ্যতা কোন গাণিতিক এক্সপ্রেশনে একাধিক অপারেটর থাকলে কোন অপারেটর আগে বা পরে কাজ করবে তা নির্ধারণ করে। যে কোন প্রোগ্রামিং ভাষার জন্য অপারেটরের অগ্রগণ্যতা অনেক গুরুত্বপূর্ণ । কেননা তুমি যদি অগ্রগণ্যতা ভুল করো তাহলে তুমি যা প্রত্যাশা করবে প্রোগ্রাম এর আউটপুটে তা আসবে না। নিচে কয়েকটি উদাহরণ দেখি –

উদাহরণ-

নিচের কোনটি সঠিক ?

ক)

>>> 2 + 3 * 2
10

এখানে 2 এর সাথে 3 যোগ করে পাওয়া যায় 5 । এই 5 এর সাথে 2 গুণ করলে 10 পাওয়া যাবে।

খ)

>>> 2 + 3 * 2
8

এখানে 3 এর সাথে 2 গুণ করলে পাওয়া যায় 6 । এই 6 এর সাথে 2 যোগ করলে 8 পাওয়া যাবে।

 

উপরে (খ) সঠিক। আমরা গনিতে এই আরিথমেটিক অপারেটরগুলোর যেই অগ্রগণ্যতার ক্রম অনুসরণ করে চভথাকি পাইথনে আরিথমেটিক অপারেটর সেই অগ্রগণ্যতার ক্রম অনুসরণ করতে হবে। অর্থাৎ এখানে গুণ এর কাজ আগে করতে হবে। কারন গুণ অপারেটর এর অগ্রগণ্যতার ক্রম যোগের উপরে।

উদাহরণ-

চল আরো একটি গাণিতিক সমস্যা দেখি 1 + 3 ** 2 * 2 এর মান কত হবে ?

>>> 1 + 3 ** 2 * 2
19

এখানে 3 এর ঘাত 2 করলে পাওয়া যায় 9 । এই 9 এর সাথে 2 গুণ করলে পাওয়া যাবে 18 এবং এর সাথে যোগ করলে পাবো। অর্থাৎ এক্ষেত্রে অগ্রগণ্যতার ক্রম পাওয়ার > গুণ > যোগ ।

এখানে যদি পাওয়ার আগে গুণের কাজ করতে চাই তাহলে কি করবো! সাধারণ গনিতে যেমন প্রথম বন্ধনীর কাজ আগে করতে হয়, তেমনি পাইথনেও প্রথম বন্ধনী ব্যবহার করে অগ্রগণ্যতার ক্রম “পাওয়ার > গুণ/ভাগ > যোগ/বিয়োগ” উপেক্ষা করা যায়। অর্থাৎ প্রথম বন্ধনীর মধ্যের অংশ আগে তারপর অন্যান্য আরিথমেটিক অপারেটরের অগ্রগণ্যতার ক্রম অনুসরণ করবে। যেমন –

>>> 1 + 3 ** (2 * 2)
82

এখানে প্রথম বন্ধনীর মধ্যের অংশ আগে তারপর অন্যান্য অংশ অগ্রগণ্যতার ক্রম অনুযায়ী হবে। অর্থাৎ

1 + 3 ** (2 * 2)
= 1 + 3 ** 4
= 1 + 81
= 82

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

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

>>> 10 % 3
1
>>> 8 % 5
3

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