Posts

সি প্রোগ্রামিং – লেকচার ৩: মেমোরিতে ভেরিয়েবলের অ্যাড্রেস, printf ফাংশন, প্রথম প্রোগ্রাম

মেমোরিতে ভেরিয়েবলের অ্যাড্রেস সি ল্যাংগুয়েজে আমরা যেসব ভেরিয়েবল ব্যবহার করি সেগুলো মেমোরির কোন লোকেশনে আছে তা বেশিরভাগ সময়ে জানার দরকার হয় না। তবে কিছু কিছু সময়ে সঠিক address জানার সরকার হয় না। তবে কিছু কিছু সময়ে দরকার হয়। যেমন scanf ফাংশনটা ব্যবহার করার সময় ভেরিয়েবলের address ব্যবহার করা হয়। ধরা যাক আমাদের একটা ভেরিয়েবল আছে- int prime; এখন এটা থেকে বলার উপায় নেই যখর প্রোগ্রাম রান করবে তখন এটা মেমোরির কোন লোকেশনে থাকবে। আমরা একটা সংখ্যা ধরে নেই এখানে। ধরা যাক address হচ্ছে 100. এখন এই address পাওয়ার জন্য আমরা ভেরিয়েবলের নামের আগে অ্যামপারসেন্ড সাইন (&) ব্যবহার করি- যেমন &prime লিখলে আমরা পাব prime ভেরিয়েবলের লোকেশন। এটা আমরা যখন pointer ব্যবহার করব তখন আরও ভালভাবে দেখব। printf ফাংশন আমরা জানি কম্পিউটার প্রোগ্রাম রেখার জন্য ৩ টি বিষয় জানতে হয়। ইনপুট, আউটপুট এবং প্রসেসিং। এখন আমরা আউটপুট দেখব। আউটপুটের জন্য সি ল্যাংগুয়েজে আমরা printf ফাংশন ব্যবহার করি। ফাংশনের একটা বা এর অধিক প‌্যারামিটার থাকে। প্রথমটা একটা স্ট্রিং যেটা আবশ্যিক। কোটেশন মার্ক দ...

সি প্রোগ্রামিং – লেকচার ২: এক্সপ্রেশন, ভেরিয়েবল ও এর নামকরণ এবং রিজার্ভ ওয়ার্ড

 এক্সপ্রেশন (Expression) কম্পিউটার প্রোগ্রামিং এর জন্য আমরা বিভিন্ন এক্সপ্রেশন ব্যবহার করি। নীচে কয়েকটি এক্সপ্রেশন দেয়া হলঃ 1+3 5>9 এক্সপ্রেশনগুলোর সবসময় একটা মান থাকে। যেমন প্রথম এক্সপ্রেশনের মান 4. এটা একটা “Numerical Expression”. এই ধরণের এক্সপ্রেশনের মান সে কোন সংখ্যা হতে পারে। দ্বিতীয় এক্সপ্রেশনটা একটা Boolean Expression. যে ধরণের এক্সপ্রেশনের মান হয় TRUE অথবা FALSE হবে। আমাদের দ্বিতীয় এক্সপ্রেশনের মান FALSE. আমরা যদি 13 > 6 লিখি তাহলে সেটাও একটা Boolean Expression হবে যার মান TRUE. আমাদের প্রোগ্রামে উভয় ধরণের এক্সপ্রেশনের বহুল ব্যবহার লক্ষ্য করব। ভেরিয়েবল আমরা আমাদের প্রোগ্রাম যে কম্পিউটারে run করব তাতে বিভিন্ন পরিমান RAM বা মেমোরি থাকতে পারে। আমরা 1GB, 2GB, 4GB, 8GB ইত্যাদি সাইজের মেমোরি ক্ষমতার কম্পিউটার দেখে থাকি (২০১২ সাল)। আমরা এখানে মেমোরি বলতে শুধু Random Access Memory বা RAM কেই বোঝাবো। কম্পিউটারের মেমোরির প্রত্যেকটা বাইটকে একটা সংখ্যা দিয়ে চিহ্নিত করা হয়। একটা কম্পিউটারে 4 গিগাবাইট (4294967296 বাইট) মেমোরি থাকলে আমরা বাইটগুলোকে ...

সি প্রোগ্রামিং – লেকচার ১: কম্পিউটার প্রোগ্রামিং এবং কম্পিউটারের ডাটা টাইপ

কম্পিউটার প্রোগ্রামিং কি? কম্পিউটার প্রোগ্রাম হচ্ছে CPU কে দেয়া একটা নির্দিষ্ট Instruction sequence. কম্পিউটার নিজে থেকে কোন কাজ করতে পারে না। কোন কাজের পর কোন কাজ করবে সেগুলো একটার পর একটা প্রোগ্রামে বলে দেয়া হয়। কম্পিউটার প্রোগ্রম কে আমরা রান্নার সাথে তুলনা করতে পারি। যেক্ষেত্রে অধ্যাপিকা সিদ্দিকা করিরের “রান্না খাদ্য পুষ্টি” বইটা হবে এ্কটা প্রোগ্রামিং এর বই। আর CPU হচ্ছে রাঁধুনি। একজন রাঁধুনি এই বইয়ের বিভিন্ন প্রোগ্রাম দেখে বিভিন্ন জিনিস রান্না করতে পারবেন। যেমন আমরা যদি রাঁধুনিকে বলি কাচ্চি বিরিয়ানি রান্না করতে তাহলে সে প্রথমে কাচ্চি বিরিয়ানি প্রগ্রামটা রান করবে। এই প্রগ্রামে বলে দেয়া আছে কিভাবে কাচ্চি বিরিয়ানি রান্না করতে হবে। প্রথমে মাংস ধুয়ে লবন মেখে ৩০ মিনিট রাখতে হবে। তারপর পেয়াজ ঘিয়ে বাদামি করে ভেজে ঠান্ডা হখে গুড়ো করতে হবে। এভাবে নয়টা ইন্সট্রাকশন পরপর দেয়া আছে। যখন একজন রাঁধুনি একটার পর একটা এই ইন্সট্রাকশন গুলো অনুযায়ী কাজ করে যাবে শেষে দেখা যাবে আউটপুট হিসাবে আমরা কাচ্চি বিরিয়ানি পাব। যদি ইন্সট্রাকশন গুলোতে কোন ভুল (আমরা যেটাকে বলব bug) খাকে ...