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

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

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

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

  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.

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


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

সহজে শিখি সি প্রোগ্রামিং – ইবুক ডাউনলোড

সহজে শিখি সি প্রোগ্রামিং – ইবুক ডাউনলোড

পাসওয়ার্ড পেতে নিমোক্ত নম্বরে ১০০ টাকা বিকাশ করুন –

01. Go to your bKash Mobile Menu by dialing *247#
02. Choose “Send Money”
03. Enter the bKash Account Number 01676414756
04. Enter the amount you want to send (100 BDT)
05. Enter a reference about the transaction. (CBOOK)
06. Now enter your bKash Mobile Menu PIN to confirm the transaction

বিকাশ করার পর মোবাইলে পাসওয়ার্ড পাওয়া যাবে। ভেরিফিকেশোনের জন্য পাসওয়ার্ড পেতে কখনও কখনও ৩০ মিনিট পর্যন্ত লাগতে পারে।

বিকাশে “payment” নির্বাচন করবেন না। অবশ্যই “Send Money” নির্বাচন করবেন। আপনার নিজের বিকাশ একাউন্ট না থাকলে পরিচিত কারো নম্বর থেকেও বিকাশ করা যাবে।

সহজে শিখি সি প্রোগ্রামিং – ইবুক ডাউনলোড

ফাইলের ধরন – পিডিএফ

ফাইলের সাইজ – ১৩ মেগাবাইট

বর্তমান সংস্করণ – ২.২

sohoje-sikhi-c-programming-ebook-qr

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

১) ঊপরের BUY NOW ক্লিক করুন
২) নাম, ইমেইল, আপনার ব্যবহৃত যে কোন মোবাইল নম্বর দিয়ে ফর্ম পূরন করুন। এবং Place Order ক্লিক করুন। আপনি একটি অর্ডার নম্বর পাবেন।
৩) ওখানে যেই নম্বর দেয়া আছে সেই নম্বরে ১০০ টাকা বিকাশে SEND করুন। বিকাশে SEND MONEY করার সময় (২) নং ধাপে যেই অর্ডার নম্বর পেয়েছেন, সেই নম্বরটি রেফারেন্স হিসেবে লিখুন ।
৪) বিকাশ করার হলে আপনার ইমেইল একাউন্টে ডাউনলোড লিংক চলে যাবে।

সি প্রোগ্রামিং শেখার জন্য কেন এই বই জরুরী ?

  • সকল টপিক সহজভাবে উপস্থাপিত
  • প্রতিটি টপিকের পরে উদাহরণ
  • প্রতিটি কোডের সুস্পষ্ট ব্যাখ্যা
  • অসংখ্য উদাহরণ এবং নিজে অনুশীলনীর জন্য প্রশ্ন
  • স্কুল- কলেজ পর্যায়ে প্রোগ্রামিং শেখার জন্য বিশেষ উপযোগী
  • বিশ্ববিদ্যালয়ের থিওরি + ল্যাব কোর্সের জন্য সহায়ক

বইটি কাদের জন্য লেখাঃ
১) যারা প্রোগ্রামিং এ নতুন
২) স্কুল, কলেজ অথবা বিশ্ববিদ্যালয় পর্যায়ে সি প্রোগ্রামিং শিখতে চায়
৩) স্কুল-কলেজ পর্যায়ে ইনফরমেটিক্স অলেম্পিয়াডের জন্য প্রস্তুতি নিতে চায় -তাদের জন্য
৪) প্রতি অধ্যায় শেষে বিশ্ববিদ্যালয়ের টার্ম ফাইনাল/ সেমিস্টার ফাইনালের অনুরূপ প্রশ্ন এবং উত্তর বিদ্যমান
৫) বিশ্ববিদ্যালয় পর্যায়ে সি প্রোগ্রামিং ল্যাবে যে ধরনের প্রশ্ন থাকে ঐ ধরনের প্রশ্নের সমাধান বিদ্যমান

