পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Numbers

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ – Numbers

আমরা এখানে মূলত integer এবং float number নিয়ে আলোচনা করবো। তাছাড়া পাইথন প্রোগ্রামিং ভাষা complex, decimal এবং fraction সাপোর্ট করে, যা পরবর্তীতে আলোচনা করা হয়েছে।

Integer Numbers: পূর্ণসংখ্যার অর্থাৎ দশমিকের পর মান থাকে না সেই সংখ্যাকে Integer Numbers বলে। যেমনঃ দুইটি পূর্ণসংখ্যা 12 এবং 3 । সংখ্যা দুইটির যোগফল 12+3 = 15।

Floating Numbers: যেই সংখ্যাগুলোতে দশমিকের পর মান থাকে অর্থাৎ ভগ্নাংশকে Floating Number বলে।

Python IDLE প্রোগ্রামটি রান করে Shell এর মধ্যে নম্বর এর যোগ, বিয়োগ, ভাগ, গুণ ইত্যাদি করা যাবে। নিচে উদাহরণ এর সাহায্যে দেখানো হয়েছে:-

>>> 2 + 2

>>> 2+3

5

>>> 7-5

2

>>> 7*2

14

>>> 3/2

1.5

>>> 2**3

8

জটিল সংখ্যা (Complex Numbers)

পাইথন প্রোগ্রামিং এ পাইথন ডাটা টাইপ – Numbers হিসেবে পাইথনে জটিল সংখ্যা বিল্ডইন করে দেয়া। আমরা জানি জটিল সংখ্যায় বাস্তব এবং অবাস্তব অংশ থাকে।

একটি জটিল সংখ্যার সাধারণ প্রকাশ-

z=a+bj

যেখানে, z = জটিল সংখ্যা ; a = জটিল সংখ্যার বাস্তব অংশ ; b = জটিল সংখ্যার অবাস্তব অংশ; এবং জটিল সংখ্যার অবাস্তব অংশের পরে j বা J লিখতে হয়।

এখন Python interpreter -এ জটিল সংখ্যার যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি করা যাবে। যেমন –

>>> 2+3j+4-2j

(6+1j)

>>> (3+2j)-(1+1j)

(2+1j)

>>> (3+2j)*(1+2j)

(-1+8j)

>>> (3+2j)/(1+1j)

(2.5-0.5j)

 

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ

পাইথন প্রোগ্রামিং – পাইথন ডাটা টাইপ

পাইথন দিয়ে প্রোগ্রামিং শেখা র জন্য পাইথন প্রোগ্রামিং ভাষার ডাটা টাইপ গুলো জানতে হবে। পাইথন ডাটা টাইপ অনেক রকমের আছে। যেমন, Numbers, String, List, Tuple, Dictionary ইত্যাদি।

ক) Numbers

আমরা এখানে মূলত integer এবং float number নিয়ে আলোচনা করবো। তাছাড়া পাইথন প্রোগ্রামিং ভাষা complex, decimal এবং fraction সাপোর্ট করে, যা পরবর্তীতে আলোচনা করা হয়েছে।

Integer Numbers: পূর্ণসংখ্যার অর্থাৎ দশমিকের পর মান থাকে না সেই সংখ্যাকে Integer Numbers বলে। যেমনঃ দুইটি পূর্ণসংখ্যা 12 এবং 3 । সংখ্যা দুইটির যোগফল 12+3 = 15।

Floating Numbers: যেই সংখ্যাগুলোতে দশমিকের পর মান থাকে অর্থাৎ ভগ্নাংশকে Floating Number বলে।

Python IDLE প্রোগ্রামটি রান করে Shell এর মধ্যে নম্বর এর যোগ, বিয়োগ, ভাগ, গুণ ইত্যাদি করা যাবে। নিচে উদাহরণ এর সাহায্যে দেখানো হয়েছে:-

>>> 2 + 2
4
>>> 2+3
5
>>> 7-5
2
>>> 7*2
14
>>> 3/2
1.5
>>> 2**3
8

খ) Strings

যে কোন প্রোগ্রামিং ভাষার মত পাইথনেও স্ট্রিং এর গুরুত্ব অনেক। তাই স্ট্রিং সম্পর্কে পরিষ্কার ধারণা থাকতে হবে। পাইথনে single quotes (‘ ‘) অথবা double quotes (” “) এর যে কোন একটির মধ্যে স্ট্রিং লিখতে হয়। যেমন- নিচের মত করে স্ট্রিংগুলো তোমার Python interpreter – এ লিখে enter প্রেস করো।

>>> “Hello Python”
‘Hello Python’
>>> ‘Bangladesh’
‘Bangladesh’
>>> “Hello World’
SyntaxError: EOL while scanning string literal

গ) Lists

লিস্ট হচ্ছে একটি ক্রমে কতগুলো মান এর একটি সংকলন, যাদের একটি সাধারণ নাম থাকে। তুমি যদি সি প্রোগ্রামিং এর অ্যারের সাথে পরিচিত থাকো তাহলে লিস্ট সহজেই বুঝতে পারবে, লিস্ট সি প্রোগ্রাম এর এক মাত্রিক অ্যারের মতই, শুধু গঠন পার্থক্য বিদ্যমান। যেমন একটি লিস্ট লিখবো number, যার উপাদান গুলো 1,2,3,4,5 । পাইথনে লিস্টের উপাদানগুলো তৃতীয় বন্ধনীর মধ্যে কমা দ্বারা একটির পর আর একটি লিখতে হয়। নিচের মত করে তোমার Python interpreter – এ number = [1,2,3,4,5] লিস্টটি লিখো।

>>> number = [1,2,3,4,5]
>>> number
[1, 2, 3, 4, 5]

ঘ) Tuples

ডাটা স্ট্রাকচার হচ্ছে Tuple যার ভ্যালু পরিবর্তন করা যায় না। টাপল তৈরি করতে হয় () দিয়ে।

>>> name = (“Salam”, “Rahim”, “Karim”)
# roles = “Salam”, “Rahim”, “Karim”
>>> print(name[1])
Rahim

ঙ) Dictionaries

ডিকশনারি (Dictionary) এ উপাদানগুলোর key-value জোড়ায় জোড়ায় থাকে। পাইথনে দ্বিতীয় ব্রাকেট {} এর মধ্যে key:value জোড় এবং প্রত্যেক জোড় কে কমা(,) চিহ্ন দিয়ে আলাদা করে একটি ডিকশনারি তৈরি করা হয়।

>>> rain_percent = { 1980: ‘17%’, 1981: ‘15%’, 1982: ‘10%’}
>>> print rain_percent[1980]
17%

পাইথন প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি। 

পাইথন প্রোগ্রামিং – ক্যালকুলেটর হিসেবে পাইথন

পাইথন প্রোগ্রামিং – ক্যালকুলেটর হিসেবে পাইথন

