পৃষ্ঠাসমূহ

প্রোগ্রামিং লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান
প্রোগ্রামিং লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান

রবিবার, ২০ সেপ্টেম্বর, ২০১৫

দুটি সংখ্যার সীমার মাঝে কতটি ফিবোনাচ্চি সংখ্যা অাছে ?

দুইটি সংখ্যা a , b দেওয়া অাছে । [a,b] সীমার মাঝেকতটি ফিবোনাচ্চি সংখ্যা অাছে অামাদেরকে বের করতে হবে ।  a ও b দেওয়া অাছে । তারা উভয়ই ফিবোনাচ্চি হতেও পারে অাবার নাও হতে পারে । ফিবোনাচ্চি হলে  ফিবোনাচ্চি সংখ্যার একটি সূত্র ব্যবহার করে a ও b কততম ফিবোনাচ্চি সংখ্যা  কততম তা বের করতে পারি ।   a  যদি ফিবোনাচ্চি সংখ্যা না হয় তাহলে a এর পরের ফিবোনাচ্চি সংখ্যাটি কততম এবং b যদি ফিবোনাচ্চি সংখ্যা না হয় b এর অাগের ফিবোনাচ্চি সংখ্যাটি কততম বের করতে পারি । এখন যদি এই দুটি ক্রমের বিয়োগফলই হবে a ও b এর মাঝে কতটি ফিবোনাচ্চি সংখ্যা অাছে ।

মনে করি F > 1 একটি ফিবোনাচ্চি সংখ্যা । তাহলে F কততম ফিবোনাচ্চি সংখ্যা তা বের করার জন্য নিচের সূত্রটি ব্যবহা করব ।

n(F) = \bigg\lfloor \log_\varphi \left(F\cdot\sqrt{5} + \frac{1}{2}\right) \bigg\rfloor

সূত্রটি যদি F এর মান এক এর চেয়ে বড় হয় তাহলে সঠিক ফলাফল দিবে ।

যেখানে :

\varphi = \frac{1 + \sqrt{5}}{2} \approx 1.61803\,39887\cdots\,

উদাহরণ দিলে অারও পরিষ্কার হবে : 10 ও 100 এর মাঝে কতটি ফিবোনাচ্চি সংখ্যা অাছে তা বের করতে হবে । তা বের করার জন্য উপরের সূত্র ব্যবহার করে পাই 10(F) = 6 এবং 100(F) = 11 । বিয়োগফল 5 । সুতরাং 10 এবং 100 এর মাঝে 5 টি ফিবোনাচ্চি সংখ্যা অাছে । নিচে ফিবোনাচ্চি সংখ্যার সিরিজেও দেখা যাচ্ছে 10 ও 100 এর মাঝে 5 টি ফিবোনাচ্চি সংখ্যা অাছে ।

1,\;1,\;2,\;3,\;5,\;8,\;13,\;21,\;34,\;55,\;89,\;144,\; \ldots\;

সি প্রোগ্রামিং ভাষায় যদি উপরের হিসেব করার প্রোগ্রাম :

[code language="c"]
#include <stdio.h>
#include <math.h>

int main()
{
double phi = (1+sqrt(5))/2;
int a, b,count = 0,aF,bF;
printf("Enter two numbers: \n");
scanf("%d%d",&a,&b);//Taking input a and b

//logarithm of x base b = log(x)/log(b)

aF = floor(log(a*sqrt(5)+0.5)/log(phi));
bF = floor(log(b*sqrt(5)+0.5)/log(phi));

count = bF - aF;

printf("\nThere are total %d fibonacci numbers.\n",count);


return 0;

}

[/code]

সূত্র ও ছবি : উইকিপিডিয়া ।

মঙ্গলবার, ২৩ জুন, ২০১৫

তৃতীয় ভেরিয়েবল ব্যবহার না করে দুটি ভেরিয়েবলের মান সোয়াপ করা

