«

»

আসুন শিখি কিউবেসিক প্রোগ্রামিং: ডিজিটাল জোন (১ম পর্ব)

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

আজকে প্রথম পর্ব। তাই আজকে আপনাদের বেশি কিছু বলব না। আজ প্র্রোগ্রামিং ভাষা ও অ্যালগরিদম নিয়ে আলোচনা করব। যেকোন সমস্যা সাথে সাথে কমেন্ট।

১. প্রোগ্রামিং ভাষা ও এর বর্ণনা

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

প্রোগ্রাম তৈরি করতে হলে আপনকে প্রথমেই জানতে হবে প্রোগ্রামের ভাষা সম্পর্কে। আমাদের যেমন ভাষা আছে তেমনি কম্পিউটারেরও একটি নিজস্ব ভাষা আছে। এটি ইংরেজি, বাংলা, আরবী, উর্দু, ফারসী, হিন্দি ইত্যাদি কোন ভায়াই বুঝে না। এটি বুঝে তার নিজের ভাষায় প্রোগ্রাম লিখলে যেমনটি করে আপনি বাংলা ভাষায় কথা বলেন আপনার সাথে বাংলায় বললে আপনি সহজেই বুঝবেন। কিন্তু আপনি ইতালীয়ান ভাষা বুঝেন না, এখন আপনার সাথে যদি ইতালীয়ান ভাষায় কথা বলা হয় তাহলে আপনি কি বুঝবেন, বলুন? তেমনি, কম্পিউটারও বুঝবে না। কম্পিউটারের ভাষাকে তিনভাগে ভাগ করা হয়েছে।

১. নিম্নস্তরের ভাষা (Low Level Language)

২. মধ্যস্তরের ভাষা (Mid Level Language)

৩. উচ্চস্তরের ভাষা (High Level Language)

নিম্নস্তরের ভাষাঃ এ ভাষা কম্পিউটারের মেশিনের নিজস্ব ভাষা। এ ভাষায় বাইনারি সংখ্যা ও সংকেত ব্যবহার হয়। মেশিনের ভাষায় লিখিত প্রোগ্রামকে object প্রোগ্রাম বলে। নিম্নস্তরের ভাষাকে দু’ভাগে ভাগ করা হয়।

  • মেশিনের ভাষা (Machine Language)
  • অ্যাসেম্বলি ভাষা (Assembly Language)

মেশিনের ভাষাঃ ০ এবং ১ দিয়ে যে ভাষা লেখা হয় তাকে মেশিনের ভাষা বলে। এ ভাষায় প্রোগ্রাম লেখা অত্যান্ত কঠিন, জটিল ও সময় সাপেক্ষ। এ ভাষায় প্রোগ্রাম লিখতে হলে কম্পিউটারের প্রতিটি নির্দেশ ও স্মৃতিস্থাপনের প্রকৃত অবস্থার ধারণা থাকতে হবে। এ ভাষায় এক ধরণের মেশিনের জন্য লিখিত প্রোগ্রাম আরেক ধরণের মেশিনে ব্যবহার করা যায় ন। এ ভাষার প্রোগ্রাম লিখতে হলে হার্ডওয়্যারের উপর ভাল জ্ঞান থাকতে হবে।

অ্যাসেম্বলি ভাষাঃ এভাষা বিভিন্ন সংকেতের মাধ্যমে লেখা হয়। এজন্য একে সাংকেতিক ভাষাও বলা হয়। এ ভাষার ক্ষেত্রে নির্দেশ ও তথ্যের ঠিকানা সংকেতের সাহায্যে দেয়া হয়। নির্দেশের গুরুত্ব অনুসারে গঠিত এই সংকেত দ্বারা নির্দেশকে সহজে মনে রাখা যায় বলে একে স্মৃতি সহায়ক (Mnemonic) বলা হয়।

মধ্যস্তরের ভাষাঃ মধ্যস্তরের ভাষায় কম্পিউটারের বিট পযায়ের প্রোগ্রামিং এর মাধ্যমে হার্ডওয়্যার নিয়ন্ত্রণ ও সিস্টেম প্রোগ্রাম রচনা করা যায়। এভাষায় উচ্চ স্তরের ভাষার সুবিধা পাওয়া যায় আবার নিম্নস্তরের ভাষার সমকক্ষ প্রোগ্রাম রচনা করা যায়। C এবং Forth এ স্তরের ভাষা।

