প্রোগ্রামিংয়ের জগতে স্বাগতম!
আমরা এখন একটি প্রোগ্রাম লিখে ফেলব, যেটি তোমার কম্পিউটারের স্ক্রিনে Hello World দেখাবে বা প্রিন্ট করবে। এটি হচ্ছে প্রোগ্রামিংয়ের একটি ঐতিহ্য। পৃথিবীর অধিকাংশ প্রোগ্রামারই জীবনের প্রথম প্রোগ্রাম হিসেবে এটি লেখে। আমি এই বইয়ের প্রোগ্রামগুলো চালানোর জন্য Codeblocks ব্যবহার করব। তবে তোমরা অন্য কিছু ব্যবহার করলেও কোনো সমস্যা নেই, সবগুলোতে কাজের ধারা মোটামুটি একই রকম। কম্পিউটারে কোডব্লকস ইনস্টল করে ফেলো। নিজে নিজে ইনস্টল করতে না পারলে নিচের ভিডিও দেখো।
আমরা এখন একটি প্রোগ্রাম লিখে ফেলব, যেটি তোমার কম্পিউটারের স্ক্রিনে Hello World দেখাবে বা প্রিন্ট করবে। এটি হচ্ছে প্রোগ্রামিংয়ের একটি ঐতিহ্য। পৃথিবীর অধিকাংশ প্রোগ্রামারই জীবনের প্রথম প্রোগ্রাম হিসেবে এটি লেখে। আমি এই বইয়ের প্রোগ্রামগুলো চালানোর জন্য Codeblocks ব্যবহার করব। তবে তোমরা অন্য কিছু ব্যবহার করলেও কোনো সমস্যা নেই, সবগুলোতে কাজের ধারা মোটামুটি একই রকম। কম্পিউটারে কোডব্লকস ইনস্টল করে ফেলো। নিজে নিজে ইনস্টল করতে না পারলে নিচের ভিডিও দেখো।
ইনস্টল হয়ে গেল। এখন উইন্ডোজের Start মেনুতে Programs-এ গিয়ে Codeblocks চালু করো। উবুন্টুতে এটি থাকবে Applications > Programming-এর ভেতর।
এখানে তোমরা Show tips at startup চেকবক্সের টিক (tick) চিহ্নটি উঠিয়ে দিতে পারো।
-->
এখন তোমরা প্রোগ্রামগুলো রাখার জন্য হার্ডডিস্কের ভেতর একটি ফোল্ডার তৈরি করে নাও। ওই ফোল্ডারে ফাইলগুলো সেভ (Save)করবে। ফাইলের যেকোনো একটি নাম দাও। আর Save as type হবে C/C++ files।
নিচের ছবিতে দেখো ফাইলের নাম হচ্ছে hello.c। সি প্রোগ্রামের সব ফাইলের এক্সটেনশন হবে .c।
-->
এখানে আমরা আমাদের কোড বা প্রোগ্রাম লিখব। নিচের কোডটি টাইপ করে ফেলো এবং ফাইলটি সেভ করো।
#include <stdio.h>
int main ()
{
printf("Hello World");
return 0;
}
প্রোগ্রাম: ১.১
-->
তোমরা হয়তো চিন্তা করছ, আমি এই হিজিবিজি কী লিখলাম? আস্তে ধীরে সব ব্যাখ্যা করব, চিন্তা নেই! আপাতত আমার কথামতো কাজ করে যাও। এবার Build মেনুতে গিয়ে Compile Current File-এ ক্লিক করো।
-->
তুমি যদি প্রোগ্রামটি ঠিকভাবে টাইপ করে থাকো তবে কম্পাইলার তোমাকে বলবে যে 0 errors, 0 warnings, মানে - প্রোগ্রামে syntax ঠিক আছে।
এখন আবার Build মেনুতে গিয়ে Run-এ ক্লিক করো। তাহলে তোমার প্রোগ্রাম চালু হয়ে যাবে।
এবং তুমি নিচের ছবির মতো স্ক্রিন দেখতে পাবে।
এখানে দেখো, তোমার প্রোগ্রামটি স্ক্রিনে Hello World প্রিন্ট করেছে। পরের লাইনে বলা আছে Process returned 0 (0x0) (এটির অর্থ নিয়ে আমাদের এখন মাথা না ঘামালেও চলবে) আর execution time : 0.031 s মানে প্রোগ্রামটি চলতে 0.031 সেকেন্ড সময় লেগেছে। তারপরের লাইন হচ্ছে, Press any key to continue. কি-বোর্ডে Any key খুঁজে না পেলে অন্য যেকোনো কি চাপলেই চলবে।
তুমি যদি প্রোগ্রামটি ঠিকঠাকভাবে রান করাতে পারো এবং Hello World লেখাটা দেখে থাকো তাহলে তোমাকে অভিনন্দন। তুমি বেশ গুরুত্বপূর্ণ একটি কাজ করে ফেলেছ।
আর ঠিকঠাকভাবে রান করাতে না পারলে আবার শুরু থেকে চেষ্টা করো। প্রয়োজনে অভিজ্ঞ কারও সাহায্য নাও। কারণ এই প্রোগ্রাম না চালাতে পারলে বইয়ের পরের অংশ পড়ে তেমন একটি লাভ হবে না। নিচের ভিডিওটি দেখতে পারো।
এবারে দেখা যাক আমি কী লিখেছি কোডে।
প্রথম লাইন ছিল: #include <stdio.h>, এটি কেন লিখেছি একটু পরে বলছি।
দ্বিতীয় লাইন ফাঁকা। দেখতে সুন্দর লাগে তাই।
তৃতীয় লাইন: int main()। এটিকে বলে মেইন ফাংশন। সি প্রোগ্রামগুলো মেইন ফাংশন থেকে কাজ করা শুরু করে, তাই সব প্রোগ্রামে একটি (এবং কেবল একটি) মেইন ফাংশন থাকতে হয়। মেইন ফাংশনের শুরুতে দ্বিতীয় বন্ধনী দিয়ে শুরু করতে হয় আর শেষও করতে হয় একটি দ্বিতীয় বন্ধনী দিয়ে। শেষ করার আগে আমি return 0; লিখেছি, সেটি কেন এখন ব্যাখ্যা না করলেই ভালো হয়, ফাংশন নিয়ে যখন আলাপ করব তখন বলব। তাই আপাতত তোমরা যেকোনো প্রোগ্রামে নিচের অংশটুকু লিখে ফেলবে:
int main()
{
এখানে কোড থাকবে।
return 0;
}
প্রোগ্রামের পরের লাইন খেয়াল করো: printf("Hello World"); এটি একটি স্টেটমেন্ট। এখানে printf() হচ্ছে একটি ফাংশন যার কাজ হচ্ছে স্ক্রিনে কিছু প্রিন্ট করা। ডবল কোটেশন চিহ্নের ভেতরে যা লিখবে তা-ই স্ক্রিনে সে প্রিন্ট করবে। এই ফাংশনটি স্ক্রিনে প্রিন্ট করে কীভাবে সেটি আসলে বলা আছে stdio.h নামে একটি ফাইলে। এই ফাইলগুলোকে বলে হেডার (header) ফাইল (.h হচ্ছে হেডার ফাইলের এক্সটেনশন)। stdio.h ফাইলে স্ট্যান্ডার্ড ইনপুট আর আউটপুট-সংক্রান্ত যাবতীয় ফাংশন লেখা আছে, আমরা কেবল সেগুলো ব্যবহার করব, ফাংশনগুলো কীভাবে কাজ করে সেটি এখন আমাদের জানার দরকার নেই। আর যেহেতু printf() ফাংশন ব্যবহার করেছি, তাই প্রোগ্রামের শুরুতে #include <stdio.h> লিখতে হয়েছে। এই রকম আরও অনেক প্রয়োজনীয় হেডার ফাইল আছে, যার কিছু আমরা পরবর্তী সময়ে কাজের প্রয়োজনে দেখব।
এখন একটি ব্যাপার খেয়াল করো। printf("Hello World");-এর শেষে একটি সেমিকোলন রয়েছে। সি ল্যাঙ্গুয়েজে প্রতিটি স্টেটমেন্টের পরেই একটি সেমিকোলন থাকে। একটি স্টেটমেন্টের কাজ শেষ হলে পরের স্টেটমেন্টের কাজ শুরু হয়। return 0;ও একটি স্টেটমেন্ট, তাই এটিও সেমিকোলন দিয়ে শেষ করতে হয়েছে। শুরুর দিকে অনেকেই সেমিকোলন দিতে ভুলে যায়, তখন কম্পাইল এরর (compile error) হয়। তোমরা একটি সেমিকোলন মুছে দিয়ে কম্পাইল করার চেষ্টা করে দেখতে পারো।
এবারে একটি খুব গুরুত্বপূর্ণ কথা বলে রাখি। তোমরা কোডটি খেয়াল করলে দেখবে যে আমি #include <stdio.h>, int main(), { ও } যেই লাইনে আছে সেটি এডিটরের একেবারে বাঁ দিক থেকে শুরু করেছি। আর printf এবং return 0-এর আগে চারটি স্পেস (ফাঁকা জায়গা) দিয়ে নিয়েছি। এটিকে বলে ইনডেন্টেশন (Indentation)। এরকম না করলেও প্রোগ্রামটি চলত এবং তাই অনেকেই ইন্ডেন্টেশনের ব্যাপারটি গুরুত্ব দেয় না এবং ঠিকমতো ইনডেন্টেশন করে না। যেকোনো ভালো অভ্যাসের মতো ইন্ডেন্টেশনের অভ্যাস তৈরি করাটা একটু কঠিন, তবে বিষয়টা কিন্তু দাঁত মাজার মতোই গুরুত্বপূর্ণ। ইনডেন্টেশন করার অভ্যাস ঠিকমতো তৈরি না হলে প্রোগ্রামারদের সহকর্মী বা বসের বকা শুনতে হয়, অনেক জায়গায় তো ইন্টারভিউতেই বাদ পড়ে যেতে হয়। আশা করছি তোমরা ব্যাপারটি বেশ গুরুত্ব সহকারে নেবে। আমি বইয়ের সমস্ত উদাহরণেই যথাযথভাবে ইনডেন্টেশন করার চেষ্টা করব তবে ছাপার সময় একটু এদিক-ওদিক হতে পারে, সেটি তোমরা বুঝে নেবে। ইন্ডেন্টশনের জন্য সাধারণত চারটি স্পেস দেওয়াটাই এখন স্ট্যান্ডার্ড। তোমরা এডিটরে অপশন সেট করতে পারো যাতে ট্যাব (Tab) চাপলে সেটি চারটি স্পেসের সমান হয়। Codeblocks-এ Settings মেনুতে Editor-এ ক্লিক করে TAB Options-এ TAB indents চেক করো এবং TAB size in spaces 4 দাও।
এবারে তোমাদের জন্য একটি কাজ। একটি প্রোগ্রাম লেখো যেটি স্ক্রিনে প্রিন্ট করবে: I love my country, Bangladesh।
প্রোগ্রামটি টাইপ করার পরে অবশ্যই কম্পাইল ও রান করবে। কম্পাইল করার আগে সেভ করতে ভুলবে না।
পরের অধ্যায়
পরের অধ্যায়










