এইচটিএমএল রঙ (HTML Color codes chart)

এইচটিএমএল রঙ (HTML Color Names)

স্বর্ণা আখতার

 

স্বর্ণা আখতারআমরা জানি একেকটি কালার হলো লাল, নীল এবং সবুজ এর সমন্বিত রূপ। সাধারনত, ১৪০ টি কালার আছে যেগুলো সব ওয়েব ব্রাউজারেই সাপোর্ট করে। এই ১৪০ টি নাম এইচ টি এম এল ৫ এবং সিএসএস ৫ এ উল্লেখ আছে। যার মধ্যে ১৭ টি এসেছে এইচ টি এম এল থেকে এবং ১২৭ টি এসেছে সিএসএস থেকে। নিচে সেইসব ১৪০ টি কালারের নাম এবং তাদের হেক্সাডেসিমেল কোড দেয়া হল।

 

Color Name HEX Color Shades Mix
AliceBlue #F0F8FF Shades Mix
AntiqueWhite #FAEBD7 Shades Mix
Aqua #00FFFF Shades Mix
Aquamarine #7FFFD4 Shades Mix
Azure #F0FFFF Shades Mix
Beige #F5F5DC Shades Mix
Bisque #FFE4C4 Shades Mix
Black #000000 Shades Mix
BlanchedAlmond #FFEBCD Shades Mix
Blue #0000FF Shades Mix
BlueViolet #8A2BE2 Shades Mix
Brown #A52A2A Shades Mix
BurlyWood #DEB887 Shades Mix
CadetBlue #5F9EA0 Shades Mix
Chartreuse #7FFF00 Shades Mix
Chocolate #D2691E Shades Mix
Coral #FF7F50 Shades Mix
CornflowerBlue #6495ED Shades Mix
Cornsilk #FFF8DC Shades Mix
Crimson #DC143C Shades Mix
Cyan #00FFFF Shades Mix
DarkBlue #00008B Shades Mix
DarkCyan #008B8B Shades Mix
DarkGoldenRod #B8860B Shades Mix
DarkGray #A9A9A9 Shades Mix
DarkGreen #006400 Shades Mix
DarkKhaki #BDB76B Shades Mix
DarkMagenta #8B008B Shades Mix
DarkOliveGreen #556B2F Shades Mix
DarkOrange #FF8C00 Shades Mix
DarkOrchid #9932CC Shades Mix
DarkRed #8B0000 Shades Mix
DarkSalmon #E9967A Shades Mix
DarkSeaGreen #8FBC8F Shades Mix
DarkSlateBlue #483D8B Shades Mix
DarkSlateGray #2F4F4F Shades Mix
DarkTurquoise #00CED1 Shades Mix
DarkViolet #9400D3 Shades Mix
DeepPink #FF1493 Shades Mix
DeepSkyBlue #00BFFF Shades Mix
DimGray #696969 Shades Mix
DodgerBlue #1E90FF Shades Mix
FireBrick #B22222 Shades Mix
FloralWhite #FFFAF0 Shades Mix
ForestGreen #228B22 Shades Mix
Fuchsia #FF00FF Shades Mix
Gainsboro #DCDCDC Shades Mix
GhostWhite #F8F8FF Shades Mix
Gold #FFD700 Shades Mix
GoldenRod #DAA520 Shades Mix
Gray #808080 Shades Mix
Green #008000 Shades Mix
GreenYellow #ADFF2F Shades Mix
HoneyDew #F0FFF0 Shades Mix
HotPink #FF69B4 Shades Mix
IndianRed #CD5C5C Shades Mix
Indigo #4B0082 Shades Mix
Ivory #FFFFF0 Shades Mix
Khaki #F0E68C Shades Mix
Lavender #E6E6FA Shades Mix
LavenderBlush #FFF0F5 Shades Mix
LawnGreen #7CFC00 Shades Mix
LemonChiffon #FFFACD Shades Mix
LightBlue #ADD8E6 Shades Mix
LightCoral #F08080 Shades Mix
LightCyan #E0FFFF Shades Mix
LightGoldenRodYellow #FAFAD2 Shades Mix
LightGray #D3D3D3 Shades Mix
LightGreen #90EE90 Shades Mix
LightPink #FFB6C1 Shades Mix
LightSalmon #FFA07A Shades Mix
LightSeaGreen #20B2AA Shades Mix
LightSkyBlue #87CEFA Shades Mix
LightSlateGray #778899 Shades Mix
LightSteelBlue #B0C4DE Shades Mix
LightYellow #FFFFE0 Shades Mix
Lime #00FF00 Shades Mix
LimeGreen #32CD32 Shades Mix
Linen #FAF0E6 Shades Mix
Magenta #FF00FF Shades Mix
Maroon #800000 Shades Mix
MediumAquaMarine #66CDAA Shades Mix
MediumBlue #0000CD Shades Mix
MediumOrchid #BA55D3 Shades Mix
MediumPurple #9370DB Shades Mix
MediumSeaGreen #3CB371 Shades Mix
MediumSlateBlue #7B68EE Shades Mix
MediumSpringGreen #00FA9A Shades Mix
MediumTurquoise #48D1CC Shades Mix
MediumVioletRed #C71585 Shades Mix
MidnightBlue #191970 Shades Mix
MintCream #F5FFFA Shades Mix
MistyRose #FFE4E1 Shades Mix
Moccasin #FFE4B5 Shades Mix
NavajoWhite #FFDEAD Shades Mix
Navy #000080 Shades Mix
OldLace #FDF5E6 Shades Mix
Olive #808000 Shades Mix
OliveDrab #6B8E23 Shades Mix
Orange #FFA500 Shades Mix
OrangeRed #FF4500 Shades Mix
Orchid #DA70D6 Shades Mix
PaleGoldenRod #EEE8AA Shades Mix
PaleGreen #98FB98 Shades Mix
PaleTurquoise #AFEEEE Shades Mix
PaleVioletRed #DB7093 Shades Mix
PapayaWhip #FFEFD5 Shades Mix
PeachPuff #FFDAB9 Shades Mix
Peru #CD853F Shades Mix
Pink #FFC0CB Shades Mix
Plum #DDA0DD Shades Mix
PowderBlue #B0E0E6 Shades Mix
Purple #800080 Shades Mix
RebeccaPurple #663399 Shades Mix
Red #FF0000 Shades Mix
RosyBrown #BC8F8F Shades Mix
RoyalBlue #4169E1 Shades Mix
SaddleBrown #8B4513 Shades Mix
Salmon #FA8072 Shades Mix
SandyBrown #F4A460 Shades Mix
SeaGreen #2E8B57 Shades Mix
SeaShell #FFF5EE Shades Mix
Sienna #A0522D Shades Mix
Silver #C0C0C0 Shades Mix
SkyBlue #87CEEB Shades Mix
SlateBlue #6A5ACD Shades Mix
SlateGray #708090 Shades Mix
Snow #FFFAFA Shades Mix
SpringGreen #00FF7F Shades Mix
SteelBlue #4682B4 Shades Mix
Tan #D2B48C Shades Mix
Teal #008080 Shades Mix
Thistle #D8BFD8 Shades Mix
Tomato #FF6347 Shades Mix
Turquoise #40E0D0 Shades Mix
Violet #EE82EE Shades Mix
Wheat #F5DEB3 Shades Mix
White #FFFFFF Shades Mix
WhiteSmoke #F5F5F5 Shades Mix
Yellow #FFFF00 Shades Mix
YellowGreen #9ACD32 Shades Mix

