প্রোগ্রামিং কী? প্রোগ্রামিং এর মৌলিক ধারনা

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

কম্পিউটার অ্যান্ড সাইন্স টেকনোলজী ডিপার্টমেন্টের জন্য এই  প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা আর্টিকেলটি খুবই গুরুত্বপূর্ণ।

প্রথম অধ্যায়: প্রোগ্রামিং এর মৌলিক ধারনা (Basics of Programming)

সূচীপত্র : প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা 

অতি সংক্ষিপ্ত প্রশ্নসমূহ ।।  প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা 

১। প্রোগ্রামিং বলতে কি বুঝায়?
২। এসেম্বলি ল্যাংগুয়েজ কাকে বলে?
৩। হাই লেভেল ল্যাঙ্গুয়েজ কাকে বলে?
৪। অ্যালগরিদম বলতে কি বুঝায়।
৫। ফ্লোচার্ট কাকে বলে?
৬। এসেম্বলার বলতে কি বুঝায়?
৭। ইন্টারপ্রেটার বলতে কি বুঝায়?
৮। কম্পাইলার বলতে কি বুঝায়?
৯। সোর্স কোড প্রোগ্রাম কি?
১০। অবজেক্ট কোড অবজেক্ট প্রোগ্রাম কি/?
১১। বাগ ও ডিবাগিংবলতে কি বুঝায়?
১২। কমপক্ষে চারটি কম্পিউটার প্রোগ্রামের নাম লেখ।

সংক্ষিপ্ত প্রশ্ন।।  প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা 

১। অ্যাসেম্বলি ল্যাঙ্গুয়েজ এর বৈশিষ্ট্যসমূহ লেখ।
২। হাই লেভেল ল্যাংগুয়েজ এর বৈশিষ্ট্যসমূহ লেখ।
৩। হাই লেভেল ও লো লেভেল ল্যাংগুয়েজ এর মধ্যে পার্থক্য লেখ।
৪। সিস্টেম ফ্লোচার্টের বিভিন্ন প্রতীক অঙ্কন করো।
৫। প্রোগ্রাম প্ল্যানিং এর ধাপসমূহের নাম লেখ।

রচনামূলক প্রশ্ন।। প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা 

১। প্রোগ্রাম পরিকল্পনার ধাপ সমূহ বর্ণনা করো।

 প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা  (Basics of Programming)  এর প্রশ্নউত্তরসমূহ্

অতি সংক্ষিপ্ত প্রশ্নোত্তর ।।  প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা 

১। প্রোগ্রামিং বলতে কি বুঝায়?

উত্তর ঃ কোন সমস্যা সহজ এ সমাধান এর উদ্দেস্যে  প্রদত্ত ধারাবাহিক নির্দেশ বা নির্দেশাবলি সাজানর কৌশলগুলোকেই প্রগ্রামিং বলে ।

২। এসেম্বলি ল্যাংগুয়েজ কাকে বলে?

উত্তরঃ বিশেষ সংক্ষিপ্ত সংকেত (  ADD , SUB , MUL ,DIV , LOAD, MOV , MVI , JMP , JNZ , INC  ইত্যাদি ) ব্যাবহার করে যে ভাষায় প্রোগ্রাম রচনা করা হয় তাকে অ্যাসেম্বলি    ল্যাংগুয়েজ  বলে । 

৩। হাই লেভেল ল্যাঙ্গুয়েজ কাকে বলে?

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

৪। অ্যালগরিদম বলতে কি বুঝায়। 

উত্তর ঃ কোন সমস্যা সমাধান এর জন্য ধারাবাহিক ধাপ সমূহের সমষ্টিকে  অ্যালগরিদম বলে । 

৫। ফ্লোচার্ট কাকে বলে?

উত্তর ঃ কোন সমস্যা সমাধান এর জন্য ধারাবাহিক ধাপ সমূহের চিত্র ভিত্তিক রূপকে ফ্লোচার্ট বলে । 

৬। এসেম্বলার বলতে কি বুঝায়?

উত্তর ঃ লিখিত কোন প্রোগ্রামকে মেশিন  ল্যাঙ্গুয়েজ  রূপান্তর করার জন্য যে অনুবাদক ব্যাবহার করা হয় তাকে এসেম্বলার বলে । 