সূচীপত্র:
শূন্য অধ্যায়ঃ কম্পিউটার প্রোগ্রামিং(পরিগণন) ও এর গুরত্ব
প্রথম অধ্যায়ঃ ক¤পাইলার ইন্সটল করা (compiler install)
দ্বিতীয় অধ্যায়ঃ সি প্রোগ্রাম (C Program)
তৃতীয় অধ্যায়ঃ ইনপুট ও আউটপুট (Input and output)
চতুর্থ অধ্যায়ঃ ডাটা টাইপ (Data Types)
পঞ্চম অধ্যায়ঃ চলক এবং ধ্রুবক (Variable and Constant)
ষষ্ঠ অধ্যায়ঃ অপারেটর (Operator)
সপ্তম অধ্যায়ঃ কন্ট্রোল স্টেটমেন্ট (Control Statement)
অষ্টম অধ্যায়ঃ ফাংশন (Function)
নবম অধ্যায়ঃ অ্যারে এবং পয়েন্টার (Array and Pointer)
দশম অধ্যায়ঃ স্ট্রিং (String)
একাদশ অধ্যায়ঃ ফাইল – ইনপুট/আউটপুট (File – I/O)
দ্বাদশ অধ্যায়ঃ স্ট্রাকচার (Structure)

লেখক পরিচিতিঃ
আরিফুজ্জামান ফয়সাল মাধ্যমিক এবং উচ্চ মাধ্যমিকের গন্ডি পেরিয়ে বাংলাদেশ প্রকৌশল বিশ্ববিদ্যালয় (বুয়েট) এর ইলেকট্রিক্যাল এবং ইলেক্ট্রনিক ইঞ্জিনিয়ারিং বিভাগে ভর্তি হন। ইঞ্জিনিয়ারিং শেষ করে বর্তমানে একটি ইঞ্জিনিয়ারিং প্রতিষ্ঠানের গবেষণা বিভাগে কর্মরত আছেন এবং পাশাপাশি ইচ্ছে কোড স্কুলের (www.icchecode.com) এর প্রধান উপদেষ্টা হিসেবে দায়িত্ব পালন করছেন।

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

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

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

