programming language cq । HSC

Programming language cq : এইচএসসি শিক্ষার্থীরা তোমাদের জন্য প্রোগ্রামিং ভাষার গুরুত্বপূর্ণ সৃজনশীল প্রশ্ন ও উত্তর সহ দিয়েছি।

গুরুত্বপূর্ণ প্রশ্ন ও সমাধানঃ ০১

১. উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও : DH23
3+6+9+……. + n
ক. ভোলাইল মেমোরি কী? 
খ. ‘সি’ ভাষায় পূর্ব থেকে তৈরিকৃত ফাংশন ব্যাখ্যা কর। 
গ. উদ্দীপকে প্রদত্ত সিরিজটির প্রবাহচিত্র তৈরি কর। 
ঘ. ‘Do-while’ লুপ দ্বারা উদ্দীপকের সিরিজটির যোগফল নির্ণয় করার জন্য ‘সি’ ভাষায় একটি প্রোগ্রাম লেখ। 

উত্তর

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

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

ইনপুট/আউটপুট ফাংশন: 

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

Math ফাংশন : 

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

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

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

#include <stdio.h> 
int main( )/ Void main( )/ main ( ) // এখানে যেকোন একটি ব্যবহার করবে।
{ int i, s,n;
printf(”Enter value of n=”);
scanf(”%d”, &n);
i=3;
s=0;
do { s=s+i;
i+=3 / i=i+3;}
while(i<=n);
printf(”Sum of this Series=%d\n”s);
return 0;}

বিঃদ্রঃ // এখানে return o; এর পরিবর্তে getch( ) ; ব্যবহার করতে পারবে। এক্ষেত্রে হেডার ফাইল হিসেবে #include<conio.h> ব্যবহার করতে হবে।

গুরুত্বপূর্ণ প্রশ্ন ও সমাধানঃ ০২

২। উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও : RJ23
আইসিটি স্যার ‘প্রোগ্রামিং ভাষা’ অধ্যায়ের ক্লাস নিতে গিয়ে SMART শব্দটি যে-কোনো সংখ্যকবার প্রদর্শনের জন্য সি প্রোগ্রামিং ভাষায় প্রোগ্রাম লিখে তা বিস্তারিতভাবে বুঝিয়ে দিলেন।
ক. প্রোগ্রাম কাকে বলে? 
খ. কম্পাইলারের চেয়ে ইন্টারপ্রেটার বেশি বন্ধুভাবাপন্ন- ব্যাখ্যা  কর। 
গ. উদ্দীপকের শব্দটি পাঁচবার প্রদর্শনের জন্য অ্যালগরিদম লিখ। 
ঘ. উদ্দীপকের শব্দটি n-সংখ্যকবার প্রদর্শনের জন্য সি ভাষায় একটি প্রোগ্রাম লিখ। 

উত্তর

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

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

গ উদ্দীপকের শব্দটি পাঁচবার প্রদর্শনের জন্য অ্যালগরিদম নিম্নরূপঃ
step:1) start
Step: 2) Input n
Step: 3) i=1
Step: 4) is(i<=5)
a) yes, repeat steps 5 and 6
b) No, go to step 7
Step: 5) print SMART
Step: 6) i++
Step: 7) Stop/ End

ঘ উদ্দীপকের ‘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; } 

গুরুত্বপূর্ণ প্রশ্ন ও সমাধানঃ ০৩

৩। উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও :RJ 23
 1+2+3+ —–+N 
ক. ভার্চুয়াল মেমোরি কী? 
খ. স্থায়ী ও অস্থায়ী মেমোরির মধ্যে পার্থক্য লিখ। 
গ. উদ্দীপকের ধারাটির ফলাফল নির্ণয়ের জন্য অ্যালগরিদম লিখ।
ঘ. উদ্দীপকের ধারাটির ফলাফল প্রদর্শনের জন্য সি ভাষায় একটি প্রোগ্রাম লিখ। 

উত্তর

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

খ) স্থায়ী ও অস্থায়ী মেমরির মধ্যে পার্থক্য নিচে দেওয়া হলোঃ
স্থায়ী মেমরিঅস্থায়ী মেমরি 
১. কম্পিউটার বন্ধ করার পরেও ডেটা সংরক্ষিত থাকে সেটি স্থায়ী মেমরি। ১. কম্পিউটার বন্ধ করার পর ডেটা সংরক্ষিত থাকেনা সেটি স্থায়ী মেমরি। 
২. স্থায়ী মেমরিগুলো হলো-হার্ড ডিস্ক, রম, ডিভিডি,ইউএসবি ড্রাইভ ইত্যাদি। ২. অস্থায়ী মেমোরি হলো-র‍্যাম। 

গ) অ্যালগরিদম নিম্নরূপঃ

step:1) start
Step: 2) Input n
Step: 3) i=1 and sum=0
Step: 4) is(i<=n)
a) yes, repeat steps 5 and 6
b) No, go to step 7
Step: 5) sum=sum+i
Step: 6) i++
Step: 7) Print sum
step:8) End/ Stop

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

#include <stdio.h> 
int main( ) 
{int i, N, s = 0; 
printf(“Enter the last number of the series: “); 
scanf(“%d”,&N); 
for(i=1; i<=N; i++) 
{ s=s+i; } 
printf(“Sum of the series =%d”,s); 
return 0; } 

গুরুত্বপূর্ণ প্রশ্ন ও সমাধানঃ ০৪

৪. উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও : CU23
নিচের চিত্রটি লক্ষ কর এবং প্রশ্নগুলোর উত্তর দাও। 
Enter an integer value : 5
Factorial = 120
ক. ফরমেট স্পেসিফায়ার কী? 
খ. for এবং do লুপের মধ্যে কোনটি ব্যবহার করা সহজ?
গ. উদ্দীপকের প্রোগ্রামটির জন্য একটি ফ্লোচার্ট তৈরি কর।
ঘ. উদ্দীপকের প্রোগ্রামটি for লুপের মাধ্যমে বাস্তবায়ন সম্ভব কিনা তা যাচাই কর। 

উত্তর

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

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

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

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