ক্যালকুলেটর হিসেবে পাইথন

Python interpreter একটি সাধারণ ক্যালকুলেটর হিসেবে ব্যবহার করা যায়। Python IDLE প্রোগ্রামটি রান করে Shell এর মধ্যে নম্বর এর যোগ, বিয়োগ, ভাগ, গুণ ইত্যাদি করা যাবে। নিচে উদাহরণ এর সাহায্যে দেখানো হয়েছে:-

>>> 2 + 2

>>> 2+3

5

>>> 7-5

2

>>> 7*2

14

>>> 3/2

1.5

>>> 2**3

8

 

ভাগ (/) সবসময় ভগ্নাংশ(float) রিটার্ণ করে । পূর্ণসংখ্যা পেতে হলে (//) operator ব্যবহার করতে হবে।

 

>>> 19 / 6
3.1666666666666665
>>> 19 // 6
3

কোন সংখ্যার ঘাত বা পাওয়ার নির্ণয় –

পাওয়ার এর জন্য ** অপারেটর ব্যবহার করি। সুতরাং  32 এর জন্য পাইথন এ 3 ** 2 লিখতে হবে। Python Interpreter এ কয়েকটি সংখ্যার পাওয়ার বের করি-

>>> 3 ** 2

9

>>> 4 ** 2

16

>>> 4 ** .5

2.0

>>> 2 ** .5

1.4142135623730951

 

 

পাইথন প্রোগ্রামিং – পাইথন চলক (Python Variable)

পাইথন প্রোগ্রামিং – পাইথন চলক (Python Variable)

মনে করো তোমাকে কম্পিউটার দুইটি সংখ্যা ইনপুট নেয়া লাগবে। কোথায় রাখবে? মনে করো তোমাকে পানি সংরক্ষণ করতে হবে। তার জন্য দরকার একটি পাত্র। ঠিক তেমনি কম্পিউটার এ কিছু সংখ্যা ইনপুট নিয়ে তা রাখার জন্য চলক (Variable) দরকার। এখানে আমরা পাইথন চলক (Python Variable) নিয়ে আলোচনা করবো।

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

যেমনঃ Python Interpreter এ var1=5, var2=7 এবং var3=var1+var2 লেখার পর var3 লিখলে var3 এর মান 12 দেখাবে।

 

>>> var1=5

>>> var2=7

>>> var3=var1+var2

>>> var3

12

python-variable

এখানে var1, var2 এবং var3 তিনটি চলক। যেখানে var1 এবং var2 এর মধ্যে যথাক্রমে 5 এবং 7 মান রাখা হয়েছে, এভাবে চলকের পর সমান (=) চিহ্ন দিয়ে মান রাখা কে assign বলে। অর্থাৎ এখানে var1 এবং var2 এর মান assign করা হয়েছে যথাক্রমে 5 এবং 7। তারপরের লাইন, var3=var1+var2 বোঝায় var3 এর মাঝে var1 এবং var2 এর যোগফল রাখা হয়েছে। তারপর যখন পুনরায় var3 লিখে enter প্রেস করলে Python Interpreter চলক var3 এর মধ্যে রাখা মান 12(var1+var2=12) দেখায়।

শনাক্তকারী ( identifier)

প্রোগ্রাম এর উপাদানগুলো যেমন চলক, ধ্রুবক অথবা ফাংশন ইত্যাদির যেই নাম দেয়া হয় তাই  শনাক্তকারী ( identifier)। পাইথন প্রোগ্রামিং ভাষায় শনাক্তকারী ( identifier) আলফানিউমেরিক অক্ষরের সংমিশ্রণে গঠিত। এর প্রথমে বর্ণমালার একটি অক্ষর(uppercase or lowercase) বা একটি নিম্নরেখা(underline) দিয়ে শুরু হয় এবং পরে যেকোনো অক্ষর বা নম্বর বসতে পারে।

শনাক্তকারী ( identifier) নামকরনের নিয়মাবলীঃ

পাইথন চলক (Python Variable) লেখার নিয়ম সমূহ নিচে দেয়া হচ্ছে –

  • প্রথম অক্ষর অবশ্যই একটি অক্ষর (alphabet: uppercase or lowercase) অথবা নিম্নরেখা (underscore) হতে হবে। যেমনঃ var5, _var, var_1 ইত্যাদি চলক (Variable) বা ফাংশন এর নাম হিসেবে ব্যবহার করা যাবে। কিন্তু 5var, %var, @var ইত্যাদি চলক বা ফাংশন এর নাম হিসেবে ব্যবহার করা যাবে না।
  • underscore বাদে অন্য কোন বিশেষ অক্ষর বা punctuation চিহ্ন ব্যবহার করা যাবে না।
  • কোন পাইথন কীওয়ার্ড এর নাম চলক হিসেবে লেখা যাবে না। যেমন- class, assert, and, or, not, if, elif, else, in, nonlocal, is, True, False, lambda, yield, None, def, del, for, from, global, continue, break, except, as, exec, while, with, try, return, pass, raise, finally, import ইত্যাদি চলক হিসেবে লেখা অবৈধ। কিন্তু And, IF, Break ইত্যাদি চলক এর নাম হিসেবে ব্যবহার করা যাবে।
  • পাইথন প্রোগ্রামিং ভাষার একটি অনন্য বৈশিষ্ট্য হল এটি case sensitive, অর্থাৎ upper case এবং lower case এর জন্য আলাদা গুরুত্ব বহন করে। তুমি লিখেছো num = 2; এখন ঐ একই প্রোগ্রামের অন্য কোথাও ঐ চলকের জন্য যদি লিখো “Num” তাহলে error বার্তা দিবে কেননা তুমি ডিক্লিয়ার করেছো num। আবার যদি print() এর জায়গায় PRINT() বা Print() লিখো তাহলেও error বার্তা দিবে।

 

পাইথন প্রোগ্রামিং – পাইথন দিয়ে লেখা প্রথম প্রোগ্রাম

পাইথন প্রোগ্রামিং – পাইথন দিয়ে লেখা প্রথম প্রোগ্রাম

পাইথন প্রোগ্রামিং – পাইথন দিয়ে লেখা প্রথম প্রোগ্রাম

পাইথন দিয়ে লেখা প্রথম প্রোগ্রাম – সাধারণত যে কোন প্রোগ্রামিং ভাষায় আমরা “Hello World!” প্রিন্ট করবে এমন একটি প্রোগ্রাম লিখি।তাহলে আমরা “Hello World!” প্রিন্ট করবে এমন একটি পাইথন প্রোগ্রাম দেখিঃ-

print("Hello World!")

python-hello-world

উপরের প্রোগ্রামটি রান করলে আউটপুটে আমরা উদ্ধৃতি চিহ্ন “” বাদে “Hello World!” দেখতে পাবো। এখানে print() একটি ফাংশন, print() ফাংশনের উদ্ধৃতি চিহ্ন “” এর মধ্যে যা লেখা হবে তা আউটপুটে দেখাবে। print() ফাংশনের মধ্যে উদ্ধৃতি চিহ্ন “” কোন মানের শুরু এবং শেষ বোঝায়।

পাইথন প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


পাইথন IDLE ব্যবহার

পাইথন IDLE ব্যবহার:-
পাইথন IDLE দুই ভাবে ব্যবহার করা যায় যথা:-

  1. immediate mode
  2. script mode

পাইথন শেল (Python Shall) এ প্রোগ্রামিং করলে তা immediate mode বলে। এবং সাথে সাথেই প্রোগ্রাম এর ফলাফল প্রদর্শন করে। উন্ডোজ চম্পিউটারের Start এ গিয়ে python লিখে সার্চ করলে IDLE (Python 3.4 GUI – 32 bit) নামক একটি প্রোগ্রাম আসবে যা ক্লিক করলে নিচের মত শেল দেখাবে। এখানে সরাসরি প্রোগ্রাম লেখা এবং সাথে সাথেই রান করানো যায়।

python-shell
যদি নতুন একটি ফাইল খুলে তাতে পাইথন প্রোগ্রাম লিখে .py নামে সেভ করে রান করলে তা script mode বলে।

script mode এ পাইথন কোড লেখার উপায় সমূহঃ-
১) পাইথন শেল থেকে File>New File