পূর্ণসংখ্যার (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 , এখন মনে করো আমি যোগ করতে পারি না। シ কিন্তু আমি কিন্তু সি++ প্রোগ্রামিং ভাষায় কোড লিখতে পারি। তো এখন দুইটি সংখ্যা যোগ করার জন্য আমার কাছে একটা উপায় হল সি++ দিয়ে যোগ করার একটি কোড লিখে ফেলা। চলো লিখে ফেলি। তুমি হয়তো ভাবছো তুমি যোগ করতে পারো তাহলে তোমার তো সি++ দিয়ে যোগ করার কোড লেখার কোনো দরকার নেই। না দরকার আছে, বলছি কেনো দরকার। প্রথম প্রথম যতো বেশি কোড লিখবে ততোবেশি ভালো ভাবে সি++ দিয়ে কোড লেখা আয়ত্ত করতে পারবে।

#include <stdio.h>
int main()
{
    int num1,num2,num3;
    num1 = 12; num2 = 3;
    num3 = num1 + num2;
    printf("Sum of two numbers is %d.\n", num3);
    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 এর যোগফল রাখলাম।

গাণিতিক অপারেটর –

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

প্রোগ্রাম এ ব্যবহৃত কিছু গাণিত –

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

printf() ফাংশন “Sum of two numbers is %d.\n” এই লেখাটা আউটপুট স্ক্রিন এ দেখানোর জন্য ব্যবহৃত হয়। যেখানে %d, int ডাটা টাইপ এর ভেরিয়েবল এর মান প্রিন্ট করার জন্য, অর্থাৎ %d এর জায়গায় কমার পরের num3 এর মান বসবে। \n নতুন একটি লাইন প্রিন্ট করার জন্য ব্যবহৃত হয়। তাহলে আউটপুট স্ক্রিনে দেখানো হবে “Sum of two numbers is 15.”।

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

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

#include <stdio.h>
int main()
{
    int num1,num2,num3;
    num1 = 12;
    num2 = 3;
    num3 = num1 - num2;
    printf("Difference of two numbers is %d.\n", num3);
    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) বিয়োগফল রাখলাম।

printf() ফাংশন “Difference of two numbers is %d\n” এই লেখাটা আউটপুট স্ক্রিন এ দেখানোর জন্য ব্যবহৃত হয়। যেখানে %d, int ডাটা টাইপ এর ভেরিয়েবল এর মান প্রিন্ট করার জন্য, অর্থাৎ %d এর জায়গায় কমার পরের num3 এর মান বসবে। n নতুন একটি লাইন প্রিন্ট করার জন্য ব্যবহৃত হয়। তাহলে আউটপুট স্ক্রিনে দেখানো হবে “Difference of two numbers is 9.”।

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

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


সি++ প্রোগ্রামিং – 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 ডাটা টাইপ

সি প্রোগ্রামিং ভাষা

সি প্রোগ্রামিং ভাষা

সি প্রোগ্রামিং ভাষা

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

সি প্রোগ্রামিং নিয়ে আলোচনা করার পূর্বে আমরা উচ্চ স্তরের প্রোগ্রামিং ভাষা কি জেনে নেই।

উচ্চ স্তরের ভাষা

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

বেশীরভাগ প্রোগ্রামিং ভাষা, উচ্চ স্তরের ভাষা বলে মনে করা হয়। উদাহরণ –

  • সি
  • সি ++
  • সি শার্প
  • পাইথন
  • পি এইচ পি
  • জাভা
  • জাভাস্ক্রিপ্ট

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

সি প্রোগ্রামিং ভাষার আবিষ্কার

সি প্রোগ্রামিং ভাষা এর নির্মাতা ডেনিস রিচি। ডেনিস রিচি বেল ল্যাবে ৭০এর দশকে সি প্রোগ্রামিং ভাষাটি তৈরি করেন। বর্তমানে পাইথন, সি++, জাভা, পার্ল সহ অনেক প্রোগ্রামিং ভাষার প্রচলিত আছে, যদিও এদের বেশির ভাগের উপর সি এর প্রভাব লক্ষ্য করা যায়। ১৯৮৯ সালে আমেরিকান মাননিয়ন্ত্রক সংস্থা  সি (আনসি সি (ANSI C)) নামে সি এর ১টি আদর্শ ভার্সন তৈরির করে যা পৃথিবীর সর্বত্র প্রচলিত আছে।

সফটওয়্যার তৈরির জন্য Java, C#, PHP, Python শিখা জরুরি। আবার ওয়েব অ্যাপ্লিকেশান তৈরির জন্য HTML, PHP, Python ইত্যাদি জানতে হয়। অ্যান্ডয়েড এ অ্যাপ্লিকেশান তৈরির জন্য Java, xml এবং আই ফোন এর অ্যাপ্লিকেশান তৈরির জন্য অব্জেক্টিভ সি জানা জরুরি। আর এসব প্রোগ্রামিং ভাষা শিখার জন্য সবার আগে সি জানা থাকলে অনেক সুবিধা।

আমরা সি (C) প্রোগ্রামিং ভাষাকে classical music এর সাথে তুলনা করতে পারি। Classical music জানলে যেমন অন্যান্য গান সহজেই আয়ত্ত করা যায়, তেমনি সি জানা থাকলে যে কোনো প্রোগ্রামিং ভাষা সহজেই শেখা যায় ।

সি প্রোগ্রামিং ভাষার ব্যবহার

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

  1. Operating Systems
  2. Language Compilers
  3. Text Editors
  4. Network Drivers
  5. Language Interpreters

রোবটিক্সে সি প্রোগ্রামিং

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

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

Email
1.

সি প্রোগ্রামিং ভাষা এর নির্মাতা কে ?

2.

উচ্চস্তরের ভাষায় লেখা প্রোগ্রামকে কীভাবে কম্পিউটারকে বুঝিয়ে দিতে হয়?

3.

‘সি’ হচ্ছে - 

4.

যান্ত্রিক ভাষাকে কোন স্তরের ভাষা বলা হয়?

5.

কম্পিউটারের যান্ত্রিক ভাষার বর্ণগুলো কী কী?

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


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

 

[সি টিউটোরিয়াল

Tutorial on C Programming in Bangla ]

সি প্রোগ্রাম – বার নির্ণয়ক সফটওয়্যার

সি প্রোগ্রাম – বার নির্ণয়ক সফটওয়্যার

ইনপুট হিসেবে যা নেয়া হবেঃ
১.তারিখ
২.মাস নম্বর
৩.প্রথম দুই ডিজিট সালের
৪.বাকি ডিজিট সালের

আউটপুটঃ
বার এর নাম

ধরা যাক তারিখ নেয়া হল-১২,মাস নম্বর-৮,প্রথম দুই ডিজিট সালের-১৯
বাকি ডিজিট সালের-৯৩,তার মানে ১২-৮-১৯৯৩

এখন কিছু নির্দিষ্ট মাস এর জন্য কিছু নির্দিষ্ট নম্বর আছে। যেমনঃ
জানুয়ারী,অক্টোবর-৫
ফেব্রুয়ারী,মার্চ,নভেম্বর-১
এপ্রিল,জুলাই-৪
মে-৬
জুন-২
আগষ্ট-০
সেপ্টেম্বর,ডিসেম্বর-৩

এখানে প্রথম দুইডিজিটসালের-১৯।১৯কে ৪ দ্বারা ভাগ করলে ভাগশেষ থাকে ৩।আবার বিভিন্ন ভাগশেষ এরজন্য কিছু নির্দিষ্ট নম্বর আছে।নিচে এ র তালিকা দেয়া হলঃ
ভাগশেষ ৩ হলে নম্বর হবে ২
ভাগশেষ ২ হলে নম্বর হবে ৪
ভাগশেষ ১ হলে নম্বর হবে৬
ভাগশেষ ০ হলে নম্বর হবে ১

এখন শেষ দুই ডিজ়িট ৯৩।৯৩ কে ৪ দ্বারা ভাগ করলে ভাগফল থাকে ২৩.২৫।কিন্তূ আমরা এখানে পূর্ণ সংখ্যা নিবো। তাহলে ভাগ ফল হবে ২৩।

এরপর যোগ করুন ৯৩+২৩=১১৬।এখন এই যোগফলের সাথে নিচের মানগুলো
যোগ করুন।তাহলে সূত্র হচ্ছেঃ
তারিখ+মাসের জন্য নির্দিষ্ট নম্বর+ভাগশেষএ র জ়ন্য নির্দিষ্টনম্বর+উপরে প্রাপ্তযোগফল
তাহলে আমাদের ধার্যতারিখ উপরেরসূত্রে বসিয়ে পাই
১২+০+২+১১৬=১৩০
এটি হল মোটযোগফল।এখন মোটযোগফলকে ৭ দ্বারা ভাগ করলে যা ভাগশেষ থাকবে সেইসংখ্যানির্দিষ্ট বারকে নির্দেশকরবে।

ভাগশেষ ০ হলে বার হবে রবিবার
ভাগশেষ ১ হলে বার হবে সোম বার
ভাগশেষ ২ হলে বার হবে মঙ্গলবার
ভাগশেষ ৩ হলে বার হবে বুধবার
ভাগশেষ ৪ হলে বার হবে বৃহস্পতিবার
ভাগশেষ ৫ হলে বার হবে শুক্রবার

এখানে ১৩০/৭= ভাগশেষহয় ৪ যা বৃহস্পতিবারকে নির্দেশ করে।সুতরাং নির্নেয় বার=বৃহস্পতিবার

লক্ষ্যকরুনঃ লিপইয়ার এর ক্ষেত্রে জানুয়ারীর নম্বর ৫ এর বদলে ৪ হবে।

কোডিংঅংশঃ
উপরের লজিক অনুযায়ী সি প্রোগ্রামিং দ্বারা কোডিং করা যাক ।

#include <stdio.h>
#include <conio.h>
int main()
{
int date,month,y,y1,y2,a,b,c,d,re,sum,sum1,re1,tot;
printf(“Instruction: At first give date(ex:17), then give year(ex:2014)nthen type 1st two digit of year(ex:20).Next give last two digit of year(ex:14)nAt last give month number(Ex:5)nn”);

printf(“Enter Date=a”);
scanf(“%d”,&date);
printf(“Enter Year=a”);
scanf(“%d”,&y);

printf(“Enter 1st two digits of Year=a”);
scanf(“%d”,&y1);

printf(“Enter last two digits of Year=a”);
scanf(“%d”,&y2);
printf(“Enter Month Number=a”);
scanf(“%d”,&month);

if(month==1||month==10){
a=5;
if(y%4==0 && y%100!=0||y%400==0){
if(month==1)
a=4; //লিপইয়ারহলেজানুয়ারী=৪ হবে ।
}
}
if(month==2)
a=0;
if(y%4==0 && y%100!=0||y%400==0)
{
if(month==2)
a=0;
}
if(month==3||month==11){
a=1;
}
if(month==4||month==7){
a=4;
sum=(date+a);
}
if(month==5){
a=6;
}
if(month==6){
a=2;
}
if(month==8){
a=0;
}
if(month==9||month==12){
a=3;
}

sum=date+a;

re=(y1%4);
if(re==3){
b=2;
}
if(re==2){
b=4;
}
if(re==1){
b=6;
}
if(re==0){
b=1;
}
c=(y2/4);
d=(y2+c);
sum1=(b+d);
tot=(sum+sum1);
re1=tot%7;
if(re1==0){
printf(“nDay= Sundaya”);
}
if(re1==1){
printf(“nDay= Mondaya”);
}
if(re1==2){
printf(“nDay= Tuesdaya”);
}
if(re1==3){
printf(“nDay= Wednesdaya”);
}
if(re1==4){
printf(“nDay= Thursdaya”);
}
if(re1==5){
printf(“nDay= Fridaya”);
}
if(re1==6){
printf(“nDay= Saturdaya”);
}
getch();
}

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

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

বইটি কাদের জন্য লেখাঃ
১) যারা প্রোগ্রামিং এ নতুন
২) স্কুল, কলেজ অথবা বিশ্ববিদ্যালয় পর্যায়ে সি প্রোগ্রামিং শিখতে চায়
৩) স্কুল-কলেজ পর্যায়ে ইনফরমেটিক্স অলেম্পিয়াডের জন্য প্রস্তুতি নিতে চায় -তাদের জন্য।

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