#include <stdio.h> 
int main( )
{ int i,n,factorial; 
printf(“Enter an integer value of n:” ); 
scanf(“%d”, &n); 
factorial=1;
for(i=1; i<n; i++) 
{ factorial* i; } 
printf(“Factorial=%d\n”,factorial); 
return 0;} 

গুরুত্বপূর্ণ প্রশ্ন ও সমাধানঃ ০৫

৫. উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও : CU23
BPL এ সাকিব ৮০ রান করল, মুশফিক ৯০ রান করল এবং তামিম ৯৫ রান করল । 
ক. ডিবাগ কী? 
খ. মেশ টপোলজির নেটওয়ার্ক সর্বাধিক নির্ভরযোগ্য কেন?
গ. উদ্দীপকের ব্যাট সম্যানদের রানের গড় নির্ণয় করার অ্যালগরিদম লেখ । 
ঘ. উদ্দীপকের ৩ জন ব্যাটসম্যানের মধ্যে কে বেশি রান করেছে তা নির্ণয়ের জন্য C ভাষায় প্রোগ্রাম লেখ।

উত্তর

ক) প্রোগ্রামের ভুল সংশোধন করাকে ডিবাগ বলা হয়। 

খ) মেশ টপোলজির নেটওয়ার্ক সর্বাধিক নির্ভরযোগ্য কারণ— 
১. ডেটা ট্রান্সমিশন দ্রুতগতিতে সম্পন্ন হয় । 
২. নেটওয়ার্কে কম্পিউটারের সংখ্যা বৃদ্ধি পেলেও ডেটা ট্রান্সমিশনের গতি কমে না। 
৩. নেটওয়ার্কস্থ যেকোনো কম্পিউটার নষ্ট বা বিচ্ছিন্ন হলেও নেটওয়ার্ক সচল থাকে। 
৪. নেটওয়ার্কে কেন্দ্রীয় কোনো ডিভাইস বা সার্ভারের প্রয়োজন হয় 

 

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

step:1) start
Step: 2) Input a = 80, b = 90, c = 95
Step: 3)sum =a+b+c
Step: 4) average= sum/3
Step: 5) Print average
step:6) End/ Stop

অথবাঃ তোমরা বাংলায়ও অ্যালগরিদম লিখতে পারোঃ

ধাপ-১: শুরু করি। 
ধাপ-২: a = 80, b = 90, c = 95 মান গ্রহণ করি। 
ধাপ-৩: s =a+b+c বের করি। 
ধাপ-৪: avg = s/3 বের করি। 
ধাপ-৫: avg প্রিন্ট করি। 
ধাপ-৬ : শেষ করি। 

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

#include<stdio.h> 
main( ) 
{ int a,b,c; 
printf(“Enter the runs of Shakib, Mushfik and Tamim: a b c= “);
scanf(“%d%d%d”, &a, &b, &c); 
if ( (a> b) && (a>c)) 
printf(“Shakib scores heighest number of run %d”, a);
else if ( (b>a) && (b>c)) 
printf(“Mushfik scores heighest number of run %d”, b); 
else if ( (c>a) && (c>b)) 
printf(“Tamim scores heighest number of run %d”,c);
else
printf(“They scores Equals );
return 0; } 

OR

#include<stdio.h> 
#include<conio.h> 
main( ) 
{ int a,b,c; 
printf(“Enter the runs of Shakib, Mushfik and Tamim: a b c= “);
scanf(“%d%d%d”, &a, &b, &c); 
if ( a> b && a>c) 
printf(“Shakib scores heighest number of run %d”, a);
else if ( b>a && b>c) 
printf(“Mushfik scores heighest number of run %d”, b); 
else if ( c>a && c>b) 
printf(“Tamim scores heighest number of run %d”,c);
else
printf(“They scores Equals );
getch ( ); } 

গুরুত্বপূর্ণ প্রশ্ন ও সমাধানঃ ০৮

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

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


ক. অ্যাসেম্বলার কী? 
খ.  C ভাষায় কেন Header file ব্যবহার করা হয়? 
গ. উদ্দীপকের প্রোগ্রামটির ফ্লোচার্ট অঙ্কন কর। 
ঘ. উদ্দীপকের প্রোগ্রামটি Do-while ব্যবহার করে লেখ।

উত্তর

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

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

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

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

#include <stdio.h> 
main( ) 
{ int k,s;
k=10;
s=0;
do{ s=s+k;
k=k+10;
while ( K <=100); 
printf(“Summation = %d”, S);
return 0; } 

গুরুত্বপূর্ণ প্রশ্ন ও সমাধানঃ ০৯

৯. উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও : CTG23
আইসিটি শিক্ষক কোনো সংখ্যা জোড় না বিজোড় তা নির্ণয়ের জন্য একটি সি-প্রোগ্রাম লিখলেন। তিনি বললেন একই লজিক ব্যবহার করে 3 (তিন) দ্বারা বিভাজ্য সংখ্যাও নির্ণয় করা যায় ।
ক. লুপ কী? 
খ. প্রত্যেকটি প্রোগ্রামের তিনটি অংশ থাকে— ব্যাখ্যা কর।
গ. উদ্দীপকে শিক্ষকের লিখিত প্রোগ্রামের জন্য একটি ফ্লোচার্ট তৈরি কর। 
ঘ. উদ্দীপকে শিক্ষকের বলা ধারণাটির সি-প্রোগ্রাম লিখে ফলাফল বিশ্লেষণ করে দেখাও। 

উত্তর

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

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

১. ইনপুট (Input), 
২. প্রসেস (Process) ও 
৩. আউটপুট (Output)

গ। উদ্দীপকে শিক্ষকের লিখিত প্রোগ্রামের জন্য একটি ফ্লোচার্ট নিচে তৈরি করা হলোঃ

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

#include <stdio.h> 
int main() 
{ int num; 
printf(“Enter a num: “);
scanf(“%d”; &num); 
if ( num % 3 15 0 ) 
{ printf(“%d is divisible by 3. \n”, number); 

else 
{ printf(“%d is not divisible by 3.\n”, number); } 
return 0; 

ফলাফল বিশ্লেষণ : উক্ত প্রোগ্রামটিতে প্রথমে একটি সংখ্যা ইনপুট নেওয়া হবে। এরপর দেখা হবে সংখ্যাটি 3 দ্বারা ভাগ করা হলে ভাগশেষ শূন্য কিনা। ভাগশেষ শূন্য হলে সংখ্যাটি 3 দ্বারা বিভাজ্য। অন্যথায় সংখ্যাটি 3 দ্বারা অবিভাজ্য। যদি ইনপুট 5 হয় তবে 5%3 = 2। কিন্তু 2!=0; তাই সংখ্যাটি ৩ দ্বারা বিভাজ্য নয়। যদি ইনপুট 6 হয় তবে 6%3 = 0; তাই সংখ্যাটি 3 দ্বারা বিভাজ্য।  .

১০. উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও : CTG23 
5+10+15+ ————————+ 200 
ক. অ্যারে কী? 
খ. Scanf(“%f”, &a)”- ব্যাখ্যা কর। 
গ. উদ্দীপকের ধারাটির যোগফল নির্ণয়ের জন্য অ্যালগরিদম তৈরি কর। 
ঘ. উদ্দীপকের ধারাটির ফলাফল প্রদর্শনের জন্য সি ভাষার একটি প্রোগ্রাম লেখ। 

উত্তর

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

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

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

step:1) start
Step: 2) Input n=200
Step: 3) i=5 and sum=0
Step: 4) is(i<=n)
a) yes, repeat steps 5 and 6
b) No, go to step 7
Step: 5) sum=sum+i
Step: 6)i=i+5
Step: 7) Print sum
step:8) End/ Stop