How to Process Data with Apache Hive

How to Process Data with Apache Hive

সি – পয়েন্টার . C Pointers

সি – পয়েন্টার
নয়ন চন্দ্র দত্ত

সি পয়েন্টার শিখতে সহজ এবং মজা। কিছু সি প্রোগ্রামিং টাস্ক, পয়েন্টার দিয়ে আরো সহজে করা যায় এবং অন্যান্য টাস্ক যেমন ডাইনামিক মেমরি বরাদ্দ হিসাব এ, পয়েন্টার ব্যবহার না করে সম্পাদনা করা যাবে না।
সুতরাং একজন নিখুঁত সি প্রোগ্রামার হতে হলে পয়েন্টার জানা প্রয়োজন। তাহলে চলুন সহজ এবং সহজ ধাপে ধাপে তাদের শেখা শুরু করা যাক।
আপনি জানেন, প্রতি ভেরিয়েবল একটি মেমরি অবস্থান বুঝায় এবং প্রতি মেমোরি তার ঠিকানা নির্ধারিত রয়েছে যা এম্পারসেন্ড(&) অপারেটর দিয়ে ব্যবহার করে ব্যবহার করা যেতে পারে, যা যা মেমরির মধ্যে একটি ঠিকানা উল্লেখ করে।

নিম্নলিখিত উদাহরণ বিবেচনা করুন যা সংজ্ঞায়িত ভেরিয়েবল ঠিকানা মুদ্রণ করবেঃ

#include <stdio.h>

int main ()
{
int var1;
char var2[10];

printf(“Address of var1 variable: %x\n”, &var1 );
printf(“Address of var2 variable: %x\n”, &var2 );

return 0;
}

যখন উপরের কোড কম্পাইল এবং নির্বাহ করে তখন এর রিজাল্ট কিছুটা নিচের মত হয়ঃ

Address of var1 variable: bff5a400
Address of var2 variable: bff5a3f6

আশা করছি উপরের ধারণার উপর ভিত্তি করে আপনারা মেমরি ঠিকানা এবং কিভাবে এটি অ্যাক্সেস করে এটা বুঝতে পেরেছেন। চলুন এখন আমরা দেখব পয়েন্টার কি?

পয়েন্টার কি
একটি পয়েন্টার ভেরিয়েবল যার মান হল অন্য ভেরিয়েবল এর ঠিকানা, যেমন- মেমরি অবস্থানের সরাসরি ঠিকানা। কোনো ভেরিয়েবল বা ধ্রুবক মত, কোন ভেরিয়েবল ঠিকানা সংরক্ষণ এ এটি ব্যবহার করার পূর্বে
একটি পয়েন্টার ডিক্লেয়ার করতে হবে।
একটি পয়েন্টার ভেরিয়েবল এর সাধারণ ফর্ম নিম্নরূপঃ

type *var-name;

এখানে type হচ্ছে পয়েন্টার এর বেস টাইপ। এটি একটি বৈধ সি ডাটা টাইপ হতে হবে এবং পয়েন্টার ভেরিয়েবল এর নাম হবে var-name। তারকা চিহ্ন * একটি পয়েন্টার ডিকলার করতে হয় যে একই তারকা আপনি গুণ জন্য ব্যবহার করেন।
যাইহোক, এই বিবৃতিতে তারকা চিহ্ন একটি পয়েন্টার হিসাবে একটি ভেরিয়েবল নামকরণ করার জন্য ব্যবহার করা হচ্ছে।

কিছু বৈধ পয়েন্টার নিম্নরূপঃ

int *ip; /* pointer to an integer */
double *dp; /* pointer to a double */
float *fp; /* pointer to a float */
char *ch /* pointer to a character */

কিভাবে পয়েন্টার ব্যবহার করতে হবে?
কয়েকটি গুরুত্বপূর্ণ অপারেশন আছে যা আমরা খুব সহজে পয়েন্টারের সাহায্যে করতে পারি।
(ক) আমরা একটি পয়েন্টার ভেরিয়েবল নির্ধারণ করতে পারি
(খ) একটি পয়েন্টারকে একটি ভেরিয়েবল এর ঠিকানার দায়িত্ব অর্পণ করা এবং
(গ) অবশেষে পয়েন্টার ভেরিয়েবল এর ঠিকানা এ উপলব্ধ মান অ্যাক্সেস করা
এটি ইউনারী অপারেটর * দিয়ে করা হয় যা তার ওপারেন্ড দ্বারা নির্দিষ্ট ঠিকানায় অবস্থিত ভেরিয়েবল প্রদান করে থাকে। নিম্নলিখিত উদাহরণে এই অপারেশন ব্যবহার আছেঃ

#include <stdio.h>

int main ()
{
int var = 20; /* actual variable declaration */
int *ip; /* pointer variable declaration */

ip = &var; /* store address of var in pointer variable*/

printf(“Address of var variable: %x\n”, &var );

/* address stored in pointer variable */
printf(“Address stored in ip variable: %x\n”, ip );

/* access the value using the pointer */
printf(“Value of *ip variable: %d\n”, *ip );

return 0;
}

যখন উপরের কোড কম্পাইল এবং নির্বাহ করে তখন এর রিজাল্ট কিছুটা নিচের মত হয়ঃ

Address of var variable: bffd8b3c
Address stored in ip variable: bffd8b3c
Value of *ip variable: 20

সি নাল পয়েন্টার
নিয়োগ করার মত সঠিক ঠিকানা যদি না থাকে সেক্ষেত্রে একটি পয়েন্টার ভেরিয়েবল এর একটি শূন্য মান নির্ধারণ সবসময় একটি ভাল অভ্যাস। এটি ভেরিয়েবল ঘোষণা সময় সম্পন্ন করা হয়। একটি পয়েন্টার যা শূন্য
নির্ধারিত তাকে নাল পয়েন্টার বলা হয়।
বিভিন্ন স্ট্যান্ডার্ড লাইব্রেরিতে সংজ্ঞায়িত শূন্য পয়েন্টার হচ্ছে একটি শূন্য মানের সঙ্গে একটি ধ্রুবক। নিচের উদাহরণটি দেখুনঃ

#include <stdio.h>

int main ()
{
int *ptr = NULL;

printf(“The value of ptr is : %x\n”, ptr );

return 0;
}

যখন উপরের কোড কম্পাইল এবং নির্বাহ করে তখন এর রিজাল্ট কিছুটা নিচের মত হয়ঃ

The value of ptr is 0

অধিকাংশ অপারেটিং সিস্টেমে প্রোগ্রাম ঠিকানা 0 এ মেমরি অ্যাক্সেস করার অনুমতি নেই, কারণ সেই মেমরি অপারেটিং সিস্টেম দ্বারা সংরক্ষিত। তবে, মেমরি ঠিকানা 0 এর বিশেষ তাৎপর্য রয়েছে।
এটা ইঙ্গিত দেয় যে, পয়েন্টার অ্যাক্সেসযোগ্য মেমরির অবস্থান নির্দেশ করার উদ্দেশ্যে নয়। কিন্তু কনভেনশন দ্বারা, একটি নাল পয়েন্টারের উপস্থিত (শূন্য) মান থাকে, তাহলে এটা কিছুই নির্দেশ যোগ্য হয়না।
নাল পয়েন্টার পরীক্ষা করার জন্য আপনি নিচের বিবৃতি অনুসরণ করতে পারেনঃ

