তথ্য ও যোগাযোগ প্রযুক্তি

অধ্যায় -৫

Question 1- (ঢাকা বোর্ড-২০২৪)

মারুফ PHP ভাষা ব্যবহার করে ওয়েব অ্যাপ্লিকেশন তৈরির কাজ করে, যার অনুবাদক প্রোগ্রাম এক লাইট করে পড়ে অনুবাদের কাজ করে। অন্যদিকে মিজান C++ ভাষা ব্যবহার করে সফটওয়্যার তৈরির কাজ করে, যার অনুবাদক প্রোগ্রাম সম্পূর্ণ প্রোগ্রামটি একসাথে অনুবাদ করে।

উত্তরঃ

কি-ওয়ার্ড হলো প্রোগ্রামে ব্যবহৃত কতগুলো সংরক্ষিত বিশেষ শব্দ যার নির্দিষ্ট অর্থ আছে এবং প্রোগ্রামে একটি নির্দিষ্ট কার্য সম্পাদন করে।

উত্তরঃ

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

উত্তরঃ

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

 

উত্তরঃ

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

Question 2- (ঢাকা বোর্ড-২০২৪)

92+122+152……902

উত্তরঃ

শুধুমাত্র ০ ও ১ ব্যবহার করে লেখা প্রোগ্রামই মেশিন ভাষা যা কম্পিউটার সরাসরি বুঝতে পারে।

উত্তরঃ

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

উত্তরঃ

উদ্দীপকের ধারাটির যোগফল নির্ণয়ের অ্যালগরিদম নি¤েœ দেওয়া হলো-
ধাপ-১: শুরু করি।
ধাপ-২:s = 0, a= 9 ধরি।
ধাপ-৩:s = s (a * a), a = a + 3 নির্ণয় করি।
ধাপ-৪: যদি a<=90 হয় তবে ৩ নং ধাপে যাই।
ধাপ-৫:s এর মান ছাপাই।
ধাপ-৬: শেষ করি।

উত্তরঃ

উদ্দীপকের ধারাটির যোগফল প্রদর্শনের সি প্রোগ্রামটি নি¤েœ দেওয়া হলো-

#include<stdio.h>

        int main()

        {

                int a,s;

                s=0;

                for(a=9; a<=90; a =a+3)

                {

                    s=s+(a*a);

                }

                printf(“%d”,s);

        }

Question 3- (ময়মনসিংহ বোর্ড-২০২৪)

উদ্দীপকটি পড়ে নিচের প্রশ্নগুলোর উত্তর দাও:

# include <stdio.h>

        #include <conio.h>

        main ()

        {

        clrscr ();

        int a, s=0;

        scanf(“%d”, &a);

        for(a=2; a,<=100; a+=2)

        if (a= =8) continue;

        s = a * a;

        }

        printf(“sum of series is = %d”, s);

        getch ();

        }

উত্তরঃ

 প্রোগ্রাম এর মধ্যে ভাষার ব্যাকরণগত যে সকল ভুল থাকে সেগুলো হলো Syntax Error 

উত্তরঃ

 scanf (“%d %d”, &a, &b) স্টেটমেন্টটিতে ংপধহভ () হলো একটি ইনপুট স্টেটমেন্ট; & হলো অ্যাড্রেস অপারেটর, %d হলো ফরমেট স্পেসিফায়ার যা দশমিক ইন্টিজার টাইপের ডেটাকে স্পেসিফাই করে এবং a, b দুটি চলক।
সুতরাং scanf (“%d %d”, &a, &b) দ্বারা বোঝানো হচ্ছে যে, কী-বোর্ডের মাধ্যমে দুইটি দশমিক ইন্টিজার ডেটা ইনপুট দেয়া হচ্ছে যার একটি a চলকে এবং অন্যটি b  চলকে রাখা হচ্ছে।

উত্তরঃ

উদ্দীপকে উল্লিখিত প্রোগ্রামটির অ্যালগরিদম নি¤œরূপ:
ধাপ-১: প্রোগ্রাম শুরু করি।
ধাপ-২: s = 0, a = 2 ধরি।
ধাপ-৩: যদি a<=100 হয় তবে ৫ নং ধাপে যাই।
অন্যথায় ৬ নং ধাপে যাই।
ধাপ-৪: যদি (a= = 8) হয় তবে ৩ নং ধাপে যাই।
অন্যথায় ৫ নং ধাপে যাই।
ধাপ-৫:s = a*a এবং a = a+2 নির্ণয় করি এবং ৩ নং ধাপে ফেরত যাই।
ধাপ-৬: s এর মান ছাপাই।
ধাপ-৭: প্রোগ্রাম শেষ করি।

উত্তরঃ

উদ্দীপকে উল্লিখিত প্রোগ্রামটিতে যে সকল অপারেটর ব্যবহার করা হয়েছে তা নি¤œরূপ:
s = 0; এখানে = অ্যাসাইনমেন্ট অপারেটর ব্যবহৃত হয়েছে।
 scanf(“%d”,&a); এখানে ্ অ্যাড্রেস অপারেটর ব্যবহৃত হয়েছে।
 a = 2; এখানে = অ্যাসাইনমেন্ট অপারেটর ব্যবহৃত হয়েছে।
a<=100; এখানে <= রিলেশনাল অপারেটর ব্যবহৃত হয়েছে।
a+=২; এখানে += অ্যাসাইনমেন্ট অপারেটর ব্যবহৃত হয়েছে।
a = = 8; এখানে == রিলেশনাল অপারেটর ব্যবহৃত হয়েছে।
s = a*a; এখানে = অ্যাসাইনমেন্ট অপারেটর এবং * অ্যারিথমেটিক অপারেটর ব্যবহৃত হয়েছে।
তাহলে দেখা যাচ্ছে, উদ্দীপকের নিচের অপারেটরগুলো ব্যবহৃত হয়েছে।
১) অ্যাসাইনমেন্ট অপারেটর: সি প্রোগ্রামে ভেরিয়েবল বা এক্সপ্রেশনের মান অন্য কোনো ভেরিয়েবল বা এক্সপ্রেশনের মান হিসেবে ব্যবহার করতে অ্যাসাইনমেন্ট অপারেটর ব্যবহৃত হয়।
২) অ্যাড্রেস অপারেটর: অ্যাড্রেস অপারেটর যা ভেরিয়েবলের জন্য গৃহীত মান মেমোরির ঐ লোকেশনে সংরক্ষণ করে।
৩) রিলেশনাল অপারেটর: সি প্রোগ্রামে দুটো অপারেন্ডের মধ্যে তুলনামূলক সম্পর্ক (ছোট, ছোট বা সমান, বড়, বড় বা সমান, সমান, সমান নয়) তৈরি করার জন্য রিলেশনাল অপারেটর ব্যবহার করা হয়।
৪) অ্যারিথমেটিক অপারেটর: ‘সি’ প্রোগ্রামে গাণিতিক কাজ যেমন- যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি সম্পন্ন করার জন্য অ্যারিথমেটিক অপারেটর ব্যবহৃত হয়।

Question 4- ()

1 × 2 × 3 × ………………… × N

উত্তরঃ

প্রোগ্রাম তৈরির সময় ভুল-ত্রুটি খুঁজে বের করে তা দূর করাই হলো ডিবাগিং।

উত্তরঃ

ভোলাটাইল ও নন-ভোলাটাইল আসলে মেমোরি ডিভাইসের প্রকারভেদ। যে মেমোরি ডিভাইসে ডেটা ইলেকট্রিসিটি চলে গেলে মুছে যায়, তাকে ভোলাটাইল মেমোরি বলে; যেমন- র‌্যাম। যে মেমোরি ডিভাইস থেকে ইলেকট্রিসিটি চলে গেলেও ডেটা থেকে যায়, তাকে নন-ভোলাটাইল মেমোরি বলে; যেমন- বায়োস, হার্ডডিস্ক।

উত্তরঃ

উদ্দীপকের ধারাটির ফলাফল নির্ণয়ের প্রবাহচিত্র নি¤œরূপ-
ফ্লোচার্ট:

উত্তরঃ

উদ্দীপকের ধারাটির ফলাফল প্রদর্শনের সি প্রোগ্রামটি নি¤েœ দেওয়া হলো-

#include<stdio.h>

        main()

        {

                int a,s,N;

                scanf(“%d”,&N);

                s=1;

                for(a=1;a<=N;a++)

                {

                                s=s*a;

                }

                printf(“%d”,s);

                return 0;

        }

Question 5- (রাজশাহী বোর্ড-২০২৪)

 

উত্তরঃ

কি-ওয়ার্ড হলো প্রোগ্রামে ব্যবহৃত কতগুলো সংরক্ষিত বিশেষ শব্দ যার নির্দিষ্ট অর্থ আছে এবং প্রোগ্রামে একটি নির্দিষ্ট কার্য সম্পাদন করে।

উত্তরঃ

ইংরেজি ছোট হাতের অক্ষরকে Lower case এবং বড় হাতের অক্ষরকে Upper case বলে।
সি ভাষায় ছোট হাতের অক্ষর এবং বড় হাতের অক্ষরের মধ্যে পার্থক্য পরিলক্ষিত হয়। কেননা, প্রোগ্রাম রচনার সময় একই কি-ওয়ার্ড বা ভেরিয়েবলকে একবার ছোট হাতের ও আরেকবার বড় হাতের উল্লেখ করলে প্রোগ্রাম ভিন্ন হয়। এ কারণেই সি ভাষাকে কেস সেনসিটিভ ভাষা বলা হয়।

উত্তরঃ

উদ্দীপকের উল্লিখিত সমস্যাটি সেলসিয়াস স্কেলকে ফারেনহাইট স্কেলে রূপান্তরের প্রক্রিয়া নির্দেশ করেছে। এর অ্যালগরিদম নি¤েœ দেওয়া হলো-
অ্যালগরিদম:
ধাপ-১: প্রোগ্রাম শুরু করি।
ধাপ-২: ইনপুট হিসেবে C এর মান গ্রহণ করি।
ধাপ-৩: F = 9/5*C+32; সমীকরণ ব্যবহার করে ঋ এর মান নির্ণয় করি।
ধাপ-৪: F এর মান ছাপাই।
ধাপ-৫: প্রোগ্রাম শেষ করি।

উত্তরঃ

উদ্দীপকের সমস্যাটির সি ভাষায় প্রোগ্রাম দেওয়া হলো যেখানে ঋণাত্মক ইনপুট গ্রহণযোগ্য হবে না অর্থাৎ শুধুমাত্র পজেটিভ ইনপুট নিচে-

#include<stdio.h>

        int main() {

                float celsius, fahrenheit;

                printf(“Enter a temperature in Celsius:”);

                scanf(“%f”,&celsius);

                if(censius>0)

                {

                   fahrenheit = (9/5*celsius) + 32;

                   printff(“%.2f Celsius is equal to %.25 Fahrenheit\n”,)

                }

        else if (celsius<0)

        printf(“Negative value of celsius of not acceptable.”);

       

        return 0;

        }

Question 6- (ময়মনসিংহ বোর্ড-২০২৪)

1 + 4 + 7 + ………………….. +40

উত্তরঃ

Keyword (কিওয়ার্ড) হলো প্রোগ্রামে ব্যবহৃত কতগুলো সংরক্ষিত বিশেষ শব্দ যার নির্দিষ্ট অর্থ আছে এবং প্রোগ্রামে একটি নির্দিষ্ট কার্য সম্পাদন করে।

উত্তরঃ

 int mark [3] [4] একটি দ্বি-মাত্রিক অ্যারে। দ্বি-মাত্রিক অ্যারেতে দুটি সংখ্যা থাকে। যার প্রথম সংখ্যাটি দ্বারা রো প্রকাশ করে এবং দ্বিতীয় সংখ্যাটি দ্বারা কলাম নির্দেশ করে। অর্থাৎ int mark [3] [4] দ্বারা একটি ৩টি রো বা সারি এবং ৪টি কলাম বিশিষ্ট দ্বি-মাত্রিক অ্যারেকে নির্দেশ করছে।

উত্তরঃ

উদ্দীপকের ধারাটির জোড় ও বিজোড় সংখ্যাগুলোর পৃথক পৃথক যোগফল নির্ণয়ের জন্য ফ্লোচার্ট নি¤œরূপ:

 

উত্তরঃ

উদ্দীপকের ধারাটির জোড় ও বিজোড় সংখ্যাগুলোর পৃথক পৃথক যোগফল নির্ণয়ের জন্য সি ভাষায় প্রোগ্রাম নি¤œরূপ:

#include<stdio.h>

        int main()

        {

        int i=1, odd_sum=0, even_sum=0;

        for(i=1; i<=40;i=i+3)

        {

                if(i%2==0)

                                even_sum=even_sum+i;

                else

                                odd_sum=odd_sum+i;

        }

        printf(“Sum of Even Number=%d\n”, even_sum);

        printf(“Sum of odd Number=%d\n”,odd_sum);

        return 0;

        }

Question 7- (দিনাজপুর বোর্ড-২০২৪)

ব্লকচিত্র দুইটি লক্ষ্য করো এবং নিচের প্রশ্নগুলোর উত্তর দাও:

উত্তরঃ

প্রোগ্রাম হলো কম্পিউটারের কোনো সমস্যা সমাধানের জন্য ধারাবাহিকভাবে লিখিত কতকগুলো নির্দেশের সমষ্টি।

উত্তরঃ

ইংরেজি ছোট হাতের অক্ষরকে Lower case এবং বড় হাতের অক্ষরকে Upper Case বলে।
সি ভাষায় ছোট হাতের অক্ষর এবং বড় হাতের অক্ষরের মধ্যে পার্থক্য পরিলক্ষিত হয়। কেননা, প্রোগ্রাম রচনার সময় একই কি-ওয়ার্ড বা ভেরিয়েবলকে একবার ছোট হাতের ও আরেকবার বড় হাতের উল্লেখ করলে প্রোগ্রাম ভিন্ন হয়। এ কারণেই সি ভাষাকে কেস সেনসিটিভ ভাষা বলা হয়।

উত্তরঃ

উদ্দীপকের ব্লকচিত্র- ১ এর জ্যামিতিক চিত্রগুলো দিয়ে জোড় না বিজোড় নির্ণয়ের প্রবাহচিত্র নি¤œরূপ-
ফ্লোচার্ট:

উত্তরঃ

উদ্দীপকের ব্লকচিত্র- ২ এর আলোকে কম্পিউটারের গঠন নি¤েœ বর্ণনা করা হলো-

১. ইনপুট ডিভাইস (Input Device): কম্পিউটার বা আইসিটি ডিভাইসে তথ্য প্রবেশ করানোর জন্য যে ডিভাইস বা যন্ত্র ব্যবহার করা হয় সেটিই ইনপুট ডিভাইস। যেমন- স্ক্যানার, ওএমআর, ওসিআর, লাইটপেন, জয়স্টিক, কার্ড রীডার, ডিজিটাল ক্যামেরা, ওয়েবক্যাম, মাইক্রোফোন ইত্যাদি।
২. কেন্দ্রীয় প্রক্রিয়াকরণ অংশ (Central Processing Unit- CPU): এটিকে মাইক্রোপ্রসেসর বা শুধু প্রসেসরও বলা হয়। কম্পিউটারের কোনো প্রোগ্রাম নির্বাহ (Execute) করা এবং ডেটাকে প্রসেস করা সিপিইউ এর কাজ। তাই সিপিইউ-কে কম্পিউটারের ব্রেইন বা মস্তিষ্ক বলা হয়। সিপিইউ হলো অনেকগুলো ইন্টিগ্রেটেড ইলেকট্রনিক সার্কিটের সমন্বয়ে গঠিত একটি চিপ। এই সিপিইউ অংশটি তিনটি অংশের সমন্বয়ে গঠি, যেমন-
i. গাণিতিক ও যুক্তিমূলক অংশ (Arithmatic and Logic Unit ALU): এই অংশে গাণিতিক ও সিদ্ধান্তমূলক কাজ সংগঠিত হয়।
ক. গাণিতিক কাজ: সাধারণভাবে যোগ, বিয়োগ, গুণ, ভাগ করার প্রক্রিয়াকে গাণিতিক কাজের অন্তর্ভুক্ত করা হয়।
খ. যুক্তিমূলক কাজ: বিভিন্ন ধরনের লজিক গেইট যেমন- – AND, OR, NOT, NAND, XOR ইত্যাদি গেইটসমূহের মাধ্যমে সম্পাদিত কাজসমূহ যুক্তিমূলক কাজের অন্তর্ভুক্ত।
ii. কন্ট্রোল ইউনিট (Control Unit): কম্পিউটারে বিভিন্ন অংশের মধ্যে তথ্য আদান-প্রদান এবং তথ্য প্রবাহের দায়িত্ব পরিচালনা করে কন্ট্রোল ইউনিট। কন্ট্রোল ইউনিট মেমোরি থেকে একের পর এক নির্দেশ পড়ে এবং সে নির্দেশ অনুসারে গাণিতিক ও যুক্তিমূলক অংশ বা ইনপুট ব্যবস্থাকে কাজ করার জন্য নির্দেশ দেয়। আবার আউটপুটের মাধ্যমে ফলাফল প্রকাশ করে।
iii. মেমোরি ইউনিট বা রেজিস্টারসমূহ: মাইক্রোপ্রসেসরে বা সিপিইউতে তথ্য প্রক্রিয়াকরণের সময় ডেটা সংরক্ষণের জন্য রেজিস্টার বা মেমোরি দরকার হয়। এই সব মেমোরিতে ডেটা দ্রুত প্রেরণ ও গ্রহণ করা যায়।
৩. আউটপুট ডিভাইস (Output Device): যে সকল ডিভাইস কম্পিউটারে ইনপুট ডেটা প্রসেসিং হওয়ার পর, আউটপুট প্রদান করে সেগুলোকে আউটপুট ডিভাইস বলে। যেমন- মনিটর, প্রিন্টার, প্রজেক্টর, স্পিকার, সাউন্ড কার্ড, ব্রেইল রিডার ইত্যাদি।

Question 8- (কুমিল্লা বোর্ড-২০২৪)

ধাপ-১: শুরু
ধাপ-২: Y এর মান গ্রহণ
ধাপ-৩: যদি (Y%4০০==০) তবে ধাপ-৬ এ যাও
ধাপ-৪: যদি (Y%1০০!==০) এবং (ণ%4==০) তবে ধাপ-৬ এ যাও
ধাপ-৫: অধিবর্ষ নয় ছাপ
ধাপ-৬: অধিবর্ষ ছাপ
ধাপ-৭: শেষ করো

উত্তরঃ

কীওয়ার্ড হলো প্রোগ্রামে ব্যবহৃত কতগুলো সংরক্ষিত বিশেষ শব্দ যার নির্দিষ্ট অর্থ আছে এবং প্রোগ্রামে একটি নির্দিষ্ট কার্য সম্পাদন করে।

উত্তরঃ

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

উত্তরঃ

উদ্দীপকের অ্যালগরিদমটি লিফ ইয়ার নির্ণয়ের ধাপ নির্দেশ করছে। নি¤েœ লিপ ইয়ার নির্ণয়ের প্রবাহচিত্র দেওয়া হলো-
ফ্লোচার্ট

 

উত্তরঃ

উদ্দীপকের অ্যলগরিদমটির জন্য ঈ ভাষায় প্রোগ্রামটি নি¤েœ দেওয়া হলো-

#include<stdio.h>

        main()

        {

                int Y;

                printf(“\n Enter a year:”);

                scanf(“%d”,&Y);

                if(Y%400==0)

                                printf(“\n%d is a Leap year”, Y);

                else if((Y%100!=0)&&(Y%4==0))

                                printf(“\n%d is a Leap year”,Y);

                else

                                printf(“\n%d is not a Leap year”, Y);

        }

Question 9- (দিনাজপুর বোর্ড-২০২৪)

#include<stdio.h>

        main()

        int a, s;

        s=0

        for (a=2;a<=100; a=a+2)

        {

        s = s + a;

        }

        printf (“%d”,s);

        }

উত্তরঃ