অথবা

ধাপ-১ : শুরু করি । 
ধাপ-২ : n =200 মান ইনপুট করি । 
ধাপ-৩ : যোগফলের জন্য Sum = 0 এবং চলক i = 5 ব্যবহার করি ।
ধাপ-৪ : যদি i>n হয় ৭ নং ধাপে গমন করি অন্যথায় ৫ ও ৬ নং ধাপে গমন করি । 
ধাপ-৫ : Sum = Sum+i 
ধাপ-৬ : i=i+5 (i এর মান বৃদ্ধি করি এবং পুনরায় ৪ নং ধাপে যাই
ধাপ-৭ : যোগফল প্রিন্ট করি। 
ধাপ-৮ : শেষ করি। 

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

#include<stdio.h> 
int main( ) 
{ int i,s,n;
s=0;
n=200;
for(i=5;i<=n;i=i+5) 
{ s=s+i; } 
printf(“Sum of the series: %d”,s); 
return 0; }

১. উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও :CYL23
10+ 16 +22+……………..+70
ক. চলক কী? 
খ. সি ভাষায় Scanf(“%d”, &a); বলচে কী বোঝায়? ব্যাখ্যা কর।
গ. উদ্দীপকের ধারাটির যোগফল প্রদর্শনের জন্য একটি অ্যালগরিদম লেখ। 
ঘ. উদ্দীপকের ধারাটির যোগফল প্রদর্শনের জন্য ‘সি’ ভাষায় প্রোগ্রাম লেখ। 

উত্তর

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

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

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

step:1) start
Step: 2) Input n=70
Step: 3) i=10 and sum=0
Step: 4) is(i<=n)
a) yes, repeat steps 5 and 6
b) No, go to step 7
Step: 5) sum=sum+i
Step: 6)i=i+6
Step: 7) Print sum
step:8) End/ Stop

অথবা

ধাপ-১: শুরু করি
ধাপ-২ : n = 70 মান ইনপুট করি। 
ধাপ-৩ : যোগফলের জন্য s = 0 এবং i = 10 ব্যবহার করা হয়েছে।
ধাপ-৪ : যদি i <= n হয় তাহলে ৫নং ও ৬নং ধাপে গমন করি।অন্যথায় ধাপ-৭ এ গমন করি। 
ধাপ-৫ : s = s+i 
ধাপ-৬ : i=i + 6 এবং পুনরায় ৪নং ধাপে যাই। 
ধাপ-৭ : যোগফল প্রিন্ট করি। 
ধাপ-৮ : শেষ করি। 

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

#include<stdio.h> 
int main( ) 
{ int i,s=0,n=70;
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; }

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


ক. float ডেটা টাইপ কী? 
খ. সি ভাষায় retum 0; স্টেটমেন্টটি লেখা হয় কেন? ব্যাখ্যা কর। 
গ. উদ্দীপকের প্রবাহচিত্রটির অ্যালগারিদম লেখ। 
ঘ. উদ্দীপকের প্রবাহচিত্রটির সি ভাষায় কোড লেখ। 

উত্তর

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

খ) সি ল্যাঙ্গুয়েজে লেখা সব প্রোগ্রাম রান করলে কোডের ভেতরে main( ) ফাংশন থেকে প্রোগ্রামটি চলা শুরু হয়। main( ) ফাংশন যদি এভাবে ডিক্লেয়ার করা হয় int main( ) তাহলে কম্পাইলার ধরে নেয় যে ফাংশনটি যখন এক্সিকিউশন শেষ হবে তখন সে একটি ইন্টিজার রিটার্ন করবে। তাই ফাংশনের শেষে কোনো একটি ইন্টিজার রিটার্ন করতে হবে। প্রচলিত নিয়মে তাই C ভাষায় return 0 ব্যবহার করা হয়, প্রোগ্রামটি ঠিকভাবে কোনো সমস্যা ছাড়াই চলেছে সেটা বোঝানোর জন্য। 

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

step:1) start
Step: 2) Input
Fahrenheit Scale Temperature, F
Step: 3)
C =5*(F – 32)/9
Step: 4)
Outputcelcius Scale temperature C
step:5) End/ Stop

অথবা

ধাপ ১ : শুরু করি । 
ধাপ ২ : ইনপুট হিসেবে ফারেনহাইট তাপমাত্রা F এর মান গ্রহণ করি
ধাপ ৩ : C =5*(F – 32)/9 ব্যবহার করে C এর মান নির্ণয় করি।
ধাপ ৪ : C এর মান প্রদর্শন । 
ধাপ ৫ : শেষ করি। 

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