উচ্চস্তরের ভাষাঃ এ ভাষায় আমাদের পরিচিত বাক্য, বর্ণ ও সংখ্যা ব্যবহার করে প্রোগ্রাম লেখা হয়। এ ভাষায় খুব সহজে ও দ্রুত প্রোগ্রাম লেখা যায়। এ ভাষায় প্রোগ্রাম লিখতে বেশি দক্ষতার প্রয়োজন নেই। এই ভাষার প্রোগ্রামিং –এ নিম্নাক্ত সুবিধা পাওয়া যায়।

§   এ ভাষায় লিখিত প্রোগ্রাম বিভিন্ন ধরনের কম্পিউটারে ব্যবহার করা যায়।

§   এটি সহজ বলে সাধারণের ব্যবহারে উপয়োগী।

§   এভাষায় দ্রুত প্রোগ্রাম লেখা যায়।

§   নিম্নস্তরের ভাষার অনেকগুলো নির্দেশের জায়গায় উচ্চস্তরের ভাষায় মাত্র একটি বাক্য লিখে দিলেই হয়।

§   এভাষা ব্যবহারের জন্য হার্ডওয়্যারের উপর বেশি জ্ঞান রাখার প্রয়োজন নেই।

উচ্চস্তরের ভাষা অনেকগুলো রয়েছে। তার মধ্যে উল্লেখযোগ্য হল- Fortran, Basic, wm(C), Algol, Cobol, Pascal, Ada, APL, PL/1 ইত্যাদি।

অনুবাদক প্রোগ্রামঃ কম্পিউটারকে নির্দেশ দেয়ার জন্য ব্যবহারকারী যে ভাষা ব্যবহার করে বা প্রোগ্রামার যে ভাষায় প্রোগ্রাম লেখে কম্পিউটার কেবল তার নিজস্ব ভাষায় তা বুঝতে পারে। এ ভাষাকে Machine Language বলে। কম্পিউটারের ভিতরের কাজ দ্রুত করার জন্য যে প্রোগ্রাম অন্য ভাষাকে মেশিনের ভাষায় রূপান্তর করে তাকেই আনুবাদ প্রোগ্রাম বলে। অনুবাদক প্রোগ্রাম তিন প্রকার। যথা-

v  কম্পাইলার

v  ইন্টারপ্রিটার

v  এসেম্বলার

কম্পাইলারঃ কম্পাইলার প্রথমে উচ্চস্তরে ভাষায় লেখা প্রোগ্রামকে শুরু থেকে শেষ পর্যন্ত পরিক্ষা করে। কোন প্রকার ভুল না হলে কম্পাইলার এটিকে যান্ত্রিক ভাষায় রূপান্তর করে।

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

এসেম্বলারঃ এটি এসেম্বলার ভাষায় লিখিত প্রোগ্রামকে যন্ত্রভাষায় (মেশিন কোড) রূপান্তর করে।

অ্যালগরিদম

আমরা বিভিন্ন কাজ করে থাকি। এই কাজগুলোর মধ্যে কিছু কাজ আছে যেগুলো ছোট আবার কিছু আছে অনেক বড় ধরনের। ছোট কাজগুলো করতে আমাদের তেমন সমস্যা হয় না। এমনিতেই মনে থাকে। কিন্তু বড় যে কোন কাজ করতে আমাদের বেশ চিন্তা করতে হয়। কাজের ধাপ তৈরি করতে হয়, যৌক্তিক সিদ্ধান্ত নিতে হয়। ধাপে ধাপে কাজ করার এই পদ্ধতিকেই অ্যালগরিদম বলে।

অ্যালগরিদম শব্দটি এসেছে প্যারস্যের বিখ্যাত গণিতবিদ ও বীজগণিতের জনক মূসা আল খায়ারিজমি হতে। অ্যালগরিদম বলতে বুঝায় একটি নিয়ম যা ব্যবহার করে সমস্যা সমাধান করা।

অ্যালগরিদমের নিয়ম

অ্যালগরিদম রচনা করতে হলে কিছু নিয়ম মানতে হবে।

  • প্রোগ্রামের বিষয় কি? তা নির্ধারণ করা।
  • প্রোগ্রামের একটি শিরোনাম দেয়া।
  • বিষয়টিকে ভালভাবে বিশ্লেষণা করা।
  • সিদ্ধান্তসমূহ ধারাবাহিক ও সঠিকভাবে সাজানো।
  • সহজ, সরল ও বোধগম্য হওয়া।
  • প্রতিটি ধাপই স্পষ্ট হওয়া।
  • নির্দিষ্ট সময়ের মধ্যে সমস্যার সমাধান করা।
  • ব্যাপকভাবে প্রয়োগ করার ব্যবস্থা করা।