ধ্রুবক হলো এমন একটি মান যা প্রোগ্রাম নির্বাহের সময় পরিবর্তিত হয় না।

উত্তরঃ

সি ভাষার ফাংশন ব্যবহারের কারণ নি¤œরূপ-
১) প্রোগ্রামকে সংক্ষিপ্ত করে। প্রোগ্রামের দৈর্ঘ্য ছোট হয় ফলে মেমোরি স্পেস কম লাগে।
২) প্রোগ্রাম ডিবাগিং সহজতর হয়।
৩) ব্যবহারকারী তার প্রয়োজনানুযায়ী ফাংশন তৈরি করে কার্য সম্পাদন করতে পারে।
৪) একই ফাংশন বিভিন্ন প্রোগ্রামে ব্যবহার করা হয়।
৫) একই ফাংশনকে ভিন্ন ভিন্ন ইনপুট ডেটা দিয়ে বারবার ব্যবহার করা যায়।

উত্তরঃ

উদ্দীপকের প্রোগ্রামের অ্যালগরিদম নি¤েœ দেওয়া হলো-
অ্যালগরিদম:
ধাপ-১: প্রোগ্রাম শুরু করি।
ধাপ-২: s = ০, a = ২ ধরি।
ধাপ-৩: যদি a<=১০০ হয়, তবে ৪ নং ধাপে যাই।
অন্যথায় ৫ নং ধাপে যাই।
ধাপ-৪: s = s + a, a = a+ ২ নির্ণয় করি। ৩ নং ধাপে ফেরত যাই।
ধাপ-৫: s এর মান ছাপাই।
ধাপ-৬: প্রোগ্রাম শেষ করি।

উত্তরঃ

উদ্দীপকের প্রোগ্রামটি Do-While ব্যবহার করে নি¤েœ দেওয়া হলো-

#include<stdio.h>

        int main()

        {

                int a,s;

                s=0;

                a=2;

 

        do

        {

        s=s+a;

        a=a+2;

        } while(a<= 100);

        printf(“%d “,s);

        return 0;

        }

Question 10- (কুমিল্লা বোর্ড-২০২৪)

#include<stdio.h>

      #include<conio.h>

        {

        int n, i, s=0;

        printf(“Enter the value of n”);

        scanf(“%d”,&n);

        for(i=1; i<=n, i+=1)

        {

        s=s+i*(i+1);

        }

        printf(“sum=%d”,s);

        getch();

        }

উত্তরঃ

কম্পাইল হলো একটি অনুবাদক প্রোগ্রাম যা উচ্চস্তরের ভাষার উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে অনুবাদ করে।

উত্তরঃ

প্রতিটি সি প্রোগ্রামে main () নামে একটি ইউজার-ডিফাইন্ড ফাংশন থাকে। প্রোগ্রাম নির্বাহের শুরুতে main () ফাংশন স্বয়ংক্রিয়ভাবে নিয়ন্ত্রিত হয়। প্রয়োজনে এটি এক বা একাধিক ফাংশন নিয়ন্ত্রণ করে। প্রোগ্রামে একটিই main () ফাংশন থাকে। main () ফাংশন ছাড়া অন্যান্য ফাংশন যতবার প্রয়োজন কল করা যায়। সি প্রোগ্রামে যত ফাংশনই থাকুক না কেন main () ফাংশনকে ঘিরেই যাবতীয় কার্যক্রম পরিচালিত হয়। সুতরাং সি প্রোগ্রামে main () ফাংশন আবশ্যিক।

উত্তরঃ

উদ্দীপকের প্রোগ্রামটির অ্যালগরিদম নি¤œরূপ-
ধাপ-১: প্রোগ্রাম শুরু করি।
ধাপ-২: ইনপুট হিসেবে হ এর মান গ্রহণ করি।
ধাপ-৩: s = ০, i = ১ ধরি।
ধাপ-৪: যদি i<=n হয় তবে ৫ নং ধাপে যাই।
অন্যথায় ৬ নং ধাপে যাই।
ধাপ-৫: s = s + i*(i + 1), n = i + 1 নির্ণয় করি। ৪ নং ধাপে ফেরত যাই।
ধাপ-৬: s এর মান ছাপাই।
ধাপ-৭: প্রোগ্রাম শেষ করি।

উত্তরঃ

উদ্দীপকের প্রোগ্রামটি While লুপ ব্যবহার করে নি¤েœ দেওয়া হলো-

#include<stdio.h>

        int main()

        {

                int i,s,n;

                scanf(“%d”,&n);

                s=0;

                i=1;

                while(i<=n)

                {

                                s=s+i*(i+1);

                                i=i+1;

                }

                printf(“%d”,s);

                return 0;

        }

Question 11- (চট্টগ্রাম বোর্ড-২০২৪)

একাদশ শ্রেণির শিক্ষাথী ‘সি’ ভাষার একটি প্রোগ্রাম তৈরি করলো। প্রোগ্রামটিতে কোনো সংখ্যা ইনপুট দিলে তা যদি 5 দ্বারা বিভাজ্য হয় তাহলে ‘Flower’ শব্দটি প্রদর্শিত হয় এবং সংখ্যাটি 7 দ্বারা বিভাজ্য হলে ‘River ’ শব্দটি প্রদর্শিত হয়। কিন্তু 5 ও 7 উভয় দ্বারা বিভাজ্য হলে ‘Good’ শব্দটি প্রদর্শিত হয় আর 5 ও 7 কোনোটিই দ্বারা বিভাজ্য না হলো ‘Try Again’ প্রদর্শিত হয়।

উত্তরঃ

সি ভাষায় ফাংশন হলো কতগুলো স্টেটমেন্টের সমষ্টি যা কোনো নির্দিষ্ট কাজ সম্পাদন করে।

উত্তরঃ

‘সি’ দিয়ে সহজে উচ্চ স্তরের এবং নি¤œস্তরের ভাষার মধ্যে সমন্বয় করা যায়। আবার উচ্চ স্তরের ভাষার  (যেমন- ফোরট্রান) মতো বিট, বাইট ও মেমোরি অ্যাড্রেসের পরিবর্তে বিভিন্ন ডেটা টাইপ ভেরিয়েবল নিয়ে কাজ করা যায়। তাছাড়া সি এর প্রোগ্রামিং কৌশল নি¤œস্তরের ভাষার মত কঠিন নয় আবার উচ্চ স্তরের ভাষার মত সহজও নয়। সি দিয়ে ইচ্ছামতো হার্ডওয়্যার নিয়ন্ত্রণ করে প্রোগ্রাম তৈরি করা যায় এবং এই সব প্রোগ্রামগুলি বেশ নমনীয় হয়। এই জন্য ‘স’ কে মধ্যমস্তরের ভাষা বলা হয়।

উত্তরঃ

উদ্দীপকের উল্লিখিত সমস্যা সমাধানের ফ্লোচার্ট নি¤œরূপ-

 

উত্তরঃ

উদ্দীপকের শর্তগুলো ব্যবহার করে সি ভাষায় প্রোগ্রামটি নি¤œরূপ:

#include<stdio.h>

        main()

        {

        int number;

        printf(“Type the number: “);

        scanf(“%d”,&number);

        if((number%f==0)&&(number%7==0))

        printf(“Good”);

        else if(number%5==0)

        printf(“Flower”);

        else if (number%7==0)

        printf(“River”);

        else

        printf(“Invalid Number”);

        }

Question 12- (চট্টগ্রাম বোর্ড-২০২৪)

3^2+6^2+9^2+⋯………+n^2

উত্তরঃ

অ্যাসেম্বলি ভাষা হলো মেশিন ভাষা হতে কিছুটা উন্নতর ভাষা যেখানে কিছু অপারেশন কোড দিয়ে প্রোগ্রাম লেখা হয়।

উত্তরঃ

একটি প্রোগ্রামের কোডগুলোর সঠিক ফলাফল নির্ণয়ে কোডগুলোর ভুল সংশোধনের প্রক্রিয়াকে বলে ডিবাগিং। প্রোগ্রাম কোড তৈরি করার পর সেটির কোড বিভিন্ন টেস্ট-কেইস (test case) দিয়ে পরীক্ষা করা হয়। যদি কোনো টেস্ট কেইসের জন্য ঠিকঠাক আউটপুট না আসে, তখন কোডগুলোকে ডিবাগ করতে হয়।

উত্তরঃ

উদ্দীপকের সিরিজটির প্রবাহচিত্র নি¤œরূপ-

 

উত্তরঃ

উদ্দীপকের ধারাটির ফলাফল প্রদর্শনের সি প্রোগ্রাম নি¤œরূপ-

#include<stdio.h>

        int main()

        {

        int a,s,n;

        scanf(“%d”,&n);

        s=0;

        for(a=3;a<=n; a = a + 3)

        {

        s=s+(a*a);

        }

        printf(“%d”,s);

        }

Question 13- (সিলেট বোর্ড-২০২৪)

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

উত্তরঃ

কম্পিউটার সিস্টেমে প্রোগ্রাম তৈরির জন্য ব্যবৃহত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামের ভাষা বলে।

উত্তরঃ

‘সি’ দিয়ে সহজে উচ্চ স্তরের এবং নি¤œস্তরের ভাষার মধ্যে সমন্বয় করা যায়। আবার উচ্চ স্তরের ভাষার (যেমন- ফোরট্রান) মতো বিট, বাইট ও মেমোরি অ্যাড্রেসের পরিবর্তে বিভিন্ন ডেটা টাইপ ভেরিয়েবল নিয়ে কাজ করা যায়। তাছাড়া সি এর প্রোগ্রামিং কৌশল নি¤œস্তরের ভাষার মত কঠিন নয় আবার উচ্চ স্তরের ভাষার মত সহজও নয়। সি দিয়ে ইচ্ছামতো হার্ডওয়্যার নিয়ন্ত্রণ করে প্রোগ্রাম তৈরি করা যায় এবং এই সব প্রোগ্রামগুলি বেশ নমনীয় হয়। এই জন্য ‘স’ কে মধ্যমস্তরের ভাষা বলা হয়।

উত্তরঃ

পাপনের তৈরি করা প্রোগ্রামটি ছিল ত্রিভুজের ক্ষেত্রফল নির্ণয়ের প্রোগ্রাম। নি¤েœ ত্রিভুজের ক্ষেত্রফল নির্ণয়ের ভষড়ি পযধৎঃ দেওয়া হলো-
ফ্লোচার্ট

 

উত্তরঃ

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

Question 14- (সিলেট বোর্ড-২০২৪)

[wm‡jU †evW©-2024]

      #include<stdio.h>

                main()

                {

                int i,s=0;

                for(i=3;i<=100;i+=4)

                {

                s = s + i;

                }

                printf (“sum=%d”,s);

                }

উত্তরঃ

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

উত্তরঃ

++i এর ক্ষেত্রে কম্পাইলার প্রথমে i এর প্রারম্ভিক মানের সাথে যথাক্রমে এক যোগ করে, অতপর প্রোগ্রামের একই স্টেটমেন্ট এই বর্ধিত মান ব্যবহার করে। কিন্তু i++ এর ক্ষেত্রে কম্পাইলার প্রথমে প্রোগ্রামে i এর পুরাতন মান ব্যবহার করে, অতপর ভেরিয়েবলের মানের সাথে যথাক্রমে এক যোগ করে। এই নতুন মান পরবর্তী স্টেটমেন্ট ধাপ থেকে কার্যকর হয়।

উত্তরঃ

উদ্দীপকের প্রোগ্রামের ফ্লোচার্ট নি¤েœ দেওয়া হলো-
ফ্লোচার্ট

 

উত্তরঃ 

উদ্দীপকের প্রোগ্রামটি do…….while loop লুপ ব্যবহার করে সমাধান করা সম্ভব। প্রোগ্রামটি নি¤েœ দেওয়া হলো-

#include<stdio.h>

        main()

        {

                int i,s;

                s=0;

                i=3;

                do

        {

                                s=s+i;

                                i=i+4;

                } while(i<=100);

                printf(“%d”,s);

        }

Question 15- (যশোর বোর্ড-২০২৪)

দৃশ্যকল্প-১:  7,10,45,20,51,23
দৃশ্যকল্প-২:

Step 1: start

                Step 2: input a, b, c

                Step 3: max = a

                Step 4: if (max<b) max = b

                Step 5: if (max<c) max = c

                Step 6: print max

                Step: End

উত্তরঃ

সি ভাষায় ফাংশন হলো কতগুলো স্টেটমেন্টের সমষ্টি যা কোনো নির্দিষ্ট কাজ সম্পাদন করে।

উত্তরঃ

সি প্রোগ্রামে যেসব অপারেটর লজিক্যাল অপারেশন সম্পন্ন করার জন্য ব্যবহৃত হয় তাকে লজিক্যাল অপারেটর বলে। সি প্রোগ্রামিং-এ && (অ্যান্ড), ।। (অর) এবং ! (নট) এই তিনটি লজিক্যাল অপারেশন রয়েছে। এই অপারেটর গুলো integer  টাইপের ডেটা নিয়ে কাজ করে। প্রোগ্রামের সিদ্ধান্ত গ্রহণে সচরাচর লজিক্যাল অপারেটর ব্যবহৃত হয়।

উত্তরঃ

দৃশ্যকল্প-২ এর ফ্লোচার্ট নি¤œরূপ:

উত্তরঃ

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

#include<stdio.h>

        #include<conio.h>

        main()

        {

        int a[6]={7,10,45,20,51,23};

        int i,s=0;

        for(i=0;i<6;i++)

                {

                s=s+a[i];

                }

        printf(“SUM=%d”,s);

        getch();

        }

Question 16- (যশোর বোর্ড-২০২৪)

#include<stdio.h>

                int main()

                {

                int i, sum=0;

                for(i=1;i<=10;i++)

                {

                if(i%2= =0){

                  continue;

                }

                sum = sum+i;

                }

                print f(“summation=%d”,sum);

        return 0;

                }

উত্তরঃ

কী-ওয়ার্ড হলো প্রোগ্রামে ব্যবহৃত কতগুলো সংরক্ষিত বিশেষ শব্দ যার নির্দিষ্ট অর্থ আছে এবং প্রোগ্রামে একটি নির্দিষ্ট কার্য সম্পাদন করে।

উত্তরঃ

scanf() একটি ইনপুট স্টেটমেন্ট, & একটি অ্যাড্রেস অপারেটর, %d হলো ফরমেট স্পেসিফায়ার যা ইন্টিজার টাইপের ডেটাকে স্পেসিফাই করে এবং ধ একটি ভেরিয়েবল। সুতরাং scanf(“%d,&a”) দ্বারা বোঝানো হচ্ছে যে, কীবোর্ডের মাধ্যমে একটি ইন্টিজার টাইপের ডেটা ইনপুট দেওয়া হচ্ছে যা ধ ভেরিয়েবলে রাখা হচ্ছে।

উত্তরঃ

কোনো স্টেটমেন্টকে দুই বা ততোধিক বার সম্পাদনের জন্য যে সকল স্টেটমেন্ট ব্যবহৃত হয় তাকে লুপ কন্ট্রোল স্টেটমেন্ট বলে। উদ্দীপকের প্রোগ্রামে লুপ কন্ট্রোল স্টেটমেন্ট হিসেবে ভড়ৎ লুপ ব্যবহৃত হয়েছে। এক্ষেত্রে র এর মান ১০ পর্যন্ত ব্যবহার করা হয়েছে যা একটি সসীম ভড়ৎ লুপ। ভড়ৎ লুপ স্টেটমেন্টের গঠন নি¤œরূপ:

Counter Declaration;

        for(initial value; condition; decrement/increment)

        {

        statement;

        }

১) Counter Declaration অংশে উপযুক্ত ডেটা টাইপসহ কাউন্টার ভেরিয়েবল ঘোষণা করা হয়।
২) initial value অংশে কাউন্টার ভেরিয়েবলের প্রারম্ভিক মান দেওয়া হয়, initial value কেবলমাত্র একবার এক্সিকিউট (বীবপঁঃব) হয়। তারপরে পড়হফরঃরড়হ এক্সিকিউট হয়।
৩) condition অংশে কাউন্টার ভেরিয়েবলের চূড়ান্ত মান নির্ধারণের শর্ত দেয়া হয়। ইহা false(০) হলে ভড়ৎ লুপের সমাপ্তি ঘটে। কিন্তু পড়হফরঃরড়হ মান যদি ঞৎঁব হয় তাহলে ভড়ৎ লুপের কোড ব্লক এক্সিকিউট হয়।
৪)decrement/increment এর মান আপডেট হয়। অর্থাৎ decrement/increment অংশে প্রতিবার আবর্তনে কাউন্টার ভেরিয়েবলের হ্রাস/বৃদ্ধির মান নির্ধারণ করা হয়। পড়হফরঃরড়হ মিথ্যা না হওয়া পর্যন্ত ইহা চলতেই থাকে। অর্থাৎ কাউন্টার ভেরিয়েবল চূড়ান্ত মানেনা পৌছা পর্যন্ত কিংবা শর্ত সত্য থাকা পর্যন্ত ভড়ৎ লুপের সাথে সংশ্লিষ্ট স্টেটমেন্ট সম্পাদিত হতে থাকে।

উত্তরঃ

সি প্রোগ্রামে লুপ নির্বাহের জন্য ব্যবহৃত অন্যতম লুপ কন্ট্রোল স্টেটমেন্টসমূহ হলোঃ
১) for লুপ স্টেটমেন্ট
২) while  লুপ স্টেটমেন্ট
৩) do…while  লুপ স্টেটমেন্ট
উপরোক্ত স্টেটমেন্ট সমূহকে একটির পরিবর্তে অন্যটি ব্যবহার করা যায়। উদ্দীপকের প্রোগ্রামটি ভড়ৎ স্টেটমেন্ট ব্যবহার করে করা হয়েছে। সুতরাং উক্ত ভড়ৎ স্টেটমেন্ট এর পরিবর্তে যিরষব স্টেটমেন্ট ব্যবহার করেও প্রোগ্রামটি তৈরি করা সম্ভব। নিচে যিরষব স্টেটমেন্ট ব্যবহার করে প্রোগ্রামটি তৈরি করে দেখানো হলো-

#include<stdio.h>

        int main()

        {

        int i=1, sum=0;

        while(i<=10)

        {

        if(i%2==0)

                {

                i++;

                continue;

                }

        sum=sum+i;

        i++;

        }

        printf(“Summation==%d”,sum);

        return 0;

        }

Question 17- ()

ক’ কলেজে আইসিটি ব্যবহারিক ক্লাসের জন্য শিক্ষার্থীদের নি¤েœাক্ত ছক অনুসারে বিভাজনের সিদ্ধান্ত গৃহীত হয়েছে:

উত্তরঃ

ফ্লোচার্ট বা প্রবাহচিত্র হলো অ্যালগরিদমের চিত্ররূপ যা থেকে বোঝা যায় সমস্যা সমাধান করতে হলে পরপর কিভাবে অগ্রসর হতে হবে।

উত্তরঃ

প্রত্যেক ফাংশন এর একটা ৎবঃঁৎহ মান থাকতে হয়। যা ফাংশন এর কাজ শেষে কিছু একটা রিটার্ন করে। কিন্তু return 0 মানে শূন্য রিটার্ন করা। সি প্রোগ্রামে int main () লেখা হলে main () ফাংশন একটি ইন্টিজার মান রিটার্ন করে। কিন্তু যখন কোনো মান পায় না তখন প্রোগ্রামটি কম্পাইল করতেFunction should return a value in function main() মেসেজ প্রদান করে। উক্ত মেসেজটি যাতে না প্রদান করে সেজন্য প্রোগ্রামের শেষে অবশ্যই return 0 ব্যবহার করতে হবে।

 

উত্তরঃ