if(ptr) /* succeeds if p is not null */
if(!ptr) /* succeeds if p is null */

বিস্তারিত সি পয়েন্টার
পয়েন্টার অনেক কিন্তু সহজ ধারণা এবং তারা C প্রোগ্রামিং এর জন্য খুবই গুরুত্বপূর্ণ। নিম্নলিখিত কয়েকটি গুরুত্বপূর্ণ পয়েন্টার ধারণা আছে যা একজন সি প্রোগ্রামারকে স্পষ্ট হতে হবেঃ

ধারণাঃ C – Pointer arithmetic
ব্যাখ্যাঃ চারটি গাণিতিক অপারেটর আছে যা পয়েন্টারে ব্যবহার করা যেতে পারেঃ ++, –, +, – ।

ধারণাঃ C – Array of pointers
ব্যাখ্যাঃ পয়েন্টারের একটি সংখ্যা ধরে রাখতে আপনি অ্যারে নির্ধারণ করতে পারবেন।

ধারণাঃ C – Pointer to pointer
ব্যাখ্যাঃ সি আপনাকে একটি পয়েন্টার এ পয়েন্টার করতে সক্ষম করবে।

ধারণাঃ Passing pointers to functions in C
ব্যাখ্যাঃ রেফারেন্স দ্বারা বা ঠিকানা দ্বারা একটি যুক্তি পাসিং উভয় পাশ যুক্তি নামক ফাংশন দ্বারা কলিং ফাংশন পরিবর্তন করা সম্ভব।

ধারণাঃ Return pointer from functions in C
ব্যাখ্যাঃ সি তে একটি ফাংশন হিসাবে ভাল স্থানীয় পরিবর্তনশীল, স্ট্যাটিক পরিবর্তনশীল এবং পরিবর্তনশীল বরাদ্দ মেমরির একটি পয়েন্টার প্রত্যাবর্তন করতে পারবেন।

(In Bengali) C – Scope Rules (Arrays)

C – Scope Rules (Arrays)

আপনাকে স্বাগতম আমাদের টিউটোরিয়াল সাইটে। এখানে আমরা সি প্রোগ্রামিং এর ARRAYS সম্পর্কে আলোচনা করবো। আপনারা আগের লেসন এ জেনেছেন সি প্রোগ্রামিং কি তাই এই লেসন এ আর কথা বাড়াতে চাই না। আসুন জেনে নেই Arrays সম্পর্কে…
কোন প্রোগ্রামিং মধ্যে একটি সুযোগ বা একটি সংজ্ঞা পরিবর্তনশীল, তার অস্তিত্ব থাকতে পারে এবং যে পরিবর্তনশীল অতিক্রম ব্যবহার করা যাবে না কারণ প্রোগ্রাম যেখানে একটি অঞ্চল. ভেরিয়েবল সি কে প্রোগ্রামিং এর ভাষা হিসেবে ঘোষণা করা যেতে পারে যেখানে তিনটি জায়গা আছে:

১. একটি ফাংশন বা স্থানীয় ভেরিয়েবল যা বলা হয় একটি ব্লক ভিতরে।

২. সব ফাংশন এর বাইরে এদের গ্লোবাল ভেরিয়েবল যা বলা হয়।

৩. আনুষ্ঠানিক পরামিতি যা বলা হয় ফাংশন পরামিতি সংজ্ঞা।

এবারন ব্যাখা করা যাক স্থানীয় এবং গ্লোবাল ভেরিয়েবল কি।

Local Variables

গ্লোবাল ভেরিয়েবল সাধারণত একটি প্রোগ্রাম যা একটি ফাংশন এর বাইরে সংজ্ঞায়িত করা হয়। গ্লোবাল ভেরিয়েবল আপনার প্রোগ্রাম জীবনকাল জুড়ে তাদের মূল্য রাখা হবে এবং তারা প্রোগ্রামের জন্য নির্ধারিত কর্ম কোনো ভিতরে প্রবেশ করা যেতে পারে।

বিশ্বব্যাপী পরিবর্তনশীল কোনো ফাংশন দ্বারা ব্যবহার করা যাবে। এটা বিশ্বব্যাপী একটি পরিবর্তনশীল এর ঘোষণার পর আপনার সম্পূর্ণ প্রোগ্রাম সারা ব্যবহারের জন্য উপলব্ধ করা হয়. বৈশ্বিক এবং স্থানীয় ভেরিয়েবল ব্যবহার করে উদাহরণ অনুসরণ করা হয়:

#include <stdio.h>/* global variable declaration */
int g;

int main ()
{
/* local variable declaration */
int a, b;

/* actual initialization */
a = 10;
b = 20;
g = a + b;

printf (“value of a = %d, b = %d and g = %d\n”, a, b, g);

return 0;
}

একটি ফাংশন ভিতরে স্থানীয় এবং গ্লোবাল ভেরিয়েবল কিন্তু স্থানীয় পরিবর্তনশীল এর মান পছন্দের নিতে হবে জন্য একটি প্রোগ্রাম একই নাম থাকতে পারে. নিম্নলিখিত একটি উদাহরণ:

#include <stdio.h>/* global variable declaration */
int g = 20;

int main ()
{
/* local variable declaration */
int g = 10;

printf (“value of g = %d\n”, g);

return 0;
}

উপরের কোড কম্পাইল এবং মৃত্যুদন্ড কার্যকর করা হয়, এটি নিম্নলিখিত ফলাফল সৃষ্টি করে:

value of g = 10

Formal Parameters

ফাংশন পরামিতি, আনুষ্ঠানিক পরামিতি, যে ফাংশন সঙ্গে স্থানীয় ভেরিয়েবল হিসেবে গণ্য করা হয় এবং তারা গ্লোবাল ভেরিয়েবল উপর পক্ষপাত নিতে হবে. নিম্নলিখিত একটি উদাহরণ:

#include <stdio.h>/* global variable declaration */
int a = 20;

int main ()
{
/* local variable declaration in main function */
int a = 10;
int b = 20;
int c = 0;

printf (“value of a in main() = %d\n”, a);
c = sum( a, b);
printf (“value of c in main() = %d\n”, c);

return 0;
}

/* function to add two integers */
int sum(int a, int b)
{
printf (“value of a in sum() = %d\n”, a);
printf (“value of b in sum() = %d\n”, b);

return a + b;
}

উপরের কোড কম্পাইল এবং মৃত্যুদন্ড কার্যকর করা হয়, এটি নিম্নলিখিত ফলাফল সৃষ্টি করে:

value of a in main() = 10
value of a in sum() = 10
value of b in sum() = 20
value of c in main() = 30

Initializing Local and Global Variables

একটি স্থানীয় পরিবর্তনশীল সংজ্ঞায়িত করা হয়, এটি সিস্টেমের সক্রিয়া করা হয় না, আপনি এটি নিজের আরম্ভ হবে. গ্লোবাল ভেরিয়েবল অনুসরণ হিসাবে আপনি তাদের সংজ্ঞায়িত যখন সিস্টেম দ্বারা স্বয়ংক্রিয়ভাবে আরম্ভ হয়:
Data Type Initial Default Value

