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

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

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

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

  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. অর্থাৎ কিনা, কম্পিউটারের যদি এমন কোন অলৌকিক ক্ষমতা থাকে যার জন্য সে যেকোন কিছু আগে থেকে ঐ বিষয়ক প্রোগ্রাম লেখা ছাড়াই শিখতে পারে।

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

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

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