সূচীপত্র:
শূন্য অধ্যায়ঃ কম্পিউটার প্রোগ্রামিং(পরিগণন) ও এর গুরত্ব
প্রথম অধ্যায়ঃ ক¤পাইলার ইন্সটল করা (compiler install)
দ্বিতীয় অধ্যায়ঃ সি প্রোগ্রাম (C Program)
তৃতীয় অধ্যায়ঃ ইনপুট ও আউটপুট (Input and output)
চতুর্থ অধ্যায়ঃ ডাটা টাইপ (Data Types)
পঞ্চম অধ্যায়ঃ চলক এবং ধ্রুবক (Variable and Constant)
ষষ্ঠ অধ্যায়ঃ অপারেটর (Operator)
সপ্তম অধ্যায়ঃ কন্ট্রোল স্টেটমেন্ট (Control Statement)
অষ্টম অধ্যায়ঃ ফাংশন (Function)
নবম অধ্যায়ঃ অ্যারে এবং পয়েন্টার (Array and Pointer)
দশম অধ্যায়ঃ স্ট্রিং (String)
একাদশ অধ্যায়ঃ ফাইল – ইনপুট/আউটপুট (File – I/O)
দ্বাদশ অধ্যায়ঃ স্ট্রাকচার (Structure)

লেখক পরিচিতিঃ
আরিফুজ্জামান ফয়সাল রাজেন্দ্রপুর ক্যান্টনমেন্ট পাবলিক স্কুল এবং কলেজ থেকে এসএসসি এবং সরকারি বিজ্ঞান কলেজ থেকে এইচএসসি পাশ করে বাংলাদেশ প্রকৌশল বিশ্ববিদ্যালয় (বুয়েট) এর ইলেকট্রিক্যাল এবং ইলেক্ট্রনিক ইঞ্জিনিয়ারিং বিভাগে ভর্তি হন। বর্তমানে তিনি চতুর্থ বর্ষে অধ্যয়নরত আছেন।