৭। ইন্টারপ্রেটার বলতে কি বুঝায়?

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

৮। কম্পাইলার বলতে কি বুঝায়?

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

৯। সোর্স কোড প্রোগ্রাম কি?

উত্তর ঃ এসেম্বলি বা উচ্চতর ভাষাকে টেক্সট এডিটরের সাহায্যে লিখিত জড় কোন প্রোগ্রামকে সোর্স কোড প্রোগ্রাম বলে । 

১০। অবজেক্ট কোড বা  অবজেক্ট প্রোগ্রাম কি?

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

১১। বাগ ও ডিবাগিংবলতে কি বুঝায়?

উত্তর ঃ প্রোগ্রামে  করা ভুল ত্রুটিকে  বাগ বলে এবং প্রোগ্রামে  করা ভুল ত্রুটিকে সংশোধন করার প্রক্রিয়াকে ডিবাগিংবলে । 

১২। কমপক্ষে চারটি কম্পিউটার প্রোগ্রামের নাম লেখ।

উত্তর ঃ কম্পিউটারে অনেক প্রোগ্রাম আছে তার মধ্যে  কম্পিউটার এর ৪ টি  প্রোগ্রাম এর নাম হলো - ১ মাইক্রোসফট ওয়ার্ড ২. এক্সেল ৩. এডোব ফটোশপ ৪. মজিলা ফায়ারফক্স ।

সংক্ষিপ্ত প্রশ্নোত্তর ।। প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা 

১। অ্যাসেম্বলি ল্যাঙ্গুয়েজ এর বৈশিষ্ট্যসমূহ লেখ। 

উত্তর ঃ  অ্যাসেম্বলি ল্যাঙ্গুয়েজ এর বৈশিষ্ট্যসমূহ হলো -

১. এ ভাষায় প্রোগ্রাম লেখার জন্য সংকেত ব্যবহার করা হয় ।

২. মেশিন ল্যাঙ্গুয়েজের তুলনায়  অ্যাসেম্বলি ল্যাঙ্গুয়েজ  প্রোগ্রাম রচনা করা সহজ ।

৩. এ ভাষায় প্রোগ্রাম জন্য প্রচুর কমান্ড মুখস্থ রাখতে হয় । 

৪. এ ভাষায় লিখিত প্রোগ্রাম নির্বাহের জন্য অনু বাধক প্রোগ্রাম ব্যবহার করা হয় । 

২। হাই লেভেল ল্যাংগুয়েজ এর বৈশিষ্ট্যসমূহ লেখ।

উত্তর ঃ  হাই লেভেল ল্যাংগুয়েজ এর বৈশিষ্ট্যসমূহ হলো ঃ

১. এ ভাষায় অ্যাসেম্বলি ল্যাঙ্গুয়েজ ও মাশিন ল্যাংগুয়েজের অসুবিধা সমূহ দূর করা হয়েছে ।

২. অন্য কোন প্রোগ্রাম থেকে হাই লেভেল ল্যাংগুয়েজে প্রোগ্রাম করা সহজ ।

৩. এ ভাষায় প্রোগ্রাম লিখার জন্য কমান্ড প্রয়োজন হয় না ।

৪. কম্পাইলার ও ইন্টারপ্রেটার দ্বারা এ ভাষার অনুবাদক করা হয় ।

৫. এতে অসংখ্য লাইব্রেরি ফাংশন ব্যবহারের সুবিধা আছে । 

৩। হাই লেভেল ও লো লেভেল ল্যাংগুয়েজ এর মধ্যে পার্থক্য লেখ।

উত্তরঃ হাই লেভেল ও লো লেভেল ল্যাংগুয়েজ এর পার্থক্য নিম্নে দেওয়া হলঃ

হাই লেভেল ল্যাঙ্গুয়েজ

লো লেভেল ল্যাঙ্গুয়েজ

সর্বজনীন ইংরেজি ব্যবহার করা হয় ফলে হাই লেভেল ল্যাঙ্গুয়েজ অনেক সহজ ।