প্রোগ্রামিং করতে গিয়ে বিভিন্ন সময় অামাদের দুটি ভেরিয়েবলের মান সোয়াপ করতে হয় । দুটি ভেরিয়েবলের মান সোয়াপ করার অর্থ হল প্রথম ভেরিয়েবলের মান দ্বিতীয় ভেরিয়েবলে রাখা এবং দ্বিতীয় ভেরিয়েবলের মান প্রথম ভেরিয়েবলে রাখা । মনে করি   num1 = 80 , num2 = 34  দুইটি ভেরিয়েবল। দুইটি ভেরিয়েবলের মান সোয়াপ করার অর্থ num1 এর মান num2 তে এবং num2 এর মান num1 এ রাখা । অামরা বিভিন্নভাবে দুটি ভেরিয়েবলের মান সোয়াপ করতে পারি ।  অাজ অামরা  কোন ভেরিয়েবলের সাহায্য না নিয়ে কিভাবে দুটি ভেরিয়েবলের মান সোয়াপ করতে পারিন তা দেখব । প্রথমে বিস্তারিত অালোচনা করা হবে এবং তার পাশাপাশি সি প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করে দেখানো হবে ।

  1. প্রথম ভেরিয়েবল  ও দ্বিতীয় ভেরিয়েবল যোগ করে যোগফল দ্বিতীয় ভেরিয়েবলে রাখব। যেমন: num2 = num1 + num2 । এখন num2 = num1 + num2 = 80 + 34 = 114 হবে । এই ধাপ শেষে num2 এর মান হয়ে গেল 114 ।
  2. দ্বিতীয় ভেরিয়েবল হতে প্রথম ভেরিয়েবল বিয়েোগ করে বিয়োগফল প্রথম ভেরিয়েবলে রাখব । যেমন : num1 = num2 - num1। এখন num1 = num2 - num1 = 114 - 80 = 34 হবে । এই ধাপ শেষে num1 এর মান হয়ে গেল 34 ।
  3. দ্বিতীয় ভেরিয়েবল হতে প্রথম ভেরিয়েবল বিয়োগ করে বিয়োগফল দ্বিতীয় ভেরিয়েবলে রাখব । যেমন: num2 = num2 - num1 । এখন num2 = num2 - num1 =   114 - 34 = 80 হবে।  এই ধাপ শেষে num2 এর মান হয়ে গেল 80 । 
 অামরা দেখতে পেলাম যে সোয়াপ করার অাগে num1 ও num2 এর মান ছিল 80 ও 34 কিন্তু সোয়াপ করার পরে num1 ও num2 এর মান 34 ও 80 । যে কোন প্রোগ্রামিং ল্যাংগুয়েজে এইভাবে দুইটি ভেরিয়েবলের মান সোয়াপ করা যাবে । অনেক প্রোগ্রামিং ল্যাংগুয়েজে ভেরিয়েবলের মান সোয়াপ করার জন্য ফাংশন থাকে  । অামরা সেদিকে যাব না । নিচে সি প্রোগ্রামিং ল্যাংগুয়েজে দুটি ভেরিয়েবলের মান সোয়াপ করা একটি প্রোগ্রাম দেওয়া হল ।

প্রোগ্রামটির রান করার পরে কনসোলে:
সোয়াপ করার অাগে ও পরে ভেরিয়েবলের মান
 ডাউনলোড
     

     
     

শুক্রবার, ৩১ অক্টোবর, ২০১৪

কোডব্লকস(CodeBlocks) এর কি-বোর্ড শর্টকাট

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


কাজশর্টকাট কি
শেষ কাজটি পূর্বাবস্থায় নিয়ে যাওCtrl + Z
শেষ কাজটি আবার করCtrl + Shift + Z
সিলেক্ট করা টেক্টট কাট করCtrl + X
সিলেক্ট করা টেক্সট কপি করCtrl + C
ক্লিপবোর্ড থেকে টেক্সট পেস্ট করCtrl + V
সকল টেক্সট সিলেক্ট করCtrl + A
হেডার / সোর্সের মধ্যে পরিবর্তন করF11
হাইলাইট করা কোড কমেন্ট করCtrl + Shift + C
 হাইলাইট করা কোড আনকমেন্ট করCtrl + Shift + X
যে লাইনে লাইন ক্যারেট অাছে সে লাইন ডুপ্লিকেট করCtrl + D
অটোকমপ্লিট / সংক্ষিপ্ত রূপ Ctrl + Space / Ctrl + J
কল টিপ প্রদর্শন করCtrl + Shift + Space
লাইন ক্যারেট যে লাইনে অাছে তার সাথে উপরের লাইনটি অদল বদল করCtrl + T
বুকমার্ক পরিবর্তন করCtrl + B
অাগের বুকমার্কে যাওAlt + PgUp
পরের বুকমার্কে যাওAlt + PgDown
বর্তমান ব্লকের ফোল্ডিং পরিবর্তন করF12
সকল ফোল্ড পরিবর্তন করShift + F12

