Responsive Ads Here

Friday, November 1, 2013

[C প্রোগ্রামিং] প্রথম প্রোগ্রাম - Printf (PART 1)


তাহলে শুরু করি সি প্রোগ্রামিং :

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

সাধারনত "Code blocks" সফটওয়ার টি C এর কম্পাইলার হিসেবে  বেশী ব্যাবহার করা হয়। 
Code Blocks সফতটওয়ার টা তোমরা নিচের লিঙ্ক থেকে ডাউনলোড করে নিতে পারো।
C এবং C+ প্রোগামিং এর জন্য নতুন ভার্সনের codeblocks সফটওয়্যারটি এক্ষুনি ডাউনলোড করে নাও ।
মেইন ওয়েব সাইট থেকে নিজের ইচ্ছামত যেকোন ভার্সন ডাউনলোড করতে এখানে ক্লিক  
দাও । সরাসরি নতুন ভার্সনটি(codeblocks-12.11)ডাউনলোড করতে এখানে ক্লিক দাও। 
Code Blocks : ডাউনলোড(৯৫ এমবি)


.................................................................................................................................................



যেকোন প্রোগ্রাম এর সাধারন গঠনঃ
যেকোন প্রোগ্রাম এর একটা সাধারন গঠন থাকে, সেটি নিম্নরুপঃ
1
2
3
4
5
6
7
8
#include <stdio.h>
int main()
{
      return 0;
}

                                        

নিচের চিত্রে দেখলে ভালো ভাবে বুঝতে পারবেঃ


এটি কিভাবে কাজ করেঃ
উপরে দেখো, আমি একটা প্রোগ্রামের সাধারন গঠন দিলাম, এটা সকল প্রোগ্রামের ক্ষেত্রে ই প্রযোজ্য। এখন দেখি কোনটার কিভাবে কাজ করেঃ
i)
1
#include <stdio.h>
এটি একটি Header File যা সব সি ল্যাঙ্গুয়েজ প্রোগ্রামে ই থাকে...
আমরা অঙ্ক করার সময় কি করি? নিজেদের প্রয়োজনে কিছু ভেরিয়েবল ধরে নেই। তাই না? মাঝে মধ্যে ই এটা করে থাকি, যেমনঃ
ধরি, রহিমের এর টাকার পরিমান x = ১০ টাকা;
জলিলের টাকার পরিমান y = ২০ টাকা;
তাইতো? নাকি?
এখানে x,y কি? এগুলা একেকটা ভেরিয়াবল। কারন এদের মান কিন্তু পরিবর্তনশীল। আমরা কিন্তু এদের ব্যাবহার অন্যভাবে ও করতে পারি...
ধরি, রহিমের এর টাকার পরিমান x = ১০০০ টাকা;
জলিলের টাকার পরিমান y = ২০০০ টাকা;
তার মানে, যাদের মান পরিবর্তনশীল, তাদেরকে ই ভেরিয়াবল বলে। আর যাদের মান অপরিবর্তনশীল তাদেরকে কনষ্ট্যান্ট(ধ্রুবক) বলে।
একটা প্রোগ্রাম এর ভিতর
Classes, Variables নামক অসংখ্য গানিতিক ব্যাবহার আছে। এই গুলো কে আলাদা আলাদা ভাবে চিন্হিত করাই হচ্ছে Header file গুলার কাজ।
#include <stdio.h>
এর মত আরো অনেক Header file আছে।

এখন আসি পরের অংশে...
1
2
3
4
5
6
int main()
{
     return 0;
}
আমরা যা লিখব মানে আমরা যে প্রোগ্রাম লিখব সেটার পুরো প্রসেসিং তা হবে এর ভিতর। 

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

                            


এ নিয়ে বিস্তারিত পরে আলোচনা করা হবে।
.......................................................................................................................................................
প্রথম প্রোগ্রামঃ
প্রথমে CODEblocks টা সেটাপ দিয়ে নাও। সেটাপ শেষ হলে, সফটওয়ার টা রান করাও।
নিচের চিত্রের মতঃ
এখন উইন্ডোজের Start মেনুতে Programs-এ গিয়ে Codeblocks চালু করো। 



এখানে তোমরা Show tips at startup চেকবক্সের টিক (tick) চিহ্নটি উঠিয়ে দিতে পারো।




কোডব্লকস এ যেভাবে নতুন প্রোগ্রাম লেখা শুরু করতে হয়ঃ
কোড ব্লকস সফটওয়ার টা রান করে Ctrl+Shit+N একসাথে চাপো। তাহলে, নতুন কোড বা প্রোগ্রাম লেখার জন্য নতুন ফাইল তৈরি হবে। প্রতিটা নতুন প্রোগ্রাম লেখার আর আগে নতুন ফাইল ওপেন করবে |
এখন তোমরা প্রোগ্রামগুলো রাখার জন্য হার্ডডিস্কের ভেতর একটি ফোল্ডার তৈরি করে নাও। ওই ফোল্ডারে ফাইলগুলো সেভ (Save)করবে। ফাইলের যেকোনো একটি নাম দাও। আর Save as type হবে C/C++ files।



হ্যা, যদি আগে কখনো কোনো প্রোগ্রাম না লিখে থাকো, তাহলে এটাই হবে তোমার প্রথম প্রোগ্রাম।
তাহলে চল লিখে ফেলি একটা প্রোগ্রাম।
1
2
3
4
5
6
7
8
#include <stdio.h>
int main()
{
      printf("Hello World!");
      return 0;
}
এবার প্রোগ্রাম টা রান করাও

