সি প্রোগ্রামিং-১৩ [অ্যালগরিদম] - SMH Amiri

সর্বশেষ লিখাসমূহ

সি প্রোগ্রামিং-১৩ [অ্যালগরিদম]

অ্যালগরিদম লিখার নিয়মাবলী

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

১. সমস্যা বিশ্লেষণ করুন

প্রথমে সমস্যাটি সম্পূর্ণভাবে বুঝতে হবে। সমস্যা কী, কী কী ইনপুট নেবে এবং কী আউটপুট আশা করা হচ্ছে তা স্পষ্ট হওয়া দরকার।

২. ধাপ ভিত্তিক পরিকল্পনা তৈরি করুন

অ্যালগরিদম হলো সমাধানের ধাপগুলো সাজানো। সমস্যাটি কিভাবে সমাধান করা হবে, তার জন্য প্রতিটি ধাপ নির্ধারণ করুন। এতে ভুল হওয়ার সম্ভাবনা কম থাকে এবং প্রোগ্রামিং সহজ হয়।

৩. সঠিক ডেটা টাইপ এবং ভ্যারিয়েবল নির্বাচন করুন

ভ্যারিয়েবল এবং ডেটা টাইপগুলি নির্বাচন করতে হবে যেগুলি আপনার প্রোগ্রামে সঠিকভাবে কাজ করতে পারে এবং মেমরি অপচয় করবে না।

৪. নির্ভুল এবং কার্যকরী কোড লিখুন

অ্যালগরিদমকে কার্যকর কোডে পরিণত করুন। কোড লিখার সময় বিভিন্ন শর্ত যেমন if, while, for ব্যবহার করে যুক্তিসঙ্গত লজিক তৈরি করুন।

৫. যথাসম্ভব কমপ্লেক্সিটি কম রাখুন

অ্যালগরিদম লেখার সময় কোডের জটিলতা (complexity) কম রাখার চেষ্টা করুন। এতে করে প্রোগ্রামটি দ্রুত কাজ করতে পারে।

৬. কোড ডিবাগ ও পরীক্ষা করুন

কোড ডিবাগ করুন এবং ছোট ছোট অংশ পরীক্ষা করুন। প্রতিটি ধাপের আউটপুট সঠিক হচ্ছে কিনা যাচাই করুন।

৭. নামকরনের সঠিক ব্যবহার

ভ্যারিয়েবল, ফাংশন, এবং অন্যান্য নাম এমনভাবে রাখুন যাতে তা বোঝা যায়। যেমন sum, average, count ইত্যাদি সহজে বুঝতে পারার মতো নাম ব্যবহার করুন।

উদাহরণ: একটি অ্যালগরিদম লেখার ধাপ

ধরুন, আমরা একটি সংখ্যার ফ্যাক্টরিয়াল বের করার অ্যালগরিদম তৈরি করছি:

  1. ধাপ ১: ইনপুট হিসেবে n নাম্বারটি নিন।
  2. ধাপ ২: একটি ভ্যারিয়েবল result সেট করুন এবং এটি ১ দিয়ে ইনিশিয়ালাইজ করুন।
  3. ধাপ ৩: ১ থেকে n পর্যন্ত প্রতিটি সংখ্যার জন্য result = result * i হিসাব করুন।
  4. ধাপ ৪: লুপ শেষে result-এ থাকা মানটি প্রিন্ট করুন।

উদাহরণ কোডে রূপান্তর:

#include <stdio.h>

int factorial(int n) {
    int result = 1;
    for (int i = 1; i <= n; i++) {
        result *= i;
    }
    return result;
}

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

    printf("Factorial of %d is %d\n", number, factorial(number));
    return 0;
}


সংক্ষেপে অ্যালগরিদম লেখার মূল নিয়ম:

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

ত্রিভূজের ক্ষেত্রফল নির্ণয়ের জন্য সি প্রোগ্রামিং কোডটি লিখতে যে ধাপে ধাপে অ্যালগরিদম অনুসরণ করা হয়েছে তা নিম্নরূপ:

পদ্ধতি ১: বেস এবং হাইট দিয়ে ত্রিভূজের ক্ষেত্রফল নির্ণয়ের অ্যালগরিদম

  1. ধাপ ১: ত্রিভূজের বেস এবং হাইট ইনপুট হিসেবে গ্রহণ করুন।
  2. ধাপ ২: নিচের সূত্র ব্যবহার করে ত্রিভূজের ক্ষেত্রফল নির্ণয় করুন: এলাকা=বেস×হাইট2\text{এলাকা} = \frac{\text{বেস} \times \text{হাইট}}{2}
  3. ধাপ ৩: প্রাপ্ত ক্ষেত্রফলটি আউটপুট হিসেবে প্রদর্শন করুন।
সি প্রোগ্রাম:
#include <stdio.h>

int main() {
    float base, height, area;

    // বেস এবং হাইট ইনপুট নেয়া
    printf("Enter the base of the triangle: ");
    scanf("%f", &base);
    printf("Enter the height of the triangle: ");
    scanf("%f", &height);

    // ক্ষেত্রফল নির্ণয়
    area = (base * height) / 2;

    // ফলাফল প্রদর্শন
    printf("Area of the triangle: %.2f\n", area);

    return 0;
}

পদ্ধতি ২: হারনের সূত্র ব্যবহার করে তিন বাহু দিয়ে ত্রিভূজের ক্ষেত্রফল নির্ণয়ের অ্যালগরিদম

  1. ধাপ ১: ত্রিভূজের তিনটি বাহুর দৈর্ঘ্য (aa, bb, এবং cc) ইনপুট হিসেবে গ্রহণ করুন।
  2. ধাপ ২: আধা-পরিসীমা (ss) নির্ণয় করুন, যেখানে: s=a+b+c2​
  3. ধাপ ৩: হারনের সূত্র প্রয়োগ করে ত্রিভূজের ক্ষেত্রফল নির্ণয় করুন: এলাকা=s×(sa)×(sb)×(sc)\text{এলাকা} = \sqrt{s \times (s - a) \times (s - b) \times (s - c)}
  4. ধাপ ৪: প্রাপ্ত ক্ষেত্রফলটি আউটপুট হিসেবে প্রদর্শন করুন।
সি প্রোগ্রাম:
#include <stdio.h>
#include <math.h>

int main() {
    float a, b, c, s, area;

    // তিনটি বাহুর দৈর্ঘ্য ইনপুট নেয়া
    printf("Enter the length of first side: ");
    scanf("%f", &a);
    printf("Enter the length of second side: ");
    scanf("%f", &b);
    printf("Enter the length of third side: ");
    scanf("%f", &c);

    // আধা-পরিসীমা নির্ণয়
    s = (a + b + c) / 2;

    // হারনের সূত্র প্রয়োগ করে ক্ষেত্রফল নির্ণয়
    area = sqrt(s * (s - a) * (s - b) * (s - c));

    // ফলাফল প্রদর্শন
    printf("Area of the triangle: %.2f\n", area);

    return 0;
}


এই অ্যালগরিদমগুলো অনুসরণ করে সি প্রোগ্রামে কোডটি লিখলে ত্রিভূজের ক্ষেত্রফল সহজেই নির্ণয় করা যাবে।