কাজ শর্টকাট কি
লেখার অাকার বৃদ্ধি করCtrl + Keypad "+"
লেখার অাকার হ্রাস করCtrl + Keypad "-"
লেখার অাকার স্বাভাবিক করCtrl + Keypad "/"
সাম্প্রতিক ফাইলগুলোর মাঝে  চক্রাকারে অাবর্তন করCtrl + Tab
ব্লক ইনডেন্ট কর Tab
ব্লক ডিডেন্ট করShift + Tab
শব্দের শুরু পর্যন্ত মুছে দাওCtrl + BackSpace
শব্দের শেষ পর্যন্ত মুছে দাওCtrl + Delete
লাইনের শুরু পর্যন্ত মুছে দাওCtrl + Shift + BackSpace
লাইনের শেষ পর্যন্ত মুছে দাওCtrl + Shift + Delete
একটি ডকুমেন্টের প্রথমে যাওCtrl + Home
নথির শুরু পর্যন্ত নির্বাচন ভাড়াওCtrl + Shift + Home
প্রদর্শনের লাইনের শুরুতে যাওAlt + Home
প্রদর্শনের লাইনের শুরু পর্যন্ত নির্বাচন বাড়াওAlt + Shift + Home
ডকুমেন্টের শেষে যাওCtrl + End
ডকুমেন্টের শেষ পর্যন্ত সিলেকশন বাড়াওCtrl + Shift + End
প্রদর্শনের লাইনের শেষ পর্যন্ত যাওAlt + End
প্রদর্শনের লাইনের শেষ পর্যন্ত সিলেকশন বাড়াওAlt + Shift + End
একটি ফোল্ড পয়েন্ট প্রসারিত বা  সঙ্কোচন করCtrl + Keypad "*"
তৈরি করুন অথবা একটি বুকমার্ক মুছে দাওCtrl + F2
পরবর্তী বুকমার্কে যাওF2
পরবর্তী বুকমার্ক করতে নির্বাচন করAlt + F2
নির্বাচিত লেখাটি খুঁজে বের কর ।Ctrl + F3
পিছন দিকে নির্বাচিত লেখা খুঁজে বের কর । Ctrl + Shift + F3
উপরের দিকে স্ক্রল করCtrl + Up
নিচের দিকে স্ক্রল করCtrl + Down
লাইন কাট করCtrl + L
লাইন কপি কর ।Ctrl + Shift + T
লাইন ডিলেট কর ।Ctrl + Shift + L
লাইনটি পূর্ববর্তী লাইনের সঙ্গে পরিবর্তন করCtrl + T
লাইন নকল কর ।Ctrl + D
 নেস্টেড টিকে বাদ দিয়ে, মিলে যাওয়া প্রিপ্রসেসর কন্ডিশনাল খুঁজে বের কর । Ctrl + K
মিলে যাওয়া প্রিপ্রসেসর কন্ডিশনাল সিলেক্ট কর ।Ctrl + Shift + K
 নেস্টেড টিকে বাদ দিয়ে, মিলে যাওয়া উল্টোদিকে প্রিপ্রসেসর  কন্ডিশনাল খুঁজে বের কর । Ctrl + J
মিলে যাওয়া প্রিপ্রসেসর কন্ডিশনাল উল্টোদিকে সিলেক্ট করCtrl + Shift + J
পূর্বের প্যারাগ্রাফ । শিফট নির্বাচন প্রসারিত কর ।Ctrl + [
পরের প্যারাগ্রাফ । শিফট নির্বাচন প্রসারিত কর ।Ctrl + ]
পূর্ববর্তী শব্দশিফট নির্বাচন প্রসারিত কর ।Ctrl + Left
পরবর্তী শব্দশিফট নির্বাচন প্রসারিত কর ।Ctrl + Right
শব্দের পূর্ববর্তী অংশ। শিফট সিলেকশন প্রসারিত কর । Ctrl + /
শব্দের পরবর্তী অংশ। শিফট সিলেকশন প্রসারিত কর।Ctrl + \

ফাইল

কাজ শর্টকাট কি
নতুল ফাইল বা প্রজেক্টCtrl + N
পূর্বের ফাইল অথবা প্রজেক্ট খুল Ctrl + O
বর্তমান ফাইলটি সংরক্ষণ করCtrl + S
সব ফাইং সংরক্ষণ করCtrl + Shift + S
বর্তমানে খোলা ফাইলটি বন্ধ করCtrl + F4 / Ctrl + W
সব ফাইল বন্ধ করCtrl + Shift + F4 / Ctrl + Shift + W


কাজ শর্টকাট কি
পরবর্তী খোলা ফাইল সক্রিয় করCtrl + Tab
পূর্ববর্তী খোলা ফাইল সক্রিয় কর Ctrl + Shift + Tab


দৃশ্য

কাজ শর্টকাট কি
মেসেজ পেন দেখাও/অাড়াল করF2
ম্যানেজম্যান্ট পেন দেখাও/অাড়াল করShift + F2
প্রজেক্ট উপরে সরাও(প্রজেক্ট ট্রির) Ctrl + Shift + Up
প্রজেক্ট নিচে সরাও(প্রজেক্ট ট্রির) Ctrl + Shift + Down
পূর্বেরটি সক্রিয় করুন (প্রজেক্ট ট্রির)Alt + F5
পরেরটি সক্রিয় কর (প্রজেক্ট ট্রির)Alt + F6
জুম ইন/অাউটCtrl + Roll Mouse Wheel
এডিটরে ফোকাস কর CTRL + Alt + E