python-script
Shortcut: পাইথন শেল উইন্ডো ক্লিক করে কী বোর্ড থেকে ctrl + N প্রেস করলে স্ক্রিপ মুডে পাইথন কোড লেখার জন্য একটি উইন্ডো চালু হবে।
২) নোটপ্যাড এ কোড লিখে সেভ করার সময় “seve as” ক্লিক করে ফাইলের আগের এক্সটেনশন (.txt) মুছে নতুন এক্সটেনশন (.py) লিখতে হবে। এরপর ফাইলটি কেটে যেই ফোল্ডারে সেভ করেছো ওখান থেকে ফাইলটি খুললে script mode এ পাইথন কোড চালু হবে।
বিঃদ্রঃ যদি তোমার কম্পিউটার এ পাইথন এর অফিসিয়াল ওয়েব সাইট থেকে যেই পাইথন সফটওয়্যারটি ডাউনলোড করে ইন্সটল করতে বলা হয়েছিলো তা না করলে উপরে বর্ণিত পাইথন কোড script mode এ চালু হবে না।

পাইথন IDLE ডাউনলোড

পাইথন IDLE ডাউনলোড

পাইথন IDLE ডাউনলোড
পাইথন IDLE ডাউনলোড করার জন্য পাইথনের অফিসিয়াল ওয়েবসাইটে যেতে হবে।

পাইথনের অফিসিয়াল ওয়েবসাইটের লিংক – https://www.python.org

এই ওয়েবসাইট থেকে পাইথন IDLE ডাউনলোড করে তোমার কম্পিউটারে ইন্সটল করতে হবে।

তারপর তুমি পাইথন প্রোগ্রামিং ভাষায় কোড লেখা এবং রান করতে পারবে।

পাইথন প্রোগ্রামিং –  টিউটোরিয়াল সমূহ –

সি প্রোগ্রামিং – ইনপুট এবং আউটপুট

সি প্রোগ্রামিং – ইনপুট এবং আউটপুট

সি প্রোগ্রামিং – ইনপুট এবং আউটপুট

ইনপুট

যে কোনো প্রোগ্রামিং ভাষাতে ইনপুট বোঝায় যে কোনো ডাটা প্রোগ্রামএ ইনপুট করা। C প্রোগ্রামিং লাঙ্গুয়েজ এর কতগুলো built-in functions আছে যা প্রদত্ত ইনপুট পড়ে এবং প্রোগ্রামে প্রবেশ করায়। সি প্রোগ্রামিং ভাষায় আমরা scanf() ফাংশন ব্যবহার করে থাকি ডাটা ইনপুট দেয়ার জন্য।

আউটপুট

যে কোনো প্রোগ্রামিং ভাষাতে আউটপুট বোঝায় যে কোনো ডাটা স্ক্রীন এ , প্রিন্টার এ অথবা যেকোনো ফাইল এ দেখানো। printf( ) এর মধ্যে ” ” এর ভেতর কোন কিছু লিখলে সেটা কনসোলে কি সুন্দর করে প্রিন্ট করে দেয়।

#include <stdio.h> 
int main() 
{ 
    int x; 
    printf("Enter an integer: "); 
    scanf("%d", &x); 
    if ( x>= 0) 
    { 
        printf("The number is positive.\n");
    } 
    else 
    { 
        printf("The number is negative.\n"); 
    } 
    return 0; 
}

Sample input: -12
Output: The number is negative.

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি প্রোগ্রামিং – character ডাটা টাইপ

সি প্রোগ্রামিং – character ডাটা টাইপ

char (character) ডাটা টাইপ এর ময়নাতদন্ত

কোন বর্ণ বা চিহ্ন সংরক্ষণ করার জন্য char ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
a) char বর্ণ বা চিহ্নের ডাটা টাইপ বোঝায়।
b) কোন বর্ণ বা চিহ্ন সংরক্ষণ করার জন্য char ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
c) char এর ডাটা টাইপের জন্য মেমরিতে 1 বাইট (8 বিট) জায়গা বরাদ্দ হয়।
d) char এর ডাটা টাইপ একটির বেশি character ধারণ করতে পারে না। e) char এর ডাটা টাইপ এর ভেরিয়েবল এ রাখা character টি single quotes এর মাঝে রাখতে হয়। যেমনঃ char ch = ‘A’;

উপরের লেখা গুলোর কিছুই বুঝি নাই ? シ তাহলে তোমার কোড::ব্লকস(Code::Blocks) open করে আমার সাথে নিচের কোড গুলি লিখে কম্পাইল ও রান করো। シ

#include <stdio.h>
int main()
{
    char c;
    printf("Enter a character.\n");
    scanf("%c",&c);
    printf("You typed %c.\n",c);
    return 0;
}
Sample Input: A
Output:You typed A.

সি প্রোগ্রামিং – character ডাটা টাইপ

সি প্রোগ্রামিং double ডাটা টাইপ

সি প্রোগ্রামিং double ডাটা টাইপ

সি প্রোগ্রামিং double ডাটা টাইপ

double ডাটা টাইপ এর ময়নাতদন্ত