প্রোগ্রামিং-এ ভালো করবে বাংলাদেশ, সেই লক্ষ্যে স্কুল কলেজের শিক্ষার্থীদের মাঝে প্রোগ্রামিং জ্ঞান ছড়িয়ে দিতে শুরু করেন ইচ্ছে কোড প্রোগ্রামিং ক্যাম্প (www.camp.icchecode.com)। বর্তমানে পড়াশোনার পাশাপাশি ইচ্ছে কোড (www.icchecode.com) এর প্রধান নির্বাহী হিসেবে দায়িত্ব রত আছেন।

এটা প্রোফাইল পিকচার না, আমার লেখা বইয়ের বিজ্ঞাপন 😛 মডেল খুঁজে পাওয়া যাচ্ছিলো না, তাই নিজেই বই নিয়ে পোজ দিয়েছিলাম একুশে…

Posted by Arifuzzaman Faisal on Saturday, March 28, 2015

 

—————#————-

বইটির মূল্য ২০০ টাকা মাত্র

—————#————-

# প্রাপ্তিস্থানঃ-
অন্বেষা প্রকাশ
বাংলা বাজার, ঢাকা

# প্রাপ্তিস্থানঃ-
ঢাকা নীল ক্ষেতের হক লাইব্রেরী
হক লাইব্রেরীতে বই এর মূল্য ২০০ টাকার পরিবর্তে ১৫০ টাকা মাত্র
ফোন নম্বরঃ- ০১৭৩৫৭৪২৯০৮


