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


 # সি ভাষায় প্রোগ্রাম উন্নয়ন পরিবেশ:

= সি ভাষায় প্রোগ্রামিং পরিবেশে কোন প্রোগ্রাম তৈরি ও নির্বাহ করার জন্য ৬ টি ধাপ রয়েছে। এরা হলো

ধাপ ১;প্রোগ্রাম সম্পাদনা:

 এডিটরের সাহায্যে প্রোগ্রামার সি প্রোগ্রাম টাইপ করেন এবং প্রয়োজন অনুসারে সংশোধন করেন।

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


 ধাপ : ২ : পিপ্রসেস 

তৈরি করা প্রোগ্রাম মেশিনের ভাষায় রূপান্তরিত 

হওয়ার আগেই কম্পাইলার স্বয়ংক্রিয়ভাবে প্রি -

প্রসেসর প্রোগ্রাম নির্বাহ করেন।

এই কমান্ডসমূহকে প্রি - প্রসেসর ডাইরেক্টিভ বলা 

হয় । এটি কম্পাইলেশন বা সংকলনের আগেই প্রোগ্রামের কিছু পরিচালনামূক কাজ সম্পাদনে 

নির্দেশ প্রদান করে।


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


*মে ফাইল কম্পাইল করতে হবে সেই ফাইলের সাথে অন্য ফাইল অন্তর্ভুক্ত করা।

*বিভিন্ন রকম রিপ্লেসমেন্ট কাজ সম্পাদনে করা।


ধাপ ৩ : কমপাইল 

প্রোগ্রাম কম্পাইল (compile) বা সংকলন করতে প্রোগ্রামার কমান্ড প্রদান করেন। কম্পাইলার বা সংকলনকারী সি প্রোগ্রামকে মেশিন ভাষা কোড বা অবজেক্ট কোড অনুবাদ করেন এবং ডিস্কে সংরক্ষণ করেন। 


ধাপ ৪: লিংক : 

লিংকার মেশিন ভাষা কোড বা অবজেক্ট কোডর সাথে লাইব্রেরি ফাইলের সংযোগ বা লিংক করে।


ধাপ ৫: লোড :

প্রোগ্রামকে নির্বাহ করার জন্য আগে প্রোগ্রামটিকে অবশ্যই প্রথমে মেশিন বা স্মৃতিতে স্থানান্তর করে।প্রোগ্রামটি সহায়তা করতে শেয়াড লোড করা হয়।


ধাপ ৬: প্রোগ্রাম নির্বাহ :

সবচেয়ে কম্পিউটার এর সিপিইট এর নিয়ন্ত্রণীনে একটিমাত্র নির্দেশে প্রোগ্রাম নির্বাহ সম্পান্ন হয়।উপরে বর্ণিত ৬ টি ধাপের মধ্যে প্রোগ্রামের মাত্র ৩টি ধাপের কাজ সম্পান্ন করতে হয় ।


প্রোগ্রামারকে প্রোগ্রাম সম্পদনা শেষে প্রোগ্রাম

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

কাজেই প্রোগ্রাম সম্পদনা শেষে–––

প্রোগ্রাম সংরক্ষণ→ প্রোগ্রাম কম্পাইল→

↓→ প্রোগ্রাম নির্বাহ →↑



# সি ভাষায় প্রোগ্রামের গঠন : 

সি প্রোগ্রাম একটি main ( ) ফাংশনসমুহ এক বা একধিক ফাংশনের সমম্বয়ে গঠিত একটি প্রোগ্রাম ফাংশন হলো সি প্রোগ্রামের বিল্ডিং ব্লক বা ইউনিক ফাংশনে এক বা একাধিক স্টেটমেন্ট থাকতে পারে। 

# সি ভাষায় প্রোগ্রাম তৈরি করার জন্য প্রথমে প্রয়োজনীয় ফাংশন তৈরি করতে হয়। পরে তাদের একাধিক করা হয়।


Documentation Section : এটি সি প্রোগ্রামের একটি ঐচ্ছিক অংশ। এই অংশে প্রোগ্রামের প্রয়োজনীয় Comment বা মন্তব্য থাকে । প্রোগ্রাম নির্বাহে এই অংশের কোন ভূমিকা নেই। সি ভাষায় এক লাইনের কমেন্টের জন্য // ব্যবহার করা হয়।

যেমন : // The is first code in c 