অ্যালগরিদমের শর্ত

আমরা সবাই ভালভাবেই জানি যে কম্পিউটার নিজে থেকে কিছুই করতে পারেনা। তাই আপনাকে প্রোগ্রামের মধ্যে সঠিকভাবে বলে দিতে হবে কোনটার পর কোনটা হবে।

নিচে উদাহরণ দেয়া হল

1)      তিনটি সংখ্যার মধ্যে সবচেয়ে বড় সংখ্যা বের কর।

ধাপ ১: আরম্ভ কর।

ধাপ ২: তিনটি সংখ্যা পড়।

ধাপ ৩: ১ম সংখ্যাটি কি ২য় ও ৩য় সংখ্যার চেয়ে বড়?

ক) হ্যাঁ

ফলাফলের চাপ, ১ম সংখ্যাটি বড়।

খ) না

ধাপ ৪: ২য় সংখ্যাটি কি ৩য় সংখ্যার চেয়ে বড়?

ক) হ্যাঁ

ফলাফলের চাপ, ২য় সংখ্যাটি বড়।

খ) না

ধাপ ৫: ফলাফলের চাপ, ৩য় সংখ্যাটি বড়।

ধাপ ৬: শেষ কর।

আপনাদের সুবিধার্থে বেসিকের উদাহরণ দেয়া হলঃ

INPUT x,y,z

IF x>y THEN

IF y>z THEN

PRINT “GREATEST NUMBER=”;x

ELSE

PRINT “GREATEST NUMBER=”;z

ELSE

ENDIF

ELSE

IF y>z THEN

PRINT “GREATEST NUMBER=”;y

ELSE

PRINT “GREATEST NUMBER=”;z

ELSE

ENDIF

ELSE

END

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


এ সম্পর্কিত আরো কিছু টুইট:

প্রোগ্রামার, ওয়েব ডিজাইনার ও ডেভেলোপারদের জন্য Programming Cheat Sheet
এক্সপি সেটআপ হবার সময় খেলুন পিনবল গেম
ই-মেইল ক্লায়েন্টগুলো স্প্যাম মেইল ধরা কার্যকারিতা পরীক্ষা করার ছোট্ট একটি কৌশলঃ ডিজিটাল জোন
ওয়েব সাইটে এড করুন favicon আইকন
VB এর সাহায্যে অল্প কোডে ঘরি বানান (২)
যে কারণে প্রোগ্রামাররা রাতে কাজ করে
প্রোগ্রামিং শিক্ষা

মন্তব্য দিনঃ

comments

About the author

ডিজিটাল জোন

“যে পারে সে নিজে নিজে করে, আর যে পারে না সে শিখায়” “অভিজ্ঞতা তাই শিখায়, যা আমাদের শিখা উচিত”

Permanent link to this article: http://techtweets.com.bd/programming/digitalzone/2474

8 comments

Skip to comment form

  1. ঐ ছেলেটি
    jakir

    অনেক ভালো একটা টুইট করলেন। ধন্যবাদ আপনাকে। কিউবেসিক এর সাথে প্রাসঙ্গিক কনেক কিছু লিখলেন। ধন্যবাদ।

    1. ডিজিটাল জোন

      ধন্যবাদ জাকির ভাই, চেষ্টা করতেছি, আপনি একটু খেয়াল রাখবেন। ভুল হলে ঠিক করে দিবেন…

  2. Rubel Orion

    কোনও সন্দেহ ছড়া টেকটুইটস এর অসাধারন কিছু টুইটের মধ্যে এটি একটি!
    চালিয়ে যা ভাই। 😀

    1. ডিজিটাল জোন

      ধন্যবাদ, দোয়া করবেন…

  3. Sayeam

    অসাধারণ উপস্থাপনা!!! আমার মতো বিগেনারদের উপকারে আসবে! সরাসরি PDF বানিয়ে নিলাম!!! সামনের গুলোর অপেক্ষায়……….

    1. ডিজিটাল জোন

      দোয়া করবেন, ধন্যবাদ সায়েম ভাই….

  4. pritom bose

    vai egiye jan, amader onek upokar hobe……..

    1. ডিজিটাল জোন

      ধন্যবাদ….

মন্তব্য করুন