Data Type Initial Default Value
int 0
char ‘\0’
float 0
double 0
pointer NULL

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

সি স্টোরেজ ক্লাস (C – Storage Classes)

সি স্টোরেজ ক্লাস  (C – Storage Classes):

                                            লিখেছেনঃ মোঃ আমিরুল ইসলাম (আরিফ)

ওয়েব ডিজাইনার অ্যান্ড ডেভেলপার

একটি স্টোরেজ ক্লাস বলতে বুঝায় যে একটি সি প্রোগ্রামের মধ্যে ভ্যেরিয়াবল অথবা ফাংশন এর নির্দিষ্ট লক্ষ এবং লাইফ-টাইম ।

একটি একটি সি প্রোগ্রামে যে গুলো টাইপ ব্যাবহার করা হয় তা হলঃ

  • auto
  • register
  • static
  • extern

 

অটো স্টোরেজ ক্লাস (The auto Storage Class):

সকল লোকাল ভ্যেরিয়াবলের জন্য অটো স্টোরেজ ক্লাস হল ডিফল্ট স্টোরেজ ক্লাস।

{   int mount;   auto int month;}

উদাহরণস্বরূপ উপরে একই স্টোরেজ ক্লাসের সঙ্গে দুটি ভেরিয়েবল, অটো শুধুমাত্র ফাংশন মধ্যে ব্যবহার হয়েছে।

যেমনঃ লোকাল ভ্যেরিয়াবল.

রেজিস্টার স্টোরেজ ক্লাস (The register Storage Class):

রেজিস্টার স্টোরেজ ক্লাস এটা লোকাল ভ্যেরিয়াবলকে সংজ্ঞায়িত করতে ব্যাবহার করা হয় যা র্যামের স্থলে জমা করা হয়। এর অর্থ, এই ভ্যেরিয়াবলের সর্বাধিক মাপ রেজিস্টারের আকারের (সাধারণত এক শব্দ) সমান এবং এটি আপ্লাইড ইউনারী ‘ও’ অপারেটর থাকতে পারে না. (এটি মেমরির অবস্থান না)

{   register int  miles;}

রেজিস্টার শুধু মাত্র ভ্যেরিয়াবলে ব্যাবহার করা উচিৎ যেন তা প্রয়োজনে দ্রুত অ্যাক্সেস করা যায়, যেমনঃ কাউন্টার। এটা উল্লেখ করা উচিৎ যে defining ‘register’ বলতে এটা বুঝায় না যে ভ্যেরিয়াবল রেজিস্টারে সেভ হবে। এটার মানে হচ্ছে একটি রেজিস্টার সংরক্ষিত হওয়াটা হার্ডওয়্যার ও বাস্তবায়ন সীমাবদ্ধতার  উপর নিরভর করবে ।

স্ট্যাটিক স্টোরেজ ক্লাস (The static Storage Class):

স্ট্যাটিক স্টোরেজ ক্লাস সংকলনকারীকে নির্দেশ করে প্রগ্রামের লাইফ টাইমের বদলে লোকাল ভ্যেরিয়াবলের অস্তিত্ব রাখতে এটা প্রতিটি সময় ভিতরে আনার এবং বাহিরে রাখার সুযোগ তৈরি করে ও বন্ধ করে।  স্ট্যাটিক পরিবর্তক ও গ্লোবাল ভেরিয়েবলে প্রয়োগ করতে পারে।

যখন এটি করা হয়, তখন ভেরিয়াবলের স্কোপে যে ফাইলটি ঘোষণা করা হবে তা সীমিত হবে ।

সি প্রোগ্রামে যখন ক্লাস ডাটা মেম্বারে স্ট্রাটিক ব্যাবহার করা হবে, তখন এটা যে মেম্বার এর মধ্যে শুধুমাত্র একটি কপি তার ক্লাসের সব অবজেক্ট দ্বারা ভাগ করা হবে।

 

#include <stdio.h> /* function declaration */void func(void); static int count = 5; /* global variable */ main(){   while(count–)   {      func();   }   return 0;}/* function definition */void func( void ){   static int i = 5; /* local static variable */   i++;    printf(“i is %d and count is %d\n”, i, count);}

 

আপনি এখন এই উধাহরনটি নাও বুজতে পারেন কারন আমি এটাতে ফাংশন এবং গ্লোবাল ভেরিয়াবল ব্যাবহার করেছি।  যা আমি বিস্তারিত বর্ণনা করিনি। তাই এখন এগিয়ে যাওয়ার জন্য, যদিও এটা আপনি পুরপুরি ভাবে না বুঝেন । যখন উপরের কোড গুলো প্রণীত ও অনুষ্ঠিত (compiled and executed)। তখন এটি নিম্নলিখিত ফলাফল সৃষ্টি করে:

i is 6 and count is 4i is 7 and count is 3i is 8 and count is 2i is 9 and count is 1i is 10 and count is 0

বাহ্যিক স্টোরেজ ক্লাস (The extern Storage Class):

বাহ্যিক স্টোরেজ ক্লাস (The extern Storage Class) টি ব্যাবহার করা হয় গ্লোবাল ভেরিয়াবলকে উল্লেখ করতে যেটা সকল প্রোগ্রাম ফাইল এ দৃশ্যমান । যখন আপনি এক্সট্রান স্টোরেজ ক্লাস ব্যাবহার করবেন ভেরিয়াবল সক্রিয় করা যাবে না। যাতে সব এটি ভেরিয়াবলের নাম নির্দেশ করতে পারে না, সংগ্রহস্থলের অবস্থান যা পূর্বে নির্ধারিত করা হয়েছে ।

যখন আপনার একাধিক ফাইল আছে এবং আপনি গ্লোবাল ভেরিয়াবল অথবা ফাংশন ডিফাইন করবেন, যা ব্যাবহার করা হবে অন্য ফাইলেও, তারপর এক্সট্রান ব্যাবহার করা হবে অন্য ফাইলে যা ভেরিয়াবল অথবা ফাংশনকে সংজ্ঞায়িত করার রেফারেন্সে । শুধুমাত্র বোঝার জন্য,  এক্সট্রান অন্য ফাইলের গ্লোবাল ভেরিয়াবল অথবা ফাংশন ঘোষণা (declare) করতে ব্যবহার করা হয়।

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

উধারন স্বরূপঃ

First File: main.c

#includeint count;externvoid write_extern();main(){   count=5;   write_extern();}

Second File: support.c

#include <stdio.h> extern int count; void write_extern(void){   printf(“count is %d\n”, count);}এখানে, এক্সট্রান শব্দটি ব্যাবহার করা হয়েছে দ্বিতীয় ফাইল কাউন্ট ডিক্লেয়ার করতে যেখানে এটি প্রথম ফাইল এর সংজ্ঞা আছে, main.c. হিসাবে । এখন, এই দুটি ফাইল কম্পাইল:$gcc main.c support.c

(In Bengali) C – Functions

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