double ডাটা টাইপ float ডাটা টাইপের মতই। একটি বড় ভগ্নাংশের(floating number) ভেরিয়েবল ডিক্লারেশন করার জন্য double ব্যবহার করা হয়। যেমন দুইটি পূর্ণসংখ্যা 12.023432 এবং 3.893213 । সংখ্যা দুইটির যোগফল 12.023432+3.893213 = 15.916645 ।
a) double ভগ্নাংশের ডাটা টাইপ বোঝায়।
b) একটি বড় ভগ্নাংশের(floating number) মান ধারণ করার জন্য double ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
c) double এর ডাটা টাইপের জন্য মেমরিতে 8 বাইট (64 বিট) জায়গা বরাদ্দ হয়
d) double ভগ্নাংশের ডাটা টাইপ এ দশমিক এর পর 6 ঘর পর্যন্ত মান

পদার্থ বিজ্ঞান ও প্রোগ্রামিং
নিচের পানির রিজার্ভার থেকে 50 মিটার উঁচু দালানের ছাদে অবস্থিত ট্যাংকে পানি তোলার জন্য 5kW এর একটি পাম্প চালিয়ে 5 মিনিটে কতটুকু পানি তোলা সম্ভব ?
পাম্পের ক্ষমতা p = কাজ ÷ সময় = mgh ÷ t; যেখানে,
m = পানির ভর;
g = অভিকর্ষজ ত্বরণ
h = উচ্চতা;
t = সময় ।

এখন একটি প্রোগ্রাম লিখো যা কতক্ষণ পাম্প চলবে তা ইনপুট নিবে আর আউটপুট এ কি পরিমাণ পানি তুলবে তা দেখাবে। তো চলো আমরা আমাদের প্রগ্রামটির সোর্স কোড সি প্রোগ্রামিং ভাষায় লিখে ফেলি।

#include <stdio.h>
int main()
{
    double p, m, g, h, t;
    p = 5000;
    g = 9.8;
    h = 50;
    scanf("%lf",&t);
    m = (p*t)/(g*h);
    printf("The weight of wanter is %lf kg.\n",m);
    return 0;
}
Sample Input: 5
Output:The weight of wanter is 51.020408 kg.

**double ডাটা টাইপ এর ভেরিয়েবল এর জন্য %lf ব্যবহৃত হয়।

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

[সি প্রোগ্রামিং double ডাটা টাইপ

Tutorial on C Programming Double Data Type in Bangla]

সি প্রোগ্রামিং float ডাটা টাইপ

সি প্রোগ্রামিং float ডাটা টাইপ

সি প্রোগ্রামিং float ডাটা টাইপ

float ডাটা টাইপ এর ময়নাতদন্ত

একটি ভগ্নাংশের(floating number) ভেরিয়েবল ডিক্লারেশন করার জন্য float ব্যবহার করা হয়। যেমন দুইটি পূর্ণসংখ্যা 12.023432 এবং 3.893213, সংখ্যা দুইটির যোগফল 12.023432+3.893213 = 15.916645 ।
a) float ভগ্নাংশের ডাটা টাইপ বোঝায়।
b) একটি ভগ্নাংশের(floating number) মান ধারণ করার জন্য float ডাটা টাইপ এর ভেরিয়েবল ব্যবহার করা হয়।
c) float ডাটা টাইপ 2/4 বাইট-এ পূর্ণসংখ্যার মান সংরক্ষণ করে। আমাদের ব্যবহৃত কম্পিউটার এর CPU তে যেই প্রসেসর থাকে তার উপর নির্ভর করে পরিবর্তিত হয়। আমাদের কম্পিউটার-এ 16 বিট প্রসেসর ব্যবহার করলে float এর ডাটা টাইপের জন্য মেমরিতে 2 বাইট (16 বিট) জায়গা বরাদ্দ হয়।
d) আবার আমাদের কম্পিউটার-এ 32 বিট প্রসেসর ব্যবহার করলে float এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট (32 বিট) জায়গা বরাদ্দ হয়। আমরা সচারাচর 32 বিট এর কম্পিউটার ব্যবহার করে থাকি ও কোড::ব্লকস(Code::Blocks) 32 বিট এর “Program File” এ ইন্সটল হয়, অর্থাৎ আমাদের কম্পিউটার 32/64 বিট এর হোক না কেনো,float এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট জায়গা বরাদ্দ হবে।
e) float ভগ্নাংশের ডাটা টাইপ এ দশমিক এর পর ৬ ঘর পর্যন্ত মান বসে।
উপরের লেখা গুলোর কিছুই বুঝি নাই ? シ তাহলে তোমার কোড::ব্লকস(Code::Blocks) open করে আমার সাথে নিচের কোড গুলি লিখে কম্পাইল ও রান করো। シ

ভাগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 10 এবং 3, প্রথম সংখ্যাকে দ্বিতীয় সংখ্যা দিয়ে ভাগ করলে ভাগফল 10 ÷ 3 = 3.333333, নিচের কোড আমাদের কম্পাইলারে কম্পাইল ও রান করালে আউটপুট স্ক্রিনে দেখানো হবে “10.000000 divided by 3.000000 is 3.333333 ”

#include <stdio.h>
int main()
{
   float num1,num2,num3;
   num1 = 10;
   num2 = 3;
   num3 = num1 / num2;
   printf("%f divided by %f is %f\n", num1, num2, num3);
   return 0;
}
Output: 10 divided by 3 is 3.333333.

পদার্থ বিজ্ঞান ও প্রোগ্রামিং
মনে করো তোমাকে বাংলাদেশ এর ট্রেনগুলোর যাত্রাকাল বের করার একটি প্রোগ্রাম লিখতে হবে। কোন একটি ট্রেন কমলাপুর হতে বাংলাদেশ এর যেকোনো যায়গায় যাওয়ার জন্য প্রোগ্রাম লিখতে হবে যেখানে ট্রেনের সমবেগ এবং কমলাপুর হতে যেকোনো যায়গার দূরত্ব তোমাকে প্রোগ্রাম এ ইনপুট দিতে হবে, আর আউটপুট এ আমরা ঐ স্থানে যেতে ট্রেনের যাত্রাকাল পাবো। এখানে ধরে নাও সমস্ত পথ ট্রেন সমবেগে চলে।
সমবেগে চলা কোন বস্তুর গতির সমীকরণঃ s = vt; যেখানে,
s = সরণ/ অতিক্রান্ত দূরত্ব;
v = বস্তুর সমবেগ;
t = সময়।

icchecode-float

তো চলো আমরা আমাদের প্রগ্রামটির সোর্স কোড সি প্রোগ্রামিং ভাষায় লিখে ফেলি। এর আগে আমরা printf() ফাংশন নিয়ে বলেছি, যা আউটপুট স্ক্রিনে printf() ফাংশনের মাঝের অংশ দেখায়। এখন আমাদের scanf() ফাংশন ব্যবহার করতে হবে কোন ডাটা ইনপুট দিতে।