# include <stdio.h> 
int main ( ) 
{float C, F; 
printf(“Enter Farenheit temperatureF: “);
scanf (“%f”, &F); 
C = (F-32) *5/9; 
printf(“Celsius temperature = % f\n”, C); 
return 0; } 

১৩. উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও : DNJ23
22+52 +82 + 11²+—— + n 2 
ক. কী ওয়ার্ড বলতে কী বুঝ? 
খ. ভেরিয়েবল ঘোষণার ক্ষেত্রে অনুসরণীয় পদক্ষেপ ব্যাখ্যা কর।
গ. উদ্দীপকের ধারাটির যোগফল নির্ণয়ের ফ্লোচার্ট তৈরি কর। 
ঘ. উদ্দীপকের ধারাটির দশটি পদের যোগফল নির্ণয়ের জন্য C ভাষায় . ব্যবহার করে প্রোগ্রাম রচনা করা সম্ভব- বিশ্লেষণ কর। 

উত্তর

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

খ) ভেরিয়েবল ঘোষণার ক্ষেত্রে অনুসরণীয় পদক্ষেপসমূহ নিচে দেওয়া হলোঃ

১. ভেরিয়েবলের নামে কেবল বর্ণ, অঙ্ক এবং আন্ডারস্কোর চিহ্ন (_) ব্যবহার করতে হয়। 
২. একই ফাংশনে একই নামে একাধিক ভেরিয়েবল ঘোষণা করা যাবে না। 
৩. ভেরিয়েবলের নামের মাঝে কোনো ফাঁকা স্থান থাকতে পারে না। 
৪. ভেরিয়েবলের নামের প্রথম অক্ষরটি অঙ্ক দিয়ে শুরু হতে পারে না ইত্যাদি।

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

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

#include <stdio.h> 
int main( ) 
{int i,n, s;
n=10;
s = 0; 
for(i=1; i<=n; i++) 
{ s=s+i*i; } 
printf(“Sum of the series =%d”,s); 
return 0; } 

১৪. উদ্দীপকটি পড় এবং নিচের প্রশ্নগুলোর উত্তর দাও :MY23
রমিজের বাবা তাকে ১,০০০ টাকার একটি নোট দিয়ে বাজার করতে পাঠালেন। রমিজ ২০০ টাকার ১ কেজি মাছ ও মাছের তিনগুণের চেয়ে পঞ্চাশ টাকা বেশি দিয়ে ১ কেজি মাংস কিনল এবং ৫০ টাকা দিয়ে তার নিজের জন্য খাতা কিনল। 
ক. কী ওয়ার্ড কী? 
খ. Mark [5, 4] ব্যাখ্যা কর। 
গ. মাছ ও মাংস কেনার পরে রমিজের কাছে কত টাকা রইল? তা নির্ণয়ের ফ্লোচার্ট আঁক। 
ঘ.বাজার পরবর্তীতে রজিমের কাছে কত টাকা রইল তা নির্ণয়ের জন্য C প্রোগ্রাম লেখ। 

উত্তর

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

খ) Mark[5][4] স্টেটমেন্টটি একটি দ্বিমাত্রিক অ্যারের সেল নির্দেশ করে। যে অ্যারেতে একাধিক সারি ও একাধিক কলামে ডেটা উপস্থাপন করা হয় তাকে দ্বিমাত্রিক অ্যারে বলা হয়। Mark [5] [4] দ্বারা Mark নামের একটি অ্যারে, যার 5th রো এবং 4th কলাম দ্বারা গঠিত সেল এর ডাটা নির্দেশিত হচ্ছে। 

গ) মাছ মাংস কেনার পর রমিজের কাছে অবশিষ্ট টাকা নির্ণয়ের ফ্লোচার্ট নিচে দেওয়া হলো

ঘ বাজার পরবর্তী রমিজের কাছে অবশিষ্ট টাকার পরিমাণ নির্ণয়ে সি প্রোগ্রাম নিচে লেখা হলোঃ

#include <stdio.h> 
int main( ) 
{int i,f,m,k;
f=200;
k=20;
m =3*f+50; 
i=1000-f-m-k;
printf(“%d”,i); 
return 0; } 

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

ক. সুডো কোড কী? 
খ. K++ ও ++K ব্যাখ্যা কর। 
গ. উদ্দীপকে বর্ণিত সমস্যাটি সমাধানের জন্য একটি অ্যালগরিদম লেখ। 
ঘ. উদ্দীপকে বর্ণিত সমস্যাটি সমাধানের জন্য ‘সি’ ভাষায় একটি প্রোগ্রাম তৈরি কর। 

উত্তরঃ

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

খ) K++ঃ এটি হচ্ছে postfix increment। K++ এর ক্ষেত্রে কম্পাইলার প্রথমে প্রোগ্রামে K এর পুরাতন মান ব্যবহার করে। পরবর্তী ধাপে ভেরিয়েবলের মানের সাথে যথাক্রমে এক যোগ করে। এ নতুন মান পরবর্তী স্টেটমেন্ট ধাপ থেকে কার্যকর হয়। 

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

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

Step-1: Let’s start.
Step-2: input values ​​of a, b, c.
Step-3 : If a> b and a>c then go to step-7 else go to step-4.
Step-4: If b>a and b>c then go to step-6
Step-5: Print c+9 and go to step-8.
Step-6 : Print b + 6 and go to step-8.
Step-7 : Print a+5.
Step-8: Finish.

অথবা

ধাপ-১: শুরু করি। 
ধাপ-২: a, b, c এর মান ইনপুট নেই। 
ধাপ-৩ : যদি a> b এবং a>c হয় তবে ধাপ-৭ এ যাই অন্যথায়, ধাপ-৪ এ যাই। 
ধাপ-৪: যদি ba এবং b>c হয় তবে ধাপ-৬ এ যাই 
ধাপ-৫: c+ 9 ছাপাই এবং ধাপ-৮ এ যাই। 
ধাপ-৬ : b + 6 ছাপাই এবং ধাপ-৮ এ যাই। 
ধাপ-৭ : a+ 5 ছাপাই । 
ধাপ-৮ : শেষ করি। 

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

#include <stdio.h> 
int main() 
{ int a, b, c; 
printf(“Enter three numbers a b and c= “); 
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; }