বইটির ফেসবুক পেজঃ-
(https://www.facebook.com/SohojeShikhiCProgramming)
—————#————-
#‎ঢাকার_বাইরে‬
রকমারি.কম লিংক : www.rokomari.com/book/94203
এখানে একটি একাউন্ট খুলে, অনলাইনে অর্ডার দিলে বাসায় পৌছে দেবে ওরা। যদি একাউন্ট খুলে অর্ডার দিতে সমস্যা হয় তা হলে সরাসরি Phone: 16297, 01519521971 এ কল দিলেই হবে ।

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

সি প্রোগ্রামিং বই

বাংলা ভাষায় প্রোগ্রামিং বই “সহজে শিখি সি প্রোগ্রামিং – আরিফুজ্জামান ফয়সাল”

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

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

সি প্রোগ্রামিং – টিউটোরিয়াল

বাংলা ভাষায় প্রোগ্রামিং বই “সহজে শিখি সি প্রোগ্রামিং – আরিফুজ্জামান ফয়সাল”

সহজে শিখি সি প্রোগ্রামিং
সহজে শিখি সি প্রোগ্রামিং

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

“সহজে শিখি সি প্রোগ্রামিং” বইটি প্রকাশিত হচ্ছে আগামী বই মেলায় Annesha Prokashon – অন্বেষা প্রকাশন থেকে । ইচ্ছে কোড থেকে প্রকাশিত প্রথম বই। প্রোগ্রামিং কে আরো সহজ করে তোলার জন্য বইটি লেখা। বইটি লিখেছেন Arifuzzaman Faisal

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

“সহজে শিখি সি প্রোগ্রামিং”

সূচীপত্র
শূন্য অধ্যায়ঃ কম্পিউটার প্রোগ্রামিং(পরিগণন) ও এর গুরত্ব
প্রথম অধ্যায়ঃ কম্পাইলার ইন্সটল করা (compiler install)
দ্বিতীয় অধ্যায়ঃ সি প্রোগ্রাম (C Program)
তৃতীয় অধ্যায়ঃ ইনপুট ও আউটপুট (Input and output)
চতুর্থ অধ্যায়ঃ ডাটা টাইপ (Data Types)
পঞ্চম অধ্যায়ঃ চলক এবং ধ্রবক (Variable and Constant)
ষষ্ঠ অধ্যায়ঃ অপারেটর (Operator)
সপ্তম অধ্যায়ঃ কন্ট্রোল স্টেটমেন্ট (Control Statement)
অষ্টম অধ্যায়ঃ ফাংশন (Function)
নবম অধ্যায়ঃ অ্যারে এবং পয়েন্টার (Array and Pointer)
দশম অধ্যায়ঃ স্ট্রিং (String)
একাদশ অধ্যায়ঃ ফাইল – ইনপুট/আউটপুট (File – I/O)
দ্বাদশ অধ্যায়ঃ স্ট্রাকচার (Structure)

বইটি কাদের জন্য লেখাঃ
১) যারা প্রোগ্রামিং এ নতুন
২) স্কুল, কলেজ অথবা বিশ্ববিদ্যালয় পর্যায়ে সি প্রোগ্রামিং শিখতে চায়
৩) স্কুল-কলেজ পর্যায়ে ইনফরমেটিক্স অলেম্পিয়াডের জন্য প্রস্তুতি নিতে চায় -তাদের জন্য।

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