#include <stdio.h>
int main()
{
   float s,v,t;
   printf("Enter the values of the distances(metre) and velocity(metre/sec) respectively.\n");
   scanf("%f %f",&s,&v);
   t = s / v;
   printf("Answer is %0.3f seconds.\n",t);
   return 0;
}
Sample Input: 40000   100 
Output: Answer is 400.000 seconds.

এখানে scanf() ফাংশন ব্যবহার করতে হবে কোন ডাটা ইনপুট দিতে। scanf() ফাংশন এর মাঝে “%f %f” অংশে কি টাইপ ডাটা, কতোগুলো ডাটা ইনপুট নিবো তা বলে দিতে হয়। %f দ্বারা বোঝায় float ডাটা টাইপ এর ভেরিয়েবল ইনপুট দিবো, দুইটি %f দ্বারা বোঝায় দুইটি float ডাটা টাইপ এর ভেরিয়েবল ইনপুট দিবো। কমার পরে &s,&v বোঝায় ডাটা গুলোর মান s ও v এর এড্রেসের মাঝে রাখবে।

এখানে %0.3f থাকার কারনে দশমিকের পরে তিন ঘর পর্যন্ত আউটপুট এ প্রিন্ট হয়েছে। %0.2f থাকলে দশমিকের পর দুই ঘর পর্যন্ত আউটপুট এ প্রিন্ট হবে।

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

[সি float ডাটা টাইপ

Tutorial on C Programming Float Data Type in Bangla]

সি প্রোগ্রামিং – রিটার্ণ শূন্য নিয়ে কিছু কথা

সি প্রোগ্রামিং – রিটার্ণ শূন্য নিয়ে কিছু কথা

সি প্রোগ্রামিং – রিটার্ণ শূন্য নিয়ে কিছু কথা

কোন ফাংশন “return 0;” পাওয়া মাত্র ওই ফাংশন এর কাজ শেষ হয়। অর্থাৎ ফাংশন যদি “return 0;” প্রথমেই মেইন ফাংশন এর মাঝে থাকতো তাহলে কম্পাইলার ওইখানেই কম্পাইল করা থামিয়ে দিতো। বলে রাখি কম্পাইলার লাইন বাই লাইন পড়ে কম্পাইল করে। নিচের কোডটি দেখো।

#include <stdio.h>
int main()
{
   return 0;
   int num1,num2,num3;
   num1 = 12;
   num2 = 3;
   num3 = num1 + num2;
   printf("Sum of two numbers is %d.\n", num3);
}
Output: কোনো কিছুই আউটপুট স্ক্রিনে দেখাবে না।

main() ফাংশন এর মাঝে প্রথমেই "return 0;" পাওয়ায় কম্পাইলার ওইখানেই কম্পাইল করা থামিয়ে দি্বে।তাই পরের অংশ আর কম্পাইলার পড়বে না। যেহেতু নিচের অংশগুলো কম্পাইলার পড়েনি তাই আউটপুট এ কিছুই দেখবে না।

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – দ্বিতীয় পর্ব

সি প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – দ্বিতীয় পর্ব

সি প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – দ্বিতীয় পর্ব

যোগ করার জন্য + অপারেটর
বিয়োগ করার জন্য – অপারেটর
গুন করার জন্য * অপারেটর
ভাগ করার জন্য / অপারেটর ব্যবহার করা হয়।

গুন করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 10 এবং 3, প্রথম সংখ্যাকে দ্বিতীয় সংখ্যা দিয়ে গুন করলে গুনফল 10 * 3 = 30 হবে।

#include <stdio.h> 
int main() 
{ 
    int num1,num2,num3; 
    num1 = 10; num2 = 3; 
    num3 = num1 * num2; 
    printf("%d multiplied by %f is %d .\n", num1, num2, num3); 
    return 0; 
}
Output: 10 multiplied by 3 is 30.

ভাগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 10 এবং 3, প্রথম সংখ্যাকে দ্বিতীয় সংখ্যা দিয়ে ভাগ করলে ভাগফল 10 ÷ 3 = 3.333, কিন্তু আমরা যখন 10 এবং 3 কে int ডাটা টাইপ এর ভেরিয়েবল এ রাখবো তখন দশমিক সংরক্ষণ করতে পারবো না। তাই নিচের কোড আমাদের কম্পাইলারে কম্পাইল ও রান করালে আউটপুট স্ক্রিনে দেখানো হবে “10 divided by 3 is 3” এই সমস্যা সমাধানের জন্য আমাদের নতুন একটি ডাটা টাইপ float অথবা double ব্যবহার করা হয়।

#include <stdio.h> 
int main() 
{ 
    int num1,num2,num3; 
    num1 = 10; num2 = 3; 
    num3 = num1 / num2; 
    printf("%d divided by %d is %d \n", num1, num2, num3); 
    return 0; 
}
Output: 10 divided by 3 is 3

Float ডাটা টাইপ ব্যবহার করে প্রোগ্রাম লিখলে আগের ভুল দেখাবে না, অর্থাৎ এবার আউটপুট স্ক্রিনে “10 divided by 3 is 3.333333” দেখাবে।  পরের লেকচারে Float ডাটা টাইপ নিয়ে বিস্তারিত বলা হয়েছে উদাহরণের মাধ্যমে –

#include <stdio.h> 
int main() 
{ 
    float num1,num2,num3; 
    num1 = 10; num2 = 3; 
    num3 = num1 / num2; 
    printf("%f divided by %f is %f \n", num1, num2, num3); 
    return 0; 
}
Output: 10 divided by 3 is 3.333333

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – প্রথম পর্ব

সি প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – প্রথম পর্ব

সি প্রোগ্রামিং – পূর্ণসংখ্যার ডাটা টাইপ – প্রথম পর্ব

পূর্ণসংখ্যার (Integer) ডাটা টাইপ এর ময়নাতদন্ত