অনুশীলন প্রশ্ন ১ (উত্তরসহ)  

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

ক. চলক কী? 
খ. ইন্টারপ্রেটারের তুলনায় কম্পাইলার সুবিধাজনক কথাটি ব্যাখ্যা কর। 
গ. উদ্দীপকের আলোকে আপেল ৩টির গড় ওজন নির্ণয়ের জন্য ফ্লোচার্ট অঙ্কন কর। 
ঘ. গড় ওজনের ভিত্তিতে ২০টি আপেলের মোট ওজন নির্ণয়ের জন্য C ভাষায় একটি প্রোগ্রাম লিখ।
 

প্রশ্নের উত্তর 

ক) সি ভাষায় মেমোরিতে ডেটা সংরক্ষণ করতে যে নাম ব্যবহৃত হয় তাকে বলা হয় চলক। / যার মান পরিবর্তনশীল তাকে চলক বলে।

) ইন্টারপ্রেটারের তুলনায় কম্পাইলার সুবিধাজনক । কারণ— 
১. কম্পাইলার প্রথমে পুরো প্রোগ্রামটি কম্পাইল করে মেশিন কোডে / object file-এ রূপান্তর করে। পক্ষান্তরে ইন্টারপ্রেটার পুরো প্রোগ্রাম পরীক্ষা না করে প্রোগ্রামের প্রতিটি স্টেটমেন্ট মেশিন কোডে / অবজেক্ট প্রোগ্রামে রূপান্তর করে। ২. কম্পাইল করার পর প্রোগ্রামগুলো অনেক দ্রুত গতিতে কাজ করে। পক্ষান্তরে ইন্টারপ্রেটার একটি একটি করে স্টেটমেন্ট না লাইন মেশিন কোডে/ মেশিন ভাষায়/ অবজেক্ট ফাইলে রূপান্তরিত হয় বলে সময় বেশি লাগে। 

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

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

#include <stdio.h> 
#include <conio.h>
main() / int main() / void main()
{
int a, b, c; 
float average, total_weight;
printf(“Enter weight of three apples: “);
scanf(“%d%d %d”, &a, &b, &c);
average = (a+b+c)/3;
total_weight = average *20;
printf(“total_weight = %fn”, total_weight); 
return 0; 
/ getch();
}

programming language cq

অনুশীলন প্রশ্ন ২ (উত্তরসহ)  

নিচের উদ্দীপকটি লক্ষ কর এবং প্রশ্নগুলোর উত্তর দাও : 
#include<stdio.h>
#include<conio.h>
main() 

int a, s, n;

s = 0;
printf(“value of n :”);
scanf(“%d”, & n);
for ( a = 1; a<=n a++) 
{ s=s+a*a; 
}
printf(“sum : %d”, s); 
getch();

ক. 4 GL কী? 
খ. C-একটি কেস সেনসেটিভ ভাষা- কথাটি ব্যাখ্যা কর। 
গ. উদ্দীপকের ধারাটির যোগফল নির্ণয়ের জন্য অ্যালগরিদম লিখ। 
ঘ. উদ্দীপকে for লুপের পরিবর্তে Dowhile লুপ ব্যবহার করলে প্রোগ্রামটিতে কি পরিবর্তন করতে হবে বিশ্লেষণ কর।
প্রশ্নের উত্তর 

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

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

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

ধাপ- ১ : শুরু করি। 
ধাপ-২: n এর মান ইনপুট করি। 
ধাপ- ৩ : যোগফলের জন্য s = 0 এবং চলক ও 1 ব্যবহার করা হয়েছে।
ধাপ- ৪ : যদি a <= n হয় তাহলে ৫নং ধাপে গমন করি; অন্যথায় ৭নং ধাপে গমন করি । 
ধাপ-৫: s= s+a*a 
ধাপ- ৬ : a = a + 1 (a এর মান বৃদ্ধি করি) এবং পুনরায় ৪নং ধাপে যাই।
. ধাপ- ৭ : যোগফল প্রিন্ট করি। 
ধাপ- ৮ : শেষ করি। 

বিকল্পঃ

i)start
ii) input n
iii) a=1
iv) s=0
v) is(a<=n)
a)yes, repeat steps 6 & 7
b) No, go to step 8
vi) s=s+a*a
vii) a++
viii) print s
ix) End

ঘ) উদ্দীপকে for লুপের পরিবর্তে Do….while লুপ ব্যবহার করলে প্রোগ্রামটিতে যে পরিবর্তন করতে হবে তা নিচে বিশ্লেষণ করে দেখানো হলো-

#include<stdio.h>
#include<conio.h>
main() 
{  int a, s, n; 
s=0; 
a = 1; 
printf(“Value of n:”);
scanf(“%d”, &n); 
do
{
s=s+a*a; 
a= a+1;

while (a<=n); 
printf(“Sum: %d”, s);
getch(); 
}

programming language cq

অনুশীলন প্রশ্ন ৩ (উত্তরসহ)

# 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 );
return 0;  / getch ();

ক. সংরক্ষিত শব্দ কী? 
খ. K++ ও + + K ব্যাখ্যা কর। 
গ. উদ্দীপকের প্রোগ্রামটির জন্য একটি প্রবাহচিত্র অঙ্কন কর।
ঘ. উদ্দীপকের প্রোগ্রামটি while লুপ ব্যবহার করে তৈরি করা সম্ভব কি-না- বিশ্লেষণ কর। 
প্রশ্নের উত্তর

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

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

গ) উদ্দীপকের প্রোগ্রামের আলোকে ফ্লোচার্ট : 
ঘ) উদ্দীপকের প্রোগ্রামটি while লুপ স্টেটমেন্ট ব্যবহার করে তৈরি করা সম্ভব। 
#include <stdio.h> 
#include <conio.h> 
main() 
{  int a, s; 
a=1;
s=0; 
while (a <= 30 ) 
{
s=s+a;
a+=2; 

printf(“Sum=%d”, s);
getch(); 
}

programming language cq

Read More:

অনুশীলন প্রশ্ন ৪ (উত্তরসহ)  

#include<stdio.h>
void main() 
{ int i;
for (i=20; i<=50; i=i+5)
printf(“%d”, i); 
}

ক. সুডোকোড কী? 
খ. Variable ++ এবং ++ variable এক নয় ব্যাখ্যা কর। 
গ. উদ্দীপকের প্রোগ্রামটিতে যে লুপ ব্যবহৃত হয়েছে, তার গঠন দেখাও। 
ঘ. উদ্দীপক প্রোগ্রামটির আউটপুট দেখাও এবং ব্যাখ্যা কর। 
প্রশ্নের উত্তর 

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

খ) সি প্রোগ্রামে Variable ++ এবং ++Variable এক নয়। কারণ পোস্টফিক্স বা Variable++ এর ক্ষেত্রে কম্পাইলার প্রথমে প্রোগ্রামে ভেরিয়েবলের পুরাতন মান ব্যবহার করে। অতঃপর ভেরিয়েবলের মানের সাথে যথাক্রমে এক যোগ বা বিয়োগ করে। এ নতুন মান পরবর্তী ধাপে কার্যকর হয়। কিন্তু প্রিফিক্স বা ++Variable এর ক্ষেত্রে কম্পাইলার প্রথমে ভেরিয়েবলের প্রারম্ভিক মানের সাথে যথাক্রমে এক যোগ বা বিয়োগ করে। অতএব প্রোগ্রামের একই স্টেটমেন্ট এ বর্ধিত মান ব্যবহার করে। 