বাইনারি বা নিমোনিক ব্যবহার করা হয় লো লেভেল ল্যাঙ্গুয়েজ এর ক্ষেত্রে ।

 উদাহরণ ঃBASIC , ForTRAN, C,C++ , JAVA , CoBOL, Pascal , ADA, LISP etc .

 উদাহরণ ঃ machine language , assembly language etc .

হাই লেভেল ল্যাঙ্গুয়েজ এ প্রোগ্রাম করা সহজ ও কম সময়সাপেক্ষ ।

লো লেভেল ল্যাঙ্গুয়েজ প্রোগ্রাম রচনা করা তুলনামুলক কষ্ট সাধ্য ও সময় সাপেক্ষ ।

হাই লেভেল ল্যাঙ্গুয়েজ প্রোগ্রাম করার জন্য অভ্যন্তরীণ সংগঠন সম্পর্কে ধারনা রাখার দরকার নেই ।

লো লেভেল ল্যাঙ্গুয়েজ প্রোগ্রাম করার জন্য অভ্যন্তরীণ সংগঠন সম্পর্কে ধারনা রাখার দরকার অপরিহার্য ।

৪। সিস্টেম ফ্লোচার্টের বিভিন্ন প্রতীক অঙ্কন করো।

৫। প্রোগ্রাম প্ল্যানিং এর ধাপসমূহের নাম লেখ।

উত্তর ঃ   কোন প্রোগ্রাম লিখতে হলে সুনির্দিষ্ট কিছু ধাপে ধাপে সুষ্ঠ পরিকল্পনার মাধ্যমে সম্পন্ন করতে হয় । প্রোগ্রাম পরিকল্পনার ধাপ সমূহ নিম্নরুপ - 

(১) সমস্যা চিহ্নিত  করা  ( problem identification )

(২) সিস্টেম বিশ্লেষণ করা ( system analysis ) 

(৩) প্রোগ্রাম এ ইনপুট আউটপুট নির্ণয় ( input output )

(৪) অ্যালগরিদম উন্নয়ন ( algorithm devolopment ) 

(৫) ফ্লো চার্ট উন্নয়ন ( flow chart development ) 

(৬) প্রগ্রামিং ভাষা নির্ধারণ ( programing language ) 

(৭) প্রোগ্রাম রচনা ( program  coding ) 

(৮) প্রোগ্রাম কম্পাইলেশন ( program compilation ) 

(৯) প্রোগ্রাম পরীক্ষণ ও সংশোধন ( program testing and debugging )

(১০) ডকুমেন্ট   ( documentation   )     

 (১১)   ইন স্টলেশণ ( installation ) 

(১২)  রক্ষণাবেক্ষণ   ( maintenance )

রচনামূলক প্রশ্নোত্তর ।। প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা 

১। প্রোগ্রাম পরিকল্পনার ধাপ সমূহ বর্ণনা করো।   

উত্তরঃ কোন প্রোগ্রাম লিখতে হলে সুনির্দিষ্ট কিছু ধাপে ধাপে সুষ্ঠ পরিকল্পনার মাধ্যমে সম্পন্ন করতে হয়  প্রোগ্রাম পরিকল্পনার ধাপ সমূহ নিম্নরুপ - 

(১) সমস্যা চিহ্নিত  করা  ( problem identification )ঃ যে কোন প্রোগ্রাম পরিকল্পনা এর প্রথম কাজ হলো  সমস্যা নির্ধারণ করা । 

(২) সিস্টেম বিশ্লেষণ করা ( system analysis ) ঃ সমস্যা চিহ্নিত করার পর সমস্যা সম্পর্কিত তথ্য সংরক্ষন করা যা  পরবর্তী ধাপে ব্যবহার করা যাবে ।

(৩) প্রোগ্রাম এ ইনপুট আউটপুট নির্ণয় ( input output )ঃ সমস্যা সমাধান এর জন্য ইনপুট আউটপুট নির্ণয়  করা । প্রোগ্রাম এ কোন কোন তথ্য ইনপুট হিসাবে ব্যবহার করা হবে এবং উল্লেখিত তথ্যর জন্য কী আউট পুট আসবে এর জন্য কোন ফর্মুলা ব্যবহার করতে হবে তা নির্ধারণ করা থাকে । 

