Connect with us
★ Grathor.com এ আপনিও ✍ লেখালেখি করে আয় করুন★Click Here★

প্রোগ্রামিং

নিজেই তৈরি করো নিজের ওয়েবসাইট

Sakib Rayhan

Published

on

ইন্টারনেট ঘাঁটাঘাঁটি করার সময় একটা ওয়েব সাইট দেখে ভালো লাগলো । হঠাৎ মনে হলো আমার যদি এমন একটা ওয়েব সাইট থাকত তাহলে কেমন  হতো ? যে ভাবা সেই কাজ , কিভাবে ওয়েব সাইট তৈরি করতে হয় তা জানার জন্য অনেক টিউটোরিয়াল দেখলাম , এখন সিদ্ধান্ত নিলাম আমি নিজেই নিজের জন্য ওয়েব সাইট তৈরি করব ! কিন্তু এখন সমস্যা হচ্ছে আমি যে ওয়েব সাইট টি তৈরি করব , তা ভালো ভাবে সম্পন্ন করার জন্য আমাকে কোন কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ জানতে হবে । তা যদি জানতে পারি তাহলে প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলো লিখে ফেলতাম এবং নিজেই নিজের জন্য পছন্দ মত ওয়েব সাইট ডেভেলপমেন্ট এর কাজ ভালো ভাবে সম্পন্ন করতে পারতাম । এই আক্ষেপ ঘুচানোর জন্য আর্টিকেল টি পড়তে থাকো শেষ পর্যন্ত ।

ওয়েব সাইট ডেভেলপমেন্ট ভালো ভাবে সম্পন্ন করার জন্য কোন কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ  জানতে হবে তা জানার আগে জেনে নেওয়া ভালো ওয়েব ডেভেলপমেন্ট কি ? ওয়েব ডেভেলপমেন্ট হচ্ছে ওয়েব সাইট এর ডিজাইন/কাঠামো কে কোডিং এর মাধ্যমে পরিপূর্ণ রুপ দেওয়া। ওয়েব সাইট টি কেমন হবে তা জানা যায় ওয়েব ডিজাইন এর মাধ্যমে । আর তার রুপান্তরিত রুপ দেখা যায় ওয়েব ডেভেলপমেন্ট এর মাধ্যমে ।এখন বিষয় হচ্ছে আমাদের ওয়েব সাইট টির ডেভেলপমেন্ট ভালোভাবে সম্পন্ন করতে হলে কোন কোন ল্যাঙ্গুয়েজ ব্যবহার করতে হবে !