একটি পূর্ণসংখ্যার (integer number) ভেরিয়েবল ডিক্লারেশন করার জন্য int ব্যবহার করা হয়। যেমন দুইটি পূর্ণসংখ্যা 12 এবং 3 , সংখ্যা দুইটির যোগফল 12+3 = 15 ।

  1. int পূর্ণসংখ্যার ডাটা টাইপ বোঝায়।
    একটি পূর্ণসংখ্যার (integer) মান ধারণ করার জন্য int ভেরিয়েবল ব্যবহার করা হয়।
  2. পূর্ণসংখ্যার ডাটা টাইপ 2/4 বাইট-এ পূর্ণসংখ্যার মান সংরক্ষণ করে। আমাদের ব্যবহৃত কম্পিউটার এর CPU তে যেই প্রসেসর থাকে তার উপর নির্ভর করে পরিবর্তিত হয়।
    আমাদের কম্পিউটার-এ 16 বিট প্রসেসর ব্যবহার করলে int এর ডাটা টাইপের জন্য মেমরিতে 2 বাইট (16 বিট) জায়গা বরাদ্দ হয়।
  3. আবার আমাদের কম্পিউটার-এ 32 বিট প্রসেসর ব্যবহার করলে int এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট (32 বিট) জায়গা বরাদ্দ হয়।
    আমরা সচারাচর 32 বিট এর কম্পিউটার ব্যবহার করে থাকি ও কোড::ব্লকস(Code::Blocks) 32 বিট এর “Program File” এ ইন্সটল হয়, অর্থাৎ আমাদের কম্পিউটার 32/64 বিট এর হোক না কেনো,int এর ডাটা টাইপের জন্য মেমরিতে 4 বাইট জায়গা বরাদ্দ হবে।
  4. int ভেরিয়েবল যদি 2 বাইট এর হয় তাহলে -32,768 থেকে +32,767 পর্যন্ত মান সংরক্ষণ করতে পারে।
  5. int ভেরিয়েবল যদি 4 বাইট এর হয় তাহলে -2,147,483,648 থেকে +2,147,483,647 পর্যন্ত মান সংরক্ষণ করতে পারে।

দুইটি পূর্ণসংখ্যা 12 এবং 3, এখন 12 কে 3 দ্বারা ভাগ করলে ভাগফল হবে 4, কিন্তু যদি দুইটি পূর্ণসংখ্যা 10 এবং 3 হয়, তাহলে 10 কে 3 দ্বারা ভাগ করলে ভাগফল হবে 3.3333, ভাগফলএ দশমিক বিদ্যমান। পূর্ণসংখ্যার (Integer) ডাটা টাইপ int এর ভেরিয়েবল ভগ্নাংশ সংরক্ষণ করতে পারে না। এক্ষেত্রে নতুন একটি ডাটা টাইপ float অথবা double ব্যবহার করা হয়।

  • int পূর্ণসংখ্যার ডাটা টাইপ দশমিক মান সংরক্ষণ করতে পারে না।
  • int পূর্ণসংখ্যার ডাটা টাইপ এ দশমিক এর পরের অংশ বাদ যায়। যেমনঃ 10 ÷ 3 = 3.3333 না হয়ে 3 হবে, দশমিক এর পরের অংশ বাদ যায়।

উপরের লেখা গুলোর কিছুই বুঝি নাই ? シ তাহলে তোমার কোড::ব্লকস(Code::Blocks) open করে আমার সাথে নিচের কোড গুলি লিখে কম্পাইল ও রান করো। সাথে নিচের ভিডিওটিও দেখে দেলতে পারো –

int ডাটা টাইপ এর ময়নাতদন্তের মূল অংশ (কোড লিখা)

যোগ করার প্রোগ্রামঃ

দুইটি পূর্ণসংখ্যা 12 এবং 3, সংখ্যা দুইটির যোগফল 12+3 = 15 , এখন মনে করো আমি যোগ করতে পারি না। シ কিন্তু আমি কিন্তু সি++ প্রোগ্রামিং ভাষায় কোড লিখতে পারি। তো এখন দুইটি সংখ্যা যোগ করার জন্য আমার কাছে একটা উপায় হল সি++ দিয়ে যোগ করার একটি কোড লিখে ফেলা। চলো লিখে ফেলি। তুমি হয়তো ভাবছো তুমি যোগ করতে পারো তাহলে তোমার তো সি++ দিয়ে যোগ করার কোড লেখার কোনো দরকার নেই। না দরকার আছে, বলছি কেনো দরকার। প্রথম প্রথম যতো বেশি কোড লিখবে ততোবেশি ভালো ভাবে সি++ দিয়ে কোড লেখা আয়ত্ত করতে পারবে।

#include <stdio.h>
int main()
{
    int num1,num2,num3;
    num1 = 12; num2 = 3;
    num3 = num1 + num2;
    printf("Sum of two numbers is %d.\n", num3);
    return 0;
}
Output: Sum of two numbers is 15.

কোডের ব্যাখ্যা: এখানে তিনটি int ডাটা টাইপ এর ভেরিয়েবল বিদ্যমান যথাক্রমে num1, num2 ও num3, যা মেমরিতে এই তিনটি ভেরিয়েবল এর জন্য 4 বাইট করে তিনটি জায়গা নিয়ে নিবে। এখন num1 = 12 ও num2 = 3 মানে num1 এর মা 12 এবং num2 এর মান 3 করলাম। এটাকে assign করা বলে। এখন num3 = num1 + num2; অর্থাৎ num3 এর মাঝে num1 ও num2 এর যোগফল রাখলাম।

গাণিতিক অপারেটর –

যোগ করার জন্য + অপারেটর
বিয়োগ করার জন্য – অপারেটর
গুন করার জন্য * অপারেটর
ভাগ করার জন্য / অপারেটর ব্যবহার করা হয়।
ভাগশেষ বের করার জন্য % অপারেটর ব্যবহার করা হয়।

প্রোগ্রাম এ ব্যবহৃত কিছু গাণিত –

2+3*6/2 = 11 3*4%5 = 2
12/6+9 = 11 3*4/2%5 = 1
3%2 = 1 3+4%3 = 4
5%3 = 2 3*4-5 = 7

printf() ফাংশন “Sum of two numbers is %d.\n” এই লেখাটা আউটপুট স্ক্রিন এ দেখানোর জন্য ব্যবহৃত হয়। যেখানে %d, int ডাটা টাইপ এর ভেরিয়েবল এর মান প্রিন্ট করার জন্য, অর্থাৎ %d এর জায়গায় কমার পরের num3 এর মান বসবে। \n নতুন একটি লাইন প্রিন্ট করার জন্য ব্যবহৃত হয়। তাহলে আউটপুট স্ক্রিনে দেখানো হবে “Sum of two numbers is 15.”।

বিয়োগ করার প্রোগ্রামঃ

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

#include <stdio.h>
int main()
{
    int num1,num2,num3;
    num1 = 12;
    num2 = 3;
    num3 = num1 - num2;
    printf("Difference of two numbers is %d.\n", num3);
    return 0;
}
Output: Difference of two numbers is 9.

এখানে তিনটি int ডাটা টাইপ এর ভেরিয়েবল বিদ্যমান যথাক্রমে num1, num2 ও num3, যা মেমরিতে এই তিনটি ভেরিয়েবল এর জন্য 4 বাইট করে তিনটি জায়গা নিয়ে নিবে। এখন num1 = 12 ও num2 = 3 মানে num1 এর মা 12 এবং num2 এর মান 3 করলাম। এটাকে assign করা বলে। এখন num3 = num1 – num2; অর্থাৎ num3 এর মাঝে প্রথম সংখ্যা (num1) হতে দ্বিতীয় সংখ্যার( num2) বিয়োগফল রাখলাম।