(৪) অ্যালগরিদম উন্নয়ন ( algorithm devolopment)ঃ কোন সমস্যা সমাধান এর ধাপ সমূহের সমষ্টির লিখিত রূপ এ প্রকাশ করা অর্থাৎ অ্যালগরিদম উন্নয়ন করা । 

(৫) ফ্লো চার্ট উন্নয়ন ( flow chart development ) ঃ কোন সমস্যা সমাধান এর ধাপ সমূহের সমষ্টির চিত্র ভিত্তিক রূপ প্রকাশ করা অর্থাৎ  ফ্লো চার্ট উন্নয়ন করা । এগুলো প্রোগ্রাম  নানা বিধ ছবি আবার গ্রাফ এর মাধ্যমে প্রকাশ করা হয় । এ সকল চিত্র দেখে প্রোগ্রাম সম্পর্কে সম্পূর্ণ ধারনা পাওয়া যায় । 

(৬) প্রগ্রামিং ভাষা নির্ধারণ ( programing language ) ঃ ফ্লোচার্ট এর পরের ধাপই হলো প্রোগ্রামিং এর জন্য  সুনির্দিষ্ট  ভাষা নির্বাচন । সাধারণ ভাবে কোন অ্যাপ্লিকেশন বা কাস্টমাইজড প্যাঁকেজ তৈরির সময় একটি প্রোগ্রামিং ভাষা ব্যবহার করা হয় । কখনো কখনো একটি বিশেষ কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ বিশেষ কোন কাজ করতে পারে না । সাধারনত প্রগ্রামিং এর জন্য নির্দিষ্ট ভাষা নির্ধারণ থাকে । অনেক সময় প্রগ্রামিং ভাষা ভাষাটি কঠিন পদ্ধতিতে যেমন মাশিন কোডে নির্বাচন না করে আসেম্বেলারের সাহায্যে নেয়ার পরামর্শ দেওয়া হয়ে থাকে , অথবা  কোন হাই লেভেল ল্যাঙ্গুয়েজ নির্বাচন করতে বলা হয় । অনেক প্রগ্রামার আছে যারা তাদের কাজের দক্ষতা ও ভালো সফটওয়্যার উপহার দেয়ার জন্য নিজ থেকেই কোন নির্দিষ্ট প্রগ্রামিং ভাষাকে নির্বাচন করে থাকেন । 

(৭) প্রোগ্রাম রচনা ( program  coding ) ঃ এ ধাপে প্রগ্রামিং এর জন্য যে ভাষা নির্বাচন করা হয়েছে তা দিয়ে প্রোগ্রাম রচনা করতে হবে । 

(৮) প্রোগ্রাম কম্পাইলেশন ( program compilation ) ঃহাই লেভেল ল্যাঙ্গুয়েজ এ রচিত প্রোগ্রাম কম্পিউটার বুঝতে পারে না তা মেশিন ল্যাঙ্গুয়েজ এ রূপান্তর করে দিতে হয় অর্থাৎ কম্পাইল করতে হয় । প্রোগ্রাম কম্পাইল  অর্থাৎ মেশিন ল্যাঙ্গুয়েজ করার  সময় অনেক ভুল পাওয়া যায়। কম্পাইলরের নির্দেশ মোতাবেক কাজ করলে প্রোগ্রাম এর ভুল গুল ঠিক হয়ে যায় অর্থাৎ প্রোগ্রাম নিখুঁতভাবে করা যায় ।

(৯) প্রোগ্রাম পরীক্ষণ ও সংশোধন ( program testing and debugging ) ঃ  সাধারণ ভবে প্রাথমিক পর্যায়ে প্রায় প্রোগ্রামেই কিছু ভুলত্রুটি থাকে । এই ভুলত্রুটি সমূহকে bugs বলে । এই ভুল ত্রুটি জন্য কাজ করতে অনেক সমস্যা হয় । এই ভুলত্রুটি সংশোধন করার প্রোগ্রামকে  debbugging  বলা হয় । উপযুক্ত কমান্ড এর সাহায্যে এ সমস্যা গুলো সমাধান যেতে পারে । এজন্য প্রোগ্রাম বাজার জাত করনের পূর্বে বিভিন্ন ধরনের আলফা টেস্ট , বিটা টেস্ট  ইত্যাদি করা হয় । এ সমস্ত টেস্ট গুলো প্রগ্রামের জথারথতা বা নির্ভুলতা বিচার এ যথেষ্ট সহায়তা হয়ে থাকে । 

