Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/19/d650279470/htdocs/app653499953/wp-includes/post-template.php on line 284

Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/19/d650279470/htdocs/app653499953/wp-includes/post-template.php on line 284

Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/19/d650279470/htdocs/app653499953/wp-includes/post-template.php on line 284

Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/19/d650279470/htdocs/app653499953/wp-includes/post-template.php on line 284

«

»

সেপ্টে. 01

যন্ত্রের ভাষায় কথা বলা (C++) — পর্ব ২ — আপনার প্রথম প্রোগ্রাম

[কোর্সের মূল পাতা | নিবন্ধনের লিংক]

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

 

প্রথমেই জরুরী একটি কাজ সেরে নেওয়া প্রয়োজন — যেই প্রোগ্রামটি আপনি লিখবেন, তা যন্ত্রের ভাষায় অনুবাদের প্রক্রিয়া তৈরি করা। এই কোর্সে আমরা www.ideone.com ওয়েবসাইট ব্যবহার করে প্রোগ্রাম যন্ত্রের ভাষায় অনুবাদ করবো। সেই সম্পর্কেই কিছু প্রাথমিক তথ্য ও নির্দেশনা নিয়ে এই পর্বের প্রথম ভিডিওঃ

 

 

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

 

 

এবং

 

 

ভাষাশিক্ষা শুরু করা যাক আমাদের পরিচিত দুইটি ভাষার মধ্যে তুলনা দিয়ে। বাংলা ভাষায় বাক্য গঠণের রীতি অনুযায়ী, বাক্যে ক্রিয়াপদ শেষে ব্যবহৃত হয় — যেমন, “আমি ভাত খাই।” একই বাক্যটি যদি ইংরেজিতে গঠিত হয়, তখন তার রূপ দাঁড়ায় — “I eat rice.” ইংরেজি ভাষার ব্যাকরণের রীতি অনুযায়ী verb এর অবস্থান subject এবং object এর মাঝামাঝি। ভাষান্তরের এমন খুব সহজ কিছু নিয়ম যন্ত্রের বেলায়ও প্রযোজ্য। এই নিয়মগুলোকে আমরা কিছু “ধারণা” হিসাবে চিনবো।

 

ধারণা ১ — সীমানা নির্ধারণ

খেলার মাঠ থেকে রেস্টুরেন্টের টেবিল পর্যন্ত সর্বত্রই আমাদের কার্যকলাপ কিছু নির্দিষ্ট সীমানার মধ্যে আবদ্ধ থাকে। সেই সীমানা কোথাও মাঠে দাগ দিয়ে চিহ্নিত থাকে, কোথাও ঘরের দেওয়াল দিয়ে। প্রোগ্রামের বিভিন্ন অংশের মাঝেও তেমনি কিছু সীমানা নির্দিষ্ট রাখা প্রয়োজন। এই উদ্দেশ্যে ব্যবহৃত হয় second bracket, বা curly braces, বা {} চিহ্ন।

 

ধারণা ২ — প্রোগ্রাম ও ফাইলের পরিচিতি

প্রোগ্রামিং-এর জন্য আপনি যেই ভাষা ব্যবহার করছেন, প্রথম কর্তব্য হলো যন্ত্রকে সেই ভাষার নাম জানানো। নচেৎ শুদ্ধ ব্যাকরণ বলার পরও যন্ত্র আপনার কথা বুঝতে পারবে না! এ-কারণেই C++ প্রোগ্রামটি যেই ফাইলে লিখবেন তার নামকরণে এক্সটেনশন হিসাবে .cpp থাকতে হবে। শুধু তাই নয়, তাকে আরও জানতে হবে কোন মাধ্যমে আপনি যন্ত্রকে বার্তা পাঠাবেন, কোন মাধ্যমে যন্ত্র আপনাকে জবাব দেবে, ইত্যাদি। সেই উদ্দেশ্যে প্রতিটি প্রোগ্রামের শুরুতেই ব্যবহৃত হয় #include <iostream> নির্দেশনাটুকু। এর অর্থ হলো, আপনি standard input & output ব্যবহার করে বার্তা আদান-প্রদান করবেন।

 

ধারণা ৩ — যতি চিহ্ন