“সহজে শিখি সি প্রোগ্রামিং”
– আরিফুজ্জামান ফয়সাল
– ৪র্থ বর্ষ, তড়িৎ কৌশল বিভাগ, বুয়েট।
—————#————-

বইটির মূল্য ২০০ টাকা মাত্র

—————#————-

# প্রাপ্তিস্থানঃ-
অন্বেষা প্রকাশ
বাংলা বাজার, ঢাকা

# প্রাপ্তিস্থানঃ-
ঢাকা নীল ক্ষেতের হক লাইব্রেরী
হক লাইব্রেরীতে বই এর মূল্য ২০০ টাকার পরিবর্তে ১৫০ টাকা মাত্র
ফোন নম্বরঃ- ০১৭৩৫৭৪২৯০৮


বইটির ফেসবুক পেজঃ-
(https://www.facebook.com/SohojeShikhiCProgramming)
—————#————-
#‎ঢাকার_বাইরে‬
রকমারি.কম লিংক : www.rokomari.com/book/94203
এখানে একটি একাউন্ট খুলে, অনলাইনে অর্ডার দিলে বাসায় পৌছে দেবে ওরা। যদি একাউন্ট খুলে অর্ডার দিতে সমস্যা হয় তা হলে সরাসরি Phone: 16297, 01519521971 এ কল দিলেই হবে ।

C Programming – Prime Number

C Programming – Prime Number

সি প্রোগ্রামিংঃ মৌলিক সংখ্যা

মৌলিক সংখ্যা যাচাই করার একটি প্রোগ্রাম নিচের কোড (code) এ দেখানো হয়েছে।

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

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

#include<stdio.h>

int main()
{
   int n;
   printf("Enter a number to check prime or not :");
   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);
}

OutPut:
Enter a number to check prime or not : 8
8 is not prime.

কোন রেঞ্জ এর মাঝের মৌলিক সংখ্যা গুলো নির্নয় করার প্রোগ্রামঃ

#include
#include <stdio.h>
int main()
{
    int num1, num2, i, j, flag;
    printf("Enter Two Numbers: ");
    scanf("%d %d", &num1, &num2);
    printf("Prime numbers between %d and %d are: ", num1, num2);
    for(i=num1+1; i<num2; ++i)
    {
        flag=0;
        for(j=2; j<=i/2; ++j)
        {
            if(i%j==0)
            {
            flag=1;
            break;
            }
        }
        if(flag==0)
        printf("%d ",i);
    }
    return 0;
}

OutPut:
Enter two numbers: 1 10
Prime numbers between 1 and 10 are: 2 3 5 7