গ) উদ্দীপকের for loop স্টেটমেন্টের গঠন : 
for (Initialization; Condition; increment/ decrement) 
{
statement; 
}

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

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

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

#include<stdio.h>
void main() 
{  int i; 
for(i= 20; i <= 50; i = i+5) 

{
printf(“%d”, i); 

}

এখানে i একটি ইন্টিজার ভেরিয়েবল। for লুপের মধ্যে i এর প্রাথমিক মান ধরা হয়েছে 20 এবং প্রতিবার 5 করে বৃদ্ধি পাবে। এভাবে বৃদ্ধি পেতে পেতে 50 পর্যন্ত এসে থেমে যাবে। 
সবশেষে printf(“%d”, i); 
স্টেটমেন্টটি দ্বারা উক্ত চলকের মান আউটপুট দেখাবে। অর্থাৎ, প্রোগ্রামিং এর আউটপুট হবে ২০,২৫,৩০,৩৫,৪০,৪৫,৫০

programming language cq

অনুশীলন প্রশ্ন ৫ (উত্তরসহ)  

#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 
}
Print f(“Sum = %d” s);

ক. হেডার ফাইল কী? 
খ. C ও C++ এর মধ্যে ভিন্নতা কী? ব্যাখ্যা কর। 
গ. উদ্দীপক প্রোগ্রামটি ডিবাগিং কর। 
ঘ. উদ্দীপক প্রোগ্রামটি goto লুপ দিয়ে বাস্তবায়ন সম্ভব দেখাও। 
প্রশ্নের উত্তর 

ক) সি প্রোগ্রামে ব্যবহৃত ফাংশন যে ফাইলে থাকে তাই হলো হেডার ফাইল। 

খ) C এবং C++ এর মধ্যে ভিন্নতা লক্ষ করা যায়। যেমনঃ

১. C একটি সাধারণভাবে ব্যবহারের উপযোগী প্রোগ্রামিং ভাষা । C থেকে C++ এর উৎপত্তি। 
২. C ভাষাকে প্রোগ্রামিং ভাষার জনক বলা হয়। C এর উন্নত ভার্সন C++
৩. C হলো স্ট্রাকচার্ড প্রোগ্রামিং ভাষা। C++ হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা। 

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

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

Printf(“Enter last number = “): Printf এর বড় হাতের ব্যবহৃত হয়েছে এবং স্টেটমেন্টের শেষে সেমিকোলন (;) ব্যবহার করা। হয় নি। 

Scanf(“%d”, n) : Scanf এর S বড় হাতের ব্যবহৃত হয়েছে এবং n ও f এর মধ্যে ফাকা স্পেস রয়েছে। n এর পূর্বে & অপারেটর ব্যবহৃত হয় নি। স্টেটমেন্টের শেষে সেমিকোলন (;) ব্যবহৃত হয় নি। I = 10; : ভেরিয়েবল । প্রথমে ডিক্লেয়ার করা হয়েছে কিন্তু ব্যবহৃত  হয়েছে। 

while (i<=n) : প্রথমে ভেরিয়েবল n ডিক্লেয়ার করা হয় নি। s=s+i: স্টেটমেন্টের শেষে সেমিকোলন (:) ব্যবহৃত হয় নি। 

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

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

.#include <stdio.h> 
int main() 

int i, n, s; 
s=0; 
i=10; 
printf(“Enter last number–“); 
scanf(“%d”, &n);
while (a<=n) 

S = S+i ;
i = i+10; 

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

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

#include <stdio.h> 
int main() 

int i, n, s; 

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; 

programming language cq

অনুশীলন প্রশ্ন ৬ (উত্তরসহ)

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

.#include <stdio.h> 
main () 

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

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

#include<stdio.h> 
main( ) 
{
int a, b, c; 
scanf(“%d %d”, &a, &b); 
c=a+b;
printf(“%d”, c); 
}

প্রোগ্রাম-২ 

ক. ধ্রুবক কী? 
খ. scanf(“%f”, &a); স্টেটমেন্টটি ব্যাখ্যা কর। 
গ. প্রোগ্রাম-১ এর প্রবাহচিত্র অঙ্কন কর। 
ঘ. প্রোগ্রাম-১ ও প্রোগ্রাম-২ এর মধ্যে কোনটিকে তুমি উত্তম বলে মনে কর? বিশ্লেষণপূর্বক মতামত দাও।

প্রশ্নের উত্তর 

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

খ) scanf(“%lf”, &a); স্টেটমেন্টটি ইনপুটের যান গ্রহণের জন্য ব্যবহৃত হয়। প্রোগ্রামটি রান করালে Key board থেকে ইনপুটের মান গ্রহণ করে। এখানে, “%f” হলো float ডেটা টাইপের format specification, & a হলো Address of a যা float টাইপের ভেরিয়েবলের মেমোরি লোকেশন। যেখানে ডেটা সংরক্ষিত হবে।
গ) প্রোগ্রাম-১ এর প্রবাহচিত্র নিচে অঙ্কন করে দেখানো হলো

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