তবে একাধিক লাইনের কমেন্টের জন্য শুরুতে/ * এবং শেষে */ ব্যবহার করা হয়। যেমন :

 */ This is my first program in c. I have written my comment to clarify my Program */


 Link Section : এটি সি প্রোগ্রামের একটি আবশ্যকীয় অংশ। এই প্রোগ্রামে ব্যবহৃত বিভিন্ন ফাংশনের জন্য প্রয়োজনীয় হেডার ফাইল হলো Studio.h যা নিচের স্টেটমেন্টের মাধ্যমে এই অংশে লিখা হয়।

               # include<Studio.h>

 

 Definition Section : এটি সি প্রোগ্রামের একটি ঐচ্ছিক অংশ। একাধিক ফাংশানে অথবা প্রোগ্রামের সবত্র ব্যবহৃত হবে এমন চলক বা ভেরিয়েলকে এই অংশে লিখা হয়। যেমন:

                # define Pi = 3.14; 

               

   Global Declaration Section :এটি সি প্রোগ্রামের একটি ঐচ্ছিক অংশ। প্রোগ্রামের জন্য সবত্র ব্যবহৃত হবে এমন চলক বা ভেরিয়েলকে এই অংশে ঘোষণা করা হয়।main ( )

 Function section : এটি সি প্রোগ্রামের একটি আবশ্যকীয় অংশ। প্রত্যেক সি প্রোগ্রামেই একটি main ( ) ফাংশন থাকে। এই ফাংশনের দুটি অংশ রয়েছে।

১| ঘোষণা অংশ( Declaration Section)

২| নির্বাহ অংশ (Executive part ) 


# ঘোষণা অংশে এই ফাংশনের মধ্যে ব্যবহৃত সকল স্থানীয় চলক বা ভেরিয়েলকে ঘোষণা করতে হয়। আর নির্বাহ অংশে কমপক্ষে একটি স্টেটমেন্টের মাধ্যমে থাকতে হয়। উভয় অংশের প্রত্যেক স্টেটমেন্টের শেষে সেমিকোলন ( ; ) থাকতে হবে। ফাংশনের সম্পপূণ অংশ দ্বিতীয় বন্ধনী { } দারা আবদ্ধ থাকে।  


Subprogram Section: এটি সি প্রোগ্রামের একটি ঐচ্ছিক অংশ। ব্যবহারকারী কতৃক তৈরি করা যে সকাল ফাংশন প্রোগ্রামে থাকে তা এই অংশে লিখা হয়।  


সি ভাষায় একটি সরল প্রোগ্রাম :

একটি সরল প্রোগ্রাম যা চালানা করতে মনিটরে This is my first program প্রদর্শিত হবে তা নিচে বর্ণিত হলো – মন্তব্য বা Comment যা প্রোগ্রাম নির্বাহের সময়

কোন ভূমিকা রাখে না । মন্তব্য লেখা হলে প্রোগ্রাম বুঝতে সুবিধা হয় বিধায় মন্তব্য লেখা হয় ।


_________________________________________


Documentation Section

_________________________________________


Link Section

_____________________________


Definition Section 

_____________________________________


Global Declaration Section

________________________________

main ( ) Function sectio

__________________________