কিভাবে প্রোগ্রাম রান করাতে হবে?
save করার পর......
নিচের ছবি অনুযায়ী click  করো



অথবা  কিবোর্ডের F9 বাটন টা চাপ দাও। তাহলে ই হবে। প্রোগ্রাম টা রান হবে।
অথবা Build মেনুতে গিয়ে Compile Current File-এ ক্লিক করো।


এখন আবার Build মেনুতে গিয়ে Run-এ ক্লিক করো। তাহলে তোমার প্রোগ্রাম চালু হয়ে যাবে।


এখন দেখো তো? কি আসলো?
নিচের চিত্রের মত কিনা?
তাহলে, তুমি পেরে গেছো। যদি না পারো, তাহলে বার বার চেষ্ট কর, যতক্ষন না পারবে, চেষ্ট করে যাবে।
আর execution time : 0.097 s মানে প্রোগ্রামটি চলতে 0.097 সেকেন্ড সময় লেগেছে। তারপরের লাইন হচ্ছে, Press any key to continue. কি-বোর্ডেAny key খুঁজে না পেলে অন্য যেকোনো কি চাপলেই চলবে।

কিছু কথাঃ
উপরের প্রোগ্রামে
i) printf একটা ফাংশন। তবে মেইন ফাংশন নয়। কারন একটা প্রোগ্রামে একটি মাত্র মূল বা মেইন ফাংশন থাকে। printf দ্বারা তুমি যা প্রিন্ট করাতে চাও তা printf ফাংশন এর ডাবল কোটেশন এর ভিতরে লিখতে হবে।এই ফাংশনটি স্ক্রিনে প্রিন্ট করে কীভাবে সেটি আসলে বলা আছে stdio.h নামে একটি ফাইলে। এই ফাইলগুলোকে বলে হেডার (header) ফাইল (.h হচ্ছে হেডার ফাইলের এক্সটেনশন)। stdio.h ফাইলে স্ট্যান্ডার্ড ইনপুট আর আউটপুট-সংক্রান্ত যাবতীয় ফাংশন লেখা আছেআমরা কেবল সেগুলো ব্যবহার করবফাংশনগুলো কীভাবে কাজ করে সেটি এখন আমাদের জানার দরকার নেই। আর যেহেতু printf() ফাংশন ব্যবহার করেছিতাই প্রোগ্রামের শুরুতে #include <stdio.h> লিখতে হয়েছে। এই রকম আরও অনেক প্রয়োজনীয় হেডার ফাইল আছে,যার কিছু আমরা পরবর্তী সময়ে কাজের প্রয়োজনে দেখব।

ধর তুমি I love My Country প্রিন্ট করতে চাও। তাহলে এটা কিভাবে লিখতে হবে ?
হুম, ঠিক ই ধরেছ, printf এর ব্রাকেটের ভেতরের কোটেশন এর মধ্যেঃ (নিচে দেখো)
ii)
#include<stdio.h>  
int main()
{
  printf("I Love My Country");
     return 0;
}


 মুল ফাংশনের ভেতরে যা লিখা থাকে তারা প্রত্যেকটা একেকটা স্টেটমেণ্ট। প্রতিটা স্টেটমেনট এর পরে " ; " (সেমিকোলন) দিতে হবে এবং সেমিকোলন না দিলে কোড বা প্রোগ্রাম এরর বা বাগ দেখাবে।
iii)
1
return 0;
এটা অন্যভাবে ও লেখা যায়......তা হলোঃ
1
return(0);

তোমরা কোডটি খেয়াল করলে দেখবে যে আমি #include <stdio.h>, int main(), { ও } যেই লাইনে আছে সেটি এডিটরের একেবারে বাঁ দিক থেকে শুরু করেছি। আর printf এবংreturn 0-এর আগে চারটি স্পেস (ফাঁকা জায়গা) দিয়ে নিয়েছি। এটিকে বলে ইনডেন্টেশন (Indentation)। এরকম না করলেও প্রোগ্রামটি চলত এবং তাই অনেকেই ইন্ডেন্টেশনের ব্যাপারটি গুরুত্ব দেয় না এবং ঠিকমতো ইনডেন্টেশন করে না। যেকোনো ভালো অভ্যাসের মতো ইন্ডেন্টেশনের অভ্যাস তৈরি করাটা একটু কঠিন, তবে বিষয়টা কিন্তু গুরুত্বপূর্ণ। ইন্ডেন্টশনের জন্য সাধারণত চারটি স্পেস দেওয়াটাই এখন স্ট্যান্ডার্ড। তোমরা এডিটরে অপশন সেট করতে পারো যাতে ট্যাব (Tab) চাপলে সেটি চারটি স্পেসের সমান হয়।Codeblocks-এ Settings মেনুতে Editor-এ ক্লিক করে TAB Options-এ TAB indents চেক করো এবং TAB size in spaces 4 দাও।
যদি অভ্যাস টি গড়ে তুলতে কষ্ট হয় তাহলে আরেকটা সমাধান আছে । তা হল ctrl+A type করে পুরাটা mark করুন তারপর format use Astyle select  করো

আর দেখো মজা ।

অনেক কম্পাইলারে দেখা যায় নিচের ছবির মত নাম্বার নাই 

নাম্বার আনতে Codeblocks- Settings মেনুতে Editor-এ ক্লিক করে , show line number select করো ।





1 comment:

php4

<?php    // Start the session  session_start();  ?>  <!DOCTYPE html>  <html>  <head>       <link rel=&q...