printf() ফাংশন “Difference of two numbers is %d\n” এই লেখাটা আউটপুট স্ক্রিন এ দেখানোর জন্য ব্যবহৃত হয়। যেখানে %d, int ডাটা টাইপ এর ভেরিয়েবল এর মান প্রিন্ট করার জন্য, অর্থাৎ %d এর জায়গায় কমার পরের num3 এর মান বসবে। n নতুন একটি লাইন প্রিন্ট করার জন্য ব্যবহৃত হয়। তাহলে আউটপুট স্ক্রিনে দেখানো হবে “Difference of two numbers is 9.”।

এভাবে যোগ, বিয়োগ, গুণ, ভাগ এর সহজ প্রোগ্রাম তুমি লিখে ফেলতে পারো। তবে int ডাটা টাইপ এর ভেরিয়েবল এ সর্বদা পূর্ণসংখ্যা ব্যবহৃত হবে।

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং ডাটা টাইপ

সি প্রোগ্রামিং ডাটা টাইপ

সি প্রোগ্রামিং ডাটা টাইপ

সি প্রোগ্রামিং ডাটা টাইপ সি প্রোগ্রামিং ভাষায় কয়েকটি মূল ডাটা টাইপ আমরা বেশি ব্যবহার করি। ডাটা টাইপগুলো ভেরিয়েবল সংজ্ঞায়িত করার জন্য ব্যবহৃত হয়।

১. int [পূর্ণসংখ্যা (integer) ভেরিয়েবল বোঝানোর জন্য]

২. float [ভগ্নাংশ (floating) ভেরিয়েবল বোঝানোর জন্য]

৩. double [বড় ভগ্নাংশ (big floating) ভেরিয়েবল বোঝানোর জন্য]

৪. char [character ভেরিয়েবল বোঝানোর জন্য]

Type Storage size Value range
char 1 byte -128 to 127
int 2 or 4 bytes -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
unsigned int 2 or 4 bytes 0 to 65,535 or 0 to 4,294,967,295
float 4 byte 1.2E-38 to 3.4E+38
double 8 byte 2.3E-308 to 1.7E+308

 

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

কম্পাইলারে সি প্রোগ্রাম লেখা এবং কম্পাইল করা

কম্পাইলারে সি প্রোগ্রাম লেখা এবং কম্পাইল করা

কম্পাইলারে সি প্রোগ্রাম লেখা এবং কম্পাইল করা

কোড::ব্লকস(Code::Blocks) এ প্রোগ্রাম লেখা

আগেই বলা হয়েছে কোড::ব্লকস(Code::Blocks) কম্পাইলার নয়, আইডিই। অর্থাৎ কোড::ব্লকস(Code::Blocks) এর মধ্যে কম্পাইলার, ইডিটর ইত্যাদি সংযুক্ত আছে।  কোড::ব্লকস(Code::Blocks) এ প্রোগ্রাম লেখার জন্য নিচের ধাপ গুলো অনুসরণ করোঃ-

ক) কোড::ব্লকস(Code::Blocks) সফটওয়্যারটি Open করো।

codeblocks_4

খ) এবার একটি নতুন একটি Empty File খুলতে হবে। File >>New >>Empty File

codeblocks_5

গ) এখন ফাইলটি save করো। খেয়াল রাখবে যেখানে save করছো ওই খানেই তোমার সকল সি প্রোগ্রামগুলো রাখতে, তাহলে পরবর্তীতে খুঁজে পেতে সুবিধা হবে। ফাইলের নাম তোমার ইচ্ছা মতো দিলেই হবে, তবে পরবর্তীতে যাতে বোঝা যায় এটা কিসের কোড সেইভাবেই নাম দেয়া ভালো। save করার সময় অবশ্যই ফাইলের নামের শেষে .c রাখতে হবে। আমি আমার সি প্রোগ্রাম এর নাম দিয়েছি HelloWorld.c

codeblocks_6

ঘ) এবার সি প্রোগ্রামটি লিখে ফেলি।

#include <stdio.h>   
int main()
{
    printf("Hello World.\n");
    return 0;
}

codeblocks_7

ঙ) কোড::ব্লকস(Code::Blocks)-এ Build and run এ ক্লিক করলে আমাদের প্রগ্রামটি প্রথমে কম্পাইল হবে ও পরে run করবে।

codeblocks_8

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি প্রোগ্রাম এর গঠন ও একটি একটি সরল সি প্রোগ্রাম

সি প্রোগ্রাম এর গঠন ও একটি একটি সরল সি প্রোগ্রাম

সি প্রোগ্রাম এর গঠন ও একটি একটি সরল সি প্রোগ্রাম

একটি সরল সি প্রোগ্রাম

যেহেতু সকল C প্রোগ্রাম এর common syntax একই রকম তাই প্রথমে আমরা এমন একটা খুবই সাধারণ C প্রোগ্রাম দেখি যা run করলে Hello World print করবে। এই প্রোগ্রামটি বুঝতে পারলে C এর অন্যান্য প্রোগ্রাম গুলো বুঝতে সুবিধা হবে।

#include <stdio.h>   
int main()
{
    printf("Hello World.\n");
    return 0;
}

>> উপরের প্রোগ্রামটিতে প্রথম লাইনে #include হল Preprocessor Commands। stdio.h হেডার ফাইল printf() এর তথ্য ধারণ করে।
>> দ্বিতীয় লাইনেint main() বিদ্যমান। প্রতিটি সি প্রোগ্রামএ main() ফাংশন থাকবেই।int হচ্ছে main() ফাংসন এর return type অর্থাত integer টাইপ value return করবে।
>> উপরের প্রোগ্রামটিতে

{
    printf("Hello World.\n");
    return 0;
}

প্রোগ্রাম এর এই অংশকে প্রোগ্রাম এর body বলে।
>> এখানে printf () হচ্ছে নিজে আর একটা ফাংসন যা কোনো কিছু print করে এবং ইহা stdio.h এর সম্পর্কিত। অর্থাত এই ফাংসনটা stdio.h এর মাঝে সঙ্গায়িত আছে।এখানে return 0 ; বোঝায় যে main () ফাংসন 0(zero) return করবে।

সি প্রোগ্রাম লেখার পূর্বে

সি প্রোগ্রামিং ভাষায় যেকোনো কোড লেখার পূর্বেই নিচের অংশটুকু লিখে ফেলবে। কেননা সব সি প্রোগ্রাম এ নিচের অংশটুকু থাকবেই।

#include <stdio.h>   
int main()
{
    /*কোড এখানে লিখতে হবে।*/
    return 0;
}

সি প্রোগ্রামিং – সূচিপত্র ( টিউটোরিয়াল সমূহ ) –


সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রামিং – ফর লুপ

ফর লুপ(for loop)