একটি ফাংশন যা অনেক গুলো গ্রুপ এর বিবৃতি যা সকলে একত্রে কাজ করে। প্রত্যেক সি প্রোগ্রাম এ কমপক্ষে একটি ফাংশন থাকে যা main(), এবং সব সবচেয়ে তুচ্ছ প্রোগ্রাম অতিরিক্ত ফাংশন নির্ধারণ করতে পারবেন.
আপনি পৃথক ফাংশন মধ্যে আপনার কোড ভাগ করতে পারেন. আপনি বিভিন্ন ফাংশন মধ্যে আপনার কোড বিভক্ত কিভাবে আপনি আপ হয়, কিন্তু যুক্তি বিভাগ সাধারণত, তাই প্রতিটি ফাংশন একটি নির্দিষ্ট টাস্ক সম্পাদন করে হয়.
একটি ফাংশন ঘোষণা একটি ফাংশন এর নাম, রিটার্ন টাইপ, এবং পরামিতি সম্পর্কে কম্পাইলার বলে. একটি functiondefinition ফাংশন প্রকৃত শরীর উপলব্ধ করা হয়.
সি মান লাইব্রেরি আপনার প্রোগ্রাম কল করতে পারেন যে অনেক বিল্ট ইন ফাংশন প্রদান করে. উদাহরণস্বরূপ, ফাংশন strcat () অন্য অবস্থান এবং আরো অনেক ফাংশন এক মেমোরি কপি দুই স্ট্রিং ফাংশন memcpy () কনক্যাটেনেট. একটি ফাংশন একটি পদ্ধতি বা একটি উপ-রুটিন বা একটি পদ্ধতি, বিভিন্ন নামের সাথে পরিচিত।
Defining a Function:
অনুসরণ হিসাবে সি প্রোগ্রামিং ভাষায় একটি ফাংশন সংজ্ঞা সাধারণ ফর্ম:
return_type function_name( parameter list )
{
body of the function
}
সি প্রোগ্রামিং ভাষা একটি ফাংশন সংজ্ঞা একটি ফাংশন হেডার এবং একটি ফাংশন শরীরের নিয়ে গঠিত. এখানে একটি ফাংশন সমস্ত অংশ:
• Return Type: একটি ফাংশন একটি মান ফিরে যেতে পারে. Return_type ফাংশন প্রদান করে মান ডাটা টাইপ. কিছু ফাংশন একটি মান ফিরে ছাড়া পছন্দসই অপারেশন সম্পাদন. এই ক্ষেত্রে, return_type শব্দ অকার্যকর হয়.
• Function Name: এই ফাংশন প্রকৃত নাম. ফাংশন নাম এবং পরামিতি তালিকা একসঙ্গে ফাংশন স্বাক্ষর গঠন করে.
• Parameters: একটি প্যারামিটার একটি স্থানধারক ভালো হয়. একটি ফাংশন প্রার্থনা করা হয়, আপনি পরামিতি একটি মান পাস. এই মান হিসাবে প্রকৃত পরামিতি অথবা যুক্তি উল্লেখ করা হয়. পরামিতি তালিকা একটি ফাংশন পরামিতি টাইপ, আদেশ, এবং সংখ্যা বোঝায়. পরামিতি ঐচ্ছিক; যে, একটি ফাংশন কোন প্যারামিটার থাকতে পারে.
• Function Body: ফাংশন শরীরের ফাংশন কি নির্ধারণ করুন যে বিবৃতির একটি সংগ্রহ রয়েছে.
Example:
একটি ফাংশন জন্য সোর্স কোড সর্বোচ্চ বলা হল (). এই ফাংশন দুটি পরামিতি num1 ও num2 নেয় এবং দুই মধ্যে সর্বোচ্চ আয়:
/* function returning the max between two numbers */
int max(int num1, int num2)
{
/* local variable declaration */
int result;

if (num1 > num2)
result = num1;
else
result = num2;

return result;
}
Function Declarations:
একটি ফাংশন ঘোষণা একটি ফাংশন নাম এবং কিভাবে ফাংশন কল সম্পর্কে কম্পাইলার বলে. ফাংশন প্রকৃত শরীর আলাদাভাবে সংজ্ঞায়িত করা যায়.
একটি ফাংশঙ্কে কয়েকটি অংশে বর্ণনা করা যায়ঃ
return_type function_name( parameter list );
উপরে বর্ণিত ফাংশন সর্বোচ্চ () জন্য, নিম্নলিখিত ভাবে ফাংশন বর্ণনা করা হয়:
int max(int num1, int num2);
পরামিতি নাম বৈধ ঘোষণা করা হয় শুধুমাত্র তাদের টাইপ যাতে নিম্নলিখিত প্রয়োজন বোধ করা হয় ফাংশন ঘোষণা গুরুত্বপূর্ণ নয়:
int max(int, int);
আপনি এক উৎস ফাইলের মধ্যে একটি ফাংশন নির্ধারণ এবং আপনি অন্য ফাইলে যে ফাংশন কল যখন ফাংশন ঘোষণা প্রয়োজন বোধ করা হয়. যেমন ক্ষেত্রে আপনি ফাংশন আহ্বান ফাইল শীর্ষে ফাংশন ঘোষণা করা উচিত.
Calling a Function:
একটি সি ফাংশন তৈরি করার সময়, আপনি ফাংশন কি আছে কি একটি সংজ্ঞা দিতে. একটি ফাংশন ব্যবহার করতে, আপনাকে সংজ্ঞায়িত কাজ করার যে ফাংশন কল করতে হবে। একটি প্রোগ্রাম একটি ফাংশন কল করার সময়, প্রোগ্রাম নিয়ন্ত্রণ ফাংশন বলা স্থানান্তর করা হয়। একটি ফাংশন বলা টাস্ক নির্ধারিত কর্ম করে এবং তার ফিরতি বিবৃতি মৃত্যুদন্ড কার্যকর করা হয় বা যখন তার কার্যকারিতা শেষ বন্ধ যুগল পৌঁছেছেন হয়। এটা প্রধান প্রোগ্রাম প্রোগ্রাম নিয়ন্ত্রণ ফেরৎ।একটি ফাংশন কল করার জন্য, আপনি কেবল ফাংশন নাম সহ পরামিতি, পাস করতে হবে, এবং ফাংশন তারপর আপনি ফিরে মান সংরক্ষণ করতে পারেন, একটি মান প্রদান করে।
উদাহরণস্বরূপ:
#include <stdio.h>

/* function declaration */
int max(int num1, int num2);

int main ()
{
/* local variable definition */
int a = 100;
int b = 200;
int ret;

/* calling a function to get max value */
ret = max(a, b);

printf( “Max value is : %d\n”, ret );

return 0;
}

/* function returning the max between two numbers */
int max(int num1, int num2)
{
/* local variable declaration */
int result;

if (num1 > num2)
result = num1;
else
result = num2;

return result;
}
I kept max() function along with main() function and compiled the source code. While running final executable, it would produce the following result:
Max value is : 200
Function Arguments:
একটি ফাংশন আর্গুমেন্ট ব্যবহার করা হয়, তাহলে এটি আর্গুমেন্ট মান গ্রহণ ভেরিয়েবল ঘোষণা করা উচিত. এই ভেরিয়েবল ফাংশন আনুষ্ঠানিক পরামিতি বলা হয়.The formal parameters behave like other local variables inside the function and are created upon entry into the function and destroyed upon exit.
একটি ফাংশন কলিং, যখন আর্গুমেন্ট একটি ফাংশন প্রেরণ করা যেতে পারে যে দুটি উপায় আছে:
Call Type Description
Call by value
This method copies the actual value of an argument into the formal parameter of the function. In this case, changes made to the parameter inside the function have no effect on the argument.
Call by reference
This method copies the address of an argument into the formal parameter. Inside the function, the address is used to access the actual argument used in the call. This means that changes made to the parameter affect the argument.