অপরদিকে প্রোগ্রাম-২ এ a ও b এর মান কী-বোর্ড থেকে দেওয়ার ব্যবস্থা আছে। ফলে প্রোগ্রাম-২ এ একাধিক বার ইচ্ছেমতো ইনপুট নিয়ে যোগফল নির্ণয় করা যাবে। 

অতএব প্রথম প্রোগ্রামটি স্ট্যাটিক এবং দ্বিতীয় প্রোগ্রামটি ডাইনামিক। তাই প্রোগ্রাম-১ ও প্রোগ্রাম-২ এর মধ্যে প্রোগ্রাম-২ উত্তম বলে আমি মনে করি।

programming language cq

অনুশীলন প্রশ্ন ৭(উত্তরসহ)

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

ক. ডেটা কমিউনিকেশন কী? 
খ. নিচের চলকগুলো শুদ্ধ নয় কেন ব্যাখ্যা কর : 
ab-c, main, int, 2abe. 
গ. উক্ত কমিউনিকেশন মাধ্যমটির গঠন বর্ণনা কর। 
ঘ. প্রথম মাসে মি. x যে তারিখগুলোতে অফিস করবে তা প্রদর্শনের জন্য ‘সি’ ভাষায় প্রোগ্রাম লেখ। 

প্রশ্নের উত্তর 

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

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

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

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

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

ঘ ) মি. x পহেলা ডিসেম্বর ২০১৮ তারিখে চাকুরিতে যোগদান করেন। চাকুরিটি চুক্তিভিত্তিক হওয়ায় প্রতি 4 দিন পর পর অফিস যেতে হয়। অর্থাৎ প্রথম মাসে মি. X যে তারিখগুলোতে অফিস করবে সে তারিখগুলো হলো 1 5 9 13 17 21 25 29 

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

#include <stdio.h> 
int main() 

int n, i, 
print
f(“Enter a number: “); 
scanf(“%d”, &n); 
for (i=1;i<=n; i=i+ 4) 

printf(“%d”, i), 

return 0; 

programming language cq

অনুশীলন প্রশ্ন ৮ (উত্তরসহ)

(90)² + (80)² + (70)² + ………+(20)² 

ক. কী ওয়ার্ড কী? 
খ. সি ভাষায় ‘Inumber সঠিক চলক নয়- ব্যাখ্যা কর। 
গ. উদ্দীপকের সিরিজটির জন্য অ্যালগরিদম লিখ। 
ঘ. উদ্দীপকের সিরিজটির জন্য if এবং goto স্টেটমেন্ট ব্যবহার করে সি ভাষায় প্রোগ্রাম লিখ। 

প্রশ্নের উত্তর

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

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

গ) (90)² + (80)² +(70)² +  …………+(20)²  নির্ণয়ের অ্যালগরিদম : 

ধাপ ১: শুরু কর
ধাপ- ২: n= 20 এর মান ইনপুট করি। 
ধাপ- ৩: যোগফলের জন্য S=0 এবং চলক i= 90 ব্যবহার করা হয়েছে।
ধাপ- ৪ : যদি i>= 20 হয় তাহলে ৫ ও ৬ নং ধাপে গমন করো।
অন্যথায় ৭নং ধাপে গমন কর।
ধাপ-৫: S= S+i*i
ধাপ- ৬ : i = i- 10 (i এর মান হ্রাস করি এবং পুনরায় ৪নং ধাপে যাও।)
ধাপ- ৭: S এর মান প্রিন্ট কর। 
ধাপ- ৮ : শেষ কর। 

বিকল্প

i) start
ii) input n= 20
iii) S=0
iv) i= 90
v) is( i>=20)
a) yes, repeat steps 6 and 7
b) No, go to step 8
vi) S= S+i*i
vii) i = i-10
viii) Print s
ix) End

ঘ উদ্দীপকের প্রোগ্রামটি if এবং goto স্টেটমেন্ট ব্যবহার করে প্রোগ্রাম : 

#include <stdio.h> 
int main() 

inti,n,s: 

s= 0;
printf(“Enter value of n: “);
scanf(“%d”, &n); 
i = 90; 
again: 
s=s+i*i; 
.printf(“%d” s); 
i = i-10; 
if (i>= 20) goto again:
return 0; 

output: 28400

programming language cq

অনুশীলন প্রশ্ন ১০ (উত্তরসহ)

#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 (“\n Result=%d”, sum); 
getch ( ); 

ক run time  এরর কী ? 
খ. চলকের নামে আন্ডারস্কোর ব্যবহার করা যাবে বুঝিয়ে লেখ। 
গ. উদ্দীপকে উল্লিখিত প্রোগ্রামটির অ্যালগরিদম লেখ। 
ঘ. n এর মান 5 হলে উদ্দীপকের প্রোগ্রামটির ফলাফল বিশ্লেষণ কর। 

প্রশ্নের উত্তর 

ক) প্রোগ্রাম নির্বাহের সময় ভুল ডেটা ইনপুট দিলে আউটপুট বা ফলাফল ভুল আসবে অথবা প্রোগ্রাম নির্বাহ হবে না। এ ধরনের ভুলকে রান টাইম এরর বলে। 

খ) সি প্রোগ্রামে চলকের নাম লেখার ক্ষেত্রে কিছু নিয়ম কানুন রয়েছে। চলকের নামে বর্ণ, অঙ্ক এবং আন্তারস্কোর চিহ্ন (_) ব্যতীত অন্য কোন চিহ্ন ব্যবহার করা যায় না। তাই চলকের নামে আন্তারস্কোর ব্যবহার করা যাবে। 

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

ধাপ-১: শুরু করি। 
ধাপ- ২: n এর মান ইনপুট করি। 
ধাপ- ৩ : যোগফলের জন্য sum = 0 এবং চলক i=1 ব্যবহার করা হয়েছে।
ধাপ- ৪ : যদি i <=n হয় তাহলে ৬নং ধাপে গমন করি; অন্যথায় ৮নং ধাপে গমন করি। 
ধাপ-৫ : যদি i = 3 হয় তাহলে continue স্টেটমেন্টের কারণে। 
শর্তটি এরিয়ে যাবে এবং পুনরায় ৪ নং ধাপে গমন করবে। 
ধাপ- ৬ : sum=sum+pow ( i, 2) 
ধাপ- ৭: i++ হলে ৪নং ধাপে যাই। 
ধাপ- ৮ : যোগফল প্রিন্ট করি। 
ধাপ- ৯ : শেষ করি। 

