Python এ বেশ কয়েক রকমের ডাটা টাইপ রয়েছে। তবে সবগুলো নিয়ে এখানে আলোচনা করবো না। এই আলোচনার মধ্যে গুরুত্বপূর্ণ যেসব ডাটা টাইপ বাদ যাবে, সেগুলো Data Structure সেকশানে আলোচনা করবো ইনশা আল্লাহ্।
সদ্য প্রোগ্রামিং জগতে আসা অনেকেই return keyword টির কাজ বুঝতে পারে না । তাদের কথা ভেবে এই পোস্ট লিখা । return keyword টি function এর সাথে ওতপ্রোতভাবে জড়িত । তাই এখানে function এর মাধ্যমেই আলোচনা করার চেষ্টা করলাম । মনে করো, তোমার খুব চা খেতে ইচ্ছে করছে কিন্তু তুমি চা বানাতে জানো না বা পারো না । তুমি তোমার ছোট বোনকে চা বানিয়ে দিতে বললে । তোমার ছোটবোন তোমাকে বললো, যদি তুমি তাকে চা বানানোর উপকরণগুলো এনে দাও, তবেই সে তোমাকে চা বানিয়ে দিবে ! এবার এসো আমরা একটা তালিকা বানাই । চা বানাতে কী কী লাগবে ? চা পাতা, পানি, দুধ, চিনি ! তুমি যে চা খেতে চাইছো, সে চা কী ধরণের বস্তু ? নিশ্চয়ই তরল । এবার এই তথ্যগুলো নিয়ে আমরা একটা function লিখার চেষ্টা করবো । একটা function লিখতে হলে সেই function এর শুরুতে প্রথম যে শব্দ বা keyword টি লিখতে হয়, সেটি হলো ঐ function এর return data type অর্থাৎ function টি কী ধরণের data তোমাকে return করবে, সেটি । তো, আমরা যে চা খাওয়া নিয়ে কথা বলছিলাম, সে ক্ষেত্রে return type কী হতে পারে ? অবশ্যই তরল ! এরপর লিখতে হয় ঐ function টির একটি যুতসই নাম, নিজের ইচ্ছেমতো নাম । তবে না
আসসালামু আলাইকুম ওয়ারাহমাতুল্লাহ। আশা করি, আল্লাহ্র রহমাতে ভালো আছেন। এটা একদম বিগিনার লেভেলের কোনো গাইড না। প্রোগ্রামিং সম্পর্কে যাদের আইডিয়া আছে, বিশেষ করে যারা C/C++ সম্পর্কে জানে, তাদের জন্য এই গাইড উপকারী হবে বলে মনে করি। এই গাইডগুলোতে প্রোগ্রামিং কনসেপ্টগুলো নিয়ে খুব বেশি গভীর আলোচনা হবে না। C++ এ ক্লাস ডিক্লেয়ার করতে পারা মানুষ যদি জানতে চায় একই কাজ Python এ কীভাবে করা যায়, তাহলে এই গাইড তার উপকারে আসতে পারে। মূলত, এখানে C/C++ এর সাথে Python এর Syntactic Differences নিয়েই বেশি আলোচনা করবো। P.S. 1: কম্পিটিটিভ প্রোগ্রামারগণ এর চাহিদা পূরণ করার আশা রাখি। বিভিন্ন Data Structures, Algorithm (C++ STL এর বিকল্প) নিয়ে আলোচনা করার ইচ্ছা আছে। P.S. 2: Python এর প্রচুর লাইব্রেরি রয়েছে, যার ফাংশানও অসংখ্য। জনপ্রিয় লাইব্রেরিগুলো নিয়েও লিখার ইচ্ছা আছে। P.S. 3: এই গাইডগুলোকে রেফারেন্স বলা যেতে পারে। আমার নিজের জন্যেই আসলে এখানে লিখছি। কখনো কোনো কিছুর প্রয়োজন পড়লে এখানে এসে যাতে মনে করে নিতে পারি। P.S. 4: আমি জানি না, আমার এই লিখা কেউ পড়বে কি না। যদি কেউ পড়ে থাকেন, তবে আপনার ম
শুরুতেই এই প্রব্লেমটা সহজ ভাষায় ব্যাখ্যা করার চেষ্টা করি । Figure : 1 খেয়াল করো । একটি সমদ্বিবাহু ত্রিভুজের ভূমি b এবং উচ্চতা h দেওয়া আছে । প্রথমে এর তিনটি কোণকে সমদ্বিখণ্ডিত করতে হবে । সমত্রিখণ্ডক তিনটির ছেদবিন্দু (চিত্রে O বিন্দু)-কে কেন্দ্র করে এমন একটি বৃত্ত আঁকতে হবে যেটি ত্রিভুজের ৩টি বাহুকে স্পর্শ করে । তারপর আরও একটি বৃত্ত (এই রঙের ) আঁকতে হবে যেটি ত্রিভুজের সমান দুই বাহু (চিত্রে AB এবং AC ) কে এবং তার নিচের বৃত্তকেও (এই রঙের ) স্পর্শ করে । এর উপরের বৃত্তগুলোও এভাবে এঁকে যেতে হবে । কিন্তু এভাবে তো অসীম সংখ্যক বার যাওয়া যাবে; তাহলে থামবো কোথায় ? এই প্রশ্নের উত্তর মূল স্টেটমেন্টেই দেওয়া আছে । এই যে বৃত্তের একটা Stack তৈরি হচ্ছে, যে বৃত্তের ব্যাসার্ধ 0.000001 এর চেয়ে ছোট হয়ে যাবে, তখনই আমাদের থেমে যেতে হবে ! প্রব্লেমের আউটপুটে দিতে হবে Stack এর সবগুলো বৃত্তের পরিধির যোগফল । তো, বৃত্তের পরিধি হিসেব করতে হলে আমাদের কী জানতে হবে ? অবশ্যই বৃত্তের ব্যাসার্ধ । কীভাবে আমরা এই বৃত্তগুলোর ব্যাসার্ধ বের করতে পারি ? প্রথমে আমরা Figure : 1 এর ΔABC থেকে ΔABD কে আলাদা করে
Comments
Post a Comment