ডিফল্টরূপে, সি আর্গুমেন্ট পাস মান দ্বারা কল ব্যবহার করে. সাধারণভাবে, এই ফাংশন একই পদ্ধতি ব্যবহার () সর্বোচ্চ আহ্বান করার সময় একটি ফাংশন মধ্যে যে কোড ফাংশন কল ব্যবহৃত আর্গুমেন্ট পরিবর্তন এবং উল্লিখিত উদাহরণ উপরে না করতে পারেন।

HTML Iframe (এইচটিএমএল আইফ্রেম)

একটি iframe একটি ওয়েব পৃষ্ঠার মধ্যে আরো একটি ওয়েব পেজ প্রদর্শন করতে ব্যবহৃত হয়।

Iframe Syntax (iframe সিনট্যাক্স)

একটি iframe যোগ করার সিন্টেক্স হল :


<iframe src=”URL” width=”300″ height=”150″></iframe>


 

src অ্যাট্রিবিউট আইফ্রেম পৃষ্ঠার URL টি (ওয়েব ঠিকানা) নির্দিষ্ট করে

 

Iframe – এর উচ্চতা এবং প্রস্থতা নির্ধারন

Iframe – এর এর আকার নির্ধারণ করার জন্য height এবং width অ্যাট্রিবউট ব্যবহার করুন

অ্যাট্রিবিউট এর মান ডিফল্ট হিসেবে পিক্সেল এ থাকে, কিন্তু আপনি ইচ্ছা করলে একে পারসেন্ট হিসেবেও ব্যবহার করতে পারেন (যেমন: 80%)

 

উদাহরণ:


<iframe src=”demo_iframe.htm” width=”200″ height=”200″></iframe>


 

 

Iframe – এর বর্ডার মুছে ফেলা

ডিফল্ট হিসেবে iframe এর চারদিকে একটি কালো বর্ডার থাকে

বর্ডারটি মুছার জন্য একটি স্টাইল অ্যাট্রিবিউট যোগ করুন এবং CSS এর বর্ডার প্রোপার্টি ব্যবহার করুন

 

উদাহরণ :


<iframe src=“demo_iframe.htm” style=“border:none”></iframe>


 

CSS এর সাহায্যে iframe বর্ডার এর সাইজ, রং এবং স্টাইলও পরিবর্তন করা যায়

উদাহরণ :


<iframe src=“demo_iframe.htm” style=“border:5px dotted red”></iframe>


 

কোন একটি লিংক এর টার্গেট হিসাবে আইফ্রেম ব্যবহার করন

একটি আইফ্রেমকে কোন একটি লিঙ্ক এর টারগেট ফ্রেম হিসেবে ব্যবহার করা যায়
লিঙ্কটির target অ্যাট্রিবিউটটি অবশ্যই আইফ্রেম এর name অ্যাট্রিবিউটটিকে নির্দেশ করতে হবে

 

উদাহরণ :


<iframe src=“demo_iframe.htm” name=“iframe_a”></iframe>
<p><a href=“http://bangla.salearningschool.com” target=“iframe_a”>http://bangla.salearningschool.com</a></p>


 

এইচটিএমএল এ আইফ্রেম ট্যাগ

এইচটিএমএল এ আইফ্রেম ট্যাগ হচ্ছে : </iframe>

যা একটি ইনলাইন ফ্রেম সংজ্ঞায়িত করার জন্য ব্যবহৃত হয়।

 

 

জাভাস্ক্রিপ্ট অবজেক্ট (JavaScript Objects)

জাভাস্ক্রিপ্ট অবজেক্ট (JavaScript Objects)

-পায়েল চৌধুরী

 

বাস্তব জীবনের দৃষ্টান্তে অবজেক্টস, প্রপার্টিস এবং মেথডস

বাস্তবে একটি গাড়ী হল একটা অবজেক্ট.

গাড়ীর ওজন, রং এসব হল একটি গাড়ীর প্রপার্টিজ এবং এর চালু হবার এবং থামার মেথড আছে.

 

Object Properties Methods
 Car car.name = Fiat car.start()
car.model = 500 car.drive()
car.weight = 850 kg car.brake()
car.color = white car.stop()

 

সকল গাড়ির বৈশিষ্ট্য (Prperties) একই, কিন্ত এর মান গাড়ী থেকে গাড়ী থেকে পৃথক।
সকল গাড়ির পদ্ধতি (Methods) একই, কিন্তু মেথড সম্পন্ন হওয়ার সময় ভিন্ন হয়।

জাভাস্ক্রিপ্ট অবজেক্ট

আমরা জানি যে, জাভাস্ক্রিপ্ট ভেরিয়েবল তথ্য মানের ধারক (data values) হিসাবে কাজ করে।

নীচের কোডের ভেরিয়েবলটি গাড়ীর নামের (Fiat) একটি সাধারণ মান (simple value) হিসাবে দেয়া হয়েছে:


var car = “Fiat”;


বস্তু (Objects) সমূহও ভেরিয়েবল। কিন্তু এরা অনেক মান ধারণ করতে পারে। নীচের কোডের ভেরিয়েবলটি গাড়ীর নামের অনেকগুলো মান (Fiat, 500, white হিসাবে দেয়া হয়েছে:


var car = {type:”Fiat”, model:500, color:”white”};


 

মানসমূহ name:value এভাবে জোড়ায় (name কোলন value) লেখা হয়।
জাভাস্ক্রিপ্ট অবজেক্টস নামকৃত মানসমূহের (named values) ধারক হিসাবে কাজ করে।

অবজেক্ট প্র্রপার্টিজ

name:value জোড়াকে (জাভাস্ক্রিপ্ট অবজেক্টস এ) প্র্রপার্টিজ বলে।


var person = {firstName:”John”, lastName:”Doe”, age:50, eyeColor:”blue”};


Property Property Value
firstName John
lastName Doe
age 50
eyeColor blue

 

অবজেক্টস মেথডস

মেথডস হল ক্রিয়াসমূহ যা অবজেক্টস এর উপর সম্পন্ন করা হয়।
মেথডস সমূহ ফাংশন ডেফিনেশন হিসাবে প্র্রপার্টিজ এর মধ্যে সংরক্ষণ করা হয়।

Property Property Value
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + ” ” + this.lastName;}

জাভাস্ক্রিপ্ট অবজেক্ট যে নামকৃত ভেলু সমূহের ধারক হিসাবে কাজ করে তাদের প্র্রপার্টিজ এবং মেথডস বলে।

অবজেক্ট নির্ধারণ

জাভাস্ক্রিপ্ট অবজেক্ট এর উদাহারণ:


var person = {firstName:”John”, lastName:”Doe”, age:50, eyeColor:”blue”};


স্পেস এবং লাইন ব্রেক গুরুত্বপূর্ণ নয়। একটি অবজেক্ট নির্ধারণ করতে একাধিক লাইন জুড়ে লিখতে হতে পারে:
উদাহারণ:


var person = {
     firstName:"John",
     lastName:"Doe",
     age:50,
     eyeColor:"blue"
 };

 

অবজেক্ট প্র্রপার্টিজ এর ব্যবহার( Accessing Object Properties)