ফর লুপ(for loop) এর প্রথম ব্রাকেট এর মাঝে তিনটি অংশ থাকে, যার প্রতিটি অংশের মাঝে সেমিকোলন(;) দিতে হয়। যথাঃ

১) initialization expression : যেমনঃ i=0;
২) loop condition : যেমনঃ i<5
৩) increment/decrement expression :
যেমনঃ i++

ফর লুপ(for loop) এর সাধারণ প্রকাশ (Basic structure of for loop)

for (initialization_expression;loop_condition;increment/decrement_expression)
{
   // ফর লুপের মাঝে অন্যান্য কোড থাকবে।
}

 

loop

প্রথমে initialization থেকে শুরু হয়, তারপর কন্ডিশন যাচাই করে। যদি কন্ডিশন সত্য হয় তাহলে ফর লুপ এর মাঝের কোড execute করে, সত্য না হলে ফর লুপ শেষ হয়ে যায়। এখন ফর লুপ এর মাঝের কোড execute করার পর increment/decrement করে পুনরায় কন্ডিশন যাচাই করে। যদি কন্ডিশন সত্য হয় তাহলে ফর লুপ এর মাঝের কোড execute করে, সত্য না হলে ফর লুপ শেষ হয়ে যায়। এভাবে চলতেই থাকে যতক্ষণ পর্যন্ত কন্ডিশন মিথ্যা হয়।

উদাহরণ ০১

একটি প্রোগ্রাম দেখি যা 0 থেকে 4 পর্যন্ত প্রিন্ট করবে।

#include <iostream>
using namespace std;
int main()
{
    int i;
    for(i = 0; i < 5; i++)
    {
        cout<<i<<" ";
    }
    return 0;
}
Output: 0 1 2 3 4

উপরের প্রোগ্রামটিতে প্রথমে initialization মান(i = 0) এর জন্য কন্ডিশন যাচাই করে। কন্ডিশন সত্য হওয়ায় ফর লুপ এর মাঝের কোড execute করে, অর্থাৎ i এর মান(i = 0) প্রিন্ট করে । এখন প্রিন্ট করার পরে i এর মান(i = i + 1) বৃদ্ধি পেয়ে পুনরায় কন্ডিশন যাচাই করে। কন্ডিশন সত্য কেননা(1<5) তাই ফর লুপ এর মাঝের কোড execute করে, অর্থাৎ i এর মান(i = 1) প্রিন্ট করে । এভাবে i এর মান 0 থেকে শুরু করে এক এক করে বেড়ে যখন 5 হবে তখন কন্ডিশন মিথ্যা হবে এবং for loop শেষ হয়ে যাবে।

উদাহরণ ০২

একটি প্রোগ্রাম লিখো যেখানে ৬টি সংখ্যা ইনপুট নিবে এবং তুমি সবচেয়ে বড় মান আউটপুটে প্রিন্ট করবে।

#include <iostream>
using namespace std;

int main()
{
    int num, i,max;
    cout<<"Enter six numbers: n";
    cin>>num;
    max = num;
    for(i=1;i<=5;i++)
    {
        cin>>num;
        if (num>max)
            max=num;
    }
    cout<<"Maximum sumber is: "<<max<<"n";
    return 0;
}

এখানে প্রথমে লুপের বাইরে একটি সংখ্যা ইনপুট নিয়ে তা max নামক চলক এর মধ্যে রাখা হয়েছে। যেহেতু, তুমি লুপের বাইরে একটি সংখ্যা ইনপুট নিয়ে নিয়েছো তাই লুপের ভিতরে বাকি পাচটি সংখ্যা ইনপুট নিতে হবে। পাঁচটি সংখ্যা ইনপুট নেয়ার জন্য লুপ -এ for(i=1;i<=5;i++) এর বদলে for(i=0;i<5;i++) লিখলেও হবে। এখন প্রতিবার একটি সংখ্যা ইনপুট নেয়ার সময় ঐ সংখ্যাটি, অর্থাৎ num চলক এর মান max এর মধ্যে বিদ্যমান সংখ্যা থেকে বড় কিনা যাচাই করে। যদি বড় হয় তাহলে max=num করে দেয়। লুপে সবগুলো সংখ্যা ইনপুট শেষে max এর মধ্যে বিদ্যমান সংখ্যা প্রিন্ট করে দেয়।

সি++ প্রোগ্রামিং – লুপ

সি++ প্রোগ্রামিং ভাষায় লুপ কন্ট্রোল স্টেটমেন্ট গুলো কোন ক্রমে প্রোগ্রাম কার্য সম্পাদন করবে তা নির্দিষ্ট করে। প্রোগ্রাম এর স্টেটমেন্ট গুলো কোন ক্রমে কাজ করবে তা নির্ধারণ করার জন্য লুপ কন্ট্রোল স্টেটমেন্ট। সি++ প্রোগ্রামিং ভাষায় লুপ কন্ট্রোল স্টেটমেন্ট গুলোকে মোটামুটি তিনভাগে ভাগ করা যায়। যথাঃ-

  1. for loop
  2. while loop
  3. do while loop

সি++ প্রোগ্রামিং – লুপ

সি প্লাস প্লাস প্রোগ্রামিং ( সি++ প্রোগ্রামিং ) –  সূচিপত্র –

সি প্রোগ্রামিং শেখার বাংলা বই “সহজে শিখি সি প্রোগ্রামিং” – এর ইবুক (পিডিএফ) পেতে ক্লিক করুন। বিকাশের মাধ্যমে সর্বনিম্ন ১০০ টাকা পরিশোধ করার মাধ্যমে সংগ্রহ করে নিন এই বইটি।

সি++ প্রোগ্রামিং – switch

Switch

সরাসরি কোনো স্টেটমেন্ট নির্বাচন করার জন্য Switch ব্যবহার করে থাকি। কোন interger বা character ধ্রবক Switch এর expression এ ব্যবহার করা হয়। এই ধ্রুবক পর্যায়ক্রমে যাচাই করে, যেই case এর ধ্রুবক এর সাথে মিলে যায় ঐ case এর সকল স্টেটমেন্ট execute করে।

switch (expression) {
case constant1:
statement sequence
break;
case constant2:
statement sequence
break;
case constant3:
statement sequence
break;
.
.
default:
statement sequence
}

দশমিক মান(floating-point) switch এর expression এ দেয়া যায় না।

#include <iostream>
using namespace std;
void main()
{
    int num;
    cout<<"Enter a number :";
    cin>>num;
        switch(num)
        {
        case 1:
            {
                cout<<"You Typed 1.n";
                break;
            }
        case 2:
            {
                cout<<"You Typed 2.n";
                break;
            }
        case 3:
            {
                cout<<"You Typed 3.n";
                break;
            }
        default:
                cout<<"You did not type between 1 to 3.n";
        }
    return 0;
}
Sample Input: 1
Output: You Typed 1.