Codeblocks মানে কি & অন্য কিছু ব্যবহার করলেও কোনো সমস্যা নেই,এই অন্য কিছুটা কি?
ReplyDeleteDon't be lazy, please read the book from the beginning. :-)
ReplyDeleteহ্যালো ভাই আপনার লেখা দারুন। আমি নিজেও সিখছি আপনার মত এক্সপার্ট না। আমারো ফেসবুকে একটা চেস্টা আছে। যাই সিখেছি এই পর্যন্ত তাই মোটামুটি tutorial হিসেবে দিয়ে দিয়েছি, আপনি যদি সময় পান তাহলে একটু ঘুরে আসবেন আমার এই পেজ থেকে। দেখে যদি আপনার মতামত জানান আর যদি ভুল গুলি ধরিয়ে দেন তাহলে উপকার হয়। https://www.facebook.com/pages/Programming-language-and-Networking-Lets-learn-them-in-Bangla/290204017656898
ReplyDeletewhen i run any programm, computer message me "you must select a host application to "run" a library..."
ReplyDeleteআমার pc থেকে code blocks এ কোন command লিখে compile current file এ দেয়া হলে কোন কিছুই হচ্ছে না...
ReplyDeleteআর run দেয়া হলে ১টি box এ " It seems that this file has not been built yet. Do you want to built it now?" লিখা আসছে... yes no কোনটা দিয়েই কাজ হচ্ছে না... যদি এর ১টি সমাধান দেন তাহলে উপকার হয়...
from build menu click on build and run
Deleteআমি ফাইল সেব করলে তিনটি ফাইল তৈরি হয়,Untitled1.c
ReplyDeleteUntitled1.o Untitled1.exe
কেন হয় জানি না। জানালে ভাল হয়।
.c=source file
Delete.o=object file
.exe= execution file
আমারও ইনানের মত একই সমস্যা হচ্ছে। সুবিনদা যদি solution দেন খুব সুবিধা হয়।
ReplyDeleteMy First Blogger-এর প্রশ্নের উত্তর পাওয়া যাবে এখানে: http://www.cs.caltech.edu/courses/cs11/material/c/mike/misc/compiling_c.html।
ReplyDeleteবাকীদের সমস্যা সম্পর্কে: আমি নিজে এই সমস্যায় পড়ি নাই, তাই বলতে পারছি না কী করতে হবে। "It seems that this file has not been built yet. Do you want to built it now" লিখে গুগলে সার্চ দিলে সমাধান পাওয়া যাবে আশা করি। :)
Sir, which project should I select from the "create a new project" menu ?
ReplyDeleteConsole Application.
ReplyDeleteআমি desktop এ ঠিক মত compile করতে পারছি। কিন্তু আমার laptop এ install দেওয়ার পর আর compile হইতিছিল না। ইনান আর অম্লান এর যে সমস্যা হইছে সেই সমস্যাই আমার হইছিল। পরে desktop এর settings চেক করে দেখি compiler and debugger এর select compiler এ "GNU GCC Compiler" দেয়া। আর ল্যাপটপ এ "Borland C++ compiler" দেয়া। পরে ল্যাপটপ এও একি configure করার পর এখন compile হচ্ছে। আমার মনে হই অন্যদের ও একি ভাবে ঠিক করা যাবে।
ReplyDeleteভাইয়া,codeblocks ডাউনলোড করছি। পুরা প্রোগ্রাম লিখছি। কিন্তু রান করালে কিছু আসে না । মনটা খুব খারাপ হয়ে গেল ।
ReplyDeleteতোমার প্রোগ্রাম codeblocks-এ রান করলে কিছু আসে না শুনে আমারও মনটা খারাপ হয়ে গেল। এক্ষেত্রে আমার আসলে বিশেষ কিছু করার নেই। তুমি আবার ইনস্টল করার চেষ্টা কর এবং প্রয়োজনে youtube-এর ভিডিও (যেটা আমি এই অধ্যায়ে দিয়েছি) থেকে ধাপগুলো দেখে নাও।
ReplyDeleteআমি বেশ কএকদিন ধরেই code::block ব্যাবহার করছিলাম।ভালই লাগতেছিল compiler টা।কিন্তু কতটা ভাল লাগসে এইটা বুজলাম যখন ইনান এবং অম্লান এর মত প্রব্লেম এ পরলাম।এই প্রব্লেম এর কারনে কিছুই করতে পারতেছি না।Turbo C use করার চেষ্টা করসিলাম।কিন্তু মনে হয় না code::block use করার পর ওইটা কারো use করতে ভাল লাগবে।
ReplyDeleteDekstop settings বলতে তুমি কি বুঝাইতাস??Can you please tell me in details??? @তারেক হাসান তাহসিন
"It seems that this file has not been built yet. Do you want to built it now" যাদের এই সমস্যাটা হচ্ছে এবং code compile করতে পারছ না তাদের জন্য আমি একটা সমাধান পাইছি।just open code::blocks then go this way settings -> compiler and debugger -> select compile.select 'GNU GCC Compiler' from there.আশা করি সমস্যার সমাধান হবে।
ReplyDeleteThanks for the help but there was a wrong in your solution.@Tarik Hasan Tahsin
vhaia i have successfully completed this level.ALL IS OK TILL NOW.
ReplyDeleteDesktop settings বলতে আসলে আমি code blocks এর settings এর কথাই বুঝাইছি।(যেটা desktop pc তে install দেওয়া।)
ReplyDeleteSorry if I was inconvenient, I just tried to say the way I solved it.
ReplyDeleteami thik vabei type kortesi,but tarporeo barbar ashtese;''1 error,0 warning''..... :-(
ReplyDeleteYou can post details about your error so that others can help you to fix it.
ReplyDeleteআমার সত্যিই খুব ভালো লাগছে, যে প্রথম অধ্যায়ের সকল কাজ আমি সফলতার সাথে করে ফেলেছি। It's a amazing...
ReplyDeleteCongratulations! Best of luck for the rest of the chapters. :)
Deletethank u so much! আসলে একটা কথা কি জানেন ভাইয়া, এই বইটার কারণে আমার একটা স্বপ্ন পূরন হতে যাচ্ছে, আপনাকে ধন্যবাদ দেয়ার ভাষা আমার জানা নাই। তবুও আপনাকে আমি অত্যন্ত আন্তরিকতার সাথে হাজার হাজার ধন্যবাদ জানাই। এবং আমি আশা করব এরকম Programming এর উপর সহায়ক বই আপনার কাছ থেকে আরও পাব।
Deleteধন্যবাদান্তে
মিরাজ
সুপার ডুপার লাগছে
DeleteTHAKS BRO...IT REALLY WORKS
ReplyDeleteঅনেক কষ্টে পরীক্ষাই উত্তীর্ণ হলাম।
ReplyDeleteঅনেক ধন্যবাদ তামিম ভাই।
অভিনন্দন!
Deleteআলহামদুলিল্লাহ!!! আমি পেরেছি।
ReplyDeleteধন্যবাদ তামিম ভাই।
অভিনন্দন!
Deleteভাই,আমি 'GNU GCC Compiler' selectকরার পরও" It seems that this file has not been built yet. Do you want to built it now?"দেখায়।please, যারা পারেন তারা একটু help করেন।
ReplyDeleteভাই এই লিংক টা মনে হয় আপনার কাজে দিবে :
Deletehttp://medsit.co.cc/2012/05/codeblock-%E0%A6%95%E0%A7%8B%E0%A6%A1-%E0%A6%AC%E0%A7%8D%E0%A6%B2%E0%A6%95-%E0%A6%8F%E0%A6%B0-%E0%A6%95%E0%A6%AE%E0%A7%8D%E0%A6%AA%E0%A6%BE%E0%A6%87%E0%A6%B2%E0%A6%BE%E0%A6%B0-%E0%A6%B8%E0%A6%AE/
ভাই,পারি নাই। please help me.
ReplyDelete#include
ReplyDeleteint main()
{
printf("I love my country, Bangladesh");
return 0 ;
}
There is no indentation in your program.
Deletethanks bro
ReplyDeleteআমি এখন সফলভাবে প্রোগ্রাম Run করতে পারি । প্রথম সাইকেল চালানো শেখার পর যে রকম ভালো লেগেছিল, প্রোগ্রাম শেখার পর ঠিক সেই রকমই ভালো লাগতেছে...!! All credits goes to তামিম ভাইয়া and my class-mate সাকিব ।
ReplyDeleteঅভিনন্দন, ধন্যবাদ ও শুভকামনা। :)
Deleteবইটি পড়তে সমস্যা হলে সংশ্লিষ্ট অধ্যায়ের শেষে প্রশ্ন করতে পার, আমি উত্তর দেওয়ার চেষ্টা করব।
আমি এ বইটা যত টুকু পড়েছি তাতে আমার মনে হয় যে স্কুলের সিলেবাসে এই বইটা পাঠ্য করা দরকার, কারণ স্কুল কম্পুটার বিজ্ঞানে যা পড়ানো হয় তা যথেষ্ট নয়,
ReplyDeleteসুবীন ভাইয়ার মতামত জানতে চাই
স্কুলে আসলে বাধ্যাতামূলকভাবে কম্পিউটার বা প্রোগ্রামিং শেখার দরকার নেই। এমনিতেই অনেক জরুরী বিষয় শিখতে হয়, যেমন গণিত, বিজ্ঞান, ইংরেজি। তাই কারো হাতে বেশি সময় থাকলে সে শখ করে প্রোগ্রামিং শিখতে পারে।
Deleteভাইয়া, আপনি যদি আপনার একটু খানি গণিত অধ্যায়ে I = Pnr সূত্রটি ব্যবহার করতেন তবে ভালো হতো ।
ReplyDeleteভাইয়া, অনেক কষ্টে কমপাইল করতে পারলাম। windows 7 এ codeblocks আসলেই ঝামেলা করে। শেষমেশ settings থেকে compiler & debugger >toolchain executables > auto detect >ok দেয়ার পর করতে পারলাম
ReplyDeleteGreat! Now go ahead... :)
Deleteনাহ ভাই, পারলাম না... এখন ও It seems that this file has not been built yet. Do you want to built it now? দেখায়... পুরাই হতাশ...
ReplyDeleteI know it's frustrating, but keep trying. Take help from any friend who is experienced. Or try other compiler.
Deleteভাইয়া আমার কম্পিউটার উইন্ডোজ ৮ ।
ReplyDeleteআমার কোড ব্লক্স এ ফাইল করলে সব ঠিক আসে কিন্তু রান করলে দেখায় "it seems that this file has not been built yet.
do you want to build it now ? " এই লেখাটা কেন আসে ? আর অপশন থাকে ১ .yes ২ .no এবং ৩ . cancel । ইয়েস চাপলে কিছু আসেনা । নো চাপলে লেখা গুল কম্পিউটার রান করে এবং রান করলে আমার ফাইলের নামের সাথে যে লেখাগুল আসার কথা সেগুলো আসে কিন্তু আমার ফাইলের নাম আসে না । এ ক্ষেত্রে কি করতে পারি ?
ভাই আপনি codeblock চালু করার পর একেবারে বাম পাশে উপরে
Deletefile > new > file> C++ source
এরপর ডান পাশে go লেখায় চাপ দিন
আপনার ফাইল build হয়ে যাবে
এরপর ভাই যা বলেছেন তাই ....... :)
compile file করার পর আমাকে show করতেসে
ReplyDeleteProcess terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
এরপর build menu তে যাওয়ার পর run করা যাচ্ছে না...এই ক্ষেত্রে কি করতে পারি আমি :(
প্রোগ্রামিং এ অনেক দূর চলে আসার পরে এই বই এর সন্ধান পেলাম । তাও পড়ছি, ভাষাগুলো অনেক চমৎকার । অনেক ধন্যবাদ সুবিন স্যার কে ।
ReplyDeleteআশা করছি নতুন অনেক কিছু জানতে পারব ।
আমি প্রোগ্রামিং এ নতুন। Codeblocks কি windows a run করবে? Codeblocks কি ফ্রি ডাউনলোড করা যাবে?
ReplyDeleteI am very new in this terrain and completed Chapter 1 with flying colors. Thank you bro for the great book.
ReplyDeleteভাই codeblocks-10.05mingw-setup.exe outdated বরতমানে অন্ন একটা নামছে। পুরাতন টা পাই না।এক্তা পাইছি কিন্তু Compile হয় না।ভাই বই আপডেট করেন।
ReplyDeleteআমি সি প্রোগ্রামিং এ নতুন। তবে মনে হচ্ছে এবার প্রোগ্রমিং শিখতে সহজ হবে।
ReplyDelete