বাক্যের সমাপ্তি বুঝানোর জন্য আমরা দাড়ি কিংবা full stop বা period ব্যবহার করে থাকেই। যন্ত্রকে দেওয়া প্রতিটি নির্দেশনার শেষেও একই ভাবে বিরাম চিহ্ন ব্যবহার করতে হয়। তফাৎ একটাই, এক্ষেত্রে ব্যবহৃত হয়ে থাকে সেমিকোলন (;) চিহ্নটি।

 

ধারণা ৪ — দলবদ্ধ নির্দেশনা

ব্যবহারে সুবিধার জন্য প্রায়ই ছোটো ছোটো নির্দেশনাকে দলবদ্ধ করে থাকি আমরা। যেমন, “ব্যাটিং পাওয়ার-প্লে নাও” কিংবা “পদ্মাসন করো” বলা হলে আমরা বুঝে যাই কী কী কাজ করতে হবে। প্রথমবারের পর খুঁটিনাটি বিষয়গুলো আলাদা করে বলে দিতে হয় না। যন্ত্রের ক্ষেত্রেও একই ব্যাপার প্রযোজ্য। C++ এ এই একই কাজ করার জন্য namespace এর ধারণা ব্যবহৃত হয়। প্রোগ্রামের শুরুতেই সে-কারণে লিখতে হয় using namespace std; যার অর্থ দাঁড়ায় “std নামক namespace (যেখানে বিভিন্ন প্রচলিত নির্দেশনার শর্টকাট আছে) ব্যবহার করো”।

 

ধারণা ৫ — মন্তব্য করা

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

// এটি একটি মন্তব্য।

একাধিক লাইনে মন্তব্য করতে চাইলে ব্যবহার করুন /* মন্তব্য লিখুন */ আকারে। যেমন —

/*

মন্তব্য লাইন ১

মন্তব্য লাইন ২

*/

 

ধারণা ৬ — শ্রমবিভাজন

কোনো মানুষের পক্ষে যেমন সব কাজ একা করা সম্ভব না, ঠিক তেমনি প্রোগ্রাম লিখবার সময়ও সব নির্দেশনা এক জায়গায় লিখলে জটলা পাকিয়ে যাওয়ার ভয় থাকে। সেই লক্ষ্যেই কিছু শ্রমবিভাজন করা হয়, অর্থাৎ প্রোগ্রামের একেক অংশ একেকটি কাজ করে। এটাকে বাস্তবায়ন করা হয় ফাংশন ব্যবহার করে। এই নিয়ে বিশদ আলোচনা পরবর্তীতে হবে। আপাতত জেনে রাখুন যে int SomeFunction() দিয়ে বোঝানো হয় SomeFunction নামে একটি ফাংশনকে, যে তার কাজ সমাপ্ত করার পর একটি integer (“ইন্টিজার”) বা পূর্ণ সংখ্যার মাধ্যমে জবাব দেবে।

 

ধারণা ৭ — নাটের গুরু

প্রতিটি সুসংগঠিত প্রতিষ্ঠানের একজন নাটের গুরু থাকেন যিনি সব কিছু দেখেন, জানেন, নিয়ন্ত্রণ করেন। প্রোগ্রামেও তেমনটি একটি ভিত্তিমূল থাকে। একে বলা হয় main ফাংশন। প্রতিটি প্রোগ্রামে শুধু এবং শুধুমাত্র একটি main ফাংশন থাকে।

 

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

 

এই পর্বে এটুকুই। ভালো থাকবেন সবাই।

 

C++ এ হ্যালো ওয়ার্ল্ড প্রোগ্রামের উদাহরণ কোড

/*  Example of multi-line comment:
    This program outputs the words "Hello World!" in the console.
    There is no need to allocate any memory as no computational
    variable is used.
 */
#include <iostream>  // standard I/O library
 using namespace std;  // allows use of standard definitions
int main()
{
    // ‘cout’ is used for standard output to console
    // cursor is moved to the next line using ‘n’
    cout << "Hello World!n";
    // do not close the console
    system(“PAUSE”);
    // return integer value to ‘main’
    return 0;
}

Comments

comments

About the author

ইশতিয়াক রউফ

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

1 comment

  1. Zoynul abedin

    I am really very happy to this site! Thanks For this.

Leave a Reply to Zoynul abedin Cancel reply