(১০) ডকুমেন্ট   ( documentation )  ঃ ডকুমেন্টেশন হচ্ছে প্রোগ্রাম পরিকল্পনার বিভিন্ন ধাপ সমূহ যেমন - অ্যালগরিদম ও, ফ্লো চার্ট , প্রোগ্রাম কোডিং , বাগ , ডিবাগ , ফলাফল ও ব্যবহারকারীর জন্য প্রয়োজনীয় নির্দেশ ইত্যাদি লিখিত বিবরণ ডকুমেন্ট আকারে লিপিবদ্ধ করা , যাতে পরবর্তীতে কোন সমস্যা সৃষ্টি হলে তা সমাধান করা সহজ হয় । 

 (১১)   ইন স্টলেশণ ( installation ) ঃ প্রোগ্রাম সমূহের সন্তোষজনক পরীক্ষার পূর্ব পর্যন্ত এদেরকে ডেভেলপমেন্ট লাইব্রেরিতে রাখা হয় । পরীক্ষার সন্তোষজনক ফল লাভের পর প্রোগ্রাম সমূহকে প্রডাকশণ লাইব্যেরিতে লোড করা হয় । এই লাইব্রেরিকে ইন্সটলেশন বলা হয় । অনেক সময় ইন্সটলেশন কঠিন হয়ে থাকে তবে গ্রুপ এ কাজ করলে ভালো ফলাফল পাওয়া যায় । 

(১২)  রক্ষণাবেক্ষণ   ( maintenance) ঃ প্রোগ্রাম পরিকল্পনার শেষ ধাপ হলো রক্ষনাবেক্ষন । রক্ষনাবেক্ষন বলতে প্রয়োজনীয় নানা কারন এ প্রোগ্রামে নানা বিধ পরিবর্তন ও পরিবরধনকে বুঝায় । যে কোন সফটওয়্যার যখন বাজারে আসে তার একটি  ভার্সন বাজারে আসে । প্রতিনিয়ত সফটওয়্যারগুলোর ভার্সন সংখ্যা বিদ্ধি পায় । সফটওয়্যারকে নানাবিধ কারণে পরিবর্তন , পরিবর্ধন করতে হয় এবং উন্নত সংস্করনে রুপ দিতে হয় । অনেক সময় এক সফটওয়্যার অন্য অপারেটিং সিস্টেম কাজ নাও করতে পারে । সেক্ষেত্রে সফটওয়্যারটিকে পরিবর্তীতে নতুন অপারেটিং সিস্টেমে কাজ করার উপযোগী করে তৈরি করা হয় ।   

শেষ কথা:  প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা 

প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা (Basics of Programming) সর্ম্পকে কিছু গুরুত্বপূর্ণ প্রশ্ন এবং প্রশ্নোত্তর নিয়ে এই  প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা আর্টিকেলটি লিখা হয়েছে। এই প্রশ্নগুলো পড়লে বা মনে রাখলে  প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা এই বিষয়ে জ্ঞান বাড়বে এবং কম্পিউটার সাইন্সের যেকোনো পরিক্ষায় প্রশ্নসমূহের উত্তর সহজে দেওয়া যাবে। তাহলে চলুন  প্রোগ্রামিং কী?  প্রোগ্রামিং এর মৌলিক ধারনা সর্ম্পকে প্রশ্ন ও উত্তর গুলো জেনে রাখা প্রয়োজন।

                                       

এই পোস্টটি পরিচিতদের সাথে শেয়ার করুন

পূর্বের পোস্ট দেখুন পরবর্তী পোস্ট দেখুন
এই পোস্টে এখনো কেউ মন্তব্য করে নি
মন্তব্য করতে এখানে ক্লিক করুন

অর্ডিনারি সিসি’র নীতিমালা মেনে কমেন্ট করুন। প্রতিটি কমেন্ট রিভিউ করা হয়।

comment url