আমরা দু’ভাবে অবজেক্ট প্র্রপার্টিজ ব্যবহার করতে পারি:


objectName.propertyName


অথবা


objectName[propertyName]


উদাহারণ ১:


person.lastName;


 

 

উদাহারণ ২:


person[“lastName”];


 

 

অবজেক্ট মেথডস এর ব্যবহার (Accessing Object Methods)

নিম্নলিখিত অনুযায়ী আমরা Object Methods ব্যবহার করতে পারি:


objectName.methodName()


 

উদাহারণ 1


name = person.fullName();


 

যদি fullName প্র্রপার্টি, () ছাড়া ব্যবহার করা হয়, তবে এটা আমাদের ফাংশন ডেফিনেশন এ ফেরত নিয়ে যাবে:
উদাহারণ 2


name = person.fullName;


 

আপনি কি জাভাস্ক্রিপ্ট এ Strings, Numbers, and Booleans কে Objects হিসেবে নির্ধারণ করেন

জাভাস্ক্রিপ্ট এ Strings, Numbers, and Booleans কে Objects হিসাবে কখনো ডিক্লেয়ার করবেননা!
যখন জাভাস্ক্রিপ্ট এ কোন ভেরিয়েবলকে “new”, কিওয়ার্ড দ্বারা ডিক্লেয়ার করা হয় তখন সে ভেরিয়েবলটি একটা অবজেক্ট তৈরী করে :


var x = new String();        // Declares x as a String object
var y = new Number();        // Declares y as a Number object
var z = new Boolean();       // Declares z as a Boolean object

String, Number, and Boolean অবজেক্টস পরিহার করুন। এগুলো আপনার কোডকে জটিল করবে এবং কাজের গতিকে ধীর করে দিবে।

আমাদের সাথে থাকুন, পরবর্তীতে অবজেক্টের উপর আরো টিউটোরিয়াল পাবেন।

জাভাস্ক্রিপ্ট ইভেন্ট (JavaScript Events)

শরিফুল ইসলাম
Job category-Php Coder

এইচটিএমএল ইভেন্ট হল এমন কিছু জিনিস যা এইচটিএমএল এর উপাদানের মধ্যে ঘটে থাকে। যখন javascript এইচটিএমএল পেজ এর মধ্যে ব্যবহার হয় ,তখন javascript ওই ইভেন্ট গুলোর উপর প্রতিক্রিয়া করে।

এইচটিএমএল ইভেন্ট

একটি এইচটিএমএল ইভেন্ট তাই করে যা ব্রাউজার করে অথবা কোন ইউজার কিছু করে।

এখানে কিছু এইচটিএমএল ইভেন্ট দেয়া হল

  • এইচটিএমএল ওয়েবপেজ লোড হওয়া শেষ হয়েছে
  • ইনপুট ফিল্ড পরিবর্তন হয়েছে
  • এইচটিএমএল বাটন এ ক্লিক করা হয়েছে।

আপনি যখন কিছু করতে চান তখন কোন ইভেন্ট ঘটতে পারে।

ইভেন্ট চিহ্নিত হওয়ার পর javascript আপনার কোড কার্যে পরিণত করে।

এইচটিএমএল জাভাস্ক্রিপ্ট কোড এর সাথে ইভেন্ট handler attribute ব্যবহারের অনুমতি দেয় এবং এইচটিএমএল এলিমেন্ট এর সাথে যুক্ত করতে হয়।

একক উদ্ধৃতি চিহ্ন দিয়ে:


<some-HTML-element some-event=’some JavaScript’>


 

ডবল উদ্ধৃতি চিহ্ন দিয়ে:


<some-HTML-element some-event=”some JavaScript”>


 

এই উদাহরনে কোড এর মাধ্যমে বাটন এলিমেন্ট এর মধ্যে একটি onclick attribute ব্যবহার করা হয়েছে।
যেমন


<button onclick=”getElementById(‘demo’).innerHTML=Date()”>The time is?</button>


উপরের উদাহরণ এ javascript কোড এর একটি উপাদান এবং সেই সাথে id=”demo” এ পরিবর্তন করবে।

 

পরবর্তী উদাহরনে innerhtml ব্যবহার করে javascript কোড নিজের উপাদানের কোন কনটেন্ট কে পরিবর্তন করবে।
যেমন


<button onclick=”this.innerHTML=Date()”>The time is?</button>


 

অনেকসময় javascript কোড কয়েক লাইনের হয়ে থাকে। ইভেন্ট অ্যাট্রিবউট ফাংশন কল করার ক্ষেত্রে এটি খুবই সাধারন।
যেমন :


<p>Click the button to display the date.</p>

<button onclick="displayDate()">The time is?</button>

<script>
function displayDate() {
    document.getElementById("demo").innerHTML = Date();
}
</script>

<p id="demo"></p>

অধিক ব্যবহৃত এইচটিএমএল ইভেন্ট

ইভেন্ট

বিবরণ

Onchange এইচটিএমএল উপাদান পরিবর্তন হয়।
Onclick ব্যবহারকারী এইচটিএমএল উপাদান এর উপর ক্লিক করতে পারে।
Onmouseover ব্যবহারকারী এইচটিএমএল উপাদান এর উপর মাউস মুভ করলে ইভেন্ট কার্যকর হয়।
Onmouseout ব্যবহারকারী এইচটিএমএল এর কোন উপাদান এর উপর থেকে মাউস সরালে ইভেন্ট কার্যকর হয়।
Onkeydown ব্যবহারকারী কিবোর্ড এর কোন বাটন প্রেস করলে ইভেন্ট কার্যকর হয়।
Onload ব্রাউজার পেজ লোড হওয়া বন্ধ করে।

জাভাস্ক্রিপ্ট নাম্বার মেথড (JavaScript Number Methods)

জাভাস্ক্রিপ্ট সংখ্যা পদ্ধতি

নয়ন চন্দ্র দত্ত

 

সংখ্যা পদ্ধতি আপনাকে সংখ্যা নিয়ে কাজ করতে সাহায্য করবে।

গ্লোবাল পদ্ধতি

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

পদ্ধতিঃ Number()

ব্যাখ্যাঃ তার বিচার থেকে রূপান্তরিত একটি নম্বর প্রদান করে।

পদ্ধতিঃ parseFloat()

ব্যাখ্যাঃ Parses যা এটি বিচার করে এবং একটি ফ্লোটিং পয়েন্ট সংখ্যা ফিরিয়ে দেয়।

পদ্ধতিঃ parseInt()

ব্যাখ্যাঃ Parses যা এটি বিচার করে এবং একটি পূর্ণসংখ্যা ফিরিয়ে দেয়।

 

সংখ্যা পদ্ধতি

জাভাস্ক্রিপ্ট সংখ্যা পদ্ধতি এমন পদ্ধতি যা সংখ্যার উপর ব্যবহার করা যেতে পারেঃ

পদ্ধতিঃ toString()

ব্যাখ্যাঃ স্ট্রিং হিসেবে একটি নম্বর ফিরিয়ে দেয়।

পদ্ধতিঃ toExponential()

ব্যাখ্যাঃ বৃত্তাকার এবং সূচক স্বরলিপি ব্যবহার করে লেখা একটি সংখ্যা সঙ্গে একটি স্ট্রিং ফিরিয়ে দেয়।