উদ্দীপকের উল্লিখিত বিভাজনের অ্যালগরিদম নি¤œরূপ:
ধাপ-১: প্রোগ্রাম শুরু।
ধাপ-২: ইনপুট হিসাবে roll এর মান গ্রহণ।
ধাপ-৩: যদি roll>=1 এবং roll>=50 হয়, তাহলে অ দল ছাপাই এবং ধাপ-৬ এ যায়। অন্যথায় ধাপ ৪ এ যায়।
ধাপ-৪: যদি roll>=51 এবং roll>=100  হয়, তাহলে ই দল ছাপাই এবং ধাপ ৬-এ যায়। অন্যথায় ধাপ ৫ যায়।
ধাপ-৫: যদি roll>=101 এবং roll>=200 হয়, তাহলে C দল ছাপাই এবং ধাপ ৬-এ যায়।
ধাপ-৬: প্রোগ্রাম শেষ।

উত্তরঃ

উদ্দীপকের উল্লিখিত বিভাজনের জন্য সি ভাষায় প্রোগ্রামটি নি¤œরূপ:

#include<stdio.h>

        main()

        {

        int roll;

        printf(“Type the roll:”);

        scanf(“%d”,&roll);

        if((roll>=1)&&(roll<=50))

        printf(“A Group”);

        else if((roll>=51)&&(roll<=101))

        printf(“B Group”);

        else if(roll>=101)&&(roll<=200))

        printf(“C Group”);

        else

        printf(“Invalid Roll”);

        }

Question 18- (ঢাকা বোর্ড ২০২৩)

3+6+9+….+n

উত্তরঃ যেসব মেমোরির ডেটা কম্পিউটার বন্ধ করলে হারিয়ে যায়, সেগুলোকে বলে অস্থায়ী মেমোরি বা ভোলাটাইল মেমোরি বলে। (#1)

 

উত্তরঃ

সি প্রোগ্রামিং ল্যাঙ্গুয়েজে, বেশ কিছু বিল্ট-ইন ফাংশন রয়েছে যা স্টান্ডার্ড লাইব্রেরিতে অন্তর্ভুক্ত করা হয়। C-তে কিছু সাধারণভাবে ব্যবহৃত বিল্ট-ইন ফাংশনগুলির মধ্যে রয়েছে- ইনপুট/আউটপুট ফাংশন :

Printf() : কনসোলে ফরম্যাট করা আউটপুট প্রিন্ট করতে ব্যবহৃত হয়।

Scanf() : কনসোল থেকে ফরম্যাট করা ইনপুট পড়তে ব্যবহৃত হয় । ⇒ (#1)

Math ফাংশন:

Sqrt() : একটি সংখ্যার ধনাত্মক বর্গমূল গণনা করতে ব্যবহৃত হয়।

Pow() : একটি সংখ্যার পাওয়ার গণনা করতে ব্যবহৃত হয়। → (#2)

উত্তরঃ

উদ্দীপকে প্রদত্ত সিরিজটির প্রবাহচিত্র তৈরি  নিম্নরূপঃ

উত্তরঃ

Do-while লুপ দ্বারা উদ্দীপকের সিরিজটির যোগফল নির্ণয় করার জন্য সি ভাষায় একটি প্রোগ্রাম নিচে লিখা হলো:

#include

int main()

}

                int n,s=0,i=3;

               printf(“Enter the value of n:”);

               scanf(“%d”,&n);

}

do

{

             s=s+i;

             i=i+3; 

}

while(i<=n);

printf(“Sum of the series: %d\n”,s);

return 0;

}

এখানে,