সার্চ

কাজ শর্টকাট কি
খোঁজCtrl + F
পরবর্তীটি খোঁজে বের করF3
অাগেরটি খোঁজShift + F3
ফাইলে খোঁজCrtl + Shift + F
প্রতিস্থাপনCtrl + R
ফাইলে প্রতিস্থাপন করCtrl + Shift + R
লাইনটিতে যাওCtrl + G
পরের পরিবর্তিত লাইনে যাওCtrl + F3
অাগে পরিবর্তন করা লাইনে যাও Ctrl + Shift + F3
ফাইলটিতে যাওAlt + G
ফাংশনে যাওCtrl + Alt + G
অাগের ফাংশনে যাওCtrl + PgUp
পরের ফাংশনে যাওCtrl + PgDn
ডিক্ল্যারেশনে যাওCtrl + Shift + .
বাস্তবায়নে যাও Ctrl + .
ইনক্লুড(include) ফাইং খোলCtrl + Alt + .

বিল্ড

কাজশর্টকাট কি
বিল্ডCtrl + F9

এই ফাইলটি কম্পাইল কর
Ctrl + Shift + F9
রান Ctrl + F10
বিল্ড কর এবং চালাওF9
পুনরায় বিল্ড করCtrl + F11

ডিবাগ

কাজ শর্টকাট কি
ডিবাগF8

ডিবাগিং চালিয়ে যান
Ctrl + F7
পরের কোড ব্লকে চলে যাওF7
কোড ব্লকের ভিতর যাওShift + F7

কোড ব্লকের ভিতর থেকে বাইরে যাও
Ctrl + Shift + F7
ব্রেকপয়েন্ট পরির্তন করF5
কার্সরে যাওF4
পূর্বের ভুলAlt + F1
পরবর্তী ভুলAlt + F2

সোমবার, ৬ জানুয়ারি, ২০১৪

আইসো সি + + এর অংশ হতে পারে কায়রো ২ডি(Cairo 2D) গ্রাফিক্স লাইব্রেরি

 সি++ এ ২D ড্রয়িং  করার জন্য  সি++ স্ট্যান্ডার্ড কমিটি সি++ প্রোগ্রামিং ল্যাংগুয়েজের পরবর্তী আইসো(ISO) স্ট্যান্ডার্ডে কায়রো সি++ ইন্টারফেস সংযুক্ত করতে চাইছে । হার্ব শাটার(Herb Shutter)  আইসো সি++ কমিটির  সভাপতি কায়রো ডেভেলপারদের বার্তা পাঠিয়েছেন আইসো সি++ এর জন্য জন্য  সম্ভাব্য একটি ২D ড্রয়িং লাইব্রেরী স্ট্যান্ডারাইজ করার ব্যাপারে । কায়রো ২ডি লাইব্রেরির একটি সি++ ভার্সন কমিটি একাজে ব্যবহার করতে চাইছে । কায়রো সি++ তে না বরং সি তে লেখা । কমিটি বলেছে কায়রোর কোড ক্লিন এবং ভালোভাবে সংগঠিত ।
আরও বিস্তারিত কায়রো মেইলিং লিস্টে পাওয়া যাবে ।

রবিবার, ২৭ অক্টোবর, ২০১৩

হেড ফার্স্ট সি

হেড ফার্স্ট সি
বইয়ের বিবরণ:
আপনি কি কখনো একটি বই থেকে সি প্রোগ্রামিং শিখার আশা করেছেন ? হেড ফার্স্ট সি সম্পূর্ণ সি প্রোগ্রামিংয় এবং স্টাকচারড প্রোগ্রামিংয়ের অবিজ্ঞতা পাওয়া যাবে । এই বইটি সি প্রোগ্রামিংয়ের পাশাপাশি কিভাবে একজন ভাল প্রোগামার হবেন তাও শিখতে সাহায্য করবে । এই বইটির সাহায্যে আপনি সি ল্যাংগুয়েজের বেসিক, পয়েন্টার এবং পয়েন্টার এরিথমেটিক এবং ডাইনামিক মেমোরি ম্যানেজম্যান্ট শিখবেন । এডভান্সড টপিকের মধ্যে রয়েছে মাল্টি থ্রেডেড এবং নেটওয়ার্ক প্রোগ্রামিং । হেড ফার্স্ট সি কলেজ লেভেলের সি কোর্সের মত করে আপনাকে সি প্রোগ্রামিং শিখতে সাহায্য করবে।
বইয়ের বিবরণ:
সাইজ: ৫৬.৩এমবি
ভাষা:   ইংরেজি
ফরম্যাট: পিডিএফ