১. HTML : (Hyper Text Markup Language) এটি ব্যবহার করে ওয়েব সাইট এর স্ট্রাকচার(structure) তৈরি করা হয় । (বি:দ্র: HTML কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়, এটি মার্কআপ ল্যাঙ্গুয়েজ ।

Place your ad code here

২. CSS : সিএসএস ল্যাঙ্গুয়েজ টি ব্যবহার করে প্রেজেন্টেশন করা হয় । অর্থাৎ একটি ওয়েব সাইট কেমন দেখাবে ? ওয়েব সাইট এর আকর্ষণীয়তা নির্ভর করে সিএসএস এর উপর ।

৩. JavaScript : জাভা স্ক্রিপ্ট একটি জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ । ওয়েব সাইট কে ডায়নামিক করে তুলতে এটি ব্যবহার করা হয় ।

৪. PHP : পিএইচপি ও একটি জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ । এটি ব্যবহার করে ওয়েব সাইট কে ইউনিক করে তোলা যায় ? বিশ্বের বড় বড় বেশির ভাগ ওয়েব সাইট পিএইচপি নির্ভর । যেমন :- ফেসবুক এর বড় একটি অংশ পিএইচপি নির্ভর ।

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

প্রোগ্রামিং

‘while’ লুপ — সি প্রোগ্রামিং বাংলা টিউটোরিয়াল পার্ট-৮

An na

Published

on

আসসালামু আলাইকুম

আজকের সি প্রোগ্রামিঙ্গের বাংলা টিউটোরিয়ালের আলোচ্য বিষয় হচ্ছে লুপ। সি প্রোগ্রামিং এর অন্যতম প্রধান বিষয় হচ্ছে এই লুপ।

ধরা যাক, আমাদেরকে বলা হলো ১-১০ পর্যন্ত সংখ্যা print করতে বলা হল। আমরা printf ব্যবহার করে প্রিন্ট করে দিতে পারি, সেক্ষেত্রে আমাদের কোডটি কেমন হবে?

Place your ad code here

#include<stdio.h>

main()

{

printf(”    1 \n”);

printf(”    2 \n”);

printf(”    3 \n”);

printf(”    4 \n”);

printf(”    5 \n”);

printf(”    6 \n”);

printf(”    7 \n”);

printf(”    8 \n”);

printf(”    9 \n”);

printf(”    10 \n”);

return 0;

}

হয়ে গেল, এই কোডটি লিখতে আমাদের ক ১০টা printf(); ফাংশন লিখতে হয়েছে। এবারে যদি বলা হয়, ১-১০০ পর্যন্ত লেখ? লিখলাম ১০০ লাইন। কিন্ত যদি বলা হয় ১০,০০০ বা ১,০০,০০,০০,০০,০০০ বা তারও বেশি? এই সমস্যা সমাধানের উপায় হচ্ছে লুপ।

সি তে লুপ মূলত ৩ ধরনের। আজকের বিষয় ‘while’ লুপ।

প্রথমেই দেখে নেই ‘while’ লুপ এর ফরম্যাট কেমন –

(Initialization);

while (condition)

{

Statements;

Increment/decrement;

}

 

এখন While লুপ ব্যবহার করে আমরা ১-১০ পর্যন্ত সংখ্যা প্রিন্ট করব। কোডটি হবে এমন,

#include<stdio.h>

main()

{

int  x = 1 ;

while(x<10)

{

printf(”    %d \n”, x) ;

x++ ;

}

return 0;

}

এই কোডটি রান করালে নিচের মত ফলাফল আসবে,

1

2

3

4

5

6

7

8

9

লক্ষ্য করুন, আমাদের চেয়েছি ১০ পর্যন্ত প্রিন্ট করতে, কিন্ত আমাদের ফলাফলে ৯ পর্যন্ত এসেছে। এর কারন আস্তে আস্তে জানব।

while  লুপ এর তিনটি ধাপ , যে ভেরিয়েবল নিয়ে আমরা কাজ করব, সেটার শুরুর মান নির্ধারন করে দেয়া, যাকে বলা হয় (Initialization); উপরের কোডটিতে আমাদের ভেরিয়েবল    int  x , আমরা যেহেতু ১ থেকে প্রিন্ট করতে চাইছি, তাই    int  x = 1 ; হবে while  লুপ এর প্রথম ধাপ (Initialization);

while  লুপ এর দ্বিতীয় ধাপ হচ্ছে কন্ডিশন, যেটা while (condition) এভাবে লিখতে হয়। আমরা চাইছি ১-১০ পর্যন্ত প্রিন্ট করব, তাই আমাদের কন্ডিশন হবে  while(x<10),  অর্থাৎ যতক্ষন x, ১০ এর থেকে ছোট থাকবে ততক্ষন লুপ কাজ করবে।

এবারে  while  লুপ এর তৃতীয় ধাপ, ইনক্রিমেন্ট/ ডিক্রিমেন্ট, অর্থাৎ x পরবর্তী যে মান প্রিন্ট হবে সেটি আগের মান থেকে বড় না ছোট হবে। এই ধাপটি লুপের মদ্ধে লিখতে হয়, যেমন x++ ;

এই কোডে x এর শুরুর মান ছিল ১, x এর মান যখন ১,    while(x<10)  লুপের কন্ডিশন চেক করবে, x কি ১০ এর ছোট? হ্যা, লুপের ভেতরে প্রবেশ করবে, printf(”    %d \n”, x) ; x এর মান ১ প্রিন্ট করবে,  x++ ;  // x = x + 1 তারপর x এর মান বাড়াবে ১ করে। কারন আমরা পরবর্তী সংখ্যা ২ প্রিন্ট করতে চাই। মান বাড়িয়ে x=২ হবে, আবার কন্ডিশন চেক করবে, x কি ১০ এর ছোট?, হ্যা, ২ প্রিন্ট করবে। এভাবে ৯ বার লুপ ঘুরে ১-৯ পর্যন্ত প্রিন্ট করবে, x এর মান ১ বেড়ে ১০ যখন হবে তখন কন্ডিশন চেক করবে। কিন্ত এবারে x=১০, আর আমদের কন্ডিশনে  x এর ১০ এর ছোট হতে হবে। তাই লুপ আর চলবেনা।

কিন্ত আমরা চাই ১০ পর্যন্ত প্রিন্ট করতে, সেক্ষেত্রে আমাদের কন্ডিশনে দিতে হবে    while(x<=10) । অর্থাৎ যতক্ষন  x ১০ এর ছোট বা সমান হবে ততক্ষন লুপ চলবে। x এর মান বেড়ে x=১১ হলে লুপ আর চল্বেনা। নিচের কোডটি দেখুন, আর রান করুন। বুঝতে পারবেন।

#include<stdio.h>

main()

{

int  x = 1 ;

while(x<=10)

{

printf(”    %d \n”, x) ;

x++ ;  // x = x + 1

}

return 0;

}

 

এবারে আর্ব একটি উদাহরন দেখা যাক। ধরা যাক বলা হল ১-৫০ পর্যন্ত জোড় সংখ্যা গুলো প্রিন্ট করতে হবে। তাহলে আমাদের ভেরিয়েবল   x এর শুরুর মান হবে ২,  x=২, লুপের কন্ডিশন হবে   x<=৫০, অর্থাৎ যতক্ষন  x এর মান ৫০ এর ছোট বা সমান থাকবে ততক্ষন লুপ চলবে। যেহেতু জোড় সংখ্যা সেক্ষেত্রে  এবারে  x এর মান ১ করে বাড়বেনা, ২ করে বাড়বে তাই ইনক্রিমেন্ট এ আমরা লিখব  x =  x + 2;  প্রথমে নিজে চেস্টা করুন। প্রয়োজনে নিচের কোডটি দেখে নিতে পারেন।

#include<stdio.h>

main()

{

int  x = 2 ;

 

while( x <= 50 )

{

printf(”    %d \n”, x) ;

x = x + 2 ;

}

return 0;

}

আশা করি বুঝতে পারবেন, যে কোন সমস্যায় কমেন্ট করতে ভুলবেননা। ধন্যবাদ।

Continue Reading

প্রোগ্রামিং

কন্ডিশনাল লজিক — সি প্রোগ্রামিং বাংলা টিউটোরিয়াল পার্ট-৭

An na

Published

on

আসসালামু আলাইকুম

ধরি আমাদের একটি অংক দেয়া হয়েছে। “x কি y থেকে বড় নাকি ছোট? যদি x, y এর চেয়ে বড় হয় তবে আমরা লিখব, (x বড়), আর যদি y বড় হয় তবে আমরা লিখব (y বড়)।” এখানে আমাদের কে কন্ডিশন বা শর্ত দেয়া হয়েছে যে x, y এর থেকে বড় না ছোট। আর সেই শর্ত অনুযায়ী আমাদের কে বড় আর কে ছোট সেটা জানাতে বলা হয়েছে। এই ধরনের শর্ত সম্বলিত স্টেটমেন্ট গুলোকে বলা হবে কন্ডিশনাল লজিক।

সি প্রোগ্রামিং বাংলা টিউটোরিয়াল পার্ট ৭ এ আপানাদের স্বাগতম। এই পার্ট এ আমরা কন্ডিশনাল লজিক  সম্পর্কে জানব।

Place your ad code here

ঝটপট সবাই কম্পিউটার এ কোড ব্লক ওপেন করে নিচের কোডটি তুলে ফেলি।

#include<stdio.h>

main()

{

int x = 50, y=10;

 

if(x>y)

{

printf(“X is greater than Y”);

}

else

{

printf(“X is not greater than Y\n”);

}

return 0;

}

 

কন্ডিশনাল লজিক প্রসেস করার জন্যে আমাদের কন্ডিশনাল স্টেটমেন্ট ব্যবহার করতে হবে। যার ফরম্যাট হচ্ছে

if(condition)

{

………………

}

else

{

………………

}

ডট চিহ্নিত স্থানে স্টাটমেন্ট লিখতে হবে। উপরের প্রোগ্রামটিতে আমরা x = 50, y=10; দুটি মান নিয়েছি। আমরা দেখতে চাই এদের মদ্ধে কে বড় আর ক ছোট। সেক্ষেত্রে আমাদের কন্ডিশনটি হবে (x>y) (x ইজ গ্রেটার দ্যান y)।  তাহলে “x>y” হবে আমাদের কন্ডিশন। সুতরাং    if(condition) এই condition স্থানে আমরা “x>y” লিখব।

তাহলে    “If(x>y)” এই লাইনের অর্থ দাড়াচ্ছে যে , if(যদি) (x>y) হয় অর্থাৎ x, y এর থেকে বড় হয় তবে If এর স্টেটমেন্ট  printf(“X is greater than Y”); এটি রান হবে। অর্থাৎ আমাদের আউটপুট আসবে (“X is greater than Y”। আর যদি x, y এর থেকে বড় না হয় তাহলে else(নতুবা/ না হয়) এর স্টেটমেন্ট printf(“X is not greater than Y\n”); রান হবে।

If(condition) //যদি শর্ত ঠিক থাকে, তাহলে এই স্টেটমেন্ট

{

………………

}

else //যদি শর্ত ঠিক না থাকে, তাহলে এই স্টেটমেন্ট

{

………………

}

এবারে নিচের কোডটি দেখা যাক। আমরা ধরে নেই x এ আমরা 50 রাখলাম অর্থাৎ x = 50। এবারে আমরা দেখতে চাই x পজিটিভ না নেগেটিভ সংখ্যা। এক্ষেত্রে আমাদের একের অধিক কন্ডিশন রয়েছে। কিভাবে? আচ্ছা, x এর মান ৫০, আমরা দেখে বলতে পারছি যে এটা পজটিভ। কারন x=৫০, ০ (শূন্য) থেকে বড়। যদি x= -৫০ হত, তাহলে বলতাম x নেগেটিভ, কারন -৫০ , ০(শূন্য) থেকে ছোট। আর যদি x=০ হয় তাহলে x নেগেটিভ বা পজিটিভ কোনটি ই নয়। খুব সহজ।

আমাদের এই কোডটিতে কন্ডিশন কিন্তু ২টা। তাহলে এখানে আমাদের প্রথমে থাকবে if(condition) , এই if(condition)  এ প্রথম কন্ডিশন থাকবে।  একদম শেষে থাকবে else, এই শুধু else এ কোন কন্ডিশ্ন থাকবেনা,  আর মাঝখানে যদি এখাধিক কন্ডিশন থাকে তবে সেগুলো থাকবে if else(condition) এ। এমন আরো অনেক কন্ডিশন থাকতে পারে। সেক্ষেত্রে আমাদের if else(condition)   সংখ্যাটা বেড়ে যাবে। তাহলে আমাদের ফরম্যাট টী হবে

If(condition) //যদি শর্ত ঠিক থাকে, তাহলে এই স্টেটমেন্ট

{

………………

}

if else(condition)

{

………………

}

 

else //যদি শর্ত ঠিক না থাকে, তাহলে এই স্টেটমেন্ট

{

………………

}

মনে রাখতে হবে আমরা জখনই কন্ডিশনাল লজিক নিয়ে কাজ করব আমাদের অবশ্যই if এর সাথে একটা else থাকতে হবে। আর  else এ কোন কন্ডিশন থাকবেনা। বাই ডিফল্ট একটা ভ্যালু থাকবে।

নিচের কোডটী রান করালেই বুঝতে পারবেন। x এর বিভিন্ন মান পরিবর্তন করে কোডটী রান করুন। যেমন, x = 50, x = -100, x = 0, x = 500 ইত্যাদি।

#include<stdio.h>

main()

{

int x = 50;

 

if(x>0)

{

printf(“X is Positive”);

}

else if(x<0)

{

printf(“X is Negative\n”);

}

else

{

printf(“X is Equal to = 0\n”);

}

return 0;

}

 

আশা করি কন্ডিশনাল লজিক এর বেসিক ধারনা সম্পর্কে জানতে পারবেন।আজ এই পর্যন্ত।

ধন্যবাদ।

Continue Reading

প্রোগ্রামিং

পুর্নাঙ্গ প্রোগ্রাম(দ্বিতীয় খন্ড)– সি প্রোগ্রামিং বাংলা টিউটোরিয়াল পার্ট-৬

An na

Published

on

আসসালামুয়ালাইকুম

পুর্নাঙ্গ প্রোগ্রাম (দ্বিতীয় খন্ড)– সি প্রোগ্রামিং বাংলা টিউটোরিয়াল পার্ট-৬ এ স্বাগতম। আজকের টিউটোরিয়ালের পুর্বের অংশ পুর্নাঙ্গ প্রোগ্রাম (প্রথম খন্ড)– সি প্রোগ্রামিং বাংলা টিউটোরিয়াল পার্ট-৫ পাবেন।

আমরা কোডের মদ্ধে যে কোন কিছু কমেন্ট আকারে লিখতে পারি। কমেন্ট গুলো কোড বোঝার সুবিধার্তে লেখা হয়। কমেন্টগুলো কম্পাইলার ইগনোর করে থাকে। অর্থাৎ কমেন্টে এর জন্যে কোডের কোন পরিবর্তন হয়না। যেমন

Place your ad code here

/*int a = 100;

int b = 200;

int c = 300;*/

এই ডেক্লারেশনটি আমি কমেন্ট আকারে লিখেছি। সি প্রোগ্রামিঙ্গে দুইভাবে কমেন্ট লেখা যায়। যখন আমরা শুধু একটা লাইন কমেন্ট করতে চাই তখন লাইনের আগে দুইটা ফরওয়ার্ড স্লাশ (//) দিলে সেটি কমেন্ট আকারে গণ্য হবে। যেমন কোড এর শেষের দিকে

// printf(“”);

এই লাইনটি লিখেছি। যদি একাধিক লাইন আমরা কমেন্ট আকারে লিখতে চাই তবে /*…*/ এই কোটেশন ব্যবহার করতে হবে যেটা উপরের উদাহরনে দেখিয়েছি।

sum = a+b;

sub = c-b;

mul = a*c;

div = c/a;

mod = c%b;

result = (x+y)*z;

কোডের এই অংশে আরিথমেটিক অপারেশন গুলো করা হয়েছে।

এবারে আউটপুট প্রিন্ট করার পালা। আমরা ইতিমধ্যেই ফরমাট স্পেসিফিকেশন শিখেছি।

printf(“a= %d\n b= %d\n c= %d\n x= %f\n y= %f\n z= %f\n”, a, b, c, x, y, z);

এই লাইনে আমরা যে মান গুলো নিয়েছি সেগুলো প্রিন্ট করেছি।

নিউলাইন সম্পর্কে আমরা জানি। নিউলাইন আমরা দুইভাবে লিখতে পারি। হয় একেবারে নতুন একটা printf() ফাংশন নিতে পারি অথবা এক্সিস্টিং printf() ফাংশনে যেখানে প্রয়োজন সেখানে লিখতে পারি।

printf(“a= %d\n b= %d\n c= %d\n x= %f\n y= %f\n z= %f\n”, a, b, c, x, y, z);

printf(“\n”);

যেমন এই ২টি লাইনে নিয়েছি।

printf(“Summation = %d\n”, sum);

printf(“Subtraction = %d\n”, sub);

printf(“Multiplication = %d\n”, mul);

printf(“Division = %d\n”, div);

printf(“Modulous = %d\n”, mod);

এই লাইন গুলোতে আমাদের ক্যালকুলেশন গুলো প্রিন্ট করছি। জোগ বিয়োগ গুন ভাগ কি আমরা জানি।  মডুলাস(%) হচ্ছে রিমেয়িন্ডার(remainder) বা ভাগশেষ। যেমন ধরি ১৩/৬, এই ক্ষেত্রে ভাগফল ২, আর ভাগশেষ ১ থাকে, তাইতো? তো আমরা যখন ১৩/৬ লিখব প্রোগ্রামে তখন রেসাল্ট আসবে ২। যখন ১৩%৬ করব তখন রেসাল্ট আসবে ১।

এবারে printf(“Result = %0.3f\n”, result); এই লাইনটা নিয়ে আলোচনা করি। ফ্লটিং পয়েন্ট ডাটা প্রিন্ট করার জন্যে আমরা %f ব্যবহার করি। যেমন printf(“x= %f\n y= %f\n z= %f\n”, x, y, z); এখানে করেছি। তাহলে printf(“Result = %0.3f\n”, result); এই লাইনের সাথে পার্থক্য টা কি? হ্যা, এই লাইনে আমরা %f এর পরিবর্তে %0.3f ব্যবহার করেছি। শুধু %f ব্যবহার করলে বাই ডিফল্ট দশমিক সংখ্যার পরে ৬ঘর পর্যন্ত প্রিন্ট করে দেখাবে। আর %0.3f তে দশমিক এর পরে ৩ ঘর পর্যন্ত প্রিন্ট করে দেখাবে। যদি আমরা %0.2f দেই সেক্ষেত্রে দশমিক এর পরে ২ ঘর পর্যন্ত প্রিন্ট করে দেখাবে। যদি %0.5f দেই সেক্ষেত্রে দশমিক এর পরে ৫ ঘর পর্যন্ত প্রিন্ট করে দেখাবে। আশা করি সবাই বুঝতে পেরেছি।

সবশেষ লাইন return ০; বলতে বোঝায় এই main() ফাংশনটি কোন ভ্যালু রিটার্ন করবেনা। এই বিষয়ে আমার পরবর্তিতে বিস্তারিত জানবো।

আজ এ পর্যন্তই। ধন্যবাদ।

 

Continue Reading






গ্রাথোর ফোরাম পোস্ট