Alternative:

i) Start
ii) Input n
iii) s= 0
iv) i= 1
v) is (i < =n)
a) yes, repeat steps 7 and 8
b) No, go to step 8
vi) if (i==3) go to step 5
vii) sum=sum+ pow ( i, 2) 
viii) i++
ix) print sum
x) End

ঘ) কোডটিতে n এর মান 5 হলে উদ্দীপকের প্রোগ্রামটির ফলাফল হবে 46।
নিচে ফলাফলটি বিশ্লেষণ করা হলো-
এখানে, sum = 0 এবং i =1 হলে, 
sum = sum + pow ( i, 2)
= 0+1² 
sum = 1 
এখন, sum = 1 এবং i = 2 হলে, sum= sum+pow ( i, 2)
=1+2²
=1+4 
sum = 5. 
sum 5 এবং i == 3 হলে continue স্টেটমেন্টের জন্য এই ধাপটি  যাবে।. 
এখন, sum = 5 এবং i =4 হলে, sum= sum +pow ( i,2)
= 5+42 = 5 + 16 = 21

এখন sum = 21 এবং i= 5 হলে, sum = sum + pow (i, 2 ) 
= 21+5² = 21+25=46 অর্থাৎ n এর মান 5 হলে প্রোগ্রামটির ফলাফল হবে 46 

অনুশীলন প্রশ্ন ১১ (উত্তরসহ)

#include<stdio.h> 
void main() 
{ int i, s = 0; 
for (i= 7; i < = 70; i = i + 7)
s = s+i;
printf(“%d”, s); 
}

ক. অনুবাদক প্রোগ্রাম কী? 
খ. সুডোকোড প্রোগ্রামিং ভাষা নির্ভর নয়- ব্যাখ্যা কর ।
গ. উদ্দীপকের প্রোগ্রামটির ফ্লোচার্ট অঙ্কন কর। 
ঘ. উদ্দীপকের প্রোগ্রামটিকে Do… while লুপ দিয়ে এমনভাবে রচনা কর যাতে i-এর সর্বোচ্চ তুলনীয় মান ব্যবহারকারী ইচ্ছামতো দিতে পারবে। 

প্রশ্নের উত্তর 

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

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

গ) উদ্দীপকের আলোকে ধারাটি হবে 7 + 14 + 21 +……. + 70 ধারার যোগফল নির্ণয়ের ফ্লোচার্ট : 
programming language cq
ঘ) উদ্দীপকের প্রোগ্রামটি do…while লুপ দিয়ে এমনভাবে রচনা করা হলো যাতে i-এর সর্বোচ্চ তুলনীয় মান ব্যবহারকারী ইচ্ছেমতো দিতে পারবে। 

#include <stdio.h> 
int main() 

inti = 7, s, N; 

s=0;
printf(“Enter the largest number of N : “); 
scanf(“%d”, & N); 
do 

s=s+i; 
i=i+7; 

while (i<=N);
printf(“%d”, s);
return 0; 

অনুশীলন প্রশ্ন ১২ (উত্তরসহ)

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

ক. অ্যালগরিদম কী? 
খ. কম্পাইলার সুবিধাজনক কেন? ব্যাখ্যা কর। 
গ. গণিত শিক্ষকের শিখানো বিষয়টির ক্ষেত্রফল নির্ণয়ের প্রবাহচিত্র অঙ্কন কর। 
ঘ. আইসিটি শিক্ষকের শিখানো বিষয়টি ‘সি’ ভাষায় প্রোগ্রাম লিখ। 

প্রশ্নের উত্তর 

ক) অ্যালগরিদম হলো প্রোগ্রামিং সমস্যা সমাধানের বিভিন্ন ধাপের লিখিত ও পরিকল্পিত বিবরণ।

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

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

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

#include <stdio.h> 
int main() 
{ int i, N, s;

s = 0;
printf(“Enter the number of N : “);
scanf(“%d”, &N); 
for (i= 3; i <= N; i=i+3) 

print
f(“sum = %d”, s);
return 0; 
}

অনুশীলন প্রশ্ন ৯ (উত্তরসহ) বাদ

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

ধাপ-১: প্রোগ্রাম শুরু। ধাপ-২: X, Y ও Z এর মান গ্রহণ ধাপ-৩: সিদ্ধান্ত : X> Y এবং X> Z (i) হ্যাঁ হলে ধাপ-৪ এ গমন। (ii) না, হলে ধাপ-৫ এ গমন। ধাপ-৪: X বড় সংখ্যা ও ছাপ এবং ধাপ-৮ এ গমন। ধাপ-৫: সিদ্ধান্ত : Y >Z(i) হ্যাঁ হলে ধাপ-৬ এ গমন। (ii) না: হলে ধাপ-৭ এ গমন। ধাপ-৬: Y বড় সংখ্যা ও ছাপ এবং ধাপ-৮ এ গমন। ধাপ-৭ : Z বড় সংখ্যা ও ছাপ। ধাপ-৮ : প্রোগ্রাম শেষ । 

ক. চলক কী? 
খ. math.h ফাইলটি ব্যাখ্যা কর। 
গ. উদ্দীপকটির ফ্লোচার্ট আঁক। 
ঘ. উদ্দীপকের সমস্যাটি 10টি সংখ্যার জন্য সি প্রোগ্রাম লিখ  

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

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

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

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

#include <stdio.h> 
int main()
{  int a[10]; 
int i; 
int greatest;
printf(“Enter Ten Values= “);
for (i = 0 ;i< 10; i++)
scanf(“%d”, & a[i] );
{ if (a[i]> greatest) {
greatest = a[i] ;
}
}
printf(“Greatest of ten numbers is %d”, greatest); 
return 0; 

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

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

programming language cq

You cannot copy content of this page