ওয়েব স্কুল বিডি : সুপ্রিয় শিক্ষার্থী বন্ধুরা, শুভেচ্ছা নিয়ো। আজ তোমাদের এইচ.এস.সি বা উচ্চমাধ্যমিকের আইসিটি অধ্যায় ৫ : প্রোগামিং ভাষা এর জ্ঞানমূলক প্রশ্ন নিয়ে আলোচনা করা হলো
অনলাইন এক্সামের বিভাগসমূহ:
জে.এস.সি
এস.এস.সি
এইচ.এস.সি
সকল শ্রেণির সৃজনশীল প্রশ্ন
বিশ্ববিদ্যালয় ভর্তি
বিসিএস প্রিলি টেষ্ট
একাদশ ও দ্বাদশ শ্রেণী : তথ্য ও যোগাযোগ প্রযুক্তি
অধ্যায় পঞ্চম : প্রোগামিং ভাষা
জ্ঞানমূলক প্রশ্ন
প্রশ্ন-১। প্রোগ্রাম কী?
উত্তরঃ কম্পিউটারের মাধ্যমে কোন নির্দিষ্ট সমস্যা-সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে লিখিত নির্দেশাবলীর সমষ্টিকে প্রোগ্রাম বলে। A program is a sequence of instructions of sets in solving problems use computer.
প্রশ্ন-২। প্রোগ্রামিং ভাষা কী?
উত্তরঃ কম্পিউটারের মাধ্যমে কোন নির্দিষ্ট সমস্যা-সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে লিখিত প্রোগ্রামের সংকেত বা কোডকে প্রোগ্রামিং ভাষা বলে। বিভিন্ন ধরণের প্রোগ্রামিং ভাষার মধ্যে- C, C++, Visual BASIC, Java, Oracle, Pascal, COBOL, FORTRAN, ALGOL, Python, Prolog ইত্যাদি উল্লেখযোগ্য।
প্রশ্ন-৩। মেশিন ল্যাঙ্গুয়েজ কী?
উত্তরঃ কম্পিউটার যন্ত্রটি সরাসরি যে ভাষা বুঝতে পারে সেই ভাষাই হচ্ছে মেশিন ভাষা বা যান্ত্রিক ভাষা। অর্থাৎ বাইনারি সংখ্যা (০ ও ১) ব্যবহার করে যে প্রোগ্রাম লেখা হয় তাকে মেশিন ভাষা বলে। যে ভাষায় প্রোগ্রাম লেখা হোক না কেন শেষ পর্যন্ত তা কম্পিউটারের বোধগম্য মেশিন ভাষায়(০ ও ১) রূপান্তরিত করতে হয়।
প্রশ্ন-৪। অ্যাসেম্বলি ল্যাঙ্গুয়েজ কী?
উত্তরঃ কোন শব্দের সংক্ষিপ্ত রূপ বা সাংকেতিক চিহ্নের মাধ্যমে যে প্রোগ্রাম রচনা করা হয় তাকে অ্যাসেম্বলি ভাষা বলে। ইহাকে নেমোনিক কোডও বলে। এটি মূলত মেশিন ল্যাঙ্গুয়েজকে সংক্ষেপ করার পদ্ধতি। এ সংকেতের সাহায্যে কোন বড় সংখ্যা বা কথাকে মনে রাখতে সুবিধা হয়। যেমন যোগের জন্য Addition থেকে Add, বিয়োগের জন্য Substruction থেকে Sub, গুণের জন্য Multiplication থেকে Mul ইত্যাদি। ১৯৫০ সালে অ্যাসেম্বলি ল্যাঙ্গুয়েজের প্রচলন শুরু হয়।
প্রশ্ন-৫। মিড লেভেল ল্যাঙ্গুয়েজ বা মধ্যম স্তরের ভাষা কী?
উত্তরঃ যে ভাষা নিম্নস্তরের ভাষা ও উচ্চস্তরের ভাষার মধ্যে সমন্বয় সাধন করা যায়, তাকে মধ্যম স্তরের ভাষা বলা হয়।
প্রশ্ন-৬। সি কে মধ্যম স্তরের ভাষা বলা হয় কেন?
উত্তরঃ সি ভাষায় মাধ্যমে নিম্নস্তরের ভাষা অ্যাসেম্বলি এবং উচ্চতর ভাষার প্রোগ্রামিং কৌশলের সমন্বয় সাধন করা যায় বলে সি-কে মধ্যস্তরের ভাষা বলা হয়। সি ভাষাকে কম্পিউটার ভাষার জনক বলা হয়ে থাকে। C, Java ইত্যাদিকে মধ্যম স্তরের ভাষা বলা হয়।
প্রশ্ন-৭। উচ্চস্তরের ভাষা কী?
উত্তরঃ কম্পিউটারকে সর্বজন ব্যবহার উপযোগী করে তুলতে ইংরেজী ভাষা ব্যবহার করে যে প্রোগ্রাম তৈরি করা হয় তাকে উচ্চস্তরের ভাষা বলে। অর্থাৎ মানুষের কাছাকাছি ভাষাই হচেছ হাই লেভেল ভাষা। হাই লেভেল ভাষা মানুষ দ্রুত লিখতে, বুঝতে ও মনে রাখতে পারে। বহুল ব্যবহৃত উচ্চস্তরের ভাষা হচেছ C, C++, BASIC, PASCAL, COBOL, FORTRAN, ORACLE, JAVA ইত্যাদি। উচ্চস্তরের ভাষাকে মেশিন ভাষায় পরিণত করতে দু ধরণের অনুবাদক প্রোগ্রাম ব্যবহৃত হয়। কম্পাইলার ও ইন্টারপ্রেটার।
প্রশ্ন-৮। অনুবাদক প্রোগ্রাম কী?
উত্তরঃ যে প্রোগ্রাম কম্পিউটারের উৎস (Source) প্রোগ্রামকে বস্তু (Object) প্রোগ্রামে পরিণত করে তাকে অনুবাদক প্রোগ্রাম বলে। অথবা অন্যভাবে বলা যায়- বিভিন্ন ভাষার লিখিত প্রোগ্রামকে মেশিন ভাষায়( ০ ও ১) অনুবাদের জন্য যে প্রোগ্রাম ব্যবহার করা হয় তাকে অনুবাদক প্রোগ্রাম বলে। কম্পিউটার বাইনারী সংখ্যা ০ ও ১ ছাড়া অন্য কোন ভাষা সরাসরি বুঝতে পারে না। তাই অন্যান্য ভাষাগুলোকে মেশিন ভাষায় পরিবর্তন করতে হয়।
অনুবাদক প্রোগ্রাম তিন প্রকারঃ-
i) অ্যাসেম্বলার(Assembler)
ii) ইন্টারপ্রেটার(Interpreter)
iii) কম্পাইলার(Compiler)
i) অ্যাসেম্বলার(Assembler): যে অনুবাদক প্রোগ্রাম Assembly ভাষায় লিখিত নেমোনিক কোডকে মেশিন ভাষায় অনুবাদ করে তাকে অ্যাসেম্বলার বলে।। এটি অ্যাসেম্বলি ভাষার প্রতিটি নির্দেশকে মেশিন ভাষার প্রতিটি নির্দেশে পরিণত করে।
ii) ইন্টারপ্রেটার(Interpreter): যে অনুবাদক প্রোগ্রাম উচ্চস্তরের ভাষার উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে অনুবাদ করে এবং ইহা এক লাইন এক লাইন করে পড়ে এবং অনুবাদ করে তাকে ইন্টারপ্রেটার বলে। এতে প্রোগ্রামের ভুল সংশোধন বা পরিবর্তন করা সহজতর হয়। তবে ইন্টারপ্রেটার ধীর গতি সম্পন্ন। ইন্টারপ্রেটার প্রোগ্রাম আকারে ছোট বলে এর ব্যবহারে মেমরি জায়গা কম লাগে। যেমন-Qbasic, GWbasic ইত্যাদি।
iii) কম্পাইলার(Compiler): যে অনুবাদক প্রোগ্রাম উচ্চস্তরের ভাষার উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে অনুবাদ করে এবং ইহা সম্পূর্ণ প্রোগ্রামকে একসাথে পড়ে এবং অনুবাদ করে তাকে কম্পাইলার বলে। কম্পাইলার প্রোগ্রাম আকারে বড় বলে এর ব্যবহারে মেমরি জায়গা বেশি লাগে। কম্পাইলার দ্রুত গতি সম্পন্ন। কম্পাইলার উচ্চতর ভাষায় লিখিত প্রোগ্রামকে সম্পূর্ণরূপে মেশিন ভাষায় রূপান্তর করে। যেমন- C, C++, BASIC, PASCAL, FORTRAN, JAVA ইত্যাদি।
প্রশ্ন-৯। অ্যালগোরিদম কী?
উত্তরঃ An Algorithm is a step by step procedure for solving a problem. অ্যালগোরিদম হচ্ছে কোন সমস্যা সমাধানের জন্য প্রোগ্রাম রচনা ও নির্বাহের ক্ষেত্রে শুরু থেকে শেষ পর্যন্ত ধাপগুলো পর্যায়ক্রমিকভাবে লিপিবদ্ধ বা সম্পন্ন করা। অ্যালগরিদম শব্দটি মুসলিম গণিতবিদ ‘আল খারিজমী’র নাম থেকে উৎপত্তি।
প্রশ্ন-১০। প্রবাহ চিত্র (Flow chart) কী?
উত্তরঃ ফ্লোচার্ট হচ্ছে কোন সমস্যা সমাধানের জন্য প্রোগ্রাম রচনা ও নির্বাহের ক্ষেত্রে শুরু থেকে শেষ পর্যন্ত ধাপগুলো পর্যায়ক্রমিকভাবে চিত্রের মাধ্যমে লিপিবদ্ধ বা সম্পন্ন করা।
প্রশ্ন-১১। সুডোকোড(Pseudo Code) কী?
উত্তরঃ সুডো(Pseudo) একটি গ্রীক শব্দ। সুডো শব্দের অর্থ হচ্ছে ছদ্ম বা যা সত্য নয়। প্রোগ্রামের ধরণ ও কার্যাবলী সম্বলিত কিছু সংখ্যক নির্দেশ বা স্টেটমেন্টের সমাহারকে বলা হয় সুডোকোড।
প্রশ্ন-১২। ডেটা টাইপ কী?
উত্তরঃ যে সকল বিশৃঙ্খল ঘটনা বা ফ্যাক্ট প্রক্রিয়াকরণের জন্য সংগ্রহ করা হয় তাকে বলা হয় ডেটা টাইপ বা উপাত্তের ধরন। অথবা ডেটার ধরনকে ডেটা টাইপ বলা হয়।
সি প্রোগ্রামে ডেটা টাইপ প্রধানত ৩ প্রকার। যথা-
ক) ইউজার ডিফাইন্ড বা কাস্টম ডেটা টাইপঃ সি প্রোগ্রামিং-এ প্রয়োজন বা ইচ্ছানুযায়ী নিজস্ব ডেটা টাইপ তৈরি করা যায়। এরূপ ডেটা টাইপকে ইউজার ডিফাইন্ড বা কাস্টম ডেটা টাইপ বলা হয়।
খ) বিল্ট-ইন ডেটা টাইপঃ যে ডেটা প্রোগ্রামে পূর্ব থেকে তৈরি করা থাকে এবং ডেটার ধরন এবং মেমরি পরিসর সংরক্ষণের ভিত্তিতে সি প্রোগ্রামে ব্যবহৃত হয় তাকে বিল্ট ইন ডেটা টাইপ বলা হয়। এ ডেটা কোনরূপ পরিবর্তন করা যায় না। এ ডেটা টাইপকে প্রধানত চারটি ভাগে ভাগ করা হয়। যথা- character, integer, floating, double এদেরকে বেসিক বা মৌলিক ডেটা টাইপও বলা হয়।
গ) ডিরাইভড ডেটা টাইপঃ ডেটা টাইপ ডিফাইন করার সময় যা ব্যবহার করা হয় তাকে ডিরাইভড ডেটা টাইপ বা বেস(base) টাইপ বলে। ডিরাইভড ডেটা টাইপে অ্যাট্রিবিউট বা মিশ্র উপাদান থাকতে পারে। ডিরাইভড ডেটা টাইপের মধ্যে অ্যারে, ফাংশন, পয়েন্টার, রেফারেন্স অন্তর্ভূক্ত।
প্রশ্ন-১৩। বিল্ট-ইন ডেটা টাইপ কত প্রতার ও কি কি?
উত্তরঃ বিল্ট-ইন ডেটা টাইপ ৪ প্রকার। যথা-
i) character date type: সি প্রোগ্রামে ক্যারেক্টার টাইপ ডেটা(অক্ষর ও বিশেষ চিহ্ন) নিয়ে কাজ করার জন্য character টাইপ ডেটা ব্যবহার করা হয়। character টাইপ ডেটার ভেরিয়েবল ঘোষণার জন্য char কীওয়ার্ড ব্যবহার করা হয়। প্রতিটি char টাইপ ডেটার ভেরিয়েবলের জন্য কম্পাইলার ১ বাইট বা ৮ বিট জায়গা সংরক্ষণ করে।
ii) integer data type: সি প্রোগ্রামে পূর্ণসংখ্যা (যেমন- ২০, ৩৪২, -৪৬৭, ৮৯০) ইত্যাদি নিয়ে কাজ করার জন্য int টাইপ ডেটা ব্যবহার করা হয়। int টাইপ ভেরিয়েবল ঘোষণার জন্য int কীওয়ার্ড ব্যবহার করা হয়। প্রতিটি int টাইপ ডেটা ভেরিয়েবলের জন্য কম্পাইলার ২ বাইট বা ১৬ বিট জায়গা সংরক্ষণ করে।
iii) floating data type: সি/সি++ প্রোগ্রামে দশমিক বা ভগ্নাংশসহ কোন সংখ্যা (যেমন- ২০.৩৪, -৪৬.৮৭, ৮৯.৭০ ইত্যাদি) নিয়ে কাজ করার জন্য float টাইপ ডেটা ব্যবহার করা হয়। float টাইপ ডেটা ভেরিয়েবল ঘোষণার জন্য float কীওয়ার্ড ব্যবহার করা হয়। প্রতিটি float টাইপ ভেরিয়েবলের জন্য কম্পাইলার ৪ বাইট বা ৩২ বিট জায়গা সংরক্ষণ করে।
iv) double data type: সি/সি++ প্রোগ্রামে দশমিক চিহ্নযুক্ত বৃহৎ মানের তথা এক্সপোনেনশিয়াল বা সায়েন্টিফিক ফরম্যাটে প্রদর্শিত সংখ্যা ( যেমন- ৬.৫*১১১০, ৪.৫*১০২২২, -৪.৫*১০১৫০ ইত্যাদি) নিয়ে কাজ করার জন্য double টাইপ ডেটা ঘোষণা করা হয়, তবে float টাইপ ডেটার চেয়ে double টাইপ ডেটার রেঞ্জ বেশি। double টাইপ ভেরিয়েবল ঘোষণার জন্য double কীওয়ার্ড ব্যবহার করা হয়। প্রতিটি double টাইপ ভেরিয়েবলের জন্য কম্পাইলার মেমরিতে ৮ বাইট বা ৬৪ বিট জায়গা সংরক্ষণ করে।
প্রশ্ন-১৪।ডেটা টাইপ মডিফায়ার(Modifier) কী?
উত্তরঃ মৌলিক ডেটা টাইপের সাথে Short, long, signed, unsigned ইত্যাদি যোগ করে ডেটার ব্যাপ্তি বা পরিসর এবং সংরক্ষণের জন্য মেমরির পরিমাণ বাড়ানো বা কমানো যায় বলে এদেরকে ডেটা টাইপ মডিফায়ার বলা হয়। যেমন- signed char, unsigned char, signed int, short int, long int ইত্যাদি।
প্রশ্ন-১৫। চলক বা ভেরিয়েবল(Variable) কী?
উত্তরঃ প্রতিবার প্রোগ্রাম নির্বাহের সময় মেমরিতে ভেরিয়েবলগুলোর অবস্থান এবং সংরক্ষিত মান পরিবর্তন হয় বা হতে পারে বলে এদেরকে ভেরিয়েবল বা চলক বলা হয়।
প্রশ্ন-১৬। ধ্রুবক(Constant) কী ও কত প্রকার কি কি?
উত্তরঃ প্রোগ্রাম নির্বাহের সময় কোন অবস্থাতেই যার মান পরিবর্তিত হয় না তাকে ধ্রুবক বলে। ধ্রুবক চার প্রকার। যথা-
ক) ইন্টিজার বা সংখ্যাসূচক ধ্রুবক
খ) ফ্লোটিং পয়েন্ট ধ্রুবক
গ) অক্ষরমালা ধ্রুবক বা ক্যারেক্টার ধ্রুবক ও
ঘ) স্ট্রিং ধ্রুবক।
ক) ইন্টিজার বা সংখ্যাসূচক ধ্রুবকঃ এ ধরণের ধ্রুবক ধনাত্বক ও ঋণাত্বক যে কোন পূর্ণসংখ্যা হতে পারে। সি ভাষাতে ইন্টিজার ধ্রুবক ডেসিমাল, অকটাল ও হেক্সাডেসিমাল এ তিন ধরণের হতে পারে। যেমন ৩০, ৬০ -৭০ ইত্যাদি।
খ) ফ্লোটিং পয়েন্ট ধ্রুবকঃ দশমিকযুক্ত অংকের সাহায্যে ফ্লোটিং পয়েন্ট ধ্রুবক তৈরি হয়। যেমন ১২.৫০।
গ) অক্ষরমালা ধ্রুবক বা ক্যারেক্টার ধ্রুবকঃ ক্যারেক্টার ধ্রুবকগুলো একটি অক্ষরের সমন্বয়ে গঠিত। এতে সাধারণত সিঙ্গেল কোটেশন ব্যবহার করা হয়ে থাকে। যেমন ‘M’, ‘P’ ইত্যাদি।
ঘ) স্ট্রিং ধ্রুবকঃ কোন অক্ষরের সমন্বয়ে গঠিত ধ্রুবককে স্ট্রিং ধ্রুবক বলা হয়। স্ট্রিং ধ্রুবক ডাবল কোটেশন ব্যবহার করা হয়। যেমন- “City College”, “Information and Communication Technology” ইত্যাদি।
প্রশ্ন-১৭। অপারেটর কী?
উত্তরঃ সি ভাষায় গাণিতিক এবং যৌক্তিক কাজ নিয়ন্ত্রণ করার জন্য যে কতগুলো বিশেষ সিম্বল ব্যবহৃত হয় সেগুলোকে অপারেটর বলা হয়।
অপারেটরের সাথে সংযুক্ত অপারেন্ড বা কনস্ট্যান্টের সংখ্যার ভিত্তিতে সি প্রোগ্রামে ব্যবহৃত অপারেটরসমূহকে দুই ভাগে ভাগ করা যায়। যথা-
ক) ইউনারি অপারেটর ও
খ) বাইনারি অপারেটর।
ক) ইউনারি অপারেটরঃ যে সকল অপারেটরের সাথে কেবল একটি করে অপারেন্ড বা কনস্ট্যান্ট সংযুক্ত থাকে তাদেরকে ইউনারি অপারেটর বলা হয়।
খ) বাইনারি অপারেটরঃ যে সকল অপারেটরের সাথে দুইটি করে অপারেন্ড বা কনস্ট্যান্ট সংযুক্ত থাকে তাদেরকে বাইনারি অপারেটর বলা হয়। আর যে ডেটা ধারণ করে তাকে অপারেন্ড বলা হয়।
প্রশ্ন-১৮। রাশিমালা(Expression) কী?
উত্তরঃ যেসব গাণিতিক অপারেশন দুই বা ততোধিক ডেটার মধ্যে যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি বিদ্যামান থাকে, সেসব রাশিকে এক্সপ্রেশন বলে। এক্সপ্রেশন তৈরী করার জন্য যে চিহ্ন ব্যবহার করা হয় তাকে অপারেটর বলে।
প্রশ্ন-১৯। Arithmetic Operator কী?
উত্তরঃ কতগুলো অপারেন্ড, ধ্রুবক ও গাণিতিক অপারেটরের মধ্যে সামঞ্জস্যপূর্ণ উপস্থাপন বা সম্পর্ককে এ্যারেথমেটিক বা গাণিতিক এক্সপ্রেশন বলা হয়।
প্রশ্ন-২০। অপারেন্ড কী?
উত্তরঃ অপারেটরের ডানে বা বামে যে চলক বা ডেটা থাকে তাকে অপারেন্ড (Operand) বলে। অপারেন্ডগুলো কোন ডেটা কিংবা ভেরিয়েবল হতে পারে। যেমন- Avg = (a+b)/2; ইহা একটি গাণিতিক এক্সপ্রেশন। এখানে Avg, a, b অপারেন্ড, ২ ধ্রুবক এবং =, +, / গাণিতিক অপারেটর।
প্রশ্ন-২১। কীওয়ার্ড(Keyword) বা সংরক্ষিত শব্দ কী?
উত্তরঃ প্রত্যেক প্রোগ্রামিং ভাষার নিজস্ব ব্যবহৃত কিছু সংরক্ষিত শব্দ থাকে , যা প্রোগ্রাম রচনার ক্ষেত্রে ব্যবহৃত হয়। এই নিজস্ব ব্যবহৃত শব্দগুলিকে সংরক্ষিত শব্দ বা Keyword বলে।
ANSI এর মান অনুযায়ী C তে সর্বমোট ৩২টি Keyword আছে।
যথা- auto, break, case, char, const, continue, defult, do, double, else, enum, extern, float, for, goto, if, return, void, union, int, short, long, struct, unsigned, static, signed, switch, volatile, register, size of, typedef, while .
ANSI C -তে সর্বমোট ৪৭টি Keyword আছে।
তবে Turbo C -তে আবার ৪৩টি Keyword আছে।
C++ এ আবার ৬৩টি Keyword আছে।
প্রশ্ন-২২। স্টেটমেন্ট কী?
উত্তরঃ প্রোগ্রামের অংশ হিসাবে যেসব Keyword প্রোগ্রামের ভিতরে ব্যবহৃত হয় সেগুলোকে স্টেটমেন্ট বলে। সি প্রোগ্রামিং ভাষার স্টেটমেন্টগুলোকে মূলত তিনটি ভাগে ভাগ করা যেতে পারে। যথা-
ক) এসাইনমেন্ট স্টেটমেন্ট(Assignment Statement)
খ) ইনপুট/আউটপুট স্টেটমেন্ট(Input/Output Statement) ও
গ) কন্ট্রোল স্টেটমেন্ট(Control Statement)
ক) এসাইনমেন্ট স্টেটমেন্টঃ ডেটাগুলোকে সরাসরি ভেরিয়েবলে নির্দিষ্ট করে দিলে তাকে এসাইনমেন্ট স্টেটমেন্ট বলা হয়।
খ) ইনপুট/আউটপুট স্টেটমেন্টঃ প্রোগ্রামিং ভাষায় ব্যবহারকারীর নিকট হতে ডেটা গ্রহণ করার পদ্ধতিকে ইনপুট নেয়া বলা হয়ে থাকে। প্রোগ্রামে ডেটা তথা ভেরিয়েবলের মান গ্রহণ করার জন্য ব্যবহৃত সেস্টমেন্টকে ইনপুট স্টেটমেন্ট বলে। ইনপুটের জন্য স্টেটমেন্টঃ scanf(), gets(), getchar() আউটপুট স্টেটমেন্টঃ ডেটা বাইরের কোন আউটপুট ডিভাইসে ( যেমন মনিটর, প্রিন্টার ইত্যাদি) দেখানোর পদ্ধতিকে আউটপুট দেয়া বলে। আর যে সকল স্টেটমেন্ট এর সাহায্যে প্রোগ্রামের ফলাফল মনিটরে প্রদর্শন বা প্রিন্ট করা হয় তাদেরকে আউটপুট স্টেটমেন্ট বলা হয়। আউটপুটের জন্য স্টেটমেন্টঃ printf(), put(), putchar()
গ) কন্ট্রোল স্টেটমেন্টঃ সি প্রোগ্রামের স্টেটমেন্টগুলো সাধারণত পর্যায়ক্রমিকভাবে নির্বাহ হয়। কিন্তু স্টেটমেন্টগুলোর পুনরাবৃত্তি অনুযায়ী নির্বাহের প্রয়োজন হলে কিছু শর্ত যুক্ত করা হয়। সেসব ক্ষেত্রে স্টেটমেন্টসমূহের নির্বাহ প্রোগ্রামার কর্তৃক নিয়ন্ত্রিত হয়। প্রোগ্রামে এরূপ স্টেটমেন্ট নির্বাহ নিয়ন্ত্রণের জন্য যে স্টেটমেন্ট ব্যবহৃত হয় তাকে কন্ট্রোল স্টেটমেন্ট বলে। কন্ট্রোল স্টেটমেন্ট ব্যবহার করে প্রোগ্রাম লিখা হলে প্রোগ্রামের আকার ছোট হয় এবং প্রোগ্রাম নির্বাহের সময় কম লাগে। স্টেটমেন্ট নিয়ন্ত্রণ যত সহজ হয় প্রোগ্রাম তত সহজ ও সুন্দর হয়।
সি প্রোগ্রামে কন্ট্রোল স্টেটমেন্টসমূহকে প্রধানত দুইভাগে ভাগ করা হয়। যথা-
ক) Conditional Control Statement. ও
খ) Loop Control Statement.
ক) কনডিশনাল কন্ট্রোল স্টেটমেন্টঃ শর্তসাপেক্ষে কোনো স্টেটমেন্ট নির্বাহের জন্য যে স্টেটমেন্ট ব্যবহৃত হয় তাকে কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট বলে। কন্ডিশনাল স্টেটমেন্টে ব্যবহৃত শর্ত সত্য হলে প্রোগ্রামে এক ধরণের ফল পাওয়া যায় আর সত্য না হলে অন্য ধরণের ফল পাওয়া যায়।
চার ধরণের কন্ডিশনাল স্টেটমেন্ট আছে।
যথা- if, if else, else if I switch স্টেটমেন্ট।
if statement এর গঠনঃ
if (condition)
{
statement1;
statement2;
}
if else statement এর গঠনঃ
if (condition)
{
statements to be executed
if conditional expression is true;
}
else{
statements to be executed
if conditional expression is false;
}
else if statement এর গঠনঃ
if (condition expression1)
{
statement1 to be executed if conditional expression1 is true;
}
else if(conditional expression2) {
statement2 to be executed if conditional expression1 is false but conditional expression2 is true;
}
খ) লুপ স্টেটমেন্টঃ কোন প্রোগ্রামে নির্দিষ্ট শর্ত সাপেক্ষে এক বা একাধিক স্টেটমেন্ট বার বার চক্রাকারে নির্বাহ করাকে লুপ বলে। প্রোগ্রামে স্টেটমেন্টসমূহ সাধারণত স্বয়ংক্রিয়ভাবে ও পর্যায়ক্রমে একবার করে সম্পাদিত হয়। কিন্তু যদি কোন স্টেটমেন্ট দুই বা ততোধিকবার সম্পাদনের প্রয়োজন হয় সেসব ক্ষেত্রে লুপ স্টেটমেন্ট ব্যবহৃত হয়।
লুপ তিন প্রকার। যথা-
ক) for লুপ
খ) while লুপ
গ) do while লুপ।
for statement এর গঠনঃ
counter declaration;
for(initialization; condition; increament/decrement);
{
statements;
}
while statement এর গঠনঃ
counter declaration;
counter initialization;/(input)
while(condition);
{
statements;
increament/decrement;
}
do while statement এর গঠনঃ
counter declaration;
counter initialization;/(input)
do
{
statements;
increament/decrement;
} while(condition);
প্রশ্ন-২৩। ফাংশন কাকে বলে?
উত্তরঃ সি/সি++ প্রোগ্রামে যখন কোন নির্দিষ্ট কাজ সম্পাদনের জন্য কতগুলো স্টেটমেন্ট কোন নামে একটি ব্লকের মধ্যে রাখা হয় তখন তাকে ফাংশন বলে। প্রতিটি সি প্রোগ্রাম এরূপ এক বা একাধিক ফাংশনের সমষ্টি। ফাংশন চেনার সহজ উপায় হচেছ ফাংশনের নামের শেষে এক জোড়া প্রথম বন্ধনী () থাকে।
সি/সি++ এ ব্যবহৃত ফাংশনসমূহকে প্রধান দুই ভাগে ভাগ করা যায়। যথা-
ক) লাইব্রেরি ফাংশন (Library Function) ও
খ) ইউজার-ডিফাইন্ড ফাংশন (User-Defined Function)
ক) লাইব্রেরি ফাংশন (Library Function): যে ফাংশন পূর্ব থেকে সি/সি++ কম্পাইলার লাইব্রেরীতে তৈরি করা থাকে এবং ফাংশন প্রোটোটাইপ বিভিন্ন হেডার ফাইলে দেয়া থাকে, তাকে লাইব্রেরি ফাংশন বলে। লাইব্রেরি ফাংশনগুলোকে বিল্ট-ইন-ফাংশনও বলা হয়। সি-তে বিভিন্ন গাণিতিক, যৌক্তিক ও অন্যান্য কার্যক্রম সম্পাদনের জন্য টার্বো সি কম্পাইলারে এরূপ অনেক লাইব্রেরী ফাংশন আছে। ডেটা গ্রহণ, ব্যবহার এবং ডেটা প্রদর্শনের জন C এর Library Function এর বর্ণনা দেওয়া হলো- Data Input: getchar( ), scanf( ), gets( ), sscanf( ), fscanf( )
Data Processing: =, if / else, for, while, do-while, switch( )
Data Output: putchar( ), puts( ), printf( ), sprintf( ), fprintf( )
খ) ইউজার-ডিফাইন্ড ফাংশন (User-Defined Function): সি প্রোগ্রামে যে ফাংশন ব্যবহারকারী কাজের প্রয়োজনে নিজ থেকে তৈরি করেন এবং প্রটোটাইপ হেডার ফাইলে দেয়া থাকে না, তাকে ইউজার-ডিফাইন্ড বা ব্যবহারকারী বর্ণিত ফাংশন বলা হয়।
প্রশ্ন-২৪। এ্যারে(Array) কাকে বলে?
উত্তরঃ পরস্পর সম্পর্কযুক্ত একই ধরণের অনেকগুলো ডেটা সাজিয়ে কম্পিউটার মেমরিতে রাখাকে কম্পিউটারের দৃষ্টিতে এ্যারে বলে। এ্যারে বা বিন্যাসে একাধিক সদস্য থাকে এবং অবস্থান অনুসারে সদস্য সনাক্ত করা হয়। এ্যারে দু প্রকার। যথাঃ-
ক) একমাত্রিক এ্যারেঃ যে এ্যারের অন্তর্ভূক্ত ডেটাগুলি একটি মাত্র কলাম বা সারি আকারে উপস্থাপন করা হয় তখন তাকে বলা হয় একমাত্রিক এ্যারে। এ ধরণের এ্যারেতে ডেটার মাত্রা একটি থাকে। তাই এ ধরণের এ্যারেকে একমাত্রিক এ্যারে বলে। সি ভাষায় [ ] স্টেটমেন্ট ব্যবহার করে কোন অ্যারে ঘোষণা করা হয়। একমাত্রিক এ্যারে ঘোষণার সাধারণ ফরমেট হলো- DataType_ArrayName_[ArraySize];
খ) দ্বিমাত্রিক এ্যারেঃ যে এ্যারের অন্তর্ভূক্ত ডেটাগুলো একই সংগে সারি ও কলাম আকারে উপস্থাপন করা হয় এবং দুইটি সাবস্ক্রীপ্ট দ্বারা প্রকাশিত হয় তবে সেই এ্যারেকে দ্বিমাত্রিক এ্যারে বলা হয়। সি ভাষায় দ্বিমাত্রিক এ্যারে ঘোষণার সাধারণ ফরমেট হলো- DataType_ArrayName_[RowSize][ColumnSize];
প্রশ্ন-২৫। ফরমেট স্পেসিফায়ার কী?
উত্তরঃ ফরমেট স্পেসিফায়ার হলো প্রোগ্রামে কী ধরণের ডেটা ইনপুট করা হবে তা নির্দেশ করা । scanf() ও printf() ফাংশনের ক্ষেত্রে একই ধরণের অক্ষর দিয়ে প্রকাশ করা হয়।
প্রশ্ন-২৬। টোকেন(Token) কী?
উত্তরঃ টোকেন বলতে সাধারণত সিম্বল বা প্রতীককেই বুঝায়। সি প্রোগ্রামের বিভিন্ন স্টেটমেন্ট ব্যবহৃত ওয়ার্ড এবং ক্যারেক্টারসমূহকে সম্মিলিতভাবে টোকেন বলা হয়, যা একক বা সম্মিলিতভাবে বিভিন্ন কাজ সম্পাদন করে।
অনলাইন এ ক্লাস করুন একদম ফ্রী. …
প্রতিদিন রাত ৯টা থেকে ১০.৩০টা পর্যন্ত
Skype id - wschoolbd
বি.দ্র.: ওয়েব স্কুল বিডি থেকে বিদেশে পড়াশোনা সংক্রান্ত বিভিন্ন পরামর্শ প্রদান করার উদ্যোগ নেওয়া হয়েছে। আমাদের সাথে যোগাযোগ – 01571769905 (সকাল ১১ টা থেকে দুপুর ১ টা পর্যন্ত)।
অনলাইন এক্সামের বিভাগসমূহ:
জে.এস.সি
এস.এস.সি
এইচ.এস.সি
সকল শ্রেণির সৃজনশীল প্রশ্ন
বিশ্ববিদ্যালয় ভর্তি
বিসিএস প্রিলি টেষ্ট
একাদশ ও দ্বাদশ শ্রেণী : তথ্য ও যোগাযোগ প্রযুক্তি
অধ্যায় পঞ্চম : প্রোগামিং ভাষা
জ্ঞানমূলক প্রশ্ন
প্রশ্ন-১। প্রোগ্রাম কী?
উত্তরঃ কম্পিউটারের মাধ্যমে কোন নির্দিষ্ট সমস্যা-সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে লিখিত নির্দেশাবলীর সমষ্টিকে প্রোগ্রাম বলে। A program is a sequence of instructions of sets in solving problems use computer.
প্রশ্ন-২। প্রোগ্রামিং ভাষা কী?
উত্তরঃ কম্পিউটারের মাধ্যমে কোন নির্দিষ্ট সমস্যা-সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে লিখিত প্রোগ্রামের সংকেত বা কোডকে প্রোগ্রামিং ভাষা বলে। বিভিন্ন ধরণের প্রোগ্রামিং ভাষার মধ্যে- C, C++, Visual BASIC, Java, Oracle, Pascal, COBOL, FORTRAN, ALGOL, Python, Prolog ইত্যাদি উল্লেখযোগ্য।
প্রশ্ন-৩। মেশিন ল্যাঙ্গুয়েজ কী?
উত্তরঃ কম্পিউটার যন্ত্রটি সরাসরি যে ভাষা বুঝতে পারে সেই ভাষাই হচ্ছে মেশিন ভাষা বা যান্ত্রিক ভাষা। অর্থাৎ বাইনারি সংখ্যা (০ ও ১) ব্যবহার করে যে প্রোগ্রাম লেখা হয় তাকে মেশিন ভাষা বলে। যে ভাষায় প্রোগ্রাম লেখা হোক না কেন শেষ পর্যন্ত তা কম্পিউটারের বোধগম্য মেশিন ভাষায়(০ ও ১) রূপান্তরিত করতে হয়।
প্রশ্ন-৪। অ্যাসেম্বলি ল্যাঙ্গুয়েজ কী?
উত্তরঃ কোন শব্দের সংক্ষিপ্ত রূপ বা সাংকেতিক চিহ্নের মাধ্যমে যে প্রোগ্রাম রচনা করা হয় তাকে অ্যাসেম্বলি ভাষা বলে। ইহাকে নেমোনিক কোডও বলে। এটি মূলত মেশিন ল্যাঙ্গুয়েজকে সংক্ষেপ করার পদ্ধতি। এ সংকেতের সাহায্যে কোন বড় সংখ্যা বা কথাকে মনে রাখতে সুবিধা হয়। যেমন যোগের জন্য Addition থেকে Add, বিয়োগের জন্য Substruction থেকে Sub, গুণের জন্য Multiplication থেকে Mul ইত্যাদি। ১৯৫০ সালে অ্যাসেম্বলি ল্যাঙ্গুয়েজের প্রচলন শুরু হয়।
প্রশ্ন-৫। মিড লেভেল ল্যাঙ্গুয়েজ বা মধ্যম স্তরের ভাষা কী?
উত্তরঃ যে ভাষা নিম্নস্তরের ভাষা ও উচ্চস্তরের ভাষার মধ্যে সমন্বয় সাধন করা যায়, তাকে মধ্যম স্তরের ভাষা বলা হয়।
প্রশ্ন-৬। সি কে মধ্যম স্তরের ভাষা বলা হয় কেন?
উত্তরঃ সি ভাষায় মাধ্যমে নিম্নস্তরের ভাষা অ্যাসেম্বলি এবং উচ্চতর ভাষার প্রোগ্রামিং কৌশলের সমন্বয় সাধন করা যায় বলে সি-কে মধ্যস্তরের ভাষা বলা হয়। সি ভাষাকে কম্পিউটার ভাষার জনক বলা হয়ে থাকে। C, Java ইত্যাদিকে মধ্যম স্তরের ভাষা বলা হয়।
প্রশ্ন-৭। উচ্চস্তরের ভাষা কী?
উত্তরঃ কম্পিউটারকে সর্বজন ব্যবহার উপযোগী করে তুলতে ইংরেজী ভাষা ব্যবহার করে যে প্রোগ্রাম তৈরি করা হয় তাকে উচ্চস্তরের ভাষা বলে। অর্থাৎ মানুষের কাছাকাছি ভাষাই হচেছ হাই লেভেল ভাষা। হাই লেভেল ভাষা মানুষ দ্রুত লিখতে, বুঝতে ও মনে রাখতে পারে। বহুল ব্যবহৃত উচ্চস্তরের ভাষা হচেছ C, C++, BASIC, PASCAL, COBOL, FORTRAN, ORACLE, JAVA ইত্যাদি। উচ্চস্তরের ভাষাকে মেশিন ভাষায় পরিণত করতে দু ধরণের অনুবাদক প্রোগ্রাম ব্যবহৃত হয়। কম্পাইলার ও ইন্টারপ্রেটার।
প্রশ্ন-৮। অনুবাদক প্রোগ্রাম কী?
উত্তরঃ যে প্রোগ্রাম কম্পিউটারের উৎস (Source) প্রোগ্রামকে বস্তু (Object) প্রোগ্রামে পরিণত করে তাকে অনুবাদক প্রোগ্রাম বলে। অথবা অন্যভাবে বলা যায়- বিভিন্ন ভাষার লিখিত প্রোগ্রামকে মেশিন ভাষায়( ০ ও ১) অনুবাদের জন্য যে প্রোগ্রাম ব্যবহার করা হয় তাকে অনুবাদক প্রোগ্রাম বলে। কম্পিউটার বাইনারী সংখ্যা ০ ও ১ ছাড়া অন্য কোন ভাষা সরাসরি বুঝতে পারে না। তাই অন্যান্য ভাষাগুলোকে মেশিন ভাষায় পরিবর্তন করতে হয়।
অনুবাদক প্রোগ্রাম তিন প্রকারঃ-
i) অ্যাসেম্বলার(Assembler)
ii) ইন্টারপ্রেটার(Interpreter)
iii) কম্পাইলার(Compiler)
i) অ্যাসেম্বলার(Assembler): যে অনুবাদক প্রোগ্রাম Assembly ভাষায় লিখিত নেমোনিক কোডকে মেশিন ভাষায় অনুবাদ করে তাকে অ্যাসেম্বলার বলে।। এটি অ্যাসেম্বলি ভাষার প্রতিটি নির্দেশকে মেশিন ভাষার প্রতিটি নির্দেশে পরিণত করে।
ii) ইন্টারপ্রেটার(Interpreter): যে অনুবাদক প্রোগ্রাম উচ্চস্তরের ভাষার উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে অনুবাদ করে এবং ইহা এক লাইন এক লাইন করে পড়ে এবং অনুবাদ করে তাকে ইন্টারপ্রেটার বলে। এতে প্রোগ্রামের ভুল সংশোধন বা পরিবর্তন করা সহজতর হয়। তবে ইন্টারপ্রেটার ধীর গতি সম্পন্ন। ইন্টারপ্রেটার প্রোগ্রাম আকারে ছোট বলে এর ব্যবহারে মেমরি জায়গা কম লাগে। যেমন-Qbasic, GWbasic ইত্যাদি।
iii) কম্পাইলার(Compiler): যে অনুবাদক প্রোগ্রাম উচ্চস্তরের ভাষার উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে অনুবাদ করে এবং ইহা সম্পূর্ণ প্রোগ্রামকে একসাথে পড়ে এবং অনুবাদ করে তাকে কম্পাইলার বলে। কম্পাইলার প্রোগ্রাম আকারে বড় বলে এর ব্যবহারে মেমরি জায়গা বেশি লাগে। কম্পাইলার দ্রুত গতি সম্পন্ন। কম্পাইলার উচ্চতর ভাষায় লিখিত প্রোগ্রামকে সম্পূর্ণরূপে মেশিন ভাষায় রূপান্তর করে। যেমন- C, C++, BASIC, PASCAL, FORTRAN, JAVA ইত্যাদি।
প্রশ্ন-৯। অ্যালগোরিদম কী?
উত্তরঃ An Algorithm is a step by step procedure for solving a problem. অ্যালগোরিদম হচ্ছে কোন সমস্যা সমাধানের জন্য প্রোগ্রাম রচনা ও নির্বাহের ক্ষেত্রে শুরু থেকে শেষ পর্যন্ত ধাপগুলো পর্যায়ক্রমিকভাবে লিপিবদ্ধ বা সম্পন্ন করা। অ্যালগরিদম শব্দটি মুসলিম গণিতবিদ ‘আল খারিজমী’র নাম থেকে উৎপত্তি।
প্রশ্ন-১০। প্রবাহ চিত্র (Flow chart) কী?
উত্তরঃ ফ্লোচার্ট হচ্ছে কোন সমস্যা সমাধানের জন্য প্রোগ্রাম রচনা ও নির্বাহের ক্ষেত্রে শুরু থেকে শেষ পর্যন্ত ধাপগুলো পর্যায়ক্রমিকভাবে চিত্রের মাধ্যমে লিপিবদ্ধ বা সম্পন্ন করা।
প্রশ্ন-১১। সুডোকোড(Pseudo Code) কী?
উত্তরঃ সুডো(Pseudo) একটি গ্রীক শব্দ। সুডো শব্দের অর্থ হচ্ছে ছদ্ম বা যা সত্য নয়। প্রোগ্রামের ধরণ ও কার্যাবলী সম্বলিত কিছু সংখ্যক নির্দেশ বা স্টেটমেন্টের সমাহারকে বলা হয় সুডোকোড।
প্রশ্ন-১২। ডেটা টাইপ কী?
উত্তরঃ যে সকল বিশৃঙ্খল ঘটনা বা ফ্যাক্ট প্রক্রিয়াকরণের জন্য সংগ্রহ করা হয় তাকে বলা হয় ডেটা টাইপ বা উপাত্তের ধরন। অথবা ডেটার ধরনকে ডেটা টাইপ বলা হয়।
সি প্রোগ্রামে ডেটা টাইপ প্রধানত ৩ প্রকার। যথা-
ক) ইউজার ডিফাইন্ড বা কাস্টম ডেটা টাইপঃ সি প্রোগ্রামিং-এ প্রয়োজন বা ইচ্ছানুযায়ী নিজস্ব ডেটা টাইপ তৈরি করা যায়। এরূপ ডেটা টাইপকে ইউজার ডিফাইন্ড বা কাস্টম ডেটা টাইপ বলা হয়।
খ) বিল্ট-ইন ডেটা টাইপঃ যে ডেটা প্রোগ্রামে পূর্ব থেকে তৈরি করা থাকে এবং ডেটার ধরন এবং মেমরি পরিসর সংরক্ষণের ভিত্তিতে সি প্রোগ্রামে ব্যবহৃত হয় তাকে বিল্ট ইন ডেটা টাইপ বলা হয়। এ ডেটা কোনরূপ পরিবর্তন করা যায় না। এ ডেটা টাইপকে প্রধানত চারটি ভাগে ভাগ করা হয়। যথা- character, integer, floating, double এদেরকে বেসিক বা মৌলিক ডেটা টাইপও বলা হয়।
গ) ডিরাইভড ডেটা টাইপঃ ডেটা টাইপ ডিফাইন করার সময় যা ব্যবহার করা হয় তাকে ডিরাইভড ডেটা টাইপ বা বেস(base) টাইপ বলে। ডিরাইভড ডেটা টাইপে অ্যাট্রিবিউট বা মিশ্র উপাদান থাকতে পারে। ডিরাইভড ডেটা টাইপের মধ্যে অ্যারে, ফাংশন, পয়েন্টার, রেফারেন্স অন্তর্ভূক্ত।
প্রশ্ন-১৩। বিল্ট-ইন ডেটা টাইপ কত প্রতার ও কি কি?
উত্তরঃ বিল্ট-ইন ডেটা টাইপ ৪ প্রকার। যথা-
i) character date type: সি প্রোগ্রামে ক্যারেক্টার টাইপ ডেটা(অক্ষর ও বিশেষ চিহ্ন) নিয়ে কাজ করার জন্য character টাইপ ডেটা ব্যবহার করা হয়। character টাইপ ডেটার ভেরিয়েবল ঘোষণার জন্য char কীওয়ার্ড ব্যবহার করা হয়। প্রতিটি char টাইপ ডেটার ভেরিয়েবলের জন্য কম্পাইলার ১ বাইট বা ৮ বিট জায়গা সংরক্ষণ করে।
ii) integer data type: সি প্রোগ্রামে পূর্ণসংখ্যা (যেমন- ২০, ৩৪২, -৪৬৭, ৮৯০) ইত্যাদি নিয়ে কাজ করার জন্য int টাইপ ডেটা ব্যবহার করা হয়। int টাইপ ভেরিয়েবল ঘোষণার জন্য int কীওয়ার্ড ব্যবহার করা হয়। প্রতিটি int টাইপ ডেটা ভেরিয়েবলের জন্য কম্পাইলার ২ বাইট বা ১৬ বিট জায়গা সংরক্ষণ করে।
iii) floating data type: সি/সি++ প্রোগ্রামে দশমিক বা ভগ্নাংশসহ কোন সংখ্যা (যেমন- ২০.৩৪, -৪৬.৮৭, ৮৯.৭০ ইত্যাদি) নিয়ে কাজ করার জন্য float টাইপ ডেটা ব্যবহার করা হয়। float টাইপ ডেটা ভেরিয়েবল ঘোষণার জন্য float কীওয়ার্ড ব্যবহার করা হয়। প্রতিটি float টাইপ ভেরিয়েবলের জন্য কম্পাইলার ৪ বাইট বা ৩২ বিট জায়গা সংরক্ষণ করে।
iv) double data type: সি/সি++ প্রোগ্রামে দশমিক চিহ্নযুক্ত বৃহৎ মানের তথা এক্সপোনেনশিয়াল বা সায়েন্টিফিক ফরম্যাটে প্রদর্শিত সংখ্যা ( যেমন- ৬.৫*১১১০, ৪.৫*১০২২২, -৪.৫*১০১৫০ ইত্যাদি) নিয়ে কাজ করার জন্য double টাইপ ডেটা ঘোষণা করা হয়, তবে float টাইপ ডেটার চেয়ে double টাইপ ডেটার রেঞ্জ বেশি। double টাইপ ভেরিয়েবল ঘোষণার জন্য double কীওয়ার্ড ব্যবহার করা হয়। প্রতিটি double টাইপ ভেরিয়েবলের জন্য কম্পাইলার মেমরিতে ৮ বাইট বা ৬৪ বিট জায়গা সংরক্ষণ করে।
প্রশ্ন-১৪।ডেটা টাইপ মডিফায়ার(Modifier) কী?
উত্তরঃ মৌলিক ডেটা টাইপের সাথে Short, long, signed, unsigned ইত্যাদি যোগ করে ডেটার ব্যাপ্তি বা পরিসর এবং সংরক্ষণের জন্য মেমরির পরিমাণ বাড়ানো বা কমানো যায় বলে এদেরকে ডেটা টাইপ মডিফায়ার বলা হয়। যেমন- signed char, unsigned char, signed int, short int, long int ইত্যাদি।
প্রশ্ন-১৫। চলক বা ভেরিয়েবল(Variable) কী?
উত্তরঃ প্রতিবার প্রোগ্রাম নির্বাহের সময় মেমরিতে ভেরিয়েবলগুলোর অবস্থান এবং সংরক্ষিত মান পরিবর্তন হয় বা হতে পারে বলে এদেরকে ভেরিয়েবল বা চলক বলা হয়।
প্রশ্ন-১৬। ধ্রুবক(Constant) কী ও কত প্রকার কি কি?
উত্তরঃ প্রোগ্রাম নির্বাহের সময় কোন অবস্থাতেই যার মান পরিবর্তিত হয় না তাকে ধ্রুবক বলে। ধ্রুবক চার প্রকার। যথা-
ক) ইন্টিজার বা সংখ্যাসূচক ধ্রুবক
খ) ফ্লোটিং পয়েন্ট ধ্রুবক
গ) অক্ষরমালা ধ্রুবক বা ক্যারেক্টার ধ্রুবক ও
ঘ) স্ট্রিং ধ্রুবক।
ক) ইন্টিজার বা সংখ্যাসূচক ধ্রুবকঃ এ ধরণের ধ্রুবক ধনাত্বক ও ঋণাত্বক যে কোন পূর্ণসংখ্যা হতে পারে। সি ভাষাতে ইন্টিজার ধ্রুবক ডেসিমাল, অকটাল ও হেক্সাডেসিমাল এ তিন ধরণের হতে পারে। যেমন ৩০, ৬০ -৭০ ইত্যাদি।
খ) ফ্লোটিং পয়েন্ট ধ্রুবকঃ দশমিকযুক্ত অংকের সাহায্যে ফ্লোটিং পয়েন্ট ধ্রুবক তৈরি হয়। যেমন ১২.৫০।
গ) অক্ষরমালা ধ্রুবক বা ক্যারেক্টার ধ্রুবকঃ ক্যারেক্টার ধ্রুবকগুলো একটি অক্ষরের সমন্বয়ে গঠিত। এতে সাধারণত সিঙ্গেল কোটেশন ব্যবহার করা হয়ে থাকে। যেমন ‘M’, ‘P’ ইত্যাদি।
ঘ) স্ট্রিং ধ্রুবকঃ কোন অক্ষরের সমন্বয়ে গঠিত ধ্রুবককে স্ট্রিং ধ্রুবক বলা হয়। স্ট্রিং ধ্রুবক ডাবল কোটেশন ব্যবহার করা হয়। যেমন- “City College”, “Information and Communication Technology” ইত্যাদি।
প্রশ্ন-১৭। অপারেটর কী?
উত্তরঃ সি ভাষায় গাণিতিক এবং যৌক্তিক কাজ নিয়ন্ত্রণ করার জন্য যে কতগুলো বিশেষ সিম্বল ব্যবহৃত হয় সেগুলোকে অপারেটর বলা হয়।
অপারেটরের সাথে সংযুক্ত অপারেন্ড বা কনস্ট্যান্টের সংখ্যার ভিত্তিতে সি প্রোগ্রামে ব্যবহৃত অপারেটরসমূহকে দুই ভাগে ভাগ করা যায়। যথা-
ক) ইউনারি অপারেটর ও
খ) বাইনারি অপারেটর।
ক) ইউনারি অপারেটরঃ যে সকল অপারেটরের সাথে কেবল একটি করে অপারেন্ড বা কনস্ট্যান্ট সংযুক্ত থাকে তাদেরকে ইউনারি অপারেটর বলা হয়।
খ) বাইনারি অপারেটরঃ যে সকল অপারেটরের সাথে দুইটি করে অপারেন্ড বা কনস্ট্যান্ট সংযুক্ত থাকে তাদেরকে বাইনারি অপারেটর বলা হয়। আর যে ডেটা ধারণ করে তাকে অপারেন্ড বলা হয়।
প্রশ্ন-১৮। রাশিমালা(Expression) কী?
উত্তরঃ যেসব গাণিতিক অপারেশন দুই বা ততোধিক ডেটার মধ্যে যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি বিদ্যামান থাকে, সেসব রাশিকে এক্সপ্রেশন বলে। এক্সপ্রেশন তৈরী করার জন্য যে চিহ্ন ব্যবহার করা হয় তাকে অপারেটর বলে।
প্রশ্ন-১৯। Arithmetic Operator কী?
উত্তরঃ কতগুলো অপারেন্ড, ধ্রুবক ও গাণিতিক অপারেটরের মধ্যে সামঞ্জস্যপূর্ণ উপস্থাপন বা সম্পর্ককে এ্যারেথমেটিক বা গাণিতিক এক্সপ্রেশন বলা হয়।
প্রশ্ন-২০। অপারেন্ড কী?
উত্তরঃ অপারেটরের ডানে বা বামে যে চলক বা ডেটা থাকে তাকে অপারেন্ড (Operand) বলে। অপারেন্ডগুলো কোন ডেটা কিংবা ভেরিয়েবল হতে পারে। যেমন- Avg = (a+b)/2; ইহা একটি গাণিতিক এক্সপ্রেশন। এখানে Avg, a, b অপারেন্ড, ২ ধ্রুবক এবং =, +, / গাণিতিক অপারেটর।
প্রশ্ন-২১। কীওয়ার্ড(Keyword) বা সংরক্ষিত শব্দ কী?
উত্তরঃ প্রত্যেক প্রোগ্রামিং ভাষার নিজস্ব ব্যবহৃত কিছু সংরক্ষিত শব্দ থাকে , যা প্রোগ্রাম রচনার ক্ষেত্রে ব্যবহৃত হয়। এই নিজস্ব ব্যবহৃত শব্দগুলিকে সংরক্ষিত শব্দ বা Keyword বলে।
ANSI এর মান অনুযায়ী C তে সর্বমোট ৩২টি Keyword আছে।
যথা- auto, break, case, char, const, continue, defult, do, double, else, enum, extern, float, for, goto, if, return, void, union, int, short, long, struct, unsigned, static, signed, switch, volatile, register, size of, typedef, while .
ANSI C -তে সর্বমোট ৪৭টি Keyword আছে।
তবে Turbo C -তে আবার ৪৩টি Keyword আছে।
C++ এ আবার ৬৩টি Keyword আছে।
প্রশ্ন-২২। স্টেটমেন্ট কী?
উত্তরঃ প্রোগ্রামের অংশ হিসাবে যেসব Keyword প্রোগ্রামের ভিতরে ব্যবহৃত হয় সেগুলোকে স্টেটমেন্ট বলে। সি প্রোগ্রামিং ভাষার স্টেটমেন্টগুলোকে মূলত তিনটি ভাগে ভাগ করা যেতে পারে। যথা-
ক) এসাইনমেন্ট স্টেটমেন্ট(Assignment Statement)
খ) ইনপুট/আউটপুট স্টেটমেন্ট(Input/Output Statement) ও
গ) কন্ট্রোল স্টেটমেন্ট(Control Statement)
ক) এসাইনমেন্ট স্টেটমেন্টঃ ডেটাগুলোকে সরাসরি ভেরিয়েবলে নির্দিষ্ট করে দিলে তাকে এসাইনমেন্ট স্টেটমেন্ট বলা হয়।
খ) ইনপুট/আউটপুট স্টেটমেন্টঃ প্রোগ্রামিং ভাষায় ব্যবহারকারীর নিকট হতে ডেটা গ্রহণ করার পদ্ধতিকে ইনপুট নেয়া বলা হয়ে থাকে। প্রোগ্রামে ডেটা তথা ভেরিয়েবলের মান গ্রহণ করার জন্য ব্যবহৃত সেস্টমেন্টকে ইনপুট স্টেটমেন্ট বলে। ইনপুটের জন্য স্টেটমেন্টঃ scanf(), gets(), getchar() আউটপুট স্টেটমেন্টঃ ডেটা বাইরের কোন আউটপুট ডিভাইসে ( যেমন মনিটর, প্রিন্টার ইত্যাদি) দেখানোর পদ্ধতিকে আউটপুট দেয়া বলে। আর যে সকল স্টেটমেন্ট এর সাহায্যে প্রোগ্রামের ফলাফল মনিটরে প্রদর্শন বা প্রিন্ট করা হয় তাদেরকে আউটপুট স্টেটমেন্ট বলা হয়। আউটপুটের জন্য স্টেটমেন্টঃ printf(), put(), putchar()
গ) কন্ট্রোল স্টেটমেন্টঃ সি প্রোগ্রামের স্টেটমেন্টগুলো সাধারণত পর্যায়ক্রমিকভাবে নির্বাহ হয়। কিন্তু স্টেটমেন্টগুলোর পুনরাবৃত্তি অনুযায়ী নির্বাহের প্রয়োজন হলে কিছু শর্ত যুক্ত করা হয়। সেসব ক্ষেত্রে স্টেটমেন্টসমূহের নির্বাহ প্রোগ্রামার কর্তৃক নিয়ন্ত্রিত হয়। প্রোগ্রামে এরূপ স্টেটমেন্ট নির্বাহ নিয়ন্ত্রণের জন্য যে স্টেটমেন্ট ব্যবহৃত হয় তাকে কন্ট্রোল স্টেটমেন্ট বলে। কন্ট্রোল স্টেটমেন্ট ব্যবহার করে প্রোগ্রাম লিখা হলে প্রোগ্রামের আকার ছোট হয় এবং প্রোগ্রাম নির্বাহের সময় কম লাগে। স্টেটমেন্ট নিয়ন্ত্রণ যত সহজ হয় প্রোগ্রাম তত সহজ ও সুন্দর হয়।
সি প্রোগ্রামে কন্ট্রোল স্টেটমেন্টসমূহকে প্রধানত দুইভাগে ভাগ করা হয়। যথা-
ক) Conditional Control Statement. ও
খ) Loop Control Statement.
ক) কনডিশনাল কন্ট্রোল স্টেটমেন্টঃ শর্তসাপেক্ষে কোনো স্টেটমেন্ট নির্বাহের জন্য যে স্টেটমেন্ট ব্যবহৃত হয় তাকে কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট বলে। কন্ডিশনাল স্টেটমেন্টে ব্যবহৃত শর্ত সত্য হলে প্রোগ্রামে এক ধরণের ফল পাওয়া যায় আর সত্য না হলে অন্য ধরণের ফল পাওয়া যায়।
চার ধরণের কন্ডিশনাল স্টেটমেন্ট আছে।
যথা- if, if else, else if I switch স্টেটমেন্ট।
if statement এর গঠনঃ
if (condition)
{
statement1;
statement2;
}
if else statement এর গঠনঃ
if (condition)
{
statements to be executed
if conditional expression is true;
}
else{
statements to be executed
if conditional expression is false;
}
else if statement এর গঠনঃ
if (condition expression1)
{
statement1 to be executed if conditional expression1 is true;
}
else if(conditional expression2) {
statement2 to be executed if conditional expression1 is false but conditional expression2 is true;
}
খ) লুপ স্টেটমেন্টঃ কোন প্রোগ্রামে নির্দিষ্ট শর্ত সাপেক্ষে এক বা একাধিক স্টেটমেন্ট বার বার চক্রাকারে নির্বাহ করাকে লুপ বলে। প্রোগ্রামে স্টেটমেন্টসমূহ সাধারণত স্বয়ংক্রিয়ভাবে ও পর্যায়ক্রমে একবার করে সম্পাদিত হয়। কিন্তু যদি কোন স্টেটমেন্ট দুই বা ততোধিকবার সম্পাদনের প্রয়োজন হয় সেসব ক্ষেত্রে লুপ স্টেটমেন্ট ব্যবহৃত হয়।
লুপ তিন প্রকার। যথা-
ক) for লুপ
খ) while লুপ
গ) do while লুপ।
for statement এর গঠনঃ
counter declaration;
for(initialization; condition; increament/decrement);
{
statements;
}
while statement এর গঠনঃ
counter declaration;
counter initialization;/(input)
while(condition);
{
statements;
increament/decrement;
}
do while statement এর গঠনঃ
counter declaration;
counter initialization;/(input)
do
{
statements;
increament/decrement;
} while(condition);
প্রশ্ন-২৩। ফাংশন কাকে বলে?
উত্তরঃ সি/সি++ প্রোগ্রামে যখন কোন নির্দিষ্ট কাজ সম্পাদনের জন্য কতগুলো স্টেটমেন্ট কোন নামে একটি ব্লকের মধ্যে রাখা হয় তখন তাকে ফাংশন বলে। প্রতিটি সি প্রোগ্রাম এরূপ এক বা একাধিক ফাংশনের সমষ্টি। ফাংশন চেনার সহজ উপায় হচেছ ফাংশনের নামের শেষে এক জোড়া প্রথম বন্ধনী () থাকে।
সি/সি++ এ ব্যবহৃত ফাংশনসমূহকে প্রধান দুই ভাগে ভাগ করা যায়। যথা-
ক) লাইব্রেরি ফাংশন (Library Function) ও
খ) ইউজার-ডিফাইন্ড ফাংশন (User-Defined Function)
ক) লাইব্রেরি ফাংশন (Library Function): যে ফাংশন পূর্ব থেকে সি/সি++ কম্পাইলার লাইব্রেরীতে তৈরি করা থাকে এবং ফাংশন প্রোটোটাইপ বিভিন্ন হেডার ফাইলে দেয়া থাকে, তাকে লাইব্রেরি ফাংশন বলে। লাইব্রেরি ফাংশনগুলোকে বিল্ট-ইন-ফাংশনও বলা হয়। সি-তে বিভিন্ন গাণিতিক, যৌক্তিক ও অন্যান্য কার্যক্রম সম্পাদনের জন্য টার্বো সি কম্পাইলারে এরূপ অনেক লাইব্রেরী ফাংশন আছে। ডেটা গ্রহণ, ব্যবহার এবং ডেটা প্রদর্শনের জন C এর Library Function এর বর্ণনা দেওয়া হলো- Data Input: getchar( ), scanf( ), gets( ), sscanf( ), fscanf( )
Data Processing: =, if / else, for, while, do-while, switch( )
Data Output: putchar( ), puts( ), printf( ), sprintf( ), fprintf( )
খ) ইউজার-ডিফাইন্ড ফাংশন (User-Defined Function): সি প্রোগ্রামে যে ফাংশন ব্যবহারকারী কাজের প্রয়োজনে নিজ থেকে তৈরি করেন এবং প্রটোটাইপ হেডার ফাইলে দেয়া থাকে না, তাকে ইউজার-ডিফাইন্ড বা ব্যবহারকারী বর্ণিত ফাংশন বলা হয়।
প্রশ্ন-২৪। এ্যারে(Array) কাকে বলে?
উত্তরঃ পরস্পর সম্পর্কযুক্ত একই ধরণের অনেকগুলো ডেটা সাজিয়ে কম্পিউটার মেমরিতে রাখাকে কম্পিউটারের দৃষ্টিতে এ্যারে বলে। এ্যারে বা বিন্যাসে একাধিক সদস্য থাকে এবং অবস্থান অনুসারে সদস্য সনাক্ত করা হয়। এ্যারে দু প্রকার। যথাঃ-
ক) একমাত্রিক এ্যারেঃ যে এ্যারের অন্তর্ভূক্ত ডেটাগুলি একটি মাত্র কলাম বা সারি আকারে উপস্থাপন করা হয় তখন তাকে বলা হয় একমাত্রিক এ্যারে। এ ধরণের এ্যারেতে ডেটার মাত্রা একটি থাকে। তাই এ ধরণের এ্যারেকে একমাত্রিক এ্যারে বলে। সি ভাষায় [ ] স্টেটমেন্ট ব্যবহার করে কোন অ্যারে ঘোষণা করা হয়। একমাত্রিক এ্যারে ঘোষণার সাধারণ ফরমেট হলো- DataType_ArrayName_[ArraySize];
খ) দ্বিমাত্রিক এ্যারেঃ যে এ্যারের অন্তর্ভূক্ত ডেটাগুলো একই সংগে সারি ও কলাম আকারে উপস্থাপন করা হয় এবং দুইটি সাবস্ক্রীপ্ট দ্বারা প্রকাশিত হয় তবে সেই এ্যারেকে দ্বিমাত্রিক এ্যারে বলা হয়। সি ভাষায় দ্বিমাত্রিক এ্যারে ঘোষণার সাধারণ ফরমেট হলো- DataType_ArrayName_[RowSize][ColumnSize];
প্রশ্ন-২৫। ফরমেট স্পেসিফায়ার কী?
উত্তরঃ ফরমেট স্পেসিফায়ার হলো প্রোগ্রামে কী ধরণের ডেটা ইনপুট করা হবে তা নির্দেশ করা । scanf() ও printf() ফাংশনের ক্ষেত্রে একই ধরণের অক্ষর দিয়ে প্রকাশ করা হয়।
প্রশ্ন-২৬। টোকেন(Token) কী?
উত্তরঃ টোকেন বলতে সাধারণত সিম্বল বা প্রতীককেই বুঝায়। সি প্রোগ্রামের বিভিন্ন স্টেটমেন্ট ব্যবহৃত ওয়ার্ড এবং ক্যারেক্টারসমূহকে সম্মিলিতভাবে টোকেন বলা হয়, যা একক বা সম্মিলিতভাবে বিভিন্ন কাজ সম্পাদন করে।
অনলাইন এ ক্লাস করুন একদম ফ্রী. …
প্রতিদিন রাত ৯টা থেকে ১০.৩০টা পর্যন্ত
Skype id - wschoolbd
বি.দ্র.: ওয়েব স্কুল বিডি থেকে বিদেশে পড়াশোনা সংক্রান্ত বিভিন্ন পরামর্শ প্রদান করার উদ্যোগ নেওয়া হয়েছে। আমাদের সাথে যোগাযোগ – 01571769905 (সকাল ১১ টা থেকে দুপুর ১ টা পর্যন্ত)।
Tags
HSC ICT