Thursday, November 20, 2014

Basic C Programming : বকবকানি ১,২ : সি প্রোগ্রামিং প্রস্তুতি ও পরিচয়

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

কোর্সটি আসলে বিগিনারদের জন্য লেখা । তো এই কোর্স শুরু করতে কী কী লাগবে ?
1. একটি কম্পিউটার ।
2. সি / সি++ কম্পাইলার ।
3. প্র্যাকটিস করার মত সময় ।
তো কম্পাইলার কী এ সম্পর্কে একটু পরে বলি । আগে ঝটপট ডাউনলোড করে নিন একটি কম্পাইলার ।
সি প্রোগ্রামিং এর জন্য অনেক কম্পাইলার পাবেন । যারা শুরু করছেন তাদের জন্য বলছি আপনারা কোড ব্লকস ব্যাবহার করতে পারেন । এটি একটি ফ্রি এবং ক্রসপ্লাটফরম সফটওয়্যার । এখন কোড ব্লকসের ভার্সন চলছে 13.12 । তাই আপডেট ভার্সন টাই ব্যাবহার করবেন ।
যারা উইন্ডোজ ইউজার :
এই লিংকে এ যান । ডাউনলোড পেজে codeblocks-13.12-setup.exe ও codeblocks-13.12mingw-setup.exe দেখতে পাবেন । codeblocks-13.12mingw-setup.exe ডাউনলোড করবেন ।
যারা লিনাক্সের উবুন্টু ইউজার :
সফটওয়্যার সেন্টারে যেয়ে codeblocks সার্চ করুন । তারপর ইনস্টল বাটনে ক্লিক করুন । gcc দেয়া না থাকলে একইভবে gcc ইনস্টল করুন ।
যারা Mac ইউজার :
এই লিংক থেকে ডাউনলোড করে নিন ।
আমি এই কোর্সে লিনাক্সে কোডব্লকস ব্যাবহার করবো । স্ক্রিনশট যখন লাগবে দিব । অপারেটিং সিস্টেম ভেদে ইন্টারফেস একটু আলাদা হতে পারে । কিন্তু কাজ একই ।
কম্পাইলার জিনিসটি কী ??
আমি ও আমার এক ইংরেজ বন্ধু গেছি একটি কাজে জাপানে । জাপানী এক লোকের সাথে কিছু কাজ আছে । তো জাপানী ব্যাটা জানেনা ইংরেজী । জানেনা বাংলা । আমার বন্ধু আবার জাপানী বোঝে । তো ইংরেজ বন্ধুটি জাপানীর কথা ইংরেজীতে আমাকে অনুবাদ করে দিল । আমার ইংরেজী ( আমার মাতৃভাষা বাংলা ) জাপানীকে জাপানীজ ভাষাতে অনুবাদ করে দিল । এখানে আমার ও জাপানীজের সাপেক্ষে আমার ইংরেজ বন্ধু কম্পাইলারের কাজ করেছে । মানে যে দোভাষীর কাজ করে সেই কম্পাইলার ।
এত এত কথা কেন শুনাচ্ছি ? কম্পিউটার তার সকল কাজ করে বাইনারী নাম্বার সিস্টেমে । ( বাইনারী নাম্বার সিস্টেম ! যে নাম্বার সিস্টেমে অংকের সংখ্যা ২ টি । ০ ও ১ সেই নাম্বার সিস্টেমকে বাইনারী নাম্বার সিস্টেম বলে । আমরা ডেসিমাল নাম্বার সিস্টেম ব্যাবহার করি ।)
আমাদের ভাষাকে কম্পাইলার কম্পিউটার উপযোগী করে । মানে আমাদের ভাষাকে বাইনারীতে রুপান্তর করে । তাহলে প্রশ্ন জাগতে পারে প্রোগ্রামিং কেন শিখবো ? আমরা কথা বলবো আর কম্পাইলার সেই ভাষাকে কম্পিউটারের জন্য বাইনারী কোডে রুপান্তর করবে । ( “এই কম্পিউটার ? শোনো , আমাকে ব্রায়ান এডামসের সামার অফ 69 গানটি শোনাও না ? ” এভাবে বললে শোনাবে ??) আপনাদের মনে আছে , আমি আমার ইংরেজ বন্ধুর সাথে বাংলাতে কথা না বলে ইংরেজীতে কথা বলছিলাম । কারণ আমার বন্ধু বাংলা বোঝেনা । ঠিক কম্পাইলার ও আমাদের এরকম কথা বুঝতে পারবেনা । আমার ইংরেজ বন্ধুর সাথে কথা বলতে ইংরেজী শিখতে হয়েছে । কম্পাইলারের সাথে কথা বলতে প্রোগ্রামিং শিখতে হবে । সেই প্রোগ্রাম কম্পাইলার রুপান্তর করবে মেশিন কোডে ।
তো প্রোগ্রাম কী ?
নির্দিষ্ট কতগুলো নির্দেশমালার সমষ্টিই প্রোগ্রাম । ( আরে বাব্বা । এত কঠিন ?? ) আসলে ভয়ের কিছু নেই । কম্পিউটার নির্বোধ এক যন্ত্র ।তবে এর ক্ষমতা আছে গাধার মত খাটার । আমরা তাকে খাটিয়ে নেয়ার জন্য যে নির্দেশ দিব সেগুলোই প্রোগ্রাম ।
বকবকানি ২: পরিচয় :
বুঝি আর না বুঝি ঝটপট লিখে ফেলি একটি ছোট্ট প্রোগ্রামিং । অবশ্যই খাতা কলমে না । কম্পাইলারে ।
File>Empty File অথবা ctrl+shift+N বাটনে চাপ দিয়ে n নতুন একটি ফাইল খুলুন ।তারপর অবশ্যই সেভ করবেন ফাইলটি ইচ্ছামত নাম দিয়ে । কিন্তু এক্সটেনশন হবে অবশ্যই .c । মানে এরকম নাম হতে পারে ,
murad_takla.c অথবা welcome.c ইত্যাদি ।
এবার নিচের কোড লিখুন । ( কপি পেস্ট করবেননা ।)
1. #include<stdio.h>
2.
3. int main()
4. {
5. printf(“Welcome”);
6. return 0;
7. }
এখন বিল্ড বাটনে চাপ দিন তো দেখি ।দিয়েছেন ? বাটন না পেলে দেখুন উপরে মেনুতে বিল্ড অপশন আছে । ওখানেই বিল্ড , রান , বিল্ড এন্ড রান পাবেন ।
কম্পাইলারের  নিচের দিকে দেখেন কিছু লেখা উঠেছে ।
কিছু বুঝেছেন ? এটা আপনাকে বলছে যে প্রোগ্রামে কোন ইরর নেই । ওয়ার্নিং নেই । এই ব্যাপারে পরে আরো বলা যাবে ।
1 নাম্বার লাইনটি হেডার ফাইল ।
2 নাম্বার লাইনটি কিছুইনা । দেখতে সুন্দর লাগবে তাই ।
3 নাম্বার লাইনটি মেইন ফাংশন ।
4 লাইন হচ্ছে মেইন ফাংশনের পরের লাইন । কম্পিউটার এই লাইন থেকে প্রোগ্রাম পড়া শুরু করে ।
5 নাম্বার লাইনটিতে প্রিন্ট করতে দিয়েছি ।
6 নাম্বার লাইনে রিটার্ন 0 দিয়েছি ।
7নাম্বার লাইনে মেইন ফাংশন শেষ করেছি ।
কী ভয়াবহ জিনিসটাই না ঘটে গেল ! বোঝার আগে রান করে দেখুন একটি উইন্ডো ওপেন হয় । আপনার প্রোগ্রামের আউটপুট দেখাবে এখানে ।
ফাংশন কী ?
আপনারা দেখেছেন , একটি ফাংশনy= f(x)=-x; হলে , যখন x=3 হবে তখন y এর মান কত হবে ?এই ফাংশনটি x এর মান হিসাবে যাকেই পাবে তাকে ধরেই নেগেটিভ করে দিবে ।
যেখানেই main() পাবে কম্পাইলার তখন প্রোগ্রাম পড়া শুরু করবে । এবং একটি প্রোগ্রামে একাধিক মেইন ফাংশন থাকবে । মেইন ফাংশনের ভিতরে অন্যান্য ফাংশন ব্যবহার করা যাবে । কিন্তু সেই ফাংশনের কাজ কী তা বলে দিতে হবে । কোন ফাংশনের কী কাজ তা একটা ফাইলে লেখা আছে । যে ফাইলকে বলে হেডার ফাইল । তাই আপনি যখনই ফাংশন লিখবেন তার কাজ কী বলে দেয়ার জন্য উপরে একটি হেডার ফাইল ইনক্লুড করতে হবে । যেমন printf(“Welcome”); লিখেছি বলে উপরে হেডার ফাইল লিখেছি #include<stdio.h>
এখানে include করতে বলা হচ্ছে stdio.h ফাইলকে । stdio হচ্ছে Standard Input Output .
মানে আউটপুট হিসাবে দেখতে বা কোন ইনপুট নিতে যে ফাংশনগুলো ব্যবহার করা হয় তার হেডার ফাইল #include<stdio.h>
এরকম অনেকগুলো হেডার ফাইল আছে । আস্তে আস্তে শিখবো ।
তো printf(“Welcome”); লাইনটি দেখে কম্পাইলার খুজবে এই ফাংশনের কাজ কী ? খুঁজতে হলে হেডার ফাইল দেখে নিয়ে বলবে , ও আচ্ছা এই কথা ? তুমি আউটপুটে Welcome প্রিন্ট করতে বলছো ?
তারপর return 0; এটা এখন বোঝানো খুবই কষ্টকর হবে । ফাংশন বলে একটি টিউটোরিয়ালে সেটি বললেই ভালো হবে ।
খেয়াল করুন । মেইন ফাংশনগুলোতে প্রতিটি স্টেটমেন্টের শেষে সেমিকোলন । এটা দিতেই হবে ।
সব প্রোগ্রামেই যেটা লাগবে সেটা হলো
#include<stdio.h>
int main()
{
return 0;
}
শেষে আমার পরিচয় দিয়ে নিই ।
আমি মো: নাজমুল হুসাইন
পড়াশোনা করছি কম্পিউটার সায়েন্স এন্ড ইঞ্জিনিয়ারিং এ ইসলামী বিশ্ববিদ্যালয়ে । প্রোগ্রামিং এই যত আগ্রহ । বিশেষ করে কন্টেস্ট প্রোগ্রামিং । এছাড়া টুকটাক HTML , CSS শিখছি ।
আজ এই পর্যন্তই । আবার দেখা হবে সামনের কোন এক দিন । সে পর্যন্ত সকলে ভালো থাকবেন । সাথে থাকার জন্য ধন্যবাদ ।

 

Copyright @ 2013 Nazmul Hussain's Blog.