পদ্ধতিঃ toFixed()

ব্যাখ্যাঃ দশমিকে একটি নির্দিষ্ট নম্বর সঙ্গে বৃত্তাকার এবং লিখিত একটি সংখ্যা সঙ্গে একটি স্ট্রিং ফিরিয়ে দেয়।

পদ্ধতিঃ toPrecision()

ব্যাখ্যাঃ একটি নির্দিষ্ট দৈর্ঘ্য সঙ্গে লিখিত নম্বর দিয়ে একটি স্ট্রিং ফিরিয়ে দেয়।

পদ্ধতিঃ valueOf()

ব্যাখ্যাঃ নম্বর হিসাবে একটি সংখ্যা ফিরিয়ে দেয়।

[ সব সংখ্যা পদ্ধতি একটি নতুন ভেরিয়েবল এ ফিরে আসে। কিন্তু তারা মূল পরিবর্তনশীল পরিবর্তন করবেন না। ]

 

toString() পদ্ধতি

toString () স্ট্রিং হিসেবে একটি নম্বর ফিরিয়ে দেয়। সব সংখ্যা পদ্ধতিতে যেকোনো ধরনের সংখ্যা ব্যবহার করা যেতে পারে (লিটারেল, ভেরিয়েবল, বা এক্সপ্রেশন)।

উদাহরণ


<!DOCTYPE html>
<html>
<body>
<p>The toString() method converts a number to a string.</p>
<p id="demo"></p>
<script>
var x = 123;
document.getElementById("demo").innerHTML =
   x.toString() + "<br>" +
   (123).toString() + "<br>" +
   (100 + 23).toString();
</script>
</body>
</html>

 

toExponential() পদ্ধতি

toExponential () বৃত্তাকার এবং সূচক স্বরলিপি ব্যবহার করে লেখা সংখ্যার সঙ্গে একটি স্ট্রিং ফিরিয়ে দেয়। একটি প্যারামিটার দশমিক পয়েন্ট পিছনে অক্ষর সংখ্যা সংজ্ঞায়িত করেঃ উদাহরণ


<!DOCTYPE html>
<html>
<body>

<p>The toExponential() method returns a string, with the number rounded and written 
using exponential notation.</p>

<p>An optional parameter defines the number of digits behind the decimal point.</p>

<p id="demo"></p>

<script>
var x = 9.656;
document.getElementById("demo").innerHTML =
    x.toExponential() + "<br>" + 
    x.toExponential(2) + "<br>" + 
    x.toExponential(4) + "<br>" + 
    x.toExponential(6);
</script>

</body>
</html>

প্যারামিটারটি ঐচ্ছিক। যদি আপনি এটি উল্লেখ না করেন, জাভাস্ক্রিপ্ট নম্বর সুসম্পন্ন হবে না।

 

toFixed() পদ্ধতি

toFixed () দশমিক দিয়ে লেখা সংখ্যার সঙ্গে একটি স্ট্রিং ফিরিয়ে দেয়।

উদাহরণ


<!DOCTYPE html>
<html>
<body>
<p>The toFixed() method rounds a number to a given number of digits.</p>
<p>For working with money, toFixed(2) is perfect.</p>
<p id="demo"></p>
<script>
var x = 9.656;
document.getElementById("demo").innerHTML =
     x.toFixed(0) + "<br>" +
     x.toFixed(2) + "<br>" +
     x.toFixed(4) + "<br>" +
     x.toFixed(6);
</script>
</body>
</html>

[ toFixed(2) টাকা দিয়ে কাজ করার জন্য যতোপযুক্ত। ]

 

toPrecision() পদ্ধতি

toPrecision () একটি নির্দিষ্ট দৈর্ঘ্য সঙ্গে লিখিত নম্বর দিয়ে একটি স্ট্রিং ফিরিয়ে দেয়।

উদাহরণ


<!DOCTYPE html>
<html>
<body>
<p>The toPrecision() method returns a string, with a number written with a 
specified length:</p>
<p id="demo"></p>
<script>
var x = 9.656;
document.getElementById("demo").innerHTML = 
     x.toPrecision() + "<br>" +
     x.toPrecision(2) + "<br>" +
     x.toPrecision(4) + "<br>" +
     x.toPrecision(6); 
</script>
</body>
</html>

 

ভেরিয়েবলকে নাম্বার এ  রূপান্তর

ভেরিয়েবলকে নাম্বার এ রূপান্তর করার জন্য জাভাস্ক্রিপ্ট এ তিনটি ফাংশন রয়েছে।

  1. Number() পদ্ধতি
  2. parseInt() পদ্ধতি
  3. parseFloat() পদ্ধতি

এই পদ্ধতিগুলো সংখ্যা পদ্ধতি না হলেও এগুলো গ্লোবাল জাভাস্ক্রিপ্ট পদ্ধতি।

 

Number() পদ্ধতি

Number() জাভাস্ক্রিপ্ট ভেরিয়েবল নাম্বার এ রূপান্তর কর‍্তে ব্যবহার করা যেতে পারেঃ

উদাহরণ


x = true;
Number(x);       // returns 1
x = false; 
Number(x);       // returns 0
x = new Date();
Number(x);       // returns 1404568027739
x = "10"
Number(x);       // returns 10
x = "10 20"
Number(x);       // returns NaN

 

parseInt() পদ্ধতি

parseInt () একটি স্ট্রিং এবং একটি পূর্ণ সংখ্যা ফিরিয়ে দেয়। স্পেস এর অনুমতি আছে। শুধুমাত্র প্রথম সংখ্যা প্রদান করেঃ উদাহরণ


parseInt("10");        // returns 10
parseInt("10.33");     // returns 10
parseInt("10 20 30");  // returns 10
parseInt("10 years");  // returns 10
parseInt("years 10");  // returns NaN


সংখ্যা রূপান্তরিত করা সম্ভব না হলে, NaN (না একটি নম্বর) ফিরিয়ে দেয়।

parseFloat() পদ্ধতি

parseFloat () একটি স্ট্রিং parses এবং একটি নম্বর parseInt () একটি স্ট্রিং parses এবং একটি সম্পূর্ণ নম্বর ফিরিয়ে দেয়। স্পেস এর অনুমতি আছে। শুধুমাত্র প্রথম সংখ্যা প্রদান করেঃ উদাহরণ


 parseFloat("10");        // returns 10
 parseFloat("10.33");    // returns 10.33
 parseFloat("10 20 30"); // returns 10
 parseFloat("10 years"); // returns 10
 parseFloat("years 10"); // returns NaN

সংখ্যা রূপান্তরিত করা সম্ভব না হলে, NaN (না একটি নম্বর) ফিরিয়ে দেয়।

 

valueOf() পদ্ধতি

valueOf () নম্বর হিসাবে একটি নম্বর প্রদান করে। উদাহরণ


 var x = 123;
 x.valueOf();          // returns 123 from variable x
 (123).valueOf();      // returns 123 from literal 123
 (100 + 23).valueOf(); // returns 123 from expression 100 + 23

জাভাস্ক্রিপ্ট এ, একটি সংখ্যা একটি আদি মান (typeof = number) হতে পারে বা একটি অবজেক্টও (typeof = object) হতে পারে।

[ জাভাস্ক্রিপ্ট এ, সব ডেটা টাইপ এর valueOf () এবং toString () পদ্ধতি আছে।]