int main(){} পর্যন্ত লিখলে (#1)

{ int n,s=0,i=3;

printf(“Enter the value of n:”);

scanf(“%d”,&n);} এই কোড পর্যন্ত লিখলে ⇒(#2)

do

{…}

while(…);

do while loop কোড লিখলে (#3)

printf(“Sum of the series: %d\n”,s);

return 0; এই কোড লিখলে (#4)

Question 19- (রাজশাহী বোর্ড ২০২৩)

আইসিটি স্যার ‘প্রোগ্রামিং ভাষা’ অধ্যায়ের ক্লাস নিতে গিয়ে SMART শব্দটি যে কোনো সংখ্যক বার প্রদর্শনের জন্য সি প্রোগ্রামিং ভাষায় প্রোগ্রাম লিখে তা বিস্তারিতভাবে বুঝিয়ে দিলেন।

উত্তরঃকোন সমস্যা সমাধানের জন্য কম্পিউটারের ভাষায ধারাবাহিকভাবে কতগুলো কমান্ড বা নির্দেশের সমস্টিকে বলা হয় প্রোাগ্রাম। (#1)

উত্তরঃ

ভুল সংশোধনের ক্ষেত্রে কম্পাইলারের চেয়ে ইন্টারপ্রেটার বেশি বন্ধুভাবাপন্ন। কম্পাইলার পুরো প্রোগ্রামটি একবারে কম্পাইল করে তাই প্রোগ্রামে কোনো ভুল থাকলে সব একসাথে দেখায়। ফলে ভূল সংশোধন করতে সময় বেশি লাগে।(#1)

কিন্তু ইন্টারপ্রেটার পুরো প্রোগ্রাম একসাথে পরীক্ষা না করে প্রতিটি স্টেটমেন্ট মেশিন কোডে রূপান্তর করে সেটিকে এক্সিকিউট করে। ফলে সময় ও কম লাগে এবং দ্রুত গতিতে ডিবাগ সম্পন্ন করা হয়। তাই ভুল সংশোধনের ক্ষেত্রে কম্পাইলারের চেয়ে ইন্টারপ্রেটার বেশি বন্ধুভাবাপন্ন।(#2)

উত্তরঃ

উদ্দীপকের শব্দটি পাঁচবার প্রদর্শনের জন্য আ্যালগরিদম নিম্নরূপ:

ধাপ-১ : শুরুকরি।

ধাপ-২ : N=1 ধরি।

ধাপ-৩ : N>5 হলে ধাপ ৭ এ যাই অন্যথায় ধাপ-৪ এ যাই।

ধাপ-৪ : “SMART” প্রিন্ট করি।

ধাপ-৫ : N এর মান 1 বৃদ্ধি করি।

ধাপ-৬ : ধাপ ৩ এ যাই।

ধাপ-৭ : শেষ করি।

উত্তরঃ

উদ্দীপকের “SMART” শব্দটি n-সংখ্যক বার প্রদর্শনের জন্য সি ভাষায় একটি প্রোগ্রাম নিচে দেওয়া হলো:

#include<stdio.h>

int main()

{

      int n,i;

      printf(“Enter the value of n:”);

      scanf(“%d”,&n);

      for(i=1;i<=n;i++)

{

      printf(“SMART\n”);

}

      return 0;

}

(#4)

Question 20- (রাজশাহী বোর্ড ২০২৩)

1+2+3+…..N

উত্তরঃএকসঙ্গে অনেকগুলো প্রোগ্রাম চালালে কম্পিউটার RAM নিজের মেমোরি ছাড়াও প্রয়োজনমতো হার্ডডিস্কের জায়গা বাবহার করে। এটিই হলো কম্পিউটারের ভার্চুয়াল মেমোরি ।(#1)

উত্তরঃ স্থায়ী ও অস্থায়ী মেমোরির মধ্যে পার্থক্য নিচে দেওয়া হলো:
স্থায়ী মেমোরি অস্থায়ী মেমোরি
যেসব মেমোরিতে কম্পিউটার বন্ধ করার পরও ডেটা সংরক্ষণ থাকে তাকে স্থায়ী মেমোরি বলে। যেসব মেমোরিতে কম্পিউটার বন্ধ করলে ডেটা হারিয়ে যায় তাকে স্থায়ী মেমোরি বলে।
স্থায়ী মেমোরিগুলো হলো: হার্ডডিস্ক, রম, ডিভিডি ইত্যাদি। অস্থায়ী মেমোরি হলো: RAM।

উত্তরঃ

1 +2+3 +…….. +N ধারাটির যোগফল নির্ণয়ের জন্য অ্যালগরিদম নিম্নরূপ-

ধাপ-১ : শুরু করি।

ধাপ-২ : n এর মান গ্রহণ করি।

ধাপ-৩ : ধরি, sum=0 এবং i=1.

ধাপ-৪ : যদি i

ধাপ-৫ : Sum= Sum + i

ধাপ-৬ : i= i+ l (i এর মান বৃদ্ধি করি এবং পুনরায় 8 নং ধাপে যাই)

ধাপ-৭ : যোগফল প্রিন্ট করি।

ধাপ-৮ : শেষ করি।

উত্তরঃ

উদ্দীপকের ধারাটির ফলাফল প্রদর্শনের জন্য সি ভাষায় একটি প্রোগ্রাম নিচে লিখা হলো:

#include

int main()

{

int i,N,s=0;

printf(“Enter the last number of the series:”);

scanf(“%d”,&N);

for(i=l;i<=N;i++)

{

s=s+i;

}

printf(“Sum of the series=%d”,s);

return 0;

}

Question 21- (কুমিল্লা বোর্ড ২০২৩)

উত্তরঃ

ক্যারেক্টার টাইপের ডেটা প্রিন্ট করার জন্য যে সাংকেতিক চিহ্ন ব্যবহার করা হয় তাকে ফরমেট স্পেসিফায়ার বলে। (#1)

উত্তরঃ

for এবং do লুপের মধ্যে for লুপ ব্যবহার করা সহজ। 

উত্তরঃ

উদ্দীপকের প্রোগ্রামটির জন্য ফ্লোচার্ট-টি নিচে প্রদর্শন করা হলো:

উত্তরঃ

উদ্দীপকের প্রোগ্রামটি for লুপের মাধ্যমে বাস্তবায়ন সম্ভব। নিচে তা যাচাই করা হলো:

#include<stdio.h>

int main()

{

       int i,n,factorial=1;

       printf(“Enter an integer value:”);

       scanf(“%d”,&n);

       for(i=1;i<=n;i++);

       {

       factorial= factorial*i;

       }

       printf(“Factorial=%d\n”,factorial);

       return 0;

}

Question 22- (কুমিল্লা বোর্ড ২০২৩)

BPL এ সাকিব ৮০ রান করল, মুশফিক ৯০ রান করল এবং তামিম ৯৫ রান করল ।

উত্তরঃ

প্রোগামের ভূল সংশেধন করাকে ডিবাগ বলা হয়।→#1

উত্তরঃ

মেশ টপোলজি নেটওয়ার্ক সর্বাধিক নির্ভরযোগ্য কারণ-

১. ডেটা ট্রান্সমিশন দ্রুতগতি সম্পন্ন।

২. একই নেটওয়ার্কভুক্ত যেকোন কম্পিউটার নষ্ট হলেও নেটওয়ার্ক সচল থাকে।

৩. কেন্দ্রীয় কোন ডিভাইসের প্রয়োজন হয় না।

এখানে,

একটি পয়েন্ট লিখলে #1

তিনটি পয়েন্ট লিখলে #2

 

উত্তরঃ

উদ্দীপকের ব্যাটসম্যানদের রানের গড় নির্ণয় করার অ্যালগরিদম নিম্নরূপ:

ধাপ-১ : শুরু করি।

ধাপ-২ : a=80, b=90, c=95 মান গ্রহণ করি।

ধাপ-৩ : s= a+b+c বের করি।

ধাপ-৪ : avg= s/3 বের করি।

ধাপ-৫ : Avg বের করি।

ধাপ-৬ : শেষ করি।

এখানে,

ধাপ-১ : শুরু করি,ধাপ-২ : মান গ্রহণ করি পর্যন্ত লিখলে #1

ধাপ-৩ ,ধাপ-৪ Avg ফরমুলা পর্যন্ত লিখলে #2

ধাপ-৫ : Avg বের করি,ধাপ-৬ : শেষ করি। পর্যন্ত লিখলে #3

উত্তরঃ

উদ্দীপকের ৩ জন ব্যাটসম্যানের মধ্যে কে বেশি রান করেছে তা নির্ণয়ের জন্য C ভাষায় প্রোগ্রাম নিচে দেওয়া হলো:

#include<stdio.h>

int main()

{

   int a,b,c;

   printf(“Enter the run of Shakib, Musfiq and Tamim:”);

   scanf(“%d%d%d”,&a,&b,&c);

   if((a>b)&&(a>c))

   printf(“Shakib got heighest number of runs %d”,a);

   else if((b>a)&&(b>c))

   printf(“Musfiq got heighest number of runs %d”,b);

   else

   printf(“Tamim got heighest number of runs %d”,c);

   return 0;

}

এখানে,

#include<stdio.h>

int main() কোড লিখলে →#1

{  int a,b,c;

   printf(“Enter the run of Shakib, Musfiq and Tamim:”);

   scanf(“%d%d%d”,&a,&b,&c);

variable  decleare কোড লিখলে →#2

   if((a>b)&&(a>c))

printf(“Shakib got heighest number of runs %d”,a);

  else if((b>a)&&(b>c))

if else if কোড লিখলে →#3

else

   printf(“Tamim got heighest number of runs %d”,c);

   return 0; কোড লিখলে →#4

Question 23- (যশোর বোর্ড ২০২৩)

ICT শিক্ষক দ্বাদশ শ্রেণির বিজ্ঞান বিভাগের শিক্ষার্থীদের সাথে। প্রোগ্রামিং বিষয়ে আলোচনা করছিলেন। তিনি শিক্ষার্থীদের বললেন যে, “যেসব সংখ্যা। এবং ঐসব সংখ্যা ভিন্ন অন্য কোনো সংখ্যা দ্বারা নিঃশেষে বিভাজ্য নয়” এমন 30 পর্যন্ত সংখ্যাসমূহ নির্ণয়ের জন্য একটি প্রোগ্রাম লেখ।

উত্তরঃ

কি-ওয়ার্ড হলো সি প্রোগ্রামিং ভাষায় ব্যবহৃত বেশ কিছু সংরক্ষিত শব্দ। #1 

উত্তরঃ

“x=y+i;” স্টেটমেন্টটি সি ভাষায় একটি গাণিতিক অপারেশন সঞ্চালিত করে। #1

এটি ভেরিয়েবল “i” এর মানের সাথে ভেরিয়েবল “y” এর মান যোগ করে এবং “x” ভেরিয়েবলের ফলাফল নির্ধারণ করে। মূলত এটি “y” এবং “i” এর যোগফল গণনা করে এবং ফলটিকে “x” ভেরিয়েবলে সংরক্ষণ করে। #2

উত্তরঃ

উদ্দীপকে স্যারের দেয়া সমস্যাটি সমাধানের ফ্লোচার্ট নিচে দেওয়া হলো:

উত্তরঃ

উদ্দীপকের সমস্যাটি সমাধানের জন্য C প্রোগ্রাম নিচে দেওয়া হলো:

#include

int main()

{

      printf(“Prime number between 1 and 30:\n”);

      int i,n;

      for(n=2;n<=30;n++)

      {

      for(i=2;i<n;i++)

      {

      if(n%i=0)

      {

      break;

      }

      }

      if(i==n)

      {

      printf(“%d\n”,n);

      }

      }

      return 0;

}

Question 24- (যশোর বোর্ড ২০২৩)

#include<stdio.h>
int main ()
{
int a, b = 0;
for (a=5; a<=100; a+=5)
b=b+a;
}
printf (“%d”, b);
return 0;
}

উত্তরঃ

কতগুলো অপারেন্ড, অপারেটর ও কনস্ট্যান্টের অর্থবোধক ও সামঞ্জস্যপূর্ণ উপস্থাপনই হলো এক্সপ্রেশন। (#1)

উত্তরঃ

লোকাল ও গ্লোবাল ভেরিয়েবল এক নয়। কারণ-

১. লোকাল ভেরিয়েবল যে ফাংশনে ঘোষণা করা হয় শুধু ওই ফাংশনেই কাজ করে। কিন্তু গ্লোবাল ভেরিয়েবল প্রোগ্রামের সর্বত্রই কার্যক্রম থাকে। (#1)

২. কোন ফাংশনের ভেতর লোকাল ভেরিয়েবল ঘোষণা করা হয়। পক্ষান্তরে যে কোন ফাংশনের বাইরে গ্লোবাল ভেরিয়েবল ঘোষণা করা হয়। 

৩. ফাংশন কল করার সময় লোকাল ভেরিয়েবল মান ধরে রাখতে পারেনা। কিন্তু গ্লোবাল ভেরিয়েবল ফাংশন কল করার সময় মান ধরে রাখতে পারে। (#2)

উত্তরঃ

উদ্দীপকে প্রোগ্রামটির অ্যালগরিদম নিম্নরূপ-

ধাপ-১: শুরু করি।

ধাপ-২: b=0 ধরি।

ধাপ-৩: a=5 ধরি।(#1)

ধাপ-৪: a>100 হলে ধাপ-৭ এ যাই,অন্যথায় ধাপ ৫ও ৬ এ যাই।

ধাপ-৫: b=b+a.(#2)

ধাপ-৬: a=a+5(a এর মানকে ৫ করে বৃদ্ধি করি এবং পুনরায় ধাপ-৪ এ যাই)

ধাপ-৭: যোগফল প্রিন্ট করি।

ধাপ-৮: শেষ করি।(#3)

উত্তরঃ

do loop ব্যবহার করে উদ্দীপকের প্রোগ্রামটি নিচে দেওয়া হলো-

#include<stdio.h>

int main() (#1)

{

      int a=5,b=0;

      do

      {

      b= b+a;

      a= a+5;

      }

      while(a<=100);

      printf(“%d”,b);

      return 0;

}

(#2)

While লুপ ব্যবহার করে উদ্দীপকের প্রোগ্রামটি নিচে দেওয়া হলো-

#include <stdio.h>

int main()

{

      int a=5,b=0;

      while (a,=100) (#3)

      {

      b= b+a;

      a= a+5;

      }

      printf(“%d”,b);

      return 0;

}

Question 25- (চট্টগ্রাম বোর্ড ২০২৩)

আইসিটির শিক্ষক কোনো সংখ্যা জোড় না বিজোড় তা নির্ণয়ের জন্য একটি সি-প্রোগ্রাম লিখলেন। তিনি বললেন একই লজিক ব্যবহার করে 3 (তিন) দ্বারা বিভাজ্য সংখ্যাও নির্ণয় করা যায় ।

উত্তরঃ

C প্রোগ্রামের প্রোগ্রামিং চালানোর জন্য পুনরাবৃত্তি করার প্রয়োজন হয়। পুনঃ পুনরাবৃত্তি করার জন্য যে কমান্ড বা পদ্ধতি সমূহ ব্যবহৃত হয় তাই লুপ। #1

উত্তরঃ

একটি প্রোগ্রামের ভেতরকার ছোট ছোট অংশগুলোর গঠন এবং একটির সঙ্গে অন্যটির পারস্পরিক সম্পর্ককে প্রোগ্রামের সংগঠন বা স্ট্রাকচার বলে। #1 প্রত্যেক প্রোগ্রাম সংগঠনের তিনটি অংশ থাকে। এই অংশগুলোর সমন্বয়ে প্রোগ্রামের সংগঠন গঠিত হয়। প্রোগ্রাম তিনটি হলো-

১. ইনপুট

২. প্রসেস,

৩. আউটপুট।

ফলাফল লাভের উদ্দেশ্যে কম্পিউটারে যেসব ডেটা নির্দেশ দেওয়া হয় তা হলো ইনপুট। প্রদত্ত ডেটাকে নির্দেশ অনুযায়ী প্রক্রিয়াকরণ করা হয় যা হলো প্রসেসিং । প্রসেসিং থেকে প্রাপ্ত ফলাফল প্রদর্শন করা হলো আউটপুট। #2

উত্তরঃ

উদ্দীপকে শিক্ষকের লিখিত প্রোগ্রামটি হলো কোনো সংখ্যা জোড়না বিজোড় তা নির্ণয় করা। নিম্নে শিক্ষকের লেখা প্রোগ্রামটির ফ্লোচার্ট দেওয়া হলো-

এখানে,

1.start⇒input n পর্যন্ত flowchart লিখলে #1

2.condition কি ? yes বা no হলে কি হবে ? পর্যন্ত flowchart লিখলে #2

  1. condition শেষ করে end পর্যন্ত flowchart লিখলে #3

উত্তরঃ

উদ্দীপকে শিক্ষকের বলা ধারণা অর্থাৎ 3 দ্বারা বিভাজ্য সংখ্যা নির্ণয়ের সি প্রোগ্রাম নিম্নরূপ—

#include <stdio.h>

int main()

{

int number;

printf(“Enter a number: “);

scanf(“%d”, &number);

if (number % 3 15 0)

{

printf(“%d is divisible by 3.\n”, number);

}

else

{

printf(“%d is not divisible by 3.\n”, number);

return 0;

}

 

ফলাফল বিশ্লেষণ:

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

যদি ইনপুট ৫ হয় তবে 5%3=2 । কিন্তু 2!=0; তাই সংখ্যাটি ৩ দ্বারা বিভাজ্য নয়।

যদি ইনপুট ৬ হয় তবে 6%3=0; তাই সংখ্যাটি ৩ দ্বারা বিভাজ্য।

এখানে,

1.#include int main() পর্যন্ত কোড লিখলে #1

2.int num ; printf(…..), scanf(…..) পর্যন্ত কোড লিখলে #2

3.if(condition){..}

Question 26- (চট্টগ্রাম বোর্ড ২০২৩)

5+10+15+ …… +200

উত্তরঃ

সি প্রোগ্রামিং ভাষায় অ্যারে হলো একটি বিশেষ ডাটা স্ট্রাকচার যাতে একই ধরনের একাধিক ডেটা রাখা যায়। → #1

উত্তরঃ

“Scan f(“%f”,&a)”; স্টেটমেন্টটি ইনপুট এর মান গ্রহণের জন্য ব্যবহৃত হয়। প্রোগ্রামটি রান করলে keyboard থেকে ইনপুট এর মান গ্রহণ করে। #1

এখানে, “%f” হল float ডেটা টাইপের format specification, &a হল address of a যা float টাইপের a ভেরিয়েবলের মেমোরি লোকেশন। যেখানে ডেটা সংরক্ষিত হবে। #2

উত্তরঃ

উদ্দীপকের ধারাটির যোগফল নির্ণয়ের অ্যালগরিদম নিচে দেওয়া হল-

ধাপ-১: শুরু করি

ধাপ-২: n=200 মান ইনপুট করি।

ধাপ-৩: যোগফলের জন্য Sum=0, এবং চলক i=5 ব্যবহার করি

ধাপ-৪: যদি i>n হয় ৭ নং ধাপে গমন করি অন্যথায় ৫ ও ৬ নং ধাপে গমন করি।

ধাপ-৫: sum=sum+i

ধাপ-৬: i=i+5(i এর মান বৃদ্ধি করি এবং পুনরায় ৪ নং ধাপে যাই)

ধাপ-৭: যোগফল প্রিন্ট করি।

ধাপ-৮: শেষ করি।

এখানে,

ধাপ-২ পর্যন্ত লিখলে → #1

ধাপ-৬ পর্যন্ত লিখলে → #2

ধাপ-১ থেকে ধাপ-৮ পর্যন্ত লিখলে → #3

উত্তরঃ

উদ্দীপকের ধারাটির ফলাফল প্রদর্শনের জন্য সি ভাষায় প্রোগ্রাম নিচে লিখা হলো:

#include

int main ()

{

      int i,s=0,n=200;

      for(i=5;i<=n;i=i+5)

      {

      s=s+i;

      }

      printf(“Sum of the series:%d”,s);

      return 0;

}

এখানে,

#include , int main(){} পর্যন্ত লিখলে  → #1

int main(){

    int i,s=0,n=200;

varaible decleare করলে  → #2

    for(i=5;i<=n;i=i+5)

      {

      s=s+i;

      }

for loop এর কোড  লিখলে  → #3

printf(“Sum of the series:%d”,s);

      return 0;  এই কোড  লিখলে → #4

Question 27- (বরিশাল বোর্ড ২০২৩)

# include <stdio.h>
main ()
{
int K, S = 0;
for (K=10; K<=100; K=K+10)
S=S+K;
Printf (“summation % d”, S);
}

উত্তরঃ

অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করার জন্য যে অনুবাদক প্রোগ্রাম ব্যবহার করা হয় তাকে অ্যাসেম্বলার বলে। (#1)

উত্তরঃ

সি ভাষায় হেডার ফাইল ব্যবহার করা হয়। কারণ- হেডার ফাইলে লাইব্রেরি ফাংশন গুলোর প্রোটোটাইপ আগে থেকেই তৈরি করা থাকে।(#1) সি প্রোগ্রামে একটি হেডার ফাইল ইনক্লুড করলে ঐ হেডার ফাইলের ভেতরে যেসব ফাংশন তৈরি করে দেওয়া থাকে সেগুলো ব্যবহার করা যায়। ফলে প্রোগ্রামাররা সরাসরি ফাংশন ব্যবহার করতে পারে এবং প্রোগ্রামের আকার ও ছোট হয়।(#2)

উত্তরঃ

উদ্দীপকের প্রোগ্রামটির ফ্লোচার্ট নিচে অঙ্কন করা হলো:

উত্তরঃ

উদ্দীপকের প্রোগ্রামটি Do-while ব্যবহার করে নিচে লেখা হলো –

#include

main( )

{

int K=10, S=0;

do

{

S= S+K;

K=K+10;

}

while(K<=100);

printf(“Summation=%d”,S);

return 0;

}

Question 28- (সিলেট বোর্ড ২০২৩)

10+16+22+……… +70

উত্তরঃ

সি ভাষায় মেমোরিতে ডাটা সংরক্ষণ করতে যে নাম ব্যবহৃত হয় তাকে বলা হয় চলক। #1

উত্তরঃ

Scanf(“%d”,&a;) স্টেটমেন্টটি ইমপোর্ট এর মান গ্রহণের জন্য ব্যবহৃত হয়। প্রোগ্রামটি রান করলে কিবোর্ড থেকে ইনপুট এর মান সংগ্রহ করে। #1 এখানে, “%d” হল Integer ডেটা টাইপের format specification এবং &a হল address of a যা integer টাইপের a ভেরিয়েবল এর মেমোরি লোকেশন। যেখানে ডাটা সংরক্ষিত হয়। #2

উত্তরঃ

10+16+22+……..+70 ধারাটির যোগফল প্রদর্শনের জন্য অ্যালগরিদম নিম্নরূপ-

ধাপ-১: শুরু করি

ধাপ-২: n =70 মান ইনপুট করি।#1

ধাপ-৩: যোগ ফলের জন্য s=0 এবং i= 10 ব্যবহার করা হয়েছে।

ধাপ-৪: যদি i<=n হয় তাহলে ৫ নং ও ৬ নং ধাপে গমন করি। অন্যথায় ৭ নং ধাপে গমন করে।

ধাপ-৫: s=s+1                     #2

ধাপ-৬: i=i+6 এবং পুনরায় ৪ নং ধাপে যাই।

ধাপ-৭: যোগফল প্রিন্ট করি

ধাপ-৮: শেষ করি।   #3

উত্তরঃ

উদ্দীপকের ধারাটির যোগফল প্রদর্শনের জন্য সি ভাষায় প্রোগ্রাম নিচে দেওয়া হল-

#include<stdio.h>

int main()

{

      int i,s=0,n=70;

      for(i=10;i<=n;i=i+6);

      {

      s=s+i;

      }

      printf(“The sum of the series:%d”,s);

      return 0;

}

Question 29- (সিলেট বোর্ড ২০২৩)

ফ্লোচার্টটি লক্ষ কর ও প্রশ্নগুলোর উত্তর দাও :

উত্তরঃ

দশমিক যুক্ত সংখ্যা রাখার জন্য যে যেটা টাইপ ব্যবহার করা হয় সেটাই float ডেটা টাইপ। # 1

উত্তরঃ

সি ল্যাঙ্গুয়েজ এর লেখা সব প্রোগ্রাম রান করলে কোডের ভেতরে main() ফাংশন থেকে প্রোগ্রামটি চলা শুরু হয়। main() তাহলে কম্পাইলার ধরে নেয় যে ফাংশনটি যখন এক্সিকিউশন শেষ হবে তখন সে একটি ইন্টিজার রিটার্ন করতে হবে। #1

তাই ফাংশনের শেষে কোন একটি ইন্টিজার রিটার্ন হবে। প্রচলিত নিয়মে সি ভাষায় return 0; ব্যবহার করা হয়, প্রোগ্রামটি ঠিকভাবে কোন সমস্যা ছাড়াই চলছে কিনা সেটা বুঝানোর জন্য। #2

উত্তরঃ

উদ্দীপকে প্রবাহচিত্রটির অ্যালগরিদম নিম্নরূপ।:

ধাপ-১: শুরু করি।

ধাপ-২: ইনপুট হিসেবে ফারেনহাইট তাপমাত্রা F এর মান গ্রহণ করি।

ধাপ-৩: c=(5*(F-32))/9 ব্যবহার করে c এর মান নির্ণয় করি।

ধাপ-৪: c এর মান প্রদর্শন।

ধাপ-৫: শেষ করি। 

এখানে,

ধাপ-১,ধাপ-২ লিখলে #1

ধাপ-৩ লিখলে #2

ধাপ-৪,ধাপ-৫ লিখলে #3

উত্তরঃ

উদ্দীপকের প্রবাহ চিত্রটির সি ভাষায় কোড নিম্নরূপ:

#include

int main()

{

      double C,F;

      printf(“Enter the Farenheit temperature:”);

      scanf(“%If”,&F);

      c=((F-32)*5)/9;

      printf(“Celsius temperature=%If\n”,C);

      return 0;

}

এখানে,

#include

int main() কোড লিখলে #1

double C,F;

 printf(“Enter the Farenheit temperature:”);

      scanf(“%If”,&F);

variable declare করলে #2

  c=((F-32)*5)/9; কোড লিখলে #3

    printf(“Celsius temperature=%If\n”,C);

      return 0; কোড লিখলে #4

Question 30- (দিনাজপুর বোর্ড ২০২৩)

22 + 52 + 82 + 112 + ….+ n2

উত্তরঃ

সি প্রোগ্রামিং ভাষায় সংরক্ষিত শব্দসমূহকে কী ওয়ার্ড বলে।#1

উত্তরঃ

ভেরিয়েবল ঘোষনার ক্ষেত্রে আনুসরনীয় পদক্ষেপসমূহকে নিচে দেওয়া হলো:

১. ভেরিয়েবলের নামে কেবল বর্ন, অঙ্ক এবং আন্ডারস্কোর চিহ্ন (_) ব্যবহার করতে হয়।

২. একই ফাংশনে একই নামে একাধিক ভেরিয়েবলের ঘোষণা করা যাবে না।

৩. ভেরিয়েবেলের নামের মাঝে কোনো ফাকা স্থানে থাকতে পারে না।

৪. ভেরিয়েবেলের নামের প্রথম আক্ষরটি অঙ্ক দিয়ে শুরু হতে পারে না ইত্যাদি।

এখানে,

২ টি পয়েন্ট লিখলে #1

৪ টি পয়েন্ট লিখলে #2

উত্তরঃ

উদ্দীপকের ধারাটির যোগফল নির্নয়ের ফ্লোচার্ট নিচে তৈরি করা হলো :

উত্তরঃ

উদ্দীপকের ধারাটির দশটি পদের যোগফল নির্ণয়ের জন্য C ভাষা ব্যবহার করে প্রোগ্রাম রচনা করা সম্ভব নিচে তা বিশ্লেষণ করা হলো:

#include<stdio.h>

int main()

{

      int n=10;

      int a=2;

      int sum=0:

      for (int i=1; i<=n; i++)

      {

      sum= sum +a*a;

      a=a+3;

      }     

      printf(“Sum of the first %d terms:%d\n”,n,sum);

      return 0;

}

এখানে,

#include<stdio.h>

int main() কোড লিখলে #1

int n=10;

      int a=2;

      int sum=0;

variable declare কোড লিখলে #2

 for (….…)

      {

   …..…

      }  কোড লিখলে #3

printf(“Sum of the first %d terms:%d\n”,n,sum);

 return 0; কোড লিখলে #4

Question 31- (ময়মনসিংহ বোর্ড ২০২৩)

রমিজের বাবা তাকে ১,০০০ টাকার একটি নোট দিয়ে বাজার করতে পাঠালেন। রমিজ ২০০ টাকার ১ কেজি মাছ ও মাছের তিনগুণের চেয়ে পঞ্চাশ টাকা বেশি দিয়ে ১ কেজি মাংস কিনল এবং ৫০ টাকা দিয়ে তার নিজের জন্য খাতা কিনল ।

উত্তরঃ

সি প্রোগ্রামিং ভাষায় ব্যবহৃত বেশ কিছু সংরক্ষিত শব্দকে কী-ওয়ার্ড বলে। (#1)

উত্তরঃ

Mark [5][4] স্টেটমেন্টটি একটি দ্বিমাত্রিক অ্যারের সেল নির্দেশ করে। যে আ্যারেতে একাধিক সারি ও একাধিক কলামে ডেটা উপস্থাপন করা হয় তাকে দ্বিমাত্রিক অ্যারে বলা হয়।(#1)

Mark [5][4] দ্বারা Mark নামের একটি অ্যারে যার 5th রো এবং 4th কলাম দ্বারা গঠিত সেল এর ডাটা নির্দেশিত হচ্ছে। (#2)

উত্তরঃ

মাছ এবং মাংস কেনার পরে রমিজের কাছে কত টাকা রইল তা নির্ণয়ের ফ্লোচার্ট নিচে দেওয়া হলো:

পুরো প্রোগ্রাম নির্ভুল লিখলে ফুল ৩ পাওয়া যাবে।

উত্তরঃ

বাজার পরবর্তী রমিজের কাছে কত টাকা রইল তা নির্ণয়ের জন্য C প্রোগ্রাম নিচে লিখা হলো:

#include<stdio.h>     (#1)

main()

{

     int i,f,m,k;

     i=1000;

     f=200;

     k=50;      (#2)

     m=3*f+50;

     i=i-f-m-k;      (#3)

     printf(“%d”,i);

     return 0;

}

(#4)

Question 32- (ময়মনসিংহ বোর্ড ২০২৩)

নিচের ফ্লোচার্টটি লক্ষ কর-

উত্তরঃ

সুডো কোড হলো এমন কোড যা কোনো কোড নয় কিন্তু প্রোগ্রাম রচনার সময় প্রোগ্রামকে বোঝার সুবিধার্থে ব্যবহার করা হয়।→#1

উত্তরঃ

K++ : K++ এর ক্ষেত্রে কম্পাইলার প্রথমে প্রোগ্রামে K এর পুরাতন মান ব্যাবহার করে অতঃপর ভেরিয়েবলের মানের সাথে যথাক্রমে এক যোগ করে।

++K : ++K এর ক্ষেত্রে কম্পাইলার প্রথমে K এর প্রারম্ভিক মানের সাথে যথাক্রমে এক যোগ করে অতঃপর একই স্টেটমেন্ট এ বর্ধিত মান ব্যবহার করে।

এখানে,

১.K++ এর বর্ণনা দিলে #1

2.++k এর বর্ণনা দিলে #2

উত্তরঃ

উদ্দীপকের সমস্যাটি সমাধানের জন্য অ্যালগরিদম নিম্নরূপ-

ধাপ-১ : শুরু করি।

ধাপ-২ : a, b, c এর মান ইনপুট নেই।

ধাপ-৩ : যদি a>b এবং a>c হয় তবে ধাপ-৭ এ যাই অন্যথায় ধাপ-৪ এ যাই।

ধাপ-৪ : যদি b>a এবং b>c হয় তবে ধাপ-৬ এ যাই।

ধাপ-৫ : c+9 ছাপাই এবং ধাপ-৮ এ যাই।

ধাপ-৬ : b+6 ছাপাই এবং ধাপ-৮ এ যাই।

ধাপ-৭ : a+5 ছাপাই।

ধাপ-৮ : শেষ করি।

এখানে,

১.ধাপ-১ থেকে ধাপ-৪ এর বর্ণনা দিলে →#1

২.ধাপ-৫,ধাপ-৬ পর্যন্ত বর্ণনা দিলে →#2

৩.ধাপ-৭,ধাপ-৮ পর্যন্ত বর্ণনা দিলে →#3

উত্তরঃ

উদ্দীপকের বর্ণিত সমস্যাটি সমাধানের সি ভাষায় প্রোগ্রাম নিচে দেওয়া হলো-

#include

int main()

{

int a, b, c;

printf(“Enter three number:”);

scanf(“%d%d%d”,&a,&b,&c);

if(a>b&&a>c)

{

printf(“%d\n”,a+5);

}

else

{

if(b>c&&b>a)

}

printf(“%d\n”,b+6);

{

else

}

printf(“%d\n”,c+9);

}

}

return 0;

}

এখানে,

1.#include

int main() কোড লিখলে →#1

2.int a, b, c;

printf(“Enter three number:”);

scanf(“%d%d%d”,&a,&b,&c); কোড লিখলে →#2

3.if(condition){….}else{..…} কোড লিখলে →#3

4.return 0;কোড লিখলে →#4

Question 33- (ঢাকা বোর্ড ২০১৯)

নিচের উদ্দীপকটি লক্ষ কর এবং প্রশ্নগুলোর উত্তর দাও :

# include<stdio.h>

# include<conio.h>

main ()

{

int a, s = 0, n;

printf (“value of n :”);

scanf(“%d”, &n);

for(a=1; a<=n; a++)

{

s = s+a * a;

}

printf(“sum : %d”, s);

}

উত্তরঃ

যে প্রোগ্রামিং ভাষাগুলো মানুষের ভাষার কিছুটা কাছাকাছি,সে ভাষাগুলোই হলো চতুর্থ প্রজন্মের ভাষা বা 4GL। (#1)

উত্তরঃ

সি ভাষায় সাধারণত সব প্রোগ্রাম ছোট হাতের অক্ষরে লেখা হয়। (#1)

অর্থাৎ সি প্রোগ্রামে ছোট হাতের অক্ষর ও বড় হাতের অক্ষরের মধ্যে পার্থক্য পরিলক্ষিত হয়। এ ভাষায় প্রোগ্রাম সব সময় ছোট হাতের অক্ষরে লিখতে হয়। এজন্য C প্রোগ্রামকে কেস সেনসেটিভ ভাষা বলা হয়। (#2)

উত্তরঃ

উদ্দীপকের ধারাটি যোগফল নির্ণয়ের অ্যালগরিদম:

ধাপ-১: শুরু করি।

ধাপ-২: n এর মান ইনপুট করি।

ধাপ-৩: যোগফলেলর জন্য s=0 এবং চলক a=1 ব্যবহার করা হয়েছে।

ধাপ-৪: যদি a<=a হয় তাহলে ৫নং ধাপে গমন করি; অন্যথায় ৭নং ধাপে গমন করি।

ধাপ-৫: s= s+a*a

ধাপ-৬: a= a+1 (a এর মান বৃদ্ধি করি) এবং পুনরায় ৪নং ধাপে যাই।

ধাপ-৭: যোগফল প্রিন্ট করি।

ধাপ-৮: শেষ করি।

মার্ক নীতিমালা

(শুরু ও শেষধাপের লিখা গুলো ঠিক থাকলে #1)

(ধাপ-২,৩, ইনপুট কি কি তা সঠিক হলে সব মিলে #2)

(সূত্র ঠিক থাকলে আউটপুট সব মিলে #3)

উত্তরঃ

(মার্ক নীতিমালা :

উদ্দীপক হতে প্রশ্নের চাহিদা লিখন #1

include<stdio.h>…<conio.h>…—-

Main–input ও getch} কোড ঠিক মতো লিখলে #2

লুপ ঠিকমতো লিখলে সবমিলে #3

লুপের ভিতর সূত্র সহ সর্বশেষ সমাধান ঠিক মতো লিখলে সবমিলে #4)

Question 34- (ঢাকা বোর্ড ২০১৯)

একটি ঝুড়িতে ২০টি আপেল আছে। এর মধ্যে আমরা ৩টি আপেলের ওজন মেপে পেলাম যথাক্রমে ১৫০ গ্রাম, ১৭৫ গ্রাম, ২১০ গ্রাম 

উত্তরঃ

সি ভাষায় মেমোরিতে ডেটা সংরক্ষণ করতে যে নাম ব্যবহার করা হয়, ঐ নামকেই চলক বা ভেরিয়েবল বলে।(#১)

উত্তরঃ

ইন্টারপ্রেটারের তুলনায় কম্পাইলার সুবিধাজনক। কারণ-

১. কম্পাইলার প্রথমে পুরো প্রোগ্রামটি কম্পাইল করে মেশিন কোডে রূপান্তর করে। পক্ষান্তরে ইন্টারপ্রেটার পুরো প্রোগ্রাম পরীক্ষা না করে প্রোগ্রামের প্রতিটি স্টেটমেন্ট মেশিন কোডে রূপান্তর করে।(#১)

২. কম্পাইলার করার পর প্রোগামগুলো অনেক দ্রুত গতিতে কাজ করে। পক্ষান্তরে ইন্টারপ্রেটার একটি একটি করে স্টেটমেন্ট মেশিন কোডে রূপান্তরিত হয় বলে সময় বেশি লাগে।(#২)

উত্তরঃ

উদ্দীপকের আলোকে মনে করি,তিনটি আপেলের ওজন যথাক্রমে a= 150, b= 175, c= 210

ফ্লোচার্ট:

শুরু (#১),

ইনপুট (#২)

শেষ (#৩)

উত্তরঃ

গড় ওজনের
ভিত্তিতে ২০টি আপেলের মোট ওজন নির্ণয়ের জন্য C ভাষায় প্রোগ্রাম নিচে দেওয়া হলো- 

mark distribution :

main (#1), printf (#2),

Average (#3), return #(4)

Question 35- (রাজশাহী বোর্ড ২০১৯)

#include<stdio.h>

# include<conio.h>

main ()

{

int a, s;

s = 0;

for (a=1; a<=30; a+=2)

{

s=s+a;

}

printf(“sum=%d”,s);

getch( );

}

উত্তরঃ

প্রত্যেক প্রোগ্রামিং ভাষার কতকগুলো শব্দ আছে যা ঐ প্রোগ্রামিং এ কাজ করার সময় ব্যবহার করা হয়। এই সকল নির্ধারিত শব্দগুলোকে সংরক্ষিত শব্দ বলা হয়।(#1)

উত্তরঃ

K++ : K++ এর ক্ষেত্রে কম্পাইলার প্রথমে প্রোগ্রামে K এর পুরাতন মান ব্যবহার করে। অতঃপর ভেরিয়েবলের মানের সাথে যথাক্রমে এক যোগ করে। এই নতুন মান পরবর্তী স্টেটমেন্ট ধাপ থেকে কার্যক্রম হয়।(#2)

উত্তরঃ

উদ্দীপকের প্রোগ্রামের আলোকে ফ্লোচার্ট:

 

উত্তরঃ

উদ্দীপকটি একটি ধারার যোগফল নির্ণয়ের প্রোগ্রাম। ধারার যোগফল নির্ণয়ের জন্য যে কোন একটি লুপ স্টেটমেন্ট for, while, do- while, if-goto ব্যবহার করা যায় এবং এর ফলাফল একই আসবে। সুতরাং উদ্দীপকের প্রোগ্রামটি while লুপ ব্যবহার করে তৈরি করা সম্ভব। নিচে প্রোগ্রামটিতে for লুপের পরিবর্তে while লুপ স্টেমেন্ট ব্যবহার করে দেখানো হলো:
# include<stdio.h>

{

main ( )

s=0;
a=1;

while(a<=30)

{

 s=s+a;

a+=2 }

printf (“sum = % d”, s);
return 0;

}

Question 36- (কুমিল্লা বোর্ড ২০১৯)

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

#include<stdio.h>                                               #include<stdio.h>

main()                                                                    main()

{                                                                             {

int a=10, b=15;                                                      int a, b, c;

int c=a+b;                                                              scanf(“%d%d”, &a, &b);

printf(“%d”,c);                                                         c = a + b;

}                                                                              printf(“%d”, c);

                                                                               }

প্রোগ্রাম-১                                                                প্রোগ্রাম-২

উত্তরঃ

c প্রোগ্রামে এমন কিছু মান আছে যেগুলো কোন সময় পরিবর্তিত হয় না। প্রোগ্রামে উল্লেখ করে দিলে সেই মন একই থাকে এবং কোনরূপ পরিবর্তন হয় না। এ সমস্ত মানকে c ভাষায় ধ্রুবক বলে। →#1

উত্তরঃ

scanf(“%”f” &a); স্টেটমেন্টে ইনপুট এর মান গ্রহণের জন্য ব্যবহৃত হয়। প্রোগ্রামটির রান করলে Key board থেকে ইনপুট এর মান গ্রহণ করে। #1

এখানে, “%f” হল float ডেটা টাইপের format specification, &a হল address of a যা float টাইপের a ভেরিয়েবলের মেমোরি লোকেশন।

যেখান ডেটা সংরক্ষিত হবে।#2

উত্তরঃ

প্রোগ্রাম -১ এর প্রবাহ চিত্র নিচে অংকন করে দেখানো হলো:

এখানে,

1.শুরু input a,b পর্যন্ত flowchart লিখলে #1

2.function কি তা পর্যন্ত flowchart লিখলে #2

 

3.function শেষ করে শেষ পর্যন্ত flowchart লিখলে #3

উত্তরঃ

উদ্দীপকে প্রোগ্রামে -১ এ a ও h এর মান নির্দিষ্ট করে দাওয়াতে শুধুমাত্র 10 ও 15 এর যোগফল নির্ণয় করা যাচ্ছে। মান নির্দিষ্ট করার ফলে অন্য কোন মান নেওয়া যাবে না। →#1

অপরদিকে প্রোগ্রাম -২ এ a ও b এর মান কিবোর্ড থেকে দেয়ার ব্যবস্থা আছে।

ফলে প্রোগ্রাম -২ এ একাধিকবার ইচ্ছামত ইনপুট দিয়ে যে ফুল নির্ণয় করা যাবে। →#2

অতএব প্রথম প্রোগ্রামটি স্ট্যাটিক ও দ্বিতীয় প্রোগ্রামটি ডায়নামিক। →#3

তাই প্রোগ্রাম -১ এর থেকে প্রোগ্রাম -২ উত্তম বলে আমি মনে করি।→#4

Question 37- (কুমিল্লা বোর্ড ২০১৯)

মি. X পহেলা ডিসেম্বর ২০১৮ তারিখে চাকুরিতে যোগদান করেন। উক্ত প্রতিষ্ঠানে এমন একটি কমিউনিকেশন মাধ্যম তৈরি করা হয়, যা আলোর গতিতে ডেটা ট্রান্সমিট করতে পারে। মি. X এর চাকুরিটি চুক্তিভিত্তিক হওয়ায় প্রতি 4 (চার) দিন পর পর অফিসে যেতে হয়।

উত্তরঃ

ডেটা কমিউনিকেশন বলতে দুই বা ততোধিক কম্পিউটার পয়েন্টের মধ্যে ডিজিটাল ইনফরমেশন স্থানান্তরের প্রক্রিয়াকে বোঝায়।

উত্তরঃ

ab-c চলকটি শুদ্ধ নয় কারণ চলকে underscore (-) এবং dollar sign ($) ছাড়া অন্য কোনো বিশেষ অক্ষর যেমন- @, #, – ইত্যাদি ব্যবহার করা যায় না। main একটি ইউজার ডিফাইন্ড ফাংশন এবং int একটি ক-ওয়ার্ড তাই এগুলো শুদ্ধ চলক নয়। চলক লিখতে যে কোনো charater বা অক্ষর ব্যবহার করা যায়। তবে, প্রথম অক্ষর অবশ্যই character হতে হবে, সংখ্যা হতে পারবে না, তাই 2abc শুদ্ধ চলক নয়।

উত্তরঃ

উদ্দীপকে কমিউনিকেশন মাধ্যমটি আলোর গতিতে ডেটা ট্রান্সমিট করতে পারে অর্থাৎ কমিউনিকেশন মাধ্যমটি হচ্ছে অপটিক্যাল ফাইবার। নিচে অপটিক্যাল ফাইবারের গঠন বর্ণনা করা হলো-

অপটিক্যাল ফাইবার ক্যাবল তিনটি অংশের সমন্বয়ে গঠিত। অংশ তিনটি হলো- ক. কোর, খ. ক্লাডিং এবং গ. জ্যাকেট।

কোর: সবচেয়ে ভিতরের অংশটি হচ্ছে কোর যা কাচ বা প্লাস্টিকের তৈরি এক বা একাধিক আঁশের সমন্বয়ে গঠিত। কোরের প্রতিসরাংক ক্লাডিং এর প্রতিসরাংকের তুলনায় বেশি হয় ফলে কোরের মধ্য দিয়ে পূর্ণ অভ্যন্তরীণ প্রতিফলনের মাধ্যমে আলোর গতিতে ডেটা ট্রান্সফার হয়। আলোক সিগন্যাল সঞ্চালনের প্রধান কাজটি কোর করে থাকে। কোরের ব্যাস ৪ থেকে 100 মাইক্রোমিটার (µm) পর্যন্ত হয়ে থাকে।

ক্লাডিং: কোরের ঠিক বাইরের স্তরটি হচ্ছে ক্লাডিং (Cladding)। ক্লাডিং এর ব্যাস 125 মাইক্রোমিটার। ক্লাডিং কাচ বা প্লাস্টিকের তৈরি যা কোর থেকে নির্গত আলোক রশ্মি প্রতিফলিত হয়ে পুনরায় কোরে ফেরত পাঠায়।

জ্যাকেট: বাইরের অংশটি হলো জ্যাকেট। যা ক্লাডিং ও কোরকে আবৃত করে রাখে। জ্যাকেট এর ব্যাস 400 মাইক্রোমিটার। (উল্লেখ্য 1 মাইক্রোমিটার = 10−6−6 মিটার)।

উত্তরঃ

মি. x পহেলা ডিসেম্বর ২০১৮ তারিখে চাকুরিতে যোগদান করেন। চাকুরিটি চুক্তিভিত্তিক হওয়ায় প্রতি 4 দিন পর পর অফিস যেতে হয় । অর্থাৎ প্রথম মাসে মি. x যে তারিখগুলোতে অফিস করবে সে তারিখগুলো হলো-

1 5 9 13 17 21 25 29

নিচে এ তারিখগুলো প্রদর্শনের জন্য C ভাষায় প্রোগ্রাম লিখা হলো-

#include<stdio.h>

int main(){

int i, d = 31;

for(i = 1; i <= d; i = 1+4){

    printf(“%d \n”, i);

}

return 0;

}

Note: wW‡m¤^i gvm 31 w`‡b ZvB d = 31 n‡q‡Q| cix¶vq Ab¨ gvm D‡jøL _vK‡j H gv‡mi w`b msL¨v ai‡Z n‡e|

Question 38- (যশোর বোর্ড ২০১৯)

# include<stdio.h>

void main()

{

int i;

for(i= 20; i<=50; i=i + 5)

{

printf(“%d”, i);

}

}

উত্তরঃ

প্রোগ্রামের ধরন ও কার্যপ্রণালি সম্পর্কিত কিছু সংখ্যক নির্দেশ বা স্টেটমেন্টের সমন্বয়কে সুডোকোড বলে।

উত্তরঃ

variable ++ ও ++ variable এক নয়। কারণ-

++ যদি Operator এর পরে থাকে তবে তাকে post increment or postfix. বলে। যেমন: variable + +

+ + যদি Operator এর আগে থাকে তবে তাকে pre increment or prefix বলে। যেমন: ++ variable

উত্তরঃ

উদ্দীপকের for loop স্টেটমেন্টের গঠন:

for (expression 1; expression 2; increment/ decrement)

{

statement;

}

এ স্টেটমেন্টে- (i) Initialization অংশে চলকের একটি প্রাথমিক মান দেওয়া হয়।

(ii) Condition অংশে চলকের চূড়ান্ত মান নির্ধারণের শর্ত দেওয়া থাকে। অর্থাৎ কতবার লুপে আবর্তিত হবে তার শর্ত দেওয়া থাকে।

 

(iii) increment / decrement অংশে চলকের মান হ্রাস-বৃদ্ধি করা হয়।

উত্তরঃ

উদ্দীপকের প্রোগ্রামটি হলো-

এখানে। একটি ইন্টিজার ভেরিয়েবল। for লুপের মধ্যে। এর প্রাথমিক। মান ধরা হয়েছে 20 এবং প্রতিবার 5 করে বৃদ্ধি পাবে। এভাবে বৃদ্ধি পেতে পেতে 50 পর্যন্ত এসে থেমে যাবে।

সবশেষে printf (“%d”, i);

স্টেটমেন্টটি দ্বারা উক্ত চলকের মান আউটপুট দেখাবে।

 

অর্থাৎ, প্রোগ্রামটির আউটপুট হবে 20 25 30 35 40 45 50

Question 39- (যশোর বোর্ড ২০১৯)

#include (stdio.h)

void main()

{

Int i, S = 0;

Printf (“Enter last number=”)

Scanf(“%d”, &n)

I = 10;

while (i<=n)

{

S=S+i

i=i+10

}

Printf(“Sum = %d”,s)

}

উত্তরঃ

কম্পাইলারের যে সকল ফাইলের বর্ধিত নাম (.h) তাদেরকে হেডার ফাইল বলা হয়।

উত্তরঃ  

wm (C)    

wm++ (C++)

1. wm n‡jv GKwU cÖwmwWDivj ‡cÖvMÖvwgs j¨vs¸‡qR| 

1. wm++ n‡jv GKwU Ae‡R± Awi‡q‡›UW ‡cÖvMÖvwgs j¨vs¸‡qR|

2. wiRvf©W Kx Iqv‡W©i msL¨v Kg|

2. wiRvf©W Kx Iqv‡W©i msL¨v ‡ewk|

 

3. wm dvskb Ifvi‡jvwWs Ges dvskb IfviivBwWs mg_©b K‡i bv|

3. wm++ dvskb Ifvi‡jvwWs Ges dvskb IfvivBwWs mg_©b K‡i|

4. cwjgiwdRg Ges Bb‡nwi‡UÝ Ifvi‡jvwWs myweav ‡bB|

4. cwjgiwdRg Ges Bb‡nwi‡UÝ Ifvi‡jvwWs myweav we`¨gvb|

5. wm K¤úvBjvi w`‡q wm++ K¤úvBj Kiv hvq bv|

5. ‡ewikifvM wm++ K¤úvBjvi w`‡q wm K¤úvBj Kiv hvq|

উত্তরঃ

উদ্দীপকের প্রোগ্রামটিতে যেসব বাগ রয়েছে তার নিচে দেওয়া হল –

#Include(stdio.h): Include ও I বড় হাতের ব্যবহৃত হয়েছে এবং stdio.h এ (

) ব্যবহৃত হয়েছে।

print (“Enter last number =”):printf এর P বড় হাতের ব্যবহৃত হয়েছে এবং স্টেটমেন্ট শেষের সেমিকোলন (;)ব্যবহার করা হয়নিScan f(“%d”,n):Scanf এর S বড় হাতের ব্যবহৃত হয়েছে এবং nওf এর মধ্যে ফাঁকা স্পেস রয়েছে। n এর পূর্বে & অপারেটর ব্যবহৃত হয়নি স্টেটমেন্টের শেষে সেমিকোলন (;)ব্যবহৃত হয়নি।

I=10 ; :ভেরিয়েবল i প্রথমে ডিক্লেয়ার করা হয়েছে কিন্তু ব্যবহৃত হয়েছে I.

While(i<n):প্রথমে ভেরিয়েবল n দেখলে আর করা হয়নি।

S=S+i:স্টেটমেন্টের শেষে সেমিকোলন(;) ব্যবহৃত হয়নি।

i=i+10:i:স্টেটমেন্টের শেষে সেমিকোলন(;) ব্যবহৃত হয়নি।

Print &(“sum=℅d”s):Print f এর P বড় হাতের এবং iও এর মধ্যে ফাঁকা স্পেস রয়েছে। ” “এরপরে কমা (,)ব্যবহৃত হয়নি স্টেটমেন্টের শেষে সেমিকোলন (;)ব্যবহৃত হয়নি।

উদ্দীপকের প্রোগ্রাটির ডিবাগিং বা ভূল ঠিক করে লেখা হলো

উত্তরঃ

উদ্দীপক প্রোগ্রামটি goto লুখ দিয়ে বাস্তবায়ন করা হলো:

#include<stdio.h>

     void main ()

{

     int i,S=0;

     printf(“Enter last number=”)

     scanf(“%d”,n);

     i=10;

     again: s=s+i;

     i=i+10

     if(i<=n)goto again;

     printf(“Sum=%d”s);

     return 0;

}

Question 40- (চট্টগ্রাম বোর্ড ২০১৯)

(90)2+(80)2 + (70)2+………….. + (20)2

উত্তরঃ

কি-ওয়ার্ড হলো সি প্রোগ্রামিং ভাষায় ব্যাবহৃত বেশ কিছু সংরক্ষিত শব্দ।#1

উত্তরঃ

সি ভাষায় চলকের নাম কেবল বর্ণ,অংক এবং আন্ডারস্কোর চিহ্ন (_) ব্যবহার করা যায়।তবে নামের প্রথমে অক্ষরটি কোন অংক হতে পারবে না।#১ কিন্তু ‘1number ‘চলকে প্রথম অক্ষরটি অংক ব্যবহার করা হয়েছে। তাই সি ভাষায় ‘1 number’ সঠিক চলক নয়।#2

উত্তরঃ

(90)2+(80)2+(70)2…..(20)2 ধারায় যোগাযোগ নির্ণয়ের আ্যলগরিদম :

ধাপ ১: শুরু কর।

ধাপ ২: n = 20 এর মান ইনপুট করি। #১

ধাপ ৩: যোগফলের জন্য s = 0 এবং চলক i = 90 ব্যবহার করা হয়েছে।

ধাপ ৪: যদি i>20 হয় তাহলে ৫নং ও ৬ নং ধাপে গমন কর; অন্যথায় ৭নং ধাপে গমন কর।

ধাপ ৫: s=s+si*i                        #২

ধাপ ৬: i=i-10(i এর মান হ্রাস করি এবং পুনরায় ৪ নং ধাপে যাও।

ধাপ ৭: s এর মান প্রিন্ট কর।

ধাপ ৮: শেষ কর।

Question 41- (চট্টগ্রাম বোর্ড ২০১৯)

নিচের উদ্দীপকটি পড় এবং প্রশ্নগুলোর উত্তর দাও :

ধাপ-১: প্রোগ্রাম শুরু ।

ধাপ-২: X, Y ও Z এর মান গ্রহণ

ধাপ-৩: সিদ্ধান্ত: X> Y এবং X>Z?

         (i) হ্যাঁ; হলে ধাপ-৪ এ গমন ।

         (ii) না; হলে ধাপ-৫ এ গমন ।

ধাপ-৪: X বড় সংখ্যা ও ছাপ এবং ধাপ-৮ এ গমন ।

ধাপ-৫: সিদ্ধান্ত: Y>Z?

           (i) হ্যাঁ; হলে ধাপ-৬ এ গমন ।

           (ii) না; হলে ধাপ-৭ এ গমন ।

ধাপ-৬: Y বড় সংখ্যা ও ছাপ এবং ধাপ-৮ এ গমন ।

ধাপ-৭: Z বড় সংখ্যা ও ছাপ।

ধাপ-৮: প্রোগ্রাম শেষ ।

উত্তরঃ

সি ভাষায় মেমোরিতে ডেটা সংরক্ষণ করতে যে নাম ব্যাবহৃত হয় তাকে বলা হয় চলক।(#১)

উত্তরঃ

math.h একটি লাইব্রেরি হেডার ফাইল।এটি একটি নির্দিষ্ট নামে লাইব্রেরিতে জমা থাকে এবং প্রয়োজনে সেই ফাংশন এর জন্য নির্ধারিত কাজগুলো করা যায়।(#১)। এ ফাংশনগুলো প্রোগ্রামে একাধিক বার ইচ্ছামত ব্যবহার করা যায়।math.h হেডার ফাইলের ফাংশনগুলো হলো sqrt (), pow(), sin(), cos(), tan()।(#২)

উত্তরঃ

নিচের ফ্লোচার্টটি নিম্নরূপ:

Mark distribution:

ইনপুট (#১)

হ্যাঁ,না (#২)

 

শেষ (#৩)

উত্তরঃ

উদ্দীপকের আলোকে প্রোগ্রামটি নিম্নরূপ :

নিচে, আরে ব্যবহারের সার্থকতা যাচাই করা হলো:

১. সমজাতীয় অনেকগুলো ডেটাকে একটিমাত্র চলক দ্বারা প্রকাশ করা যায়।

২. এটি প্রোগ্রামের জটিলতা কমায়।

৩. প্রোগ্রামকে সুন্দর করে।

৪. আ্যরে ব্যবহার করে সহজ।

Mark distribution:

Main(#1)

Printf (#2)

Return (#3)

সার্থকতা যাচাই (#4)

Question 42- (বরিশাল বোর্ড ২০১৯)

#include<stdio.h>

void main()

{

int i,s=0;

for (i=7; i<=70; i=i+7)

s = s+i;

printf(“%d”, s);

}

উত্তরঃ

অনুবাদক প্রোগ্রাম হল বিভিন্ন ভাষায় লেখা প্রোগ্রামকে মেশিন করে রুপান্তর করার জন্য বিশেষ প্রোগ্রাম।

উত্তরঃ

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

উত্তরঃ

উদ্দীপকের আলোকে ধারাটি হবে 7+14+21+……+70ধারার যোগফল নির্ণয়ের ফ্লোচার্ট :

উত্তরঃ

উদ্দীপকের প্রোগ্রামটি do…while লোভ দিয়ে এমন ভাবে রচনা করা হলো যাতে i- এর সর্বোচ্চ তুলনীয় মান ইচ্ছামত দিতে পারবে।

#include

     int main ()

{

     int i=7, s, N;

     printf(“Enter the largest numbers:”);

     scanf(“%d”,&N);

     do

     {

     s=s+i;

     i=i+7;

     }

     while (i<=N);

     printf(“%d”, s);

     return 0;

}

Question 43- (সিলেট বোর্ড ২০১৯)

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

int i,n,sum ;

printf(“Enter the value of n:”);

scanf(“%d”, &n);

sum=0;

for(i=1; i<=n; i++)

{ if(i==3) continue;

sum=sum+pow(i,2);

}

printf(“\nResult=%d”, sum);

getch();

}

উত্তরঃ

প্রোগ্রাম লিখে নির্বাহ করার সময় যে ভুল প্রর্দশন করে তখন তাকে রান টাইম এরর বলে।

উত্তরঃ

চলকের নামে আন্ডারস্কোর ব্যবহার করা যাবে। কারণ- চলকের নামকরণের মধ্যে মৌলিক কিছু সীমাবদ্ধতা ও নিয়ম-কানুন রয়েছে। এর মধ্যে একটি হলো চলকের প্রথম অক্ষরটির নামকরণে কেবল আলফাবেটিক ক্যারেক্টার (a… z, A… Z), ডিজিট (09) এবং আন্ডারস্কোর (−)(−) ও ডলার চিহ্ন ($) ব্যতীত অন্য কোন ক্যারেক্টার ব্যবহার করা যায় না। যেমন- int Roll-10; এখানে- চিহ্নের ব্যবহার বৈধ নয় কিন্তু int Roll_10 একটি বৈধ চলক।

উত্তরঃ

উদ্দীপকে উল্লিখিত প্রোগ্রামটির অ্যালগরিদম নিচে দেওয়া হলো:

ধাপ-১: শুরু করি।

ধাপ- ২: n এর মান ইনপুট করি।

ধাপ-৩: যোগফলের জন্য s = 0 এবং চলক i = 1 ব্যবহার করা হয়েছে।

ধাপ-৪: যদি i<=n হয় তাহলে ৬নং ধাপে গমন করি; অন্যথায় ৮নং ধাপে গমন করি।

ধাপ- ৫: যদি i==3 হয় তাহলে continue স্টেটমেন্টের কারণে i==3 এরিয়ে যাবে এবং পুণরায় ৪ নং ধাপে গমণ করবে।

ধাপ-৬: s=s+ii

ধাপ-৭: i= i+1 হলে ৮নং ধাপে যাই।

ধাপ- ৮: যোগফল প্রিন্ট করি।

 

ধাপ-৯: শেষ করি।

উত্তরঃ

উদ্দীপকের প্রোগ্রামের ধারাটির প্রথম পদ ধরা হয়েছে i=1, প্রতি পদের বৃদ্ধি i++ অর্থাৎ 1 এবং শেষ পদ n। সুতরাং ধারাটি হবে, · 12 + 22 +32 + 42 +52 + …..+n2

লুপের সাধারণ ফ্লো (flow) পরিবর্তন করার জন্য প্রোগ্রামিং-এ continue স্টেটমেন্ট ব্যবহৃত হয়। লুপের ভিতরের কিছু স্টেটমেন্টকে মাঝে মধ্যে এড়িয়ে যাওয়ার প্রয়োজন হয়। এক্ষেত্রে continue স্টেটমেন্ট ব্যবহৃত হয় ।

এখানে,

for(i=1; i<n; i++)

{

if( i == 3 ) continue;

sum=sum+ pow(i,2);

}

লুপের মধ্যে if(i==3) continue; ব্যবহৃত হওয়ায় লুপের পরবর্তী কাজ না করে লুপের শুরুতে গিয়ে কাজ আরম্ভ করবে। ফলে প্রোগ্রাম 32 পদটিকে যোগ না করে । ভেরিয়েবলের মান 4 করে লুপের পুনরাবৃত্তি করবে।

n এর মান 5 হলে উদ্দীপকের প্রোগ্রামটি 12 হতে 42 (32 বাদে) পর্যন্ত ভেরিয়েবলের মান যোগ করবে। অর্থাৎ 12+22+42 এর যোগফল নির্ণয় করবে।

সুতরাং প্রোগ্রামটির আউটপুট হবে,

1+4+16=21 

Question 44- (দিনাজপুর বোর্ড ২০১৯)

গণিত শিক্ষক ক্লাসে গিয়ে বৃত্তের ক্ষেত্রফল নির্ণয় করার পদ্ধতি শিখালেন। পরবর্তীতে আইসিটি শিক্ষক 3 + 6 + 9 +……+ N সিরিজটির যোগফল প্রোগ্রামিং এর মাধ্যমে শিখালেন। শিক্ষার্থীরা বিষয়গুলো ভালোভাবে বুঝে ক্লাস শেষে বাড়ি চলে গেল ।

উত্তরঃ

কোনো কাজ সম্পাদনের ক্ষেত্রে কতকগুলো যৌক্তিক সিদ্ধান্তের মাধ্যমে পর্যায়ক্রমে কাজ সম্পাদনের পরিকল্পনা করা হয়, এ ধরনের পরিকল্পনা হলো অ্যালগরিদম।

উত্তরঃ

অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার সুবিধাজনক কারণ-

১. কম্পাইলার সম্পূর্ণ প্রোগ্রাম এক সাথে অনুবাদ করে ফলে প্রোগ্রাম নির্বাহের গতি দ্রুত হয়।

২. কম্পাইলারের মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন ভাষায় রূপান্তরিত হয়। ফলে একবার প্রোগ্রাম কম্পাইল করা হলে পরবর্তিতে আর কম্পাইল করার কোনো প্রয়োজন হয় না।

৩. প্রোগ্রামে কোনো ভুল থাকলে তা মনিটরে একসাথে প্রদর্শন করে। ভুল সংশোধন করার পর প্রোগ্রাম নির্বাহে কম সময় লাগে।

উত্তরঃ

গণিত শিক্ষক ক্লাসে বৃত্তের ক্ষেত্রফল নির্ণয় করার পদ্ধতি শিখালেন। নিচে বৃত্তের ক্ষেত্রফল, নির্ণয়ের প্রবাহচিত্র অঙ্কন করা হলো-

উত্তরঃ

আইসিটি শিক্ষক 3+6+9+……….+ N সিরিজটির যোগফল প্রোগ্রামিং এর মাধ্যমে শিখালেন। নিচে সিরিজটি ‘সি’ ভাষায় লিখা হলো-

#include<stdio.h>

main ()

{

int i, N, s = 0;

printf(“Enter the number of N : “);

scanf(“%d”, &N);

for (i=3; i<=N;i=i+3)

{

s=s+i;

}

printf(“sum = %d”, s);

 

}

Question 45- (ঢাকা,যশোর,সিলেট,দিনাজপুর বোর্ড ২০১৮)

বার্ষিক ক্রীড়া প্রতিযোগিতায় একাদশ শ্রেণির শিক্ষার্থীদের A, B ও C দলে বিভক্ত করা হয় । রোল নম্বর 1 থেকে 30 পর্যন্ত A দলে, 31 থেকে 60 পর্যন্ত B দলে এবং 61 থেকে 100 পর্যন্ত C দলে অন্তর্ভুক্ত হবে ।

উত্তরঃ

মেশিন ভাষায় লেখা প্রোগ্রামকে বলা হয় অবজেক্ট প্রোগ্রাম বা বস্তু প্রোগ্রাম।

উত্তরঃ

এসি ভাষায় সাধারণত সব প্রোগ্রাম ছোট হাতের অক্ষরে লেখা হয়। অর্থাৎ সি প্রোগ্রামে ছোট হাতের অক্ষর ও বড় হাতের অক্ষরের মধ্যে পার্থক্য পরিলক্ষিত হয়। এজন্য সি ল্যাংগুয়েজকে case sensitive ভাষাও বলা হয়।

উত্তরঃ

সি ভাষার কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে দল গঠনের প্রোগ্রাম নিচে দেখানো হলো –

#include<stdio.h>

int main ()

{

int roll;

printf (“Enter Roll Number =”);

scanf(“%d”,&roll);

if(roll>=1&& roll<=30)

printf(“Roll%d is in group A.\n”,roll);

else if (roll>31&& roll <60)

printf(“Roll%d is in group B.\n”,roll);

else if (roll>61&& roll<100)

printf(“Roll%d is in group C.\n”,roll);

else

printf(“Roll %d is Invalid.\n”.roll);

return 0;

}

Question 46- (রাজশাহী,কুমিল্লা,চট্টগ্রাম,বরিশাল বোর্ড ২০১৮)

#include<stdio.h>

#include < conio.h>

int main ()

{

int i. Sum, n;

Clrser ( ) ;

Print f(“Enter the value of n = “);

Scanf(“%d”, & n);

Sum = 0;

for (i=1;i<=n;i++)

Sum = Sum + i;

Printf(“\n\sum of all numbers from 1 to %d is = %d”,n, Sum);

getch ( );

return 0 () ;

উত্তরঃ

মেমোরি অ্যাড্রেস সরাসরি ব্যবহার না করে একটি নাম দিয়ে ঐ নামের অধীনে ডেটা রাখা হয়। ঐ নামই চলক।

উত্তরঃ

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

উত্তরঃ

উদ্দীপকের প্রোগ্রামটির অ্যালগরিদম নিচে দেওয়া হলো-

ধাপ-১: শুরু কর।

ধাপ-২: n এর মান গ্রহণ কর।

ধাপ-৩ : ধরি, Sum = 0 এবং i = 1

ধাপ-৪: যদি i <= n হয় তাহলে ৫ নং ও ৬ নং ধাপে গমন কর; অন্যথায় ৭ নং ধাপে গমন কর।

ধাপ-৫: Sum = Sum + i

ধাপ-৬: i=i+1 (i এর মান বৃদ্ধি কর এবং পুনরায় ৪ নং ধাপে যাও।)

ধাপ-৭: যোগফল প্রিন্ট কর।

ধাপ-৮: শেষ কর।

উত্তরঃ

উদ্দীপকের কোডে ব্যবহৃত লুপের পরিবর্তে do while লুপ ব্যবহার করে প্রোগ্রামটি নিচে দেখানো হলো-

Question 47- ()

উত্তরঃ

 

উত্তরঃ

 

উত্তরঃ

 

 

উত্তরঃ

 

Question 48- (ঢাকা বোর্ড ২০১৭)

১২-৮-২০১৬ তারিখে আইসিটি শিক্ষক ক্লাসে বর্তমানে আমরা কম্পিউটারের সাহায্যে সাধারণ সমস্যা সমাধানের জন্য যে প্রজন্মের প্রোগ্রামিং ভাষা ব্যবহার করি তা কম্পিউটারকে বোঝানোর প্রোগ্রাম সম্পর্কে আলোচনা করছিলেন এবং বলেছিলেন আগামী ক্লাসে কতকগুলো সিরিজের সংখ্যার যোগফল সি প্রোগ্রামিং ভাষার সাহায্যে বের করার প্রোগ্রাম শিখাবেন। তাই তিনি পরবর্তী ক্লাসে এসে ব্লাকবোর্ডে 221 + 223 + 225 +…… + N সিরিজ লিখে আলোচনা শুরু করলেন ।

উত্তরঃ

অ্যারে হলো একই ডেটা টাইপের কতকগুলো ভেরিয়েবল সেট।

উত্তরঃ

চলক বা ভেরিয়েবল তৈরির ক্ষেত্রে কিছু বিধিবদ্ধ নিয়ম কানুন রয়েছে। নিচে তা ব্যাখ্যা করা হলো।

১.চলকের প্রথম অক্ষর অবশ্যই আলফাবেটিক ক্যারেক্টার হবে। চলক নাম ডিজিট বা অঙ্ক দিয়ে শুরু হতে পারে না। যেমন- Roll -1 বৈধ চলক কিন্তু 1 Roll অবৈধ ।

২. চলকের মধ্যে স্পেশাল ক্যারেক্টর আন্ডারস্কোর চিহ্ন ব্যবহার করা যায়। আন্ডারস্কোর ব্যতীত অন্য কোনো স্পেশাল ক্যারেক্টার ব্যবহার করা যায় না।

৩. একই ফাংশনে একই নামে দুই বা ততোধিক চলক ঘোষণা করা যায় না।

৪. চলক নামের মধ্যে কোনো ফাঁকা স্থান থাকবে না ।

উত্তরঃ

উদ্দীপকের উল্লেখিত সিরিজের যোগফল নির্ণয়ের জন্য C ভাষায় প্রোগ্রাম নিচে দেখানো হলো-

# include <stodio.h>

#include <conio.h>

main ( )

{

int i,sum;

sum=0;

printf(“Value of N”);

scanf(“% d”, & N);

for ( i =221; i<=N; i = i+2)

{

Sum = Sum+ i;

}

print(“%d”,sum);

getch();

}

উত্তরঃ

উদ্দীপকে উল্লিখিত তারিখে আইসিটি শিক্ষক আলোচ্য প্রোগ্রামের মধ্যে যে দুটি প্রোগ্রামিং ভাষা সম্পর্কে আলোচনা করেছিলেন তা হলো :

  1. মেশিন ভাষা বা যান্ত্রিক ভাষা;
  2. উচ্চতর ভাষা বা হাই লেভেল ল্যাংগুয়েজ।

কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি নিম্নস্তরের ভাষা । এটি কম্পিউটারের মৌলিক ভাষা। এই ভাষায় শুধুমাত্র ০ এবং ১ ব্যবহার করা হয় বলে এই ভাষায় দেওয়া কোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। মেশিন ভাষার সাহায্যে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায় ।

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

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

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

উপরের বর্ণনা থেকে বলা যায় উল্লিখিত তারিখে আইসিটি শিক্ষকের আলোচ্য মেশিন ভাষা ও উচ্চতর ভাষা প্রোগ্রামের মধ্যে উচ্চতর ভাষা। ঐ প্রোগ্রামটি বেশি উপযোগী ।

Question 49- (রাজশাহী বোর্ড ২০১৭)

ধারাটি দেখ এবং নিচের প্রশ্নগুলোর উত্তর দাও : 10, 20, 30, ………., 100

উত্তরঃ

প্রোগ্রাম হলো কোনো সমস্যা সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে কতকগুলো কমান্ড বা নির্দেশের সমষ্টি।

উত্তরঃ

printf (“%d %x; &a, &b);

এখানে, printf স্টেটমেন্টটি আউটপুট ফাংশন। printf () ফাংশনটি বিভিন্ন ডেটা টাইপের ‘পরিবর্তনশীল ডেটা ফলাফল হিসেবে প্রদর্শন করে। সি প্রোগ্রামে ফরম্যাটে স্পেসিফায়ারে চলকের মান গ্রহণ এবং প্রদর্শনের জন্য ব্যবহৃত হয়।

এখানে ফরম্যাট স্পেসিফায়ার হচ্ছে %d, % x, %d, int টাইপ মানের ফলাফল a নামক চলকে প্রদর্শন করবে এবং %x হচ্ছে হেক্সাডেসিমেল টাইপ মান। যা চ ভেরিয়েবলে ফলাফল প্রদর্শন করবে। &a 3 &b হলো যথাক্রমে Address of a এবং Address of b. যা নির্দেশ করে ইন্টিজার টাইপের a ও b চলকের মেমোরি লোকেশন যেখানে ডেটা সংরক্ষিত হবে।

উত্তরঃ

উদ্দীপকের ধারাটি তৈরির প্রোগ্রামের প্রবাহচিত্র নিচে দেওয়া হলো:

উত্তরঃ

if-goto ব্যবহার করে উদ্দীপকের মত আউটপুট পাওয়ার জন্য সি ভাষায় প্রোগ্রাম নিচে দেওয়া হলো।

Question 50- (রাজশাহী বোর্ড ২০১৭)

মায়ের বয়স পুত্রের বয়সের তিনগুণ। পিতার বয়স মায়ের বয়স অপেক্ষা 5 বছর বেশি। পুত্রের বয়স x বছর ।

উত্তরঃ

ডেটা সিকিউরিটির জন্য ডেটাকে এনক্রিপ্ট করা হয় অর্থাৎ নিরাপত্তার জন্য বিশেষ কোড ব্যবহার করা হয়। অননুমোদিত ব্যক্তি বা প্রতিষ্ঠানের ব্যবহার থেকে ডেটাকে নিরাপদ রাখাই ডেটা এনক্রিপশন।

উত্তরঃ

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

উত্তরঃ

উদ্দীপক অনুসারে,দেওয়া আছে,

পুত্রের বয়স x বছর

মাতার বয়স = 3x বছর .. পিতার বয়স মায়ের বয়স অপেক্ষা 5 বছর বেশি। .. পিতার বয়স = (3x + 5) বছর ধরি, মাতার বয়স, M = 3x বছর পিতার বয়স, P = 3x + 5 বছর ‘মাতা ও পিতার বয়স নির্ণয় অ্যালগরিদম নিম্নে দেওয়া হলো :

অ্যালগরিদম :

ধাপ-১: প্রোগ্রাম শুরু করি।
ধাপ-২: ইনপুট হিসেবে পুত্রের বয়স x বছর নেই।
ধাপ-৩: মাতর বয়স, M = 3x বছর এবং পিতার বয়স, P = 3x + 5 বছর নির্ণয় করি।
ধাপ-৪: মাতার বয়স M এবং পিতর বয়স P ছাপাই।
ধাপ-৫ : প্রোগ্রাম শেষ করি।

উত্তরঃ

উদ্দীপক হতে,

পুত্রের বয়স = x বছর

মাতার বয়স, M = 3x বছর

পিতার বয়স, P = 3x + 5

.. তিনজনের বয়সের সমষ্টি, S = x + 3x +3x+5 = (7x + 5) বছর

.. উদ্দীপকে উল্লিখিত পিতা, মাতা ও পুত্রের একত্রে বয়সের সমষ্টির

সি ভাষায় প্রোগ্রামটি নিচে দেওয়া হলো:

Question 51- (যশোর বোর্ড ২০১৭)

32+72+112+……. +n2

উত্তরঃ

মেমোরি অ্যাড্রেস সরাসরি ব্যবহার না করে একটি নাম দিয়ে ১ নামের অধীনে ডেটা রাখা হয়। ঐ নামই চলক।

উত্তরঃ

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

উত্তরঃ

উদ্দীপকের ধারাটির যোগফল নির্ণয়ের অ্যালগরিদম :

ধাপ-১: প্রোগ্রাম শুরু করি।

ধাপ-২: ইনপুট হিসেবে n এর মান গ্রহণ করি।

ধাপ-৩: s = 0, i = 3 ধরি।

ধাপ-৪: s=s+i* i, i=i+4 নির্ণয় করি।

ধাপ-৫ : যদি i <= n হয় তবে ৪ নং ধাপে যাই।

ধাপ-৬ : s এর মান ছাপাই।

ধাপ-৭ : প্রোগ্রাম শেষ করি।

উত্তরঃ

উদ্দীপকের ধারাটির ৩০টি পদের যোগফল নির্ণয়ের জন্য C ভাষায় for loop ব্যবহার করে প্রোগ্রাম:

#include <stdio.h>

int main ()

{

int i,s=0;

for (i=3;i<=30;i=i+4)

{

s=s+i*i

}

printf(“The sum is=%d,s);

return 0;

}          

Question 52- (যশোর বোর্ড ২০১৭)

ধাপ-১: প্রোগ্রাম শুরু

ধাপ-২ : তিনটি সংখ্যা a, b, c এর মান গ্রহণ কর।

ধাপ-৩: a কি b ও c এর চেয়ে বড়?

       ক. হ্যাঁ

          ফলাফল ছাপাও: a বড় এবং ৬ নং ধাপে যাও।

       খ. না

ধাপ-৪: b কি c এর চেয়ে বড়?

       ক. হ্যাঁ

          ফলাফল ছাপাও: b বড় এবং ৬নং ধাপে যাও

       খ. না

ধাপ-৫: ফলাফল ছাপাও: c বড়

ধাপ-৬: প্রোগ্রাম শেষ কর।

উত্তরঃ

কম্পাইলার হলো এক ধরনের অনুবাদক যা হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে।

উত্তরঃ

সি প্রোগ্রাম main() ফাংশনকে ঘিরে আবর্তিত হয়। এর দুটি অংশ রয়েছে। ঘোষণা অংশ (Declarative part), যেখানে বিভিন্ন টাইপের ভেরিয়েবল, অ্যারে, পয়েন্টার ফাইল ইত্যাদি ঘোষণা করা কমপক্ষে ১টি স্টেটমেন্ট থাকতে হয় এবং এর উভয় অংশের প্রত্যেক স্টেটমেন্টের শেষে সেমিকোলন (:) থাকতে হবে। এ ফাংশনের সম্পূর্ণ অংশে দ্বিতীয় বন্ধনী বা {} দ্বারা।

উত্তরঃ

উদীপকে উল্লিখিত সমস্যাটির প্রবাহ চিত্রের মাধ্যমে নিচে দেখানো হলো :

উত্তরঃ

তিনটি সংখ্যার গড় নির্ণয়ের জন্য উদ্দীপকে উল্লিখিত অ্যালগরিদমটির পরিবর্তন অবশ্যই আরশ্যক। নিচে তা দেওয়া হলো: অ্যালগরিদম :

ধাপ-১: প্রোগ্রাম শুরু করি।

ধাপ-২: ইনপুট হিসেবে a, b এবং c এর মান গ্রহণ করি।

ধাপ-৩: avg = (a + b + c)/3 সূত্র ব্যবহার করে avg এর মান নির্ণয় করি।

ধাপ-৪: avg এর মান ছাপাই।

ধাপ-৫ : প্রোগ্রাম শেষ করি।

Question 53- (কুমিল্লা বোর্ড ২০১৭)

22+42+62+……+802

উত্তরঃ

যে প্রোগ্রাম উৎস প্রোগ্রামকে মেশিনের ভাষা বা যন্ত্র ভাষায় অনুবাদ করে বস্তু প্রোগ্রামে রূপান্তরিত করে সে প্রোগ্রামই হলো অনুবাদক প্রোগ্রাম ।

উত্তরঃ

কম্পাইলারের সীমাবদ্ধতার কারণে চলকের নামকরণের সময় কিছু নিয়ম মেনে চলতে হয়। যেমন—

১. চলকের প্রথম বর্ণটি অবশ্যই আলফাবেটিক বর্ণ (a…….Z, A … Z) হতে হবে ।

২. একই ফাংশনে একই নামে একাধিক চলক ঘোষণা করা যাবে না।

৩. চলকের নামের মাঝে কোনো ফাকা স্থান থাকতে পারে না।

৪. চলকের মান সংখ্যা বা ডিজিট দিয়ে শুরু হতে পারে না ইত্যাদি ।

উত্তরঃ

উদ্দীপকে ব্যবহৃত সিরিজটির ফ্লোচার্ট নিচে আঁকা হলো-

উত্তরঃ

উদ্দীপকে যে সিরিজটি উল্লেখ আছে তার প্রোগ্রাম রচনার ক্ষেত্রে For এবং do while লুপ ব্যবহারের পার্থক্য রয়েছে। নিচে দুটি লুপের মাধ্যমে সিরিজটির প্রোগ্রাম রচনা করে এদের মধ্যে সার্বিক পার্থক্য তুলে ধরা হলো-

  1. For লুপ ব্যবহার :

#include <stdio.h>

#include<conio.h>

main ()

{

int n = 80, S,i;

S = 0;

for (i= 2; i<80; i = i +2)

{

S=S+ i*i;

}

printf(“sum-%d”, S);

getch ( );

}.

 

 

  1. do while লুপ ব্যবহার :

#include <stdio.h>

#include <conio.h>

main ()

{

int n = 80, S, i;

S = 0;

i=2;

do

{

S=S+i*i;

i = i +2;

}

while (i < 80);

printf(“sum-%d”, S);

getch ( );

}

Question 54- (কুমিল্লা বোর্ড ২০১৭)

রহিম ও করিম প্রোগ্রামার। দু’জনের প্রোগ্রাম তৈরির পদ্ধতি দু’ধরনের। রহিমের প্রোগ্রাম ভুল সংশোধন করে সম্পূর্ণ প্রোগ্রাম পড়ার পর আর করিমের প্রোগ্রাম ভুল সংশোধন করে প্রতিটি লাইন পৃথক পৃথকভাবে । অপরদিকে কাব্য প্রোগ্রাম লেখার জন্য ইংরেজি শব্দ বহার করে ।

উত্তরঃ

কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলোর বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামের ভাষা বলে । মূলত কম্পিউটারকে দিয়ে কাজ করানোর জন্য তৈরি ভাষাই হচ্ছে প্রোগ্রামিং ভাষা ।

উত্তরঃ

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

উত্তরঃ

উদ্দীপকের বর্ণনা মতে কাব্যের প্রোগ্রাম লেখার ভাষা হলো উচ্চ স্তরের ভাষা বা হাই লেভেল ল্যাঙ্গুয়েজ। মেশিন ও অ্যাসেম্বলি ভাষায় এক কম্পিউটারের জন্য রচিত প্রোগ্রাম অন্য কম্পিউটারে ব্যবহার করা যায় না। তাছাড়া লো লেভেল ভাষায় প্রোগ্রাম লেখা কষ্টকর ও সময়সাধ্য ব্যাপার। কম্পিউটার এর পক্ষে লো লেভেল ভাষা বোঝা সহজ হলেও মানুষের পক্ষে বোঝা কঠিন। এ ধরনের সমস্যা থেকে উত্তরণের জন্য উচ্চতর ভাষার উদ্ভব হয়। মানুষের কাছাকাছি ভাষা হলো হাই লেভেল ভাষা। হাই লেভেল ভাষা মানুষ সহজেই লিখতে, পড়তে ও বুঝতে পারে। এটি ইংরেজি ভাষায় লেখা হয়। যেমন- C++, BASIC, PASCAL ইত্যাদি উচ্চস্তরের ভাষা ।

উদ্দীপকের কাব্য যে প্রোগ্রামটি লিখেছে তাও ইংরেজি ভাষায় । তাই এটি স্পষ্ট যে, কাব্যের প্রোগ্রাম লেখার ভাষা উচ্চস্তরের ভাষা ।

উত্তরঃ

উদ্দীপকের রহিম এবং করিমের প্রোগ্রাম নির্বাহের ক্ষেত্রে রহিমের প্রোগ্রামটি দ্রুত গতিসম্পন্ন ।

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

কিন্তু ইন্টারপ্রেটার প্রোগ্রামের এক লাইন করে পড়ে এবং ঐ লাইনের ভুল প্রদর্শন করে। লাইনটি শেষ করে পরবর্তী লাইনে যায়। এভাবে প্রতিটি লাইনের কাজ করতে বা নির্বাহে প্রচুর সময় লাগে তাই বলা যায় যে, প্রোগ্রাম নির্বাহের ক্ষেত্রে রহিমের প্রোগ্রামটি দ্রুতগতি সম্পন্ন ।

Question 55- (চট্টগ্রাম বোর্ড ২০১৭)

বাংলাদেশ ও নিউজিল্যান্ড ক্রিকেট খেলায় টসে জিতে বাংলাদেশ প্রথম ‘ব্যাট করে। বাংলাদেশের ব্যাটিং-এর পর দেখা গেল সাবেরের রান সংখ্যা a. মনিরের রান সংখ্যা b এবং মিজানের রান c। সকলেই আশা করে বাংলাদেশ জিতবে।

উত্তরঃ

কম্পাইলার হলো এক ধরনের অনুবাদক প্রোগ্রাম যা উচ্চস্তরের উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে রূপান্তর করে ।

উত্তরঃ

16 bit বা 2 byte এর উপরে যে কোনো পূর্ণসংখ্যার ক্ষেত্রে integer এর পরিবর্তে long integer ব্যবহার করতে হয়। integer শুধু 2 byte বা 16 bit এর মধ্যে যে কোনো পূর্ণসংখ্যার ক্ষেত্রে ব্যবহার করা যায়। উদাহরণ সি প্রোগ্রামে পূর্ণসংখ্যা integer এর ক্ষেত্রে ভেরিয়েবলের রেঞ্জ হচ্ছে -32768 →32767। এই রেঞ্জের উপরে গেলে long integer ব্যবহার করতে হয়।

উত্তরঃ

উদ্দীপক থেকে দেখা যায় যে, সাবেরের রানের সংখ্যা a, মনিরের b এবং মিজানের c। তাদের তিন জনের রানের গড় নির্ণয় করার জন্য  নির্দিষ্ট ফ্লোচার্ট নিচে তৈরি করা হলো :

উত্তরঃ

উদ্দীপকের ৩ জন খেলোয়াড়ের মধ্যে সর্বোচ্চ রান সংগ্রাহক তথা সর্বোচ্চ রান সংখ্যা নির্ণয়ের জন্য যথোপযুক্ত সি-প্রোগ্রাম নিচে তৈরি করা হলো :

#include<stdio.h>

#include<conio.h>

main ()

{

int a, b, c ;

scanf (” %d %d %d”, &a, &b, &c);

if ((a>b) & & (a > c));

printf(“%d”, a);

else if ((b > a) & & (b> c));

printf(“%d”, b);

else

printf (“%d”, c);

getch ( );

}

Question 56- (সিলেট বোর্ড ২০১৭)

#include<stdio.h>

# include <conio.h>

main ()

{

int i. s = 0;

for(i=1;i<=100; i++)

s = s+i;

printf(“Total is %d”, s);

getch ( ) ;

}

উত্তরঃ

যে অনুবাদক প্রোগ্রাম সম্পূর্ণ উৎস প্রোগ্রামকে এক সাথে অনুবাদ করে বস্তু প্রোগ্রামে পরিণত করে এবং প্রোগ্রামের ভুলগুলো এক সাথে প্রদর্শন করে তাই কম্পাইলার।

উত্তরঃ

সি ভাষায় সাধারণত সব প্রোগ্রাম ছোট হাতের অক্ষরে লেখা হয়। অর্থাৎ সি প্রোগ্রামে ছোট হাতের অক্ষর ও বড় হাতের অক্ষরের মধ্যে পার্থক্য পরিলক্ষিত হয়। এজন্য সি ল্যাংগুয়েজকে গ্রেট sensitive ভাষাও বলা হয়।

উত্তরঃ

উদ্দীপকের প্রোগ্রামটির প্রবাহ চিত্র নিচে অঙ্কন করা হলো-

উত্তরঃ উদ্দীপকের কোডে ব্যবহৃত for লুপের পরিবর্তে do লুপ ব্যবহার করে একই ফলাফল পাওয়া যাবে। do লুপ ব্যবহার করে কোডটি নিচে দেখানো হলো- #include < stdio.h >
main( )
{
int s=0,i;
i=1;
do
{
s = s + i;
i++;
} while(i<=100);
printf(“Total is=%d”,s);
}

Question 57- (বরিশাল বোর্ড ২০১৭)

নাফিজা ম্যাডাম ICT ক্লাসে প্রোগ্রামের ভাষা নিয়ে আলোচনা করছিলেন। তিনি বললেন অনেক আগে 0 ও 1 ব্যবহারে করে প্রোগ্রাম লেখা হতো। বর্তমানে C প্রোগামিং ভাষাটি খুবই জনপ্রিয়। তিনি C ভাষার উপর বিশদ ক্লাস নিয়ে ছাত্র-ছাত্রীদের 6 এবং 12 সংখ্যা দুটির ল.সা.গু. নির্ণয়ের জন্য C ভাষায় একটি প্রোগ্রাম লিখতে বললেন ।

উত্তরঃ

4GL এর পূর্ণরূপ 4th Generation Language। যা অতি উচ্চস্তরের মুক্ত প্রকৃতির ভাষা।

উত্তরঃ

যে ফাইলে লাইব্রেরি ফাংশনগুলোর প্রোটোটাইপ বর্ণিত থাকে তাকে C প্রোগ্রামিং ভাষায় ফাংশনের হেডার ফাইল বলে। C ভাষায় হেডার ফাইল প্রোগ্রামের আবশ্যকীয় অংশ। এজন্য C প্রোগ্রামে সি প্রোগ্রাম কোনো লাইব্রেরি ফাংশন ব্যবহার করলে প্রোগ্রামের শুরুতেই include প্রিপ্রসেসিং ডিরেক্টিভ এর সাহায্যে সংশ্লিষ্ট হেডার ফাইল সংযুক্ত করতে হয়।

উত্তরঃ

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

উত্তরঃ

6 এবং 12 সংখ্যা দুটির ল.সা.গু নির্ণয়ের জন্য C ভাষায় প্রোগ্রামটি নিচে দেওয়া হলো-

#include<stdio.h>

int main()

{

int
a,b,i,hcf=1,lcm;

printf (“Enter the two integer numbers:”);

scanf (“%d %d”,&a,&b);

for(i=1;i<=a && i<=b;i++)

{

if (a%i==0 && b%i==0)

     hcf=i;

}

lcm=(a*b)/hcf;

printf(“LCM of
%d & %d is %d”,a,b,lcm);

return 0;

}

Question 58- (বরিশাল বোর্ড ১৭)

#include<stdio.h>

main ()

{

int SUM, N;

printf (“Enter the last number”);

scanf (“%d”, % N);

SUM = 0;

for (i=1; i ≤ N; i=i+3)

{

SUM = SUM + i;

}

printf(“Result : %d,” SUM);

}

উত্তরঃ

গ্রিক শব্দ সুডো (Pseudo) মানে মিথ্যা বা ছদ্ম। অর্থাৎ যা সত্য নয়। সুডোকোড হচ্ছে সেই কোড যা কোনো কোড নয়, কিন্তু প্রোগ্রাম রচনার সময় প্রোগ্রামকে বোঝার সুবিধার্থে ব্যবহার করা হয়।

উত্তরঃ

অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী এর কারণ নিম্নরূপ:

১.কম্পাইলার সম্পূর্ণ প্রোগ্রাম এক সাথে অনুবাদ করে ফলে প্রোগ্রাম নির্বাহের গতি দ্রুত হয়।

২. কম্পাইলারের মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন ভাষায় রূপান্তরিত হয়। ফলে একবার প্রোগ্রাম কম্পাইল করা হলে পরবর্তিতে আর কম্পাইল করার কোনো প্রয়োজন হয় না।

৩. প্রোগ্রামে কোনো ভুল থাকলে তা মনিটরে একসাথে প্রদর্শন করে। ভুল সংশোধন করার পর প্রোগ্রাম নির্বাহে কম সময় লাগে।

উত্তরঃ

নিম্নে উদ্দীপকটির ফ্লোচার্ট অঙ্কন করা হল-

উত্তরঃ

উদ্দীপকের কোডটিকে do….while লুপের সাহায্যে করতে হলে কোডের যে পরিবর্তন করতে হবে তা নিচে লেখা হলো

Question 59- (দিনাজপুর বোর্ড ২০১৭)

#include <stdio.h>

main ()

{

int a, b, c, s,

scanf(“%d %d %d”, &a, &b, &c);

s = a+b+c

printf(“%d”, s);

}

উত্তরঃ

HTML ভাষায় কোড লেখার আগে ও পরে নির্দিষ্ট কিছু চিহ্নসহ নির্ধারিত কিছু শব্দ ব্যবহার করা হয়। এগুলোই হলো HTML ট্যাগ ।

উত্তরঃ

পরিবর্তনশীল তথ্যের ওয়েবসাইট হলো ডাইনামিক ওয়েবসাইট। অর্থাৎ যেসব ওয়েবসাইটে ডেটা বা তথ্যের মান ওয়েবসাইট চালু করার পর পরিবর্তন করা যায়, তাকেই ডাইনামিক ওয়েবসাইট বলে। এ ধরনের ওয়েবসাইট তৈরির জন্য শুধু HTML ভাষাই যথেষ্ট নয়। এর সাথে PHP (Hypertext Processor), ASP ( Active Server Pages), ইত্যাদি ভাষা ব্যবহার করা হয়।

উত্তরঃ

উদ্দীপকের প্রোগ্রামটির প্রবাহ চিত্র অঙ্কন করা হলোঃ

উত্তরঃ

উদ্দীপকের “প্রোগ্রামটি লুপ কন্ট্রোল স্টেটমেন্ট দিয়ে সমাধান সম্ভব। নিচে প্রোগ্রামটি লেখা হলো—

# include <stdio.h>

# include <conio.h>

main ()

{

int s = 0, a, i = 1; printf(“Enter a number:”);

scanf(“%d”, &a);

for ( i = 1; i < = 3; i=i+1)

{

s = s + a;

}

printf(“%d”, s);

getch ( );

}

এখানে for loop ব্যবহার করে প্রোগ্রামটি করা হয়েছে। যা while, do……while, goto লুপ কন্ট্রোল স্টেটমেন্ট দিয়েও করা সম্ভব।

Question 60- (দিনাজপুর বোর্ড ২০১৭)

জাকির সাহেবের তিন ছেলে ডিজিটাল মেলায় যাওয়ার জন্য বায়না ধরল এবং টাকা চাইল। জাকির সাহেব ১ম ছেলেকে X টাকা, ২য় ছেলেকে Y টাকা এবং ৩য় ছেলেকে Z টাকা দিলেন ।

উত্তরঃ

ভাষায় কী-ওয়ার্ড হলো প্রোগ্রামে ব্যবহৃত কতকগুলো সংরক্ষিত শব্দ।

উত্তরঃ

লো-লেভেল ল্যাঙ্গুয়েজের দুর্বলতার জন্যই হাই-লেভেল ল্যাঙ্গুয়েজ উৎপত্তি হয়েছে।

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

উত্তরঃ

উদ্দীপকে উল্লিখিত জাকির সাহেবের ছেলেদের প্রাপ্ত টাকার গড় C ভাষায় নিচে নির্ণয় করা হলো–

#include<stdio.h>

main ()

{

int X, Y, Z;

float Average;

printf(“Enter the amount of money:”);

scanf(“%d %d %d”, &X, &Y, &Z);

Average = (X+Y+Z)/3;

printf(“%f”, Average);

}

উত্তরঃ

উদ্দীপকের সমস্যাটি সহজে বুঝার প্রক্রিয়াটি হলো ফ্লোচার্ট। এর সপক্ষে আমার যুক্তিযুক্ত মতামত ব্যক্ত করা হলো :

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

উপরিউক্ত ধারা অনুযায়ী সমস্যাটি বিশ্লেষণ করলে জাকির সাহেবের কাছে সমস্যাটি বুঝা খুবই সহজ হয়ে যাবে।

Question 61- ()

35o সূত্র ব্যবহার করে সেলসিয়াস স্কেল থেকে কেলভিন স্কেলে নির্ণয় করার জন্য ঈ ভাষায় একটি প্রোগ্রাম লেখা হলো। কিন্তু প্রোগ্রামটি Run করার পর errorদেখাচ্ছে।

# include<stdio.h>

        main ()

      {float c, k;

        printf (“Enter temperature in Celsius”);

        scan f (“%k”, &c)

        K = C +273

        printf (“The temperature in Kelvin is:%2k”, k);

 

        }

উত্তরঃ

মানুষের স্বাভবিক ভাষা বা ন্যাচারাল ল্যাংগুয়েজকে পঞ্চম প্রজন্মের ভাষা বলা হয়।

উত্তরঃ

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

উত্তরঃ

উদ্দীপকের প্রোগ্রামটির জন্য অ্যালগরিদম হলো-
অ্যালগরিদম:
ধাপ-১ : প্রোগ্রাম শুরু করি।
ধাপ-২ : ইনপুট মান হিসেবে C=35oমান গ্রহন করি।
ধাপ-৩ : K=(C+273) ব্যবহার করে C এর মান নির্ণয় করি।
ধাপ-৪ : C এর মান ছাপাই।
ধাপ-৫ : প্রোগ্রাম শেষ করি।

উত্তরঃ

উদ্দীপকের প্রোগ্রামটিতে ব্যাকরণগত ভুল ( Syntax error ) রয়েছে। যেমন- ইনপুট ফাংশন scanf  ফাংশন নামের স্থলে scanf ভ হয়েছে। ফরম্যাট স্পেসিয়ায়ার %f  না হয়ে %k ও প্রোগ্রাম স্টেটমেন্টের পর সেকিকোলন (;) ব্যবহৃত হয় নি। নিচে সঠিকভাবে Run করার প্রোগ্রামটি লেখা হলো-

#include<stdio.h>

        int main()

        {

        float c,k;

        printf(“Enter temperature in Celsius:”);

        scanf(“%f”, &c);

        k=c+273;

        printf(“The temperature in Kelvin is:%2f:”, k);

        return 0;

        }

Question 62- (ঢাকা বোর্ড- ২০১৬)

 

উত্তরঃ

কম্পাইলার হলো একটি অনুবাদক প্রোগ্রাম যা পুরো প্রোগ্রাম একসাথে পরীক্ষা করে সিনট্যাক্সগুলো মেশিন কোডে রূপান্তর করে।

উত্তরঃ

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

উত্তরঃ

উদ্দীপকের ফ্লোচার্টটি ফারেনহাইট তাপমাত্রাকে সেন্টিগ্রেড়ে রূপান্তরের। নিচে ‘সি’ ভাষায় প্রোগ্রামটি লেখা হলো:

#include<stdio.h>

        int main()

        {

        double C,F;

        printf(“Enter Farenheit temperature:”);

        scanf(“%1f”, &F);

        C = (F-32) * 5/9;

        printf(“Celsius temperature = %1f\n”, C);

        return 0;

        }

উত্তরঃ

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

Question 63- (রাজশাহী বোর্ড- ২০১৬)

|     #include<stdio.h>

      mann ()

        {

        int k, n, sum=0;

        printf(“Input the last term of the series :\n”);

        scanf(“%d”, &n);

        k = 3;

        tanvir : sum = sum + k;

        k=k+3;

        if (k<=n) goto tanvir;

        printf(“The required sum is : %d”, sum);

        }

           

উত্তরঃ

অনুবাদক প্রোগ্রাম হলো বিভিন্ন ভাষায় লেখা প্রোগ্রামকে মেশিন কোডে রূপান্তর করার জন্য বিশেষ প্রোগ্রাম।

উত্তরঃ

scanf(“%d”, &a) স্টেটমেন্টটি ইনপুটের মান গ্রহণের জন্য ব্যবহৃত হয়। প্রোগ্রামটি রান করালে Key board থেকে ইনপুটের মান গ্রহণ করে। এখানে, “%d” হলো Integer ডেটা টাইপের format specificatio, &a হলো Address of a যা Integer টাইপের a ভেরিয়েবলের মেমোরি লোকেশন। যেখানে ডেটা সংরক্ষিত হবে।

উত্তরঃ

উদ্দীপকে উল্লেখিত প্রোগ্রামটি প্রবাহচিত্র নিচে অঙ্কন করা হলো:

উত্তরঃ

প্রোগ্রামটিতে if স্টেটমেন্টের পরিবর্তে do-while স্টেটমেন্ট ব্যবহার করা যায়। নিচে do-while statement দ্বারা প্রোগ্রামটি বাস্তবায়ন করা হলো:

#include<stdio.h>

int main()

{

int k, n, sum=0;

printf(“Input the last term of the service :\n”);

scanf(“%d”, &n);

k = 3;

do

{

sum = sum + k;

k = k + 3;

}

while(k < = n);

printf(“The required sum is : %d”, sum);

return 0;

}

Question 64- (কুমিল্লা বোর্ড- ২০১৬)

 

তন্মনা কম্পিউটারে ঈ প্রোগ্রাম ব্যবহার করে চিত্র-২ এ অঙ্কিত বিষয়টির ক্ষেত্রফল নির্ণয় করল। ঐশী চিত্র-১ এর যোগফল ধাপে ধাপে ও চিত্রের সাহায্যে নির্ণয়ের ব্যবস্থা করল।

উত্তরঃ

প্রেগ্রাম হলো কোনো সমস্যা সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে কতকগুলো কমান্ড বা নির্দেশের সমষ্টি।

উত্তরঃ

অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী এর কারণ নি¤œরূপ:
১. কম্পাইলার পুরো প্রোগ্রাম এক সাথে পরীক্ষা করে ফলে প্রোগ্রাম নির্বাহের গতি দ্রুত হয়।
২. কম্পাইলার মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন ভাষায় রূপান্তরিত হয়। ফলে একবার প্রোগ্রাম কম্পাইল করা হলে পরবর্তিতে আর কম্পাই করার কোনো প্রয়োজন হয় না।
৩. প্রোগ্রামে কোনো ভুল থাকলে তা মনিটরে একসাথে প্রদর্শন করে। ভুল সংশোধন করার পর প্রোগ্রাম দ্রুত গতিতে কাজ করে।

উত্তরঃ

উদ্দীপকের চিত্র ১-এ একটি ত্রিভুজের চিত্র দেওয়া আছে।

s = (a+b+c)/2

        Area = sqrt (s *(s -a) *(s-b) * (s-c)


ধরা যাক ∆ABC- এর তিনটি বাহুর দৈর্ঘ্য যথাক্রমে a,b ও c। নি¤েœ ত্রিভুজটির ক্ষেত্রফল নির্ণয়ের ফ্লোচার্টটি দেওয়া হলো:

উত্তরঃ

তন্মরার চিত্রটির ক্ষেত্রফল নির্ণয়ের প্রোগ্রাম নিচে দেওয়া হলো:

#include<stdio.h>

int main()

{

float r, Area;

printf (“Enter the radius of a circle:”);

scanf (“%f”, &r);

Area = (27/7) *r*r;

printf(“\n the area of a circle is %2f”, Area);

return 0;

}

ব্যাসার্ধ ও এর ক্ষেত্রে ফলাফল সত্যতা যাচাইকরণ:Ctrl + F9 প্রোগ্রামটি রান করালে-

Enter the radius of a circle এখানে ৎ-এর মান ১৪ ইনপুট দিলে আউটপুটের মান The area of a circle is: 616.00 দেখাবে।
এখানে r = 14
Area = (22/7) *14*14 = 22*2*14 = 616

অর্থাৎ Area-এর মানের সত্যতা যাচাই হলো।

Question 65- (যশোর বোর্ড- ২০১৬)

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

উত্তরঃ

যে প্রোগ্রামিং ভাষাগুলো মানুষের ভাষার কিছুটা কাছাকাছি, সে ভাষাগুলোই চলো  চতুর্থ প্রজন্মের ভাষা বা 4GL

উত্তরঃ

কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটারের মৌলিক ভাষা। এই ভাষায় শুধুমাত্র ০ এবং ১ ব্যবহার করা হয় বলে এই ভাষায় দেওয়া কোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। এর সাহায্যে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়।

উত্তরঃ

উদ্দীপকের বর্ণিত C ভাষায় তিনটি সংখ্যা যোগ করার প্রোগ্রাম নিচে দেওয়া হলো:

#include<stdio.h>

int main()

{

int a, b, c, Sum;

printf(“Enter 3 Numbers = n:”);

scanf(“%d %d %d”, &a, &b, &c);

Sum = a + b + c;

printf(“Summation of the three Numbers = %d”, Sum);

return 0;

}

উত্তরঃ

উদ্দীপকের যোগফল সহজে উপস্থাপন করার পদ্ধতি নিচে আলোচনা করা হলো-
#include<stdio.h> : প্রোগ্রামের ভিতরে printf( ) ও scanf( ) এ দুটি লাইব্রেরি ফাংশন ব্যবহার করার জন্য stdio.h নামক হেডার ফাইল ব্যবহার করা হয়েছে।
main( ): কম্পাইলার এবং প্রোগ্রাম নির্বাহের সময় সি প্রোগ্রাম main( ) ফাংশন থেকে শুরু হয়। এ ফাংশনটির মাধ্যমে সকল কাজ খুব সহজেই করা যায়।
int a, b, c, Sum : চারটি ইন্টিজার টাইপের ভেরিয়েবল a, b, c এবং Sum একই লাইনে খুব সহজে ডিক্লেয়ার করা হয়েছে।
printf( ) : মনিটরের পর্দায় আউটপুট প্রকাশের জন্য এ ফাংশনটি ব্যবহৃত হয়। এর ব্রাকেটের ভিতরে ইনভার্টেড কমার ভিতরে যে টেক্সট টাইপ করা হবে মনিটরের পর্দায় হুবহু তা দেখাবে।
scanf( ) : এ ফাংশনটি প্রোগ্রাম নির্বাহের সময় কি-বোর্ড থেকে মান নিয়ে ভেরিয়েবলে রাখবে।
Sum = a + b + c : sum হলো আরেকটি ভেরিয়েবল যেটিতে a,b,c এ তিনটি ভেরিয়েবলের মান যোগ করে যে ফলাফল হবে তার মান রাখবে।
printf(“Sum=%d”, sum) : এ ফাংশনটি প্রোগ্রামের ফলাফল মনিটরের পর্যায় প্রদর্শন করার জন্য ব্যবহার করা হয়। এর printf পাশে ইনভার্টেড কমার (“ ”) ভিতরে যে টেক্সট টাইপ করা হবে মনিটরের পর্দায় হুবহু তা দেখাবে।
উদ্দীপকে লাইব্রেরি ফাংশন ব্যবহার করে সহজেই গাণিতিক কাজ করা সম্ভব হয়েছে। ফলাফল সহজে উপস্থাপন করাও অনেক সহজসাধ্য হয়েছে।

Question 66- (চট্রগ্রাম বোর্ড -২০১৬)

|     #include<stdio.h>

      main ()

        {

        int s = 0, i = 1, n;

        printf(“Enter the value of total number:”);

        scanf(“%d”, &n);

        while (i<=n)

        {

        s = s+i;

        i++;

        }

        printf(“The sum of the total number is %d\n”,s);

        getch ();

        }

উত্তরঃ

সি ভাষায় মেমোরিতে ডেটা সংরক্ষণ করতে যে নাম ব্যবহৃত হয় তাকে বলা হয় চলক।

উত্তরঃ

কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটরের মৌলিক ভাষা। এই ভাষায় শুধুমাত্র ০ এবং 1 ব্যবহার করা হয় বলে এই ভাষায় দেওয়া কোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। এর সাহায্যে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়। 1 দ্বারা বিদ্যুতের উপস্থিতি এবং ০ দ্বারা বিদ্যুতের অনুপস্থিতি বুঝানো হয়।

উত্তরঃ

উদ্দীপকের আলোকে জোড় সংখ্যাসূহের যোগফল নির্ণয়ের সি ভাষায় লেখা হলো:

#include<stdio.h>

main ()

{

int s = 0, i = 2, n;

printf(“Enter Last number:”);

scanf(“%d”,&n);

while(i<=n)

{

s = s+i;

i = i+2;

}

printf(“\n The sum of the even numbers is:%d”,s);

return 0;

}

উত্তরঃ

দ্দীপকের প্রোগ্রামের গতিধারা অ্যালগরিদম ও ফ্লোচার্টের মাধ্যমে সহজে বোঝানো যায়। নিচে তা ব্যাখ্যা করা হলো:
প্রোগ্রামের গতিধারার অ্যালগরিদম: অ্যালগরিদম হলো প্রোগ্রামিং সমস্যা সমাধানের বিভিন্ন ধাপ।
ধাপ-১: শুরু
ধাপ-২: হ এর মান ইনপুট দেওয়া
ধাপ-৩: ধরি, s = ০, র = 1
ধাপ-৪: যতক্ষণ i <=n ততক্ষণ ধাপ-৫, ধাপ-৬ এর কাজ করি।
অন্যথায় ধাপ-৭ এ যাই।
ধাপ-৫: S= s+i
ধাপ-৬: i = i+1 বা, i+ = i
ধাপ-৭: যোগফল s ছাপাই
ধাপ-৮: শেষ।
প্রোগ্রমের গতিধারার ফ্লোচার্ট: ফ্লোচার্ট হলো সমস্যা সমাধানের ধাপগুলোকে ছবির মাধ্যমে প্রকাশ করা। ফ্লোচার্ট তৈরির কিছু নিয়ম আছে। ফ্লোচার্ট বিভিন্ন ধরনের নির্দেশ বোঝানোর জন্য বিভিন্ন ধরনের চিহ্ন ব্যবহার করা হয়।

Question 67- (সিলেট বোর্ড -২০১৬)

      #include<stdio.h>

        main () {

        int a, b, c;

        scanf (“%d%d%d”, &a, %b, %c);

        if (a>b)

        {

        if (a>c)

        printf (“%d is largest”, a);

        else

        printf (“%d is largest”, c);

        }

        else

        { if (b>c)

        printf (“%d is largest”, b);

        else

        printf (“% is largest”, c);

        }

        }

উত্তরঃ

Syntax Error বা সিনট্যাক্স ভুল হলো প্রোগ্রামিং ভাষার ব্যাকরণগত ভুল।

উত্তরঃ

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

উত্তরঃ

উদ্দীপকের প্রোগ্রাম কোডটি প্রবাহ চিত্রের মাধ্যমে নিচে দেখানো হলো:

 

উত্তরঃ

একবার মাত্র printf () ফাংশন ব্যবহার করে প্রোগ্রামটি বাস্তবায়ন সম্ভব। নিচে প্রোগ্রামের কোড লেখা হলো:

#include<stdio.h>

#include<conio.h>

main ()

{

int a, b, c, m;

scanf(“%d%d%d”, &a, &b, &c);

m = a;

if (b>m)

m = b;

if (c>m)

m = c;

printf(“%d is largest”, m);

getch ();

}

Question 68- (বরিশাল বোর্ড -২০১৬)

 

ধাপ-১: প্রোগ্রাম শুরু।
ধাপ-২: দুইটি সংখ্যা গড়।
ধাপ-৩: দুইটি সংখ্যা যোগ করে প্রথম সংখ্যার সাথে গুণ কর।
ধাপ-৪: ফলাফল ছাপাও।
ধাপ-৫: প্রোগ্রাম শেষ।

উত্তরঃ

কম্পাইলার হলো একটি অনুবাদক প্রোগ্রাম যা পুরো প্রোগ্রাম একসাথে পরীক্ষা করে সিনট্যাক্সগুলো মেশিন কোডে রূপান্তর করে।

উত্তরঃ

যে সকল স্টেটমেন্টের সাহায্যে প্রোগ্রামের ফলাফল মনিটরে প্রদর্শন করা হয় তাদেরকে আউটপুট ফাংশন বলা হয়। আউটপুট স্টেটমেন্ট বা ফাংশনগুলো হলো:

printf(), puts(), putchar()|

উত্তরঃ

উদ্দীপকের সমস্যাটির ফ্লোচার্টটি নিচে দেওয়া হলো:

 

উত্তরঃ

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

Question 69- (দিনাজপুর বোর্ড- ২০১৬)

#include<stdio.h>

        void main( )

        {

        int i, s, n;

        printf(“Enter Last Term”);

        scanf(“%d”, &n);

        s = 0;

        for(i = 1; i<=n; i = i + 3)

        s = s + i;

        printf(“Summation = %d”, s);

        }

উত্তরঃ

প্রোগ্রাম হলো কোনো সমস্যা সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে কতকগুলো কমান্ড বা নির্দেশের সমষ্টি।

উত্তরঃ

যেসব ভাষায় একই সাথে বিট পর্যায়ের প্রোগ্রামিং-এর মাধ্যমে হার্ডওয়্যার নিয়ন্ত্রণ ও সিস্টেম প্রোগ্রাম এবং ব্যবহারকারীর জন্য উচ্চস্তরের প্রোগ্রাম রচনা করা যায় তাকে মিড লেভেল ভাষা বা মধ্যস্তরের ভাষা বলে। সি দিয়ে সহজে উচ্চস্তরের এবং নি¤œস্তরের ভাষার মধ্যে সমন্বয় সাধন করা যায়। যেহেতু সি ভাষায় একই সাথে বিট পর্যায়ের প্রোগ্রামিং-এর মাধ্যমে হার্ডওয়্যার নিয়ন্ত্রণ ও সিস্টেম প্রোগ্রাম এবং ব্যবহারকারীর জন্য উচ্চস্তরের প্রোগ্রাম রচনা করা যায় তাই সি কে মিড লেভেল ভাষা বলে।

উত্তরঃ

উদ্দীপকের সি প্রোগ্রামের ফ্লোচার্ট:

 

উত্তরঃ

উদ্দীপকের প্রোগ্রামটি do…while  লুপের মাধ্যমেও করা সম্ভব।

নিচে সি ভাষায় কোডিং দেওয়া হলো:

#include<stdio.h>

        int main()

        {

        int s=0, i=1, n;

        printf(“Enter Last Term :”);

        scanf(“%d”, &n)

        do

        {

                s=s+i;

                i=i+3;

                } while (i<=n);

        printf(“\Surmation=%d”, s);

        return 0;

        }

Question 70- (মাদ্রাসা বোর্ড- ২০১৬)

 

উত্তরঃ

কম্পাইলার হলো একটি অনুবাদক প্রোগ্রাম যা পুরো প্রোগ্রাম একসাথে পরীক্ষা করে সিনট্যাক্সগুলো মেশিন কোডে রূপান্তর করে।

উত্তরঃ

হটস্পট হচ্ছে একটি নির্দিষ্ট ওয়্যারলেস কভারেজ এরিয়া। সাধারণত কোন নির্দিষ্ট এলাকা বা জায়গাকে ওয়্যারলেস কমিউনিকেশনের জন্য নির্ধারিত করা হয় হটস্পট এর সাহায্যে। এর ব্যবহার ক্ষেত্র সাধারণত কয়েক মিটার জুড়ে হতে পারে অথবা বিশাল এলাকাসহ কয়েক কি. মি. এলাকা নিয়ে হতে পারে।

উত্তরঃ

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

উত্তরঃ

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