{ Declaration part


 __________________________

 Excitable part

__________________________________             


Subprogram Section

____________________________

Function 1

 __________________________

                __

____________________________

               ___

        _______________________________________


        Function x

________________________________


Uscr definitely function

_________________________________


//Program no 1 .1 

# include<Studio.h>

main ( )

{

Printf ("This is my first program");


return o;


}



১|এখানে # include<header __file__mame > এর মাধ্যমে প্রোগ্রামে ব্যবহৃত স্ট্যান্ডাড লাইব্রেরি ফাংশানের বর্ণনা সম্বলিত হেডার ফাইলের সংযুক্তি বা লিংক করা হয়। এই প্রোগ্রামের main ( ) ফাংশনের ব্যবহৃত স্ট্যান্ডাড লাইব্রেরি ফাংশান Printf ( ) এর বর্ণনা সম্বলিত হেডার ফাইল হলstudio.h  


২| প্রোগ্রামের স্টেটমেন্টের যার শেষে সেমিকোলন (; ) দিতে হয় । এখানে স্ট্যান্ডার্ড লাইব্রেরি ফাংশান Printf ( ) ব্যবহার করা হয়েছে। এই Printf ফাংশনে " মধ্যে লিখিত কোন লেখা মনিটরে প্রদর্শিত হয়। 


প্রোগ্রামের স্টেটমেন্টের যার সেমিকোলন (;) দিতে হয় । এখানে main ( ) ফাংশন কোন ভ্যালু ফেরৎ দিচ্ছে না বিধায় এই স্টেটমেন্টে ব্যবহার করা হয়েছে।



প্রোগ্রামে যদি আরও কোন ফাংশন তৈরি করার প্রয়োজন হয় তাহলে তা সাধারণত main ( ) ফাংশনের পরে লিখা হয়। তবে আগে লিখলেও কোন অসুবিধা নেই। উপরোক্ত প্রোগ্রামে আর কোন ফাংশনের প্রয়োজন নেই বিধায় তা তৈরি করা হলো না। উল্লেখ্য সরলতম সি প্রোগ্রামটি হলো main ( ) .


   ব্যবহারিক প্রোগ্রাম # ১:" I Love  Bangladesh"লেখাটি স্কীণে প্রদর্শন করার জন্য একটি সি প্রোগ্রাম লিখা ।

সমাধান: সি প্রোগ্রাম এডিটরে নিচের কোনগুলো টাইপিং করা হয়। 


# include< Studio.h>

# include< Studio.h>

main ( )


{

Printf ("I Love Bangladesh"); 

getch ( ) ;


}



প্রোগ্রাম রান করার ফলাফল : 

উন্ডোজ পরিবেশ উপরোক্ত প্রোগ্রামটি গেম সি ++(Dev C++) এ কম্পাইল করার পর রান করলে আউটপুট দেখা যাবে । উল্লেখ্য যে , টার্বো সি সহ অন্যান্য যে কোন সি প্রোগ্রাম একই ফলাফল দেখা যাবে ( I Love Bangladesh )


 ব্যবহারিক প্রোগ্রাম #২ : কোন শিক্ষার্থী ও তার কলেজের নাম ও ঠিকানা প্রদর্শন করার জন্য একটি সি প্রোগ্রাম লিখ । 

সমাধান: সি প্রোগ্রাম এডিটরে নিচের কোনগুলো টাইপ করা হলো : 


# include< Studio.h>

# include< Studio.h>

main ( )

{

   Printf ("Misbah ur Rahman ,");

   Printf(" Dhaka College,");

   Printf ("New Market, Dhaka ");


getch ( );


{


প্রোগ্রাম রান করার ফলাফল : 

উপরোক্ত প্রোগ্রামটি কম্পাইল করার পর রান করলে নিচের আউটপুট দেখা যাবে :

(Misbah ur Rahman. Dhaka College. New Market. Dhaka )



প্রোগ্রামে ডেটার ব্যবহার :

ডেটা ছাড়া কোন প্রোগ্রাম হতেই কোন ফলাফল পাওয়া যায় না। মিরাজকে বলা হলো দুটি সংখ্যার যোগফল কত? ‌সে যোগ অংকে খুবই পারদর্শী।

কিন্তু তবুও তার কাছ থেকে কোন উত্তর পাওয়া যায় না । কেননা তাকে ডেটা প্রদান করা হয়নি , 

তবে যদি মিরাজকে বলা হয় যে ৫, ৭ সংখ্যাদ্ধয়ের 

যোগফল কত তাহলে সে সঠিক উত্তর দিতে হয় সংক্ষম হবে । এখানে ৭, ও ৫ দুটি ডেটা । ধরা যাক "এ" গ্ৰেডের জন্য কমপক্ষে ৮০% "বি" গ্ৰডের জন্য ৬০% এবং "সি" দিতে পারবে না, কেননা তাকে বলা হয়নি ফারুক কোন গ্ৰেডে উত্তীর্ণ হয়েছে। 

যদি বলা হয় ফারুক"এ" গ্ৰেড পেয়েছে, তবে সে 

বলতে পারেন ফারুক কমপক্ষে ৮০% নম্বর পেয়েছে । এক্ষেত্রে "এ " একটি ডেটা । প্রোগ্রাম

বেটা । প্রোগ্রামে ডেটা ইনপুট নেওয়া হয় যা প্রয়োজন অনুসারে প্রসেসর করেই আউটপুট বা ফলাফল পাওয়া যায়। 


 ( ডেটা টাইপ→ প্রসেসর→ আউটপুট) ; 


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

প্রোগ্রামে ব্যবহৃত ডেটাসমূহ মূলতঃ বিভিন্ন ক্যারেক্টারে সাহায্য লিখতে হয় । এই সকল ক্যারেক্টারে নিম্নলিখিত ৩টি গ্ৰুপে ভাগ করা যায় : 

১| বণ বা অক্ষরমালা ( Character set ): ছোট হাতের অক্ষর(a-z) ও বড় হাতের অক্ষর( A-Z) মিলে মোট ৫২ টি অক্ষর

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

 ২| অংক( Digit):০থেকে ৯পর্যন্ত মোট ১০টি অংক । 

 ৩| বিশেষ চিহ্ন বা ক্যারেক্টারেসমূহ ( Special characters ) : সরল বিশেষ অক্ষরসমূহ ।