পঞ্চম অধ্যায় লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান
পঞ্চম অধ্যায় লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান
'সি' প্রোগ্রামিং ভাষার Escape Sequence ও Keywords সম্পর্কে লেখ
Escape Sequence: সি প্রোগ্রামিং এ কিছু Backslash Character ব্যবহার করা হয় যা আউটপুট ফাংশন হিসেবে কাজ করে। সাধারণত Backslash(\) দেওয়ার পরে একটি ক্যারেক্টার ব্যবহার করা হয়। নিচে Escape Sequence এর লিস্ট দেওয়া হলো:
কিওয়ার্ড(Keywords): কিওয়ার্ড হলো একটি প্রোগ্রামিং ভাষার পূর্ব-নির্ধারিত বা সংরক্ষিত কিছু শব্দ। প্রতিটি কিওয়ার্ড প্রোগ্রামে একটি নির্দিস্ট কাজ সম্পাদন করে থাকে। যেহেতু কিওয়ার্ডগুলো কম্পাইলারের কাছে পরিচিত তাই তাদেরকে চলকের নাম হিসেবে ব্যবহার করা যায় না। কিওয়ার্ড সবসময় ছোট হাতের অক্ষরে লেখা হয়। ‘সি’ ভাষা ৩২টি কিওয়ার্ড সাপোর্ট করে যা নিচে দেওয়া হলো:
এন্ড্রয়েড ফোনে সি প্রোগ্রামিং লেখা ও আউটপুট দেখার অ্যাপ
CppDroid - C/C++ IDE
CppDroid সহজ সি / সি ++ আইডিই প্রোগ্রামিং ভাষার এবং লাইব্রেরী শেখার উপর দৃষ্টি নিবদ্ধ করা।
এই বৈশিষ্ট্য:
* কোড সম্পূর্ণ হয়েছে *
* রিয়েল টাইম ডায়গনিস্টিক (সাবধানতা এবং ত্রুটি) এবং সংশোধন করা হয়েছে *
* ফাইল এবং টিউটোরিয়াল ন্যাভিগেটর (ভেরিয়েবল, পদ্ধতি, ইত্যাদি)
* স্ট্যাটিক বিশ্লেষণ *
* স্মার্ট সিনট্যাক্স হাইলাইটিং
* প্রতিকৃতি / ভূদৃশ্য UI 'তে
* অটো খাঁজ এবং স্বয়ংক্রিয় পেয়ারিং (কনফিগারযোগ্য)
* কনফিগারযোগ্য কোড সিনট্যাক্স হাইলাইটিং (থিম) *
* কম্পাইল সি / সি ++ কোড (কোন রুট প্রয়োজন)
* কাজ অফলাইন (বিল্ট-ইন কম্পাইলার, কোন ইন্টারনেট সংযোগ প্রয়োজন)
* মহান সি / সি ++ কোড উদাহরণ অন্তর্ভুক্ত *
* বিস্তারিত সি ++ টিউটোরিয়াল এবং শিখতে নির্দেশিকা অন্তর্ভুক্ত *
* অ্যাড-অন ম্যানেজার এবং স্বয়ংক্রিয় আপডেট
* ড্রপবক্স সমর্থন *
* Google ড্রাইভ সমর্থন *
প্রথম লঞ্চ উপর CppDroid SDK এর (প্রায় এই 150MB করুন ) চায়ের এবং ডাউনলোড এবং, উদাহরণ এবং টিউটোরিয়াল চায়ের তাই সম্পর্কে এই 215 মেগাবাইট করুন অভ্যন্তরীণ স্টোরেজ স্পেস প্রয়োজন হয়। এটি Android এর নিরাপত্তার কারণ এসডি কার্ড সরানো যাবে না।
কম্পিউটার/ ল্যাপটপ থেকে সি প্রোগ্রামিং লেখা ও আউটপুট দেখার জনা Code::Blocks সফটওয়্যারটি ডাউনলোড ও ইনস্টল করুন। Click here to Download
কেন এত প্রোগ্রামিং ভাষা?
এটি অনেকটা জিজ্ঞাসার মতো "গণিতের এত ক্ষেত্র কেন? আমাদের বীজগণিত আছে। কেন আমাদের জ্যামিতি, ক্যালকুলাস এবং তরল যান্ত্রিক প্রয়োজন?" প্রতিটি প্রোগ্রামিং ভাষার লক্ষ্য একটি নির্দিষ্ট সমস্যা সমাধান করা। একাধিক ভাষা একই সমস্যা সমাধান করতে সক্ষম হতে পারে, তবে প্রত্যেকে এটির জন্য আলাদাভাবে যোগাযোগ করবে।
নিচে কয়েকটি প্রোগ্রামিং ভাষা নিয়ে আলোচনা করা হলোঃ
- BASIC: Beginner All-purpose Symbolic Instruction Code (প্রাথমিক উদ্দেশ্য ছিল বিজ্ঞান শাখার বাইরের ছাত্রদের জন্য কম্পিউটার প্রোগ্রামিং সহজ করা)
- COBOL: Common Business Oriented Language (মূলত ব্যবসা, অর্থসংস্থান, এবং কোম্পানি ও সরকারের প্রশাসনিক সিস্টেমসমূহে ব্যবহার করা হয়)
- FORTRAN: Formula Translation (অসংখ্য গাণিতিকি হিসাব সহজেই করা যায়)
প্রতিটি প্রোগ্রামিং ভাষার লক্ষ্য ভিন্ন ভিন্ন, এই জন্য অনেকগুলো প্রোগ্রামিং ভাষার উৎপওি হয়েছে।
অনুবাদক প্রোগ্রাম কাকে বলে? বিভিন্ন প্রকার অনুবাদক প্রোগ্রাম নিয়ে আলোচনা করো
অনুবাদক প্রোগ্রামঃ
মেশিন ভাষায় লেখা প্রোগ্রামকে বলা হয় বস্তু প্রোগ্রাম (Object Program)।
অন্য যেকোনো ভাষায় লেখা প্রোগ্রামকে বলা হয় উৎস প্রোগ্রাম (Source program)।
যে প্রোগ্রামের সাহায্যে উৎস (Source) প্রোগ্রামকে বস্তু (Object) প্রোগ্রামে পরিণত করা হয় তাকে অনুবাদক প্রোগ্রাম বলে। প্রোগ্রাম অনুবাদের সময় উৎস প্রোগ্রামে যদি কোন ভুল থাকে, তবে তা সংশোধন করার জন্য ব্যবহারকারীকে Error Message দেয়।
অনুবাদক প্রোগ্রামের প্রকারভেদঃ
- অ্যাসেম্বলার
- কম্পাইলার
- ইন্টারপ্রেটার
অ্যাসেম্বলারঃ
অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় অনুবাদ করার জন্য অ্যাসেম্বলার ব্যবহার করা হয়। এটি অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে কোড বা যান্ত্রিক ভাষায় রূপান্তর করে অর্থাৎ, নেমোনিক কোডকে মেশিন ভাষায় অনুবাদ করে। প্রোগ্রামে কোনো ভুল থাকলে Error Message দেয়।
প্রধান কাজ সমূহ:
১। নেমোনিক কোডকে মেশিন ভাষায় অনুবাদ করা।
২। সাংকেতিক ঠিকানাকে মেশিন ভাষায় লেখার ঠিকানায় রূপান্তর করা।
৩। প্রোগ্রামে কোনো ভুল থাকলে Error Message দেওয়া।
৪। সব নির্দেশ ও ঠিকানা প্রধান মেমোরিতে রাখা।
কম্পাইলারঃ
কম্পাইলার হলো এক ধরনের অনুবাদক যা হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। অর্থাৎ সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করে।
কম্পাইলার দুই ধাপে অনুবাদকের কাজ সম্পন্ন করে –
প্রথম ধাপে কম্পাইলার উৎস প্রোগ্রামের প্রত্যেকটি লাইন পড়ে এবং অবজেক্ট প্রোগ্রামে রূপান্তর করে। এই ধাপে কম্পাইলার সোর্স প্রোগ্রামে যদি ভুল থাকে, তবে তা সংশোধন করার জন্য ব্যবহারকারীকে Error Message দেয়। এই Error Message কে কম্পাইলড টাইম ডায়াগনোস্টিক Error Message বলে। একবার প্রোগ্রাম কম্পাইল হয়ে গেলে পরবর্তীতে আর কম্পাইল করার প্রয়োজন হয় না। দ্বিতীয় ধাপে উপাত্ত বা ডেটার ভিত্তিতে অবজেক্ট প্রোগ্রামকে নির্বাহ করানো হয় ফলাফল প্রদর্শনের জন্য।
কম্পাইলারের কাজ:
১। উৎস বা সোর্স প্রোগ্রামের স্টেটমেন্টসমূহকে মেশিনের ভাষায় রূপান্তর।
২। সংশ্লিষ্ট সাব-রুটিন এর সাথে সংযোগের ব্যবস্থা প্রদান।
৩। প্রধান স্মৃতির পরিসর চিহ্নিতকরণ।
৪। প্রোগ্রাম ভুল থাকলে অনুবাদের সময় ভুলের তালিকা প্রণয়ন।
কম্পাইলারের সুবিধা:
১। কম্পাইলার সম্পূর্ণ প্রোগ্রামটিকে একসাথে অনুবাদ করে ফলে প্রোগ্রাম নির্বাহের গতি দ্রুত হয়।
২। প্রোগ্রাম নির্বাহে কম সময় লাগে।
৩। কম্পাইলারের মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন প্রোগ্রামে রূপান্তরিত হয়।
৪। একবার প্রোগ্রাম কম্পাইল করা হলে পরবর্তিতে আর কম্পাইলের প্রয়োজন হয় না।
৫। প্রোগ্রামে কোন ভুল থাকলে তা মনিটরে একসাথে প্রদর্শন করে।
কম্পাইলারের অসুবিধা:
১। কম্পাইলার প্রোগ্রামের সবগুলো ভুল একসাথে প্রদর্শন করে ফলে প্রোগ্রাম সংশোধনে বেশি সময় লাগে।
২। কম্পাইলার বড় ধরনের প্রোগ্রাম হওয়ায় ইহা সংরক্ষণে মেমরিতে বেশি জায়গা লাগে।
৩। প্রোগ্রাম ডিবাগিং ও টেস্টিং এর কাজ ধীরগতি সম্পন্ন।
ইন্টারপ্রেটারঃ
ইন্টারপ্রেটারও কম্পাইলারের মতো হাইলেভেল ভাষাকে মেশিন ভাষায় রূপান্তর করে। তবে কম্পাইলার যেমন প্রথমে সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করে এবং সর্বশেষ ফলাফল প্রদান করে কিন্তু ইন্টারপ্রেটার সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করে না, ইন্টারপ্রেটার লাইন নির্বাহ করে এবং তাৎক্ষণিক ফলাফল প্রদর্শন করে।
ইন্টারপ্রেটারের কাজ:
১। সংশ্লিষ্ট সাব-রুটিন এর সাথে সংযোগের ব্যবস্থা করা।
২। উৎস প্রোগ্রামের স্টেটমেন্ট সমূহকে বস্তু প্রোগ্রামে বা মেশিন ভাষায় রূপান্তর করা।
৩। প্রোগ্রাম ভুল থাকলে অনুবাদের সময় ভুলের তালিকা প্রণয়ন।
৪। প্রধান মেমোরির পরিসর চিহ্নিতকরণ।
ইন্টারপ্রেটারের সুবিধা:
১। এটি ব্যবহারে প্রোগ্রামের ভুল সংশোধন করা এবং পরিবর্তন করা সহজ হয়।
২। Interpreter Program আকারে ছোট হয় এবং মেমরি স্থানে কম জায়গা দখল করে।
৩। এটি সাধারণত ছোট কম্পিউটারে ব্যবহার করা হয়।
ইন্টারপ্রেটারের অসুবিধা:
১। ইন্টারপ্রেটার ব্যবহারে প্রোগ্রাম কার্যকরী করতে কম্পাইলারের তুলনায় বেশি সময় লাগে।
২। ইহার মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন প্রোগ্রামে রূপান্তরিত হয় না।
৩। প্রতিটি কাজের পূর্বে অনুবাদ করার প্রয়োজন হয়।
প্রোগ্রাম কাকে বলে? বিভিন্ন প্রজন্মের প্রোগ্রামিং ভাষা নিয়ে আলোচনা করো
প্রোগ্রাম: কম্পিউটারের মাধ্যমে কোন সমস্যা সমাধানের জন্য প্রয়োজনীয় নিদের্শমালার সমষ্টিকে প্রোগ্রাম বলা হয়।
প্রোগ্রামিং: প্রোগ্রাম রচনার পদ্ধতি বা কৌশলকে প্রোগ্রাম পদ্ধতি বা প্রোগ্রামিং বলা হয়।
প্রোগ্রামার: যে বা যিনি কমপিউটারের মাধ্যমে কোন সমস্যা সমাধানের জন্য প্রয়োজনীয় নিদের্শমালা বা প্রোগ্রাম লিখে তাকে প্রোগ্রামার বলা হয়।
প্রোগ্রামিং ভাষা: কম্পিউটারের মাধ্যমে কোন সমস্যা সমাধান তথা প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অংক, চিহ্ন প্রভৃতির সমন্বয়ে গঠিত রীতিনীতিকে প্রোগ্রাম ভাষা বলা হয়।
প্রোগ্রামিং ভাষার প্রকারভেদ:
1945 থেকে শুরু করে এ পর্যন্ত যত প্রোগ্রামিং ভাষা আবিষ্কৃত হয়েছে তাদেরকে বৈশিষ্ট্য অনুযায়ী পাঁচটি প্রজন্মে ভাগ করা হয়েছে।
- প্রথম প্রজন্মের ভাষা – First Generation Language(1GL) - (1945-1949) - Machine Language (যান্ত্রিক ভাষা)
- দ্বিতীয় প্রজন্মের ভাষা – Second Generation Language(2GL) - (1950-1959) - Assembly Language (অ্যাসেম্বলি ভাষা)
- তৃতীয় প্রজন্মের ভাষা – Third Generation Language(3GL) - (1960-1969) - High Level Language (উচ্চস্তরের ভাষা)
- চতুর্থ প্রজন্মের ভাষা – Fourth Generation Language(4GL) - (1970-1979) - Very High Level Language (অতি উচ্চস্তরের ভাষা)
- পঞ্চম প্রজন্মের ভাষা – Fifth Generation Language(5GL) - (1980-present) - Natural Language (স্বাভাবিক ভাষা)
- নিম্নস্তরের ভাষা (Low Level Language) - Machine Language, Assembly Language
- মধ্যমস্তরের ভাষা (Mid Level Language) - C, Forth, dBase, WordStar
- উচ্চস্তরের ভাষা (High Level Language - Fortran, Basic, Pascal, Cobol, C, C++, Visual Basic, Java, Oracle, Python
- অতি উচ্চস্তরের ভাষা (Very High Level Language- 4GL ) - SQL, Oracle
- স্বাভাবিক ভাষা (Natural Language) - Human Language
মেশিন বা যান্ত্রিক ভাষা (Machine Language):
কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটারের মৌলিক ভাষা। এই ভাষায় শুধু মাত্র ০ এবং ১ ব্যবহার করা হয় বলে এই ভাষায় দেওয়া কোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। এর সাহায্যে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়।
মেশিন ভাষার সুবিধা:
১। মেশিন ভাষার সবচেয়ে বড় সুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়।
২। মেশিন ভাষায় লেখা প্রোগ্রাম নির্বাহের জন্য কোনো প্রকার অনুবাদক প্রোগ্রামের প্রয়োজন হয় না। ফলে দ্রুত কাজ করে।
৩। মেশিন ভাষায় লিখিত প্রোগ্রামে অতি অল্প মেমোরি প্রয়োজন হয়।
৪। কম্পিউটারের ভেতরের গঠন ভালোভাবে বুঝতে হলে এই ভাষা জানতে হয়।
মেশিন ভাষার অসুবিধা:
১। মেশিন ভাষায় লিখিত কোনো প্রোগ্রাম সাধারণত বোঝা যায় না।
২। শুধু ০ ও ১ ব্যবহার করা হয় বলে প্রোগ্রাম লেখা কষ্টসাধ্য।
৩। এ ভাষায় প্রোগ্রাম লিখতে প্রচুর সময় লাগে এবং ভুল হবার সম্ভাবনা খুব বেশি থাকে। ভুল হলে তা বের করা এবং ভুল-ত্রুটি দূর করা খুব কঠিন।
৪। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। মেশিন ভাষাকে নিম্নস্তরের ভাষাও বলা হয়।
2GL এর বৈশিষ্ট্যঃ
অ্যাসেম্বলি ভাষা (Assembly Language):
অ্যাসেম্বলি ভাষাকে সাংকেতিক ভাষাও বলা হয়। দ্বিতীয় প্রজন্মের কম্পিউটারে এই ভাষা ব্যাপকভাবে প্রচলিত ছিল। অ্যাসেম্বলি ভাষার ক্ষেত্রে নির্দেশ ও ডেটার অ্যাড্রেস বাইনারি বা হেক্সা সংখ্যার সাহায্যে না দিয়ে সংকেতের সাহায্যে দেওয়া হয়। এই সংকেতকে বলে সাংকেতিক কোড (Symbolic Code) বা নেমোনিক (Mnemonic)। এটি অনেকটা সহজবোধ্য।
- ‘যোগ’ বা Addition করাকে লেখা হয় ADD
- ‘বিয়োগ’ বা Subtraction করাকে লেখা হয় SUB
- ‘গুণ’ বা Multiply কে লেখা হয় MUL
- ‘ভাগ’ বা Division কে লেখা হয় DIV ইত্যাদি।
- লেভেল
- অপ-কোড
- অপারেন্ড
- কমেন্ট
অ্যাসেম্বলি ভাষার সুবিধা:
১। অ্যাসেম্বলি ভাষায় প্রোগ্রাম রচনা করা যান্ত্রিক ভাষার তুলনায় অনেক সহজ।
২। প্রোগ্রাম রচনা করতে কম সময় লাগে।
৩। প্রোগ্রাম পরিবর্তন করা সহজ।
অ্যাসেম্বলি ভাষার অসুবিধা:
১। প্রোগ্রাম রচনার সময় প্রোগ্রামারকে মেশিন সম্পর্কে ধারণা থাকতে হয়।
২। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। অ্যাসেম্বলি ভাষাকে নিম্নস্তরের ভাষাও বলা হয়।
৩। ভুল ত্রুটি বের করা কষ্টসাধ্য ব্যাপার।
৪। অনুবাদক প্রোগ্রামের প্রয়োজন হয়।
3GL এর বৈশিষ্ট্যঃ
উচ্চস্তরের ভাষা (High Level Language):
উচ্চতর ভাষার সাথে মানুষের ভাষার মিল আছে। এই প্রোগ্রাম ভাষা কম্পিউটার সংগঠনের নিয়ন্ত্রণের ঊর্ধ্বে, এই জন্য এসব ভাষাকে উচ্চতর ভাষা বলা হয়। এটি মানুষের জন্য বুঝতে পারা খুব সহজ কিন্তু কম্পিউটার সরাসরি বুঝতে পারে না বলে অনুবাদক প্রোগ্রামের সাহায্যে একে মেশিন ভাষায় রূপান্তরিত করে নিতে হয়।
উচ্চস্তরের ভাষার প্রকারভেদ:
- সাধারণ কাজের ভাষা (General Purpose Language): যেসব ভাষা সব ধরনের কাজের উপযোগী করে তৈরি করা হয় তা সাধারণ কাজের ভাষা নামে পরিচিত। যেমন BASIC, PASCAL, C ইত্যাদি।
- বিশেষ কাজের ভাষা (Special Purpose Language): আর যেসব ভাষা বিশেষ বিশেষ কাজের উপযোগী করে তৈরি করা হয় তা বিশেষ কাজের ভাষা নামে পরিচিত। যেমন: COBOL, ALGOL, FORTRAN ইত্যাদি।
১। উচ্চস্তরের ভাষায় প্রোগ্রাম লেখা সহজ ও লিখতে সময় কম লাগে।
২। এতে ভুল হবার সম্ভবনা কম থাকে এবং প্রোগ্রামের ত্রুটি বের করে তা সংশোধন করা সহজ।
৩। এ ভাষায় প্রোগ্রাম লেখার জন্য কম্পিউটারের ভেতরের সংগঠন সম্পর্কে ধারণা থাকার প্রয়োজন নেই।
৪। এক মডেলের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য মডেলের কম্পিউটারে চলে ।
উচ্চস্তরের ভাষার অসুবিধা:
১। উচ্চস্তরের ভাষার অসুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায় না।
২। প্রোগ্রামকে অনুবাদ করে কম্পিউটারকে বুঝিয়ে দিতে হয়।
৩। বেশি মেমোরি প্রয়োজন হয়।
উচ্চস্তরের ভাষার ব্যবহার:
১। বড় প্রোগ্রাম তৈরির কাজে।
২। বৃহৎ ডেটা প্রসেসিং এর কাজে ব্যবহৃত প্রোগ্রাম তৈরি করতে।
৩। যেসব ক্ষেত্রে প্রচুর মেমরির প্রয়োজন সেসব ক্ষেত্রের সফটওয়্যার তৈরির কাজে।
৪। জটিল গাণিতিক নিকাশে সফটওয়্যার তৈরির কাজে।
৫। এ্যাপ্লিকেশন প্যাকেজ সফটওয়্যার তৈরির কাজে।
৬। বিভিন্ন ধরনের অটোমেটিক প্রসেস কন্ট্রোলের কাজে।
জনপ্রিয় কিছু উচ্চস্তরের প্রোগ্রামিং ভাষার পরিচিতিঃ
- সি(C): ১৯৭২ সালে এই ভাষার প্রথম রিলিজ হয়। ডেনিশ রিচি (Dennis M. Ritchie) বেল ল্যাবরেটরিতে UNIX অপারেটিং সিস্টেম ডেভেলোপ করার জন্য ‘সি’ প্রোগ্রামিং ভাষাটি তৈরি করেন।
- সি++(C++): ১৯৮৫ সালে Bjarne Stroustrup বেল ল্যাবরেটরিতে C ভাষার বৈশিষ্ট্যের সাথে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর বৈশিষ্ট্য যুক্ত করে নতুন এক প্রোগ্রামিং ভাষা তৈরি করেন যা C++ নামে পরিচিত।
- ভিজুয়্যাল বেসিক(Visual BASIC): ১৯৯১ সালে এই ভাষার প্রথম রিলিজ হয়। মাইক্রোসফ্ট কোম্পানি এই প্রোগ্রামিং ভাষা এবং পরিবেশ ডেভেলোপ করে। এই ভাষার জনক Alan Cooper.
- জাভা(Java): জাভা প্রোগ্রামিং ভাষাটি মূলত সান মাইক্রোসিস্টেম কোম্পানি ডেভেলোপ করেন যা James Gosling শুরু করেছিলেন। এই জন্য James Gosling কে জাভা প্রোগ্রামিং ভাষার জনক বলা হয়।
- পাইথন(Python): ১৯৯০ সালে Guido Van Rossum পাইথন প্রোগ্রামিং ভাষা ডিজাইন করেছিলেন এবং পাইথন সফটওয়্যার ফাউন্ডেশন দ্বারা ডেভেলোপ করা হয়েছিল।
- অ্যালগল(ALGOL): ১৯৫৮ সালে এই ভাষার প্রথম রিলিজ হয়। এর পূর্ণনাম Algorithmic Language। অ্যালগোরিদম প্রকাশের জন্য এবং গণনা করার জন্য ১৯৫৮-৬০ এর সময় কার্নেগি মেলন বিশ্ববিদ্যালয়ের অ্যালান জে পেরিলিসের নেতৃত্বে অ্যাসোসিয়েশন অফ কম্পিউটিং মেশিনারি (এসিএম) এর একটি আন্তর্জাতিক কমিটি এই ভাষা ডিজাইন করেছিলো।
- ফোরট্রান(FORTRAN): ১৯৫৭ সালে এই ভাষার প্রথম রিলিজ হয়। Formula Translation থেকে Fortran এর উৎপত্তি যা উচ্চস্তর প্রোগ্রামিং ভাষাগুলোর মধ্যে সবচেয়ে আদিমতম ভাষা।
অতি উচ্চস্তরের ভাষা (Very High Level Language):
4GL বলতে 4th Generation Language বা চতুর্থ প্রজন্মের ভাষা বুঝায়। 4GL এর সাহায্যে সহজেই অ্যাপ্লিকেশন তৈরি করা যায় বলে একে Rapid Application Development (RAD) টুলও বলা হয়। চতুর্থ প্রজন্মের ভাষা হলো ডেটাবেজ সংক্রান্ত ভাষা। অর্থাৎ এই প্রজন্মের ভাষার সাহায্যে ডেটাবেজ তৈরি, আপডেট, ডিলেট সহ ডেটাবেজ সম্পর্কিত সকল কাজ সম্পাদন করা যায়। এই প্রজন্মের ভাষার উদাহরণ হল Perl, Python, Ruby, SQL, MatLab (Matrix Laboratory) ইত্যাদি।
5GL এর বৈশিষ্ট্যঃ
Natural Language (স্বাভাবিক ভাষা):
পঞ্চম প্রজন্মের ভাষাকে স্বাভাবিক ভাষাও (Natural Language) বলা হয়। Artificial Intelligence বা কৃত্রিম বুদ্ধিমত্তা নির্ভর যন্ত্র তৈরিতে বা গবেষণায় এই প্রজন্মের ভাষা ব্যবহৃত হয়। এই প্রজন্মের ভাষা ব্যবহার করে মানুষ যন্ত্রকে মৌখিক নির্দেশ দিতে পারে।
পঞ্চম অধ্যায় গুরুত্বপূর্ণ অনুধাবনমূলক প্রশ্ন ও উওরসমূহ !
০, ১ দিয়ে লেখা ভাষা ব্যাখ্যা কর। / মেশিন ভাষায় লিখিত প্রোগ্রাম দ্রুত নির্বাহ হয় কেন?/ “শব্দ ছাড়া শুধু মাত্র সংখ্যার মাধ্যমে ভাষা প্রকাশ সম্ভব”- ব্যাখ্যা কর।
কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটারের মৌলিক ভাষা। এই ভাষায় শুধু মাত্র ০ এবং ১ ব্যবহার করা হয় বলে এই ভাষায় দেওয়া যেকোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। মেশিন ভাষার সবচেয়ে বড় সুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়। মেশিন ভাষায় লেখা প্রোগ্রাম নির্বাহের জন্য কোনো প্রকার অনুবাদক প্রোগ্রামের প্রয়োজন হয় না। ফলে দ্রুত কাজ করে। মেশিন ভাষায় লিখিত প্রোগ্রামে অতি অল্প মেমোরি প্রয়োজন হয়। কম্পিউটারের ভেতরের গঠন ভালোভাবে বুঝতে হলে এই ভাষা জানতে হয়। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। মেশিন ভাষাকে নিম্ন স্তরের ভাষাও বলা হয়।
“লো–লেভেল প্রোগ্রামিং ভাষার দুর্বলতায় হাই–লেভেল প্রোগ্রামিং ভাষার উৎপত্তির কারণ”/ “উচ্চ স্তরের ভাষা মেশিন ভাষা থেকে উন্নতর”-ব্যাখ্যা কর।
নিম্নস্তরের ভাষা যেমন মেশিন ভাষা এবং অ্যাসেম্বলি ভাষায় যথাক্রমে ০,১ এবং বিভিন্ন নেমোনিক এর সাহায্যে প্রোগ্রাম লেখা হয়।নিম্নস্তরের ভাষায় লিখিত কোনো প্রোগ্রাম সাধারণত বোঝা কষ্টকর। এ ভাষায় প্রোগ্রাম লিখতে প্রচুর সময় লাগে এবং ভুল হবার সম্ভাবনা খুব বেশি থাকে। ভুল হলে তা বের করা এবং ভুল-ত্রুটি দূর করা খুব কঠিন। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। কিন্তু উচ্চস্তরের ভাষায় প্রোগ্রাম লেখা সহজ ও লিখতে সময় কম লাগে। এতে ভুল হবার সম্ভাবনা কম থাকে এবং প্রোগ্রামের ত্রুটি বের করে তা সংশোধন করা সহজ। এ ভাষায় প্রোগ্রাম লেখার জন্য কম্পিউটারের ভেতরের সংগঠন সম্পর্কে ধারণা থাকার প্রয়োজন নেই। এক মডেলের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য মডেলের কম্পিউটারে চলে । উপরের আলোচনা থেকে দেখা যায় নিম্নস্তরের ভাষার অসুবিধাসমূহ উচ্চস্তরের ভাষায় নেই। তাই বলা যায় লো-লেভেল ল্যাংগুয়েজের দুর্বলতাই হাই-লেভেল ল্যাংগুয়েজের উৎপত্তির কারণ বা উচ্চ স্তরের ভাষা মেশিন ভাষা থেকে উন্নতর।
হাই–লেভেল প্রোগ্রামিং ভাষায় প্রোগ্রামিং করা সহজ–ব্যাখ্যা কর।
মেশিন ও অ্যাসেম্বলি ভাষায় রচিত প্রোগ্রামের প্রধান অসুবিধা হল- এক ধরনের কম্পিউটারে রচিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। আবার এই লো-লেভেল ভাষায় রচিত প্রোগ্রাম কম্পিউটার বুঝলেও মানুষের পক্ষে তা বোঝা অনেক কষ্টসাধ্য। অপরদিকে হাই লেভেল প্রোগ্রামিং ভাষায় প্রোগ্রাম রচনা করলে এই ধরনের কোনো সমস্যার সৃষ্টি হয় না। এই ভাষায় লিখিত প্রোগ্রাম যেকোনো কম্পিউটারে ব্যবহার করা যায়। এই ভাষায় রচিত প্রোগ্রাম মানুষের পক্ষে বোঝা অনেক সহজ। প্রোগ্রাম লিখতে সময় অনেক কম লাগে। লো-লেভেল ভাষায় প্রোগ্রাম লিখতে যেখানে ৪/৫ টি নির্দেশের দরকার হয়, সেখানে হাই-লেভেল ভাষায় মাত্র একটি বাক্য লিখলেই চলে। প্রোগ্রাম লেখার সময় কম্পিউটার হার্ডওয়্যার সম্পর্কে ধারণা থাকার প্রয়োজন নেই। তাই বলা যায় হাই-লেভেল প্রোগ্রামিং ভাষায় প্রোগ্রামিং করা সহজ।
অ্যাসেম্বলি ভাষা মেশিন ভাষা থেকে উন্নত কেন?
যান্ত্রিক ভাষায় প্রোগ্রাম রচনা করার মতো কঠিন কাজকে অপেক্ষাকৃত সহজ করার জন্য এবং সেই সাথে রচিত প্রোগ্রামের ভুল সংশোধন ও পরিবর্তনের কাজ সহজতর করে প্রোগ্রামিং এ গতি সঞ্চারণের লক্ষ্যে অ্যাসেম্বলি ভাষার উন্নয়ন সাধিত হয়। অ্যাসেম্বলি ভাষায় রচিত প্রোগ্রাম মেশিন ভাষার তুলনায় অনেক সহজ হয়। প্রোগ্রাম রচনায় তুলনামূলক সময় অনেক কম লাগে। সহজে ভুল সংশোধন করা যায় এবং প্রোগ্রাম পরিবর্তন করা যায়।
অ্যালগরিদম কোডিং এর পূর্বশর্ত–ব্যাখ্যা কর। /প্রোগ্রাম কোডিং–এ অ্যালগরিদমের গুরুত্ব লেখ।
কোনো একটি নির্দিষ্ট সমস্যা সমাধানের জন্য যুক্তিসম্মত ও ধাপে ধাপে সমাধান করার যে পদ্ধতি, তাকে অ্যালগরিদম বলা হয়। অপরদিকে কোনো সমস্যাকে কম্পিউটার দ্বারা সমাধান করার জন্য প্রোগ্রামিং ভাষায় নির্দেশনা দেওয়াকেই বলে কোডিং। এক্ষেত্রে কোনো সমস্যাকে কম্পিউটার দ্বারা সমাধান করার পূর্বে অ্যালগরিদম অনুসরণ করলে যে সুবিধাগুলো পাওয়া যায়, তা হলো- সহজে প্রোগ্রামের উদ্দেশ্যে বোঝা যায়। সহজে প্রোগ্রামের ভুল নির্ণয় করা যায়। প্রোগ্রাম প্রবাহের দিক বুঝা যায়। জটিল প্রোগ্রাম সহজে রচনা করা যায়। প্রোগ্রাম পরিবর্তন ও পরিবর্ধনে সহায়তা করে।অর্থাৎ কোডিং করার পূর্বে অ্যালগরিদম অনুসরণ করলে অনেক সুবিধা পাওয়া যায়। তাই বলা যায় অ্যালগরিদম কোডিং বা প্রোগ্রামিং এর পূর্বশর্ত।
“অ্যালগরিদমের চেয়ে ফ্লোচার্টের মাধ্যমে সমস্যা শনাক্ত করা সহজ”-ব্যাখ্যা কর।
সমস্যা সমাধানের ধাপসমূহের লিখিত পদ্ধতিকে অ্যালগরিদম বলে। অ্যালগরিদম বর্ণনা নির্ভর। অ্যালগরিদম তৈরির পূর্বে সুডোকোড তৈরির প্রয়োজন হতে পারে। অ্যালগরিদমে প্রোগ্রাম বুঝতে সময় বেশি লাগে। অন্যদিকে চিত্র বা সাংকেতিক চিহ্নের মাধ্যমে সমস্যা সমাধানের ধাপসমূহকে ফ্লোচার্ট বলে। ফ্লোচার্ট চিত্র নির্ভর। ফ্লোচার্ট রচনার ক্ষেত্রে সুডোকোডের কোন প্রয়োজন হয় না। ফ্লোচার্টে প্রোগ্রাম বুঝতে সময় অনেক কম লাগে। সুতরাং বলা যায় যে, অ্যালগরিদমের চেয়ে ফ্লোচার্টের মাধ্যমে সমস্যা শনাক্ত করা সহজ।
প্রবাহচিত্রে ব্যবহৃত প্রতীকগুলো ব্যাখ্যা কর। / ফ্লোচার্ট হলো চিত্রভিত্তিক অ্যালগোরিদম –ব্যাখ্যা কর।
প্রবাহচিত্রে ব্যবহৃত প্রতীকগুলোর কাজ নিচে দেওয়া হলঃ

সি প্রোগ্রামিং ভাষাকে মিড লেভেল প্রোগ্রামিং ভাষা বলা হয় কেন?
কম্পিউটারের সাহায্যে কোন সমস্যা সমাধান তথা প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অংক, চিহ্ন প্রভৃতির সমন্বয়ে গঠিত রীতিনীতিকে প্রোগ্রামিং ভাষা বলা হয়। “সি” প্রোগ্রামিং ভাষাকে মিড লেভেল ভাষা বলা হয়।কারণ এতে নিম্নস্তরের ভাষার সুবিধা যেমন বিট, বাইট ও মেমোরি অ্যাড্রেস নিয়ে কাজ করা যায়। আবার উচ্চস্তরের ভাষার সুবিধা যেমন বিভিন্ন ডেটা টাইপ নিয়ে কাজ করা যায়। অর্থাৎ “সি” প্রোগ্রামিং ভাষায় নিম্নস্তরের ভাষার সুবিধার পাশাপাশি উচ্চস্তরের ভাষার সুবিধাও পাওয়া যায় । তাই “সি” প্রোগ্রামিং ভাষাকে মিড লেভেল প্রোগ্রামিং ভাষা বলা হয়।
সি একটি উচ্চ স্তরের প্রোগ্রামিং ভাষা–ব্যাখ্যা কর।
অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী–ব্যাখ্যা কর।
যে প্রোগ্রামের সাহায্যে উৎস (Source) প্রোগ্রামকে বস্তু (Object) প্রোগ্রামে পরিণত করা হয় তাকে অনুবাদক প্রোগ্রাম বলে। মেশিন ভাষায় লেখা প্রোগ্রামকে বলা হয় বস্তু প্রোগ্রাম (Object Program) এবং অন্য যেকোনো প্রোগ্রামিং ভাষায় লেখা প্রোগ্রামকে বলা হয় উৎস প্রোগ্রাম (Source program)। কম্পাইলার হলো এক ধরনের অনুবাদক প্রোগ্রাম যা হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। অর্থাৎ সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করে। অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী কারণ- কম্পাইলার সম্পূর্ণ প্রোগ্রামটিকে একসাথে অনুবাদ করে ফলে প্রোগ্রাম নির্বাহের গতি দ্রুত হয়। প্রোগ্রাম নির্বাহে কম সময় লাগে, কম্পাইলারের মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন প্রোগ্রামে রূপান্তরিত হয়, একবার প্রোগ্রাম কম্পাইল করা হলে পরবর্তিতে আর কম্পাইলের প্রয়োজন হয় না, প্রোগ্রামে কোন ভুল থাকলে তা মনিটরে একসাথে প্রদর্শন করে।উপরোক্ত বৈশিষ্ট্য থেকে বলা যায় অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী।
প্রত্যেকবার প্রোগ্রাম নির্বাহের সময় কম্পাইল করা প্রয়োজন –ব্যাখ্যা কর।
কম্পাইলারের তুলনায় ইন্টারপ্রেটার কোন ক্ষেত্রে ভালো –ব্যাখ্যা কর।
উৎস প্রোগ্রামকে কম্পাইল করার প্রয়োজন হয় কেন? ব্যাখ্যা কর।
সি প্রোগ্রামিং ভাষা একটি কেস সেনসিটিভ ভাষা–বুঝিয়ে লিখ।
সি প্রোগ্রামিং ভাষা একটি উচ্চস্তরের ভাষা। এই ভাষা প্রায় মানুষের ভাষার কাছাকাছি তাই এই ভাষার সাহায্যে প্রোগ্রাম রচনা করা সহজ। সি প্রোগ্রামিং ভাসাটির একটি বৈশিষ্ট্য হল এটি case sensitive প্রোগ্রামিং ভাষা। অর্থাৎ এই ভাষায় লেখা প্রোগ্রামে ছোট হাতের অক্ষর এবং বড় হাতের অক্ষর আলাদা অর্থ বহন করে। যেমন: a এবং A দুটি আলাদা চলক। তাই বলা হয় সি প্রোগ্রামিং ভাষা একটি case sensitive প্রোগ্রামিং ভাষা।
চলক তৈরির ক্ষেত্রে কিছু বিধিবদ্ধ নিয়ম কানুন রয়েছে–ব্যাখ্যা কর।/সি ভাষায় int roll@no; স্টেটমেন্টটি বৈধ/অবৈধ ব্যাখ্যা কর।
চলক হলো মেমোরি লোকেশনের নাম বা ঠিকানা। অর্থাৎ প্রোগ্রামে ডেটা নিয়ে কাজ করার সময় প্রতিটি ডেটার জন্য একটি চলকের ব্যবহার করতে হয়। প্রতিবার প্রোগ্রাম নির্বাহের সময় মেমরিতে ভেরিয়েবলগুলো অবস্থান এবং সংরক্ষিত মান পরিবর্তন হয় বা হতে পারে বলে এদেরকে ভেরিয়েবল বা চলক বলা হয়। একটি প্রোগ্রামের শুরুতে প্রয়োজনীয় সংখ্যক চলক বা ভেরিয়েবল ঘোষণা করা হয়। এই চলক ঘোষণা করার কিছু নিয়ম আছে। যেমন-
- ভেরিয়েবল এর নাম হিসাবে কেবল অ্যালফাবেটিক ক্যারেক্টার (A-Z,a-z),সংখ্যা (0-9) এবং আন্ডারস্কোর (_) ব্যবহার করা যায়। যেমন: Roll_number,Counta7 ইত্যাদি।
- ভেরিয়েবলের নামের প্রথম ক্যারেক্টার অবশ্যই অক্ষর হতে হবে। যেমন: Roll_number, number, amount, Roll_22 সঠিক ভেরিয়েবল । কিন্তু 22Roll সঠিক ভেরিয়েবল নয়।
- ভেরিয়েবল এ কোন প্রকার স্পেশাল ক্যারেক্টার যেমন !,@,#,%,&,$ ইত্যাদি ব্যবহার করা যাবে না। যেমন- my@roll, ashek$mizan$amir, &a ইত্যাদি অবৈধ ভেরিয়েবল ।
- কোন কী-ওয়ার্ড বা রির্জাভ ওয়ার্ড ভেরিয়েবল এর নাম হিসাবে ব্যবহার করা যাবে না। যেমন: for, while ইত্যাদি । তাই বলা যায় চলক তৈরির ক্ষেত্রে কিছু নিয়ম কানুন রয়েছে।
সি প্রোগ্রামের সোর্স কোডের লিঙ্ক সেকশনে লাইব্রেরিতে সংরক্ষিত যে সব ফাইলকে যুক্ত করা হয় তাদেরকে header ফাইল বলে। এই ফাইলের এক্সটেনশন হলো “h” যেমন- stdio.h সি প্রোগ্রামিং ভাষার একটি হেডার ফাইল। উক্ত ফাইলে printf() বা scanf() ফাংশনের বর্ণনা রয়েছে। ফলে printf() ফাংশন প্রোগ্রামে ব্যবহার করলে stdio.h হেডার ফাইলটি প্রোগ্রামে অন্তর্ভুক্ত করতে হয়। এখানে #include<stdio.h> লিখে প্রোগ্রামে উক্ত হেডার ফাইলটি সংযুক্ত করা হয়েছে।
সি প্রোগ্রামিং ভাষায় লিখিত প্রোগ্রামে #include<stdio.h> আবশ্যক কেন? ব্যাখ্যা কর।
একটি আদর্শ প্রোগ্রামে ইনপুট, প্রসেস ও আউটপুট এর ব্যবস্থা থাকতে হয়। সি প্রোগ্রামিং ভাষায় লেখা একটি প্রোগ্রামে ইনপুট এবং আউটপুট এর জন্য যথাক্রমে scanf() এবং printf() নামক লাইব্রেরী ফাংশন ব্যবহার করা হয়। এই ফাংশন দুটির জন্য #include<stdio.h> হেডার ফাইল ব্যবহার করা হয়। তাই বলা যায়, সি প্রোগ্রামিং ভাষায় লিখিত প্রোগ্রামে #include<stdio.h> আবশ্যক।
সি প্রোগ্রামিং ভাষায় লিখিত প্রোগ্রামে main() ফাংশনের গুরুত্ব লেখ।
প্রোগ্রামে লাইব্রেরী ও ইউজার ডিফাইন্ড ফাংশন এক নয়–ব্যাখ্যা কর।
প্রোগ্রামে যখন কতগুলো স্টেটমেন্ট কোনো নামে একটি ব্লকের মধ্যে অবস্থান করে কোনো নির্দিষ্ট কাজ সম্পাদন করে তখন ব্লকটিকে ফাংশন বলা হয়। একটি ফাংশনের দুইটি অংশ থাকে। ফাংশন ডিক্লারেশন ও ফাংশন ডেফিনেশন। যে ফাংশনের ডেফিনেশন প্রোগ্রামার দ্বারা নির্ধারিত হয়,সে ফাংশনকে ইউজার ডিফাইন্ড ফাংশন বলে। অন্যদিকে যে ফাংশনের ডেফিনেশন পূর্ব নির্ধারিত থাকে, তাকে লাইব্রেরী ফাংশন বলে। প্রোগ্রামে কোন লাইব্রেরী ফাংশন ব্যবহার করলে তার জন্য নির্দিস্ট হেডার ফাইল প্রোগ্রামের শুরুতে যুক্ত করতে হয়। তাই বলা যায় লাইব্রেরী ফাংশন এবং ইউজার ডিফাইন্ড ফাংশন এক নয়।
আউটপুট ফাংশন বলতে কি বুঝায়?
সি প্রোগ্রামে যখন কোনো নির্দিষ্ট কাজ সম্পাদনের জন্য কতগুলো স্টেটমেন্ট কোনো নামে একটি ব্লকের মধ্যে রাখা হয় তখন তাকে ফাংশন বলা হয়। প্রতিটি ফাংশন একটি নির্দিষ্ট কাজ করে। আউটপুট ফাংশন হচ্ছে এমন একটি ফাংশন যা মনিটরে কোন কিছু প্রদর্শন করে। যেমন- printf() হচ্ছে একটি আউটপুট ফাংশন যা প্রোগ্রামে কোনকিছু আউটপুট হিসেবে দেখায়।
সি প্রোগ্রামিং ভাষায় ব্যবহৃত ইনপুট ও আউটপুট ফাংশনগুলো লেখ।
সি প্রোগ্রামে যখন কোনো নির্দিষ্ট কাজ সম্পাদনের জন্য কতগুলো স্টেটমেন্ট কোনো নামে একটি ব্লকের মধ্যে রাখা হয় তখন তাকে ফাংশন বলা হয়। প্রতিটি ফাংশন একটি নির্দিষ্ট কাজ সম্পাদন করে। সি প্রোগ্রামে কোনো মান ইনপুট হিসেবে গ্রহণ করার জন্য scanf(), gets() ও getchar() ফাংশন ব্যবহৃত হয়। মনিটরে কোন কিছু প্রদর্শন করার জন্য printf(), puts() ও putchar() আউটপুট ফাংশন ব্যবহৃত হয়।
printf(“%d %d”, a, b); স্টেটমেন্টটি ব্যাখ্যা কর।
printf(“%d %d”, a, b); স্টেটমেন্টটিকে সি প্রোগ্রামিং ভাষায় আউটপুট স্টেটমেন্ট বলা হয়। আউটপুট স্টেটমেন্ট হলো যার মাধ্যমে ব্যবহারকারীকে আউটপুট দেখানো হয়। উপরের স্টেটমেন্টটির মাধ্যমে দুটি চলক a ও b এর মান প্রদর্শন করা হয়েছে।
scanf(“%f”, &a); স্টেটমেন্টটি ব্যাখ্যা কর।
scanf(“%f”, &a); এই স্টেটমেন্ট কে “সি” প্রোগ্রামিং ভাষায় ইনপুট স্টেটমেন্ট বলা হয়। ইনপুট স্টেটমেন্ট হলো যার মাধ্যমে প্রোগ্রাম ইউজারের কাছ থেকে ডেটা ইনপুট নেয়। এই স্টেটমেন্টের মাধ্যমে প্রোগ্রাম ইউজারের কাছ থেকে একটি ভগ্নাংশ ধরনের সংখা ইনপুট নিয়ে a চলকে সংরক্ষণ করে যা পরবর্তীতে ব্যবহার করে।
printf() ও scanf() উদাহরণ দ্বারা ব্যাখ্যা কর।
সি প্রোগ্রামিং ভাষায় বহুল ব্যবহৃত ও গুরুত্বপূর্ণ ফাংশন হলো printf() এবং scanf()। প্রোগ্রামে কোনো মান ইনপুট নেওয়ার জন্য scanf() ফাংশন ব্যবহৃত হয় এবং কোনো ফলাফল প্রদর্শনের জন্য printf() ফাংশন ব্যবহৃত হয়। যেমন- scanf(“%d”, &a); এবং printf(“%d”, a); স্টেটমেন্ট দুটির সাহায্যে যথাক্রমে a চলকে ইনপুট নেওয়া ও a চলকের মান আউটপুটে দেখানো হয়।
Integer এর পরিবর্তে কখন Long Integer ব্যবহার করা হয়? বুঝিয়ে লেখ।
integer হল একধরনের ডেটা টাইপ যা পূর্ণসংখ্যা ইনপুট নেওয়ার জন্য সি প্রোগ্রামে ব্যবহৃত হয়। এটি সাধারণত ভেরিয়েবল ডিক্লারেশন এর সময় ভেরিয়েবল এর সামনে লিখে দিতে হয়। যেমনঃ int a=32; এর রেঞ্জ -৩২৭৬৮ থেকে +৩২৭৬৭ পর্যন্ত। এর চেয়ে বড় কোন রেঞ্জের সংখ্যা ইনপুট নেওয়ার জন্য long integer ব্যবহৃত হয়।
সি ভাষায় Float type বলতে কি বুঝ? উদাহরণ সহ লিখ।
যদি কোনো ডেটার মান সংখ্যাসূচক কিন্তু ভগ্নাংশ হয় তবে তার জন্য ব্যবহৃত চলক অথবা ধ্রুবকের ডেটা টাইপকে float বলা হয়। এ ধরনের চলকের জন্য মেমোরিতে ৪ বাইট জায়গা লাগে। যেমন- ধরি x=৩২, printf(“%f”, x); তাহলে আউটপুট হবে x=32.000000
কখন ইউনারি অপারেটর ব্যবহার করা হয়? ব্যাখ্যা কর।
সি ভাষায় গাণিতিক এবং যৌক্তিক কাজ নিয়ন্ত্রণ করার জন্য কতগুলো বিশেষ চিহ্ন ব্যবহৃত হয়, এগুলোকে অপারেটর বলা হয়। আর যা ডেটা ধারণ করে তাকে অপারেন্ড বলা হয়। যে সকল অপারেটর একটি মাত্র অপারেন্ড নিয়ে কাজ করে তাদের ইউনারি অপারেটর বলে। অর্থাৎ যখন প্রোগ্রামিং এর ক্ষেত্রে একটি মাত্র অপারেন্ড নিয়ে কাজ করতে হয়, সেই ক্ষেত্রে ইউনারি অপারেটর ব্যবহার করা হয়। যেমন- ইনক্রিমেন্টাল অপারেটর (++) এবং ডিক্রিমেন্টাল অপারেটর(–) ইত্যাদি।
প্রোগ্রামে অপারেটরের গুরুত্ব লেখ।
সি ভাষায় গাণিতিক এবং যৌক্তিক কাজ নিয়ন্ত্রণ করার জন্য কতগুলো বিশেষ চিহ্ন/symbol (যেমন- +, -, *, /, ++, –, <, >, >= ইত্যাদি) ব্যবহৃত হয় যা অপারেটর নামে পরিচিত। এই অপারেটর সমূহ না থাকলে সি ভাষায় কখনো গাণিতিক বা যৌক্তিক কাজ করা সম্ভব হতো না।
i++ এবং ++i ব্যাখ্যা কর।
i++ হলো পোস্ট ইনক্রিমেন্ট বা পোস্টফিক্স। পোস্টফিক্স প্রথমে বাম পাশে চলকের মান অ্যাসাইন করে তারপর অপারেন্ডের মান 1 বৃদ্ধি করে। ++i হলো প্রিইনক্রিমেন্ট বা প্রিফিক্স। প্রিফিক্স প্রথমে অপারেন্ডের সাথে 1 যোগ করে। তারপর ফলাফলকে বাম পাশের চলকে অ্যাসাইন করে।
“=” এবং “= =” এর মধ্যে পার্থক্য লেখ।
“=” হচ্ছে অ্যাসাইনমেন্ট অপারেটর। কোনো চলকের মানকে বা কোন সংখ্যাকে অন্য কোনো চলকের মান হিসেবে নির্ধারণ করতে যেসব অপারেটর ব্যবহার করা হয়, তাকে অ্যাসাইনমেন্ট অপারেটর বলে। যেমন- C=A+B। এখানে A ও B চলকের মান যোগ করে যোগফল C চলকে অ্যাসাইন করা হয়েছে। “= =” হলো রিলেশনাল অপারেটর। দুটি অপারেন্ডের মধ্যে তুলনা করতে যে অপারেটরসমূহ ব্যবহৃত হয় তাদেরকে সম্পর্কযুক্ত অপারেটর বলা হয়। যেমন- a==b হলো a এবং b এর মান সমান।
for loop এবং Do while loop এর মধ্যে কোনটি ব্যবহার করা সহজ?
for এবং do while loop এর মধ্যে for loop ব্যবহার করা সহজ। কারণ সি প্রোগ্রামে কোন স্টেটমেন্ট দুই বা ততোধিক বার ব্যবহার করার জন্য for loop ব্যবহৃত হয়। loop কতবার নির্বাহ করা হবে তা জানা থাকলে for loop ব্যবহার করা উপযোগী। তাই do while loop এর চেয়ে for loop ব্যবহার করা সহজ।
“গ্লোবাল ভেরিয়েবলকে প্রোগ্রামের সকল অংশে জুড়ে দেওয়া সম্ভব”-ব্যাখ্যা কর।
কোনো চলক বা ভেরিয়েবল যদি main() ফাংশনের বাইরে ঘোষণা করা হয় তবে সেই ভেরিয়েবলের কার্যকারিতা main() ফাংশন বা ঐ প্রোগ্রামে ব্যবহৃত সকল ফাংশনের মধ্যে বিস্তৃত থাকে। আর এই ধরনের চলককে গ্লোবাল ভেরিয়েবল বলা হয়। এই ধরনের চলক প্রোগ্রামের সকল ফাংশনেই ব্যবহার করা সম্ভব।
“অ্যারে এবং চলক এক নয়”-ব্যাখ্যা কর।
একই ধরনের বা সমপ্রকৃতির চলকের সমাবেশকে অ্যারে বলা হয়। অ্যারের একটি নাম থাকে, ইনডেক্স নাম্বার এবং আইটেম সমূহকে বন্ধনীর মধ্যে উপস্থাপন করা হয়। অ্যারে একমাত্রিক ও বহুমাত্রিক হতে পারে। মেমোরি অ্যাড্রেস সরাসরি ব্যবহার না করে একটি নাম দিয়ে ঐ নামের অধীনে ডেটা রাখা হয়। এই ডেটা পরিবর্তনশীল তাই ঐ নামকে চলক বলা হয়। চলক হলো প্রোগ্রামের দেওয়া মেমোরির কয়েক বাইট স্থানের একটি নাম। তাই বলা যায় যে, অ্যারে এবং চলক এক নয়।
অ্যারে প্রোগ্রামের জটিলতা কমায়–ব্যাখ্যা কর।
একই জাতীয় একাধিক ডেটা একটি চলকের আন্ডারে রাখা সম্ভব –ব্যাখ্যা কর।
পঞ্চম অধ্যায় গুরুত্বপূর্ণ জ্ঞানমূলক প্রশ্ন ও উওরসমূহ !
জ্ঞানমূলক প্রশ্ন ও উওরসমূহঃ
প্রোগ্রাম কী?
কম্পিউটার বা যন্ত্রের সাহায্যে কোন সমস্যা সমাধানের জন্য প্রোগ্রামিং ভাষায় লেখা প্রয়োজনীয় নিদের্শমালার সমষ্টিকে প্রোগ্রাম (program) বলা হয়।
প্রোগ্রামিং কী?
প্রোগ্রাম রচনার পদ্ধতি বা কৌশলকে প্রোগ্রামিং (programming) বা কোডিং বলা হয়।
প্রোগ্রামার কী?
যে বা যিনি কম্পিউটার বা যন্ত্রের সাহায্যে কোন সমস্যা সমাধানের জন্য প্রোগ্রামিং ভাষায় প্রয়োজনীয় নিদের্শমালা বা প্রোগ্রাম লিখে তাকে প্রোগ্রামার বলা হয়।
প্রোগ্রামিং ভাষা কী?
কম্পিউটারের মাধ্যমে কোন সমস্যা সমাধান তথা প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অংক, চিহ্ন প্রভৃতির সমন্বয়ে গঠিত রীতিনীতিকে প্রোগ্রামিং ভাষা (Programming Language) বলা হয়।
4GL কী?
4GL বলতে 4th Generation Language বা চতুর্থ প্রজন্মের ভাষা বুঝায়। 4GL এর সাহায্যে সহজেই অ্যাপ্লিকেশন তৈরি করা যায় বলে একে Rapid Application Development (RAD) টুলও বলা হয়।
উচ্চস্তরের প্রোগ্রামিং ভাষা কী?
যে প্রোগ্রামিং ভাষার প্রতীক এবং শব্দ সমূহ সাধারণত গাণিতিক ও ইংরেজি ভাষার মত এবং যা মানুষের জন্য সহজে বোধগম্য, সে প্রোগ্রামিং ভাষাকে উচ্চস্তরের প্রোগ্রামিং ভাষা বলে। এটি মেশিন নির্ভর নয়।
মেশিন ভাষা কী?
কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটারের মৌলিক ভাষা। এই ভাষায় শুধু মাত্র ০ এবং ১ ব্যবহার করা হয় বলে এই ভাষায় দেওয়া কোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। এর সাহায্যে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়।
অ্যাসেম্বলি ভাষা কী?
যে প্রোগ্রামিং ভাষায় প্রোগ্রাম লেখার জন্য বিভিন্ন নেমোনিক বা সংকেত ব্যবহার করা হয়, সে প্রোগ্রামিং ভাষাকে অ্যাসেম্বলি ভাষা বলা হয়। এটি দ্বিতীয় প্রজন্মের এবং নিম্নস্তরের প্রোগ্রামিং ভাষা।
নেমোনিক কী?
অ্যাসেম্বলি ভাষায় ব্যবহৃত বিভিন্ন সংকেতকে নিমোনিক বলে। যেমনঃADD, SUB, MUL ও DIV ইত্যাদি।
অনুবাদক প্রোগ্রাম কী?
যে প্রোগ্রামের সাহায্যে উৎস (Source) প্রোগ্রামকে বস্তু (Object) প্রোগ্রামে পরিণত করা হয় তাকে অনুবাদক প্রোগ্রাম বলে। মেশিন ভাষায় লেখা প্রোগ্রামকে বলা হয় বস্তু প্রোগ্রাম (Object Program) এবং অন্য যেকোনো ভাষায় লেখা প্রোগ্রামকে বলা হয় উৎস প্রোগ্রাম (Source program)।
আসেম্বলার কী?
আসেম্বলার একটি অনুবাদক প্রোগ্রাম যা অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় অনুবাদ করার জন্য ব্যবহার করা হয়। এটি অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে যান্ত্রিক ভাষায় রূপান্তর করে অর্থাৎ, নেমোনিক কোডকে মেশিন ভাষায় অনুবাদ করে।
কম্পাইলার কী?
কম্পাইলার হলো এক ধরনের অনুবাদক প্রোগ্রাম যা হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। কম্পাইলার সম্পূর্ণ প্রোগ্রামটিকে একসাথে অনুবাদ করে।
ইন্টারপ্রেটার কী?
ইন্টারপ্রেটার হলো এক ধরণের অনুবাদক প্রোগ্রাম যা কম্পাইলারের মতো হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। তবে ইন্টারপ্রেটার লাইন বাই লাইন অনুবাদ করে।
ডিবাগিং কী?
প্রোগ্রামে যে কোনো ভুল চিহ্নিত করতে পারলে ভুলকে বলা হয় বাগ (Bug)। উক্ত বাগকে সমাধান করার প্রক্রিয়াকে বলা হয় ডিবাগ (Debug) বা ডিবাগিং।
প্রোগ্রাম টেস্টিং?
প্রোগ্রাম টেস্টিং হচ্ছে কোনো প্রোগ্রাম কোডিং সম্পন্ন করার পর প্রোগ্রামটির বিভিন্ন ইনপুটের জন্য যে ধরনের আউটপুট বা ফলাফল হওয়া উচিৎ তা ঠিকমতো আসছে কিনা বা রান করছে কিনা তা যাচাই করা।
সিনট্যাক্স ভুল/ব্যাকরণগত ভুল?
প্রোগ্রামে প্রোগ্রামিং ভাষার সিনট্যাক্স বা ব্যাকরণগত যেসব ভুল থাকে তাকে বলা হয় সিনট্যাক্স ভুল। যেমন- বানান ভুল,কমা, ব্র্যাকেট ঠিকমতো না দেয়া, কোনো চলকের মান না জানানো প্রভৃতি। এসব ভুল সংশোধন করা খুবই সহজ, কারণ সিনট্যাক্স ভুলের বেলায় অনুবাদক প্রোগ্রাম ভুলের বার্তা ছাপায়।
লজিক্যাল ভুল কী?
প্রোগ্রামে যুক্তির ভুল থাকলে তাকে বলে লজিক্যাল ভুল।সাধারণত সমস্যা ঠিকমতো না বোঝার জন্যই এ ভুল হয়। যেমন- a>b এর স্থলে a<b বা s=a+b এর স্থানে s=a-b লিখলে লজিক্যাল ভুল হয়।
অ্যালগরিদম কী?
কোনো একটি নির্দিষ্ট সমস্যা সমাধানের জন্য যুক্তিসম্মত ও সসীম সংখ্যক ধাপে সমাধান করার যে পদ্ধতি, তাকে অ্যালগরিদম বলা হয়। কোনো সমস্যাকে কম্পিউটার প্রোগ্রামিং দ্বারা সমাধান করার পূর্বে কাগজে-কলমে সমাধান করার জন্যই অ্যালগরিদম ব্যবহার করা হয়।
ফ্লোচার্ট কী?
যে চিত্রভিত্তিক পদ্ধতিতে বিশেষ কতকগুলো চিহ্নের সাহায্যে কোনো একটি নির্দিষ্ট সমস্যার সমাধান করা হয় তাকে ফ্লোচার্ট বলা হয়।
সুডোকোড কী?
প্রোগ্রাম রচনার ধারাবাহিক বর্ণনাই হল সুডোকোড়। সুডোকোড মানুষের ভাষা ব্যবহার করে লেখা হয়।
OOP কী?
OOP এর পূর্নরুপ হল Object Oriented Programming.
চলক কী?
প্রোগ্রাম নির্বাহের সময় যার মান পরিবর্তনশীল তাকে চলক বলে। প্রোগ্রামে ডেটা নিয়ে কাজ করার সময় প্রতিটি ডেটার জন্য একটি ভেরিয়েবল বা চলক ব্যবহার করা হয়।
ধ্রবক কী?
প্রোগ্রাম নির্বাহের সময় যার মান অপরিবর্তীত থাকে তাকে ধ্রুবক বলে। যেমন π এর মান হলো বা ৩.১৪২৮৫। কখনো π এর মানের কোনো পরিবর্তন হয় না।
কী-ওয়ার্ড কী?
প্রত্যেক প্রোগ্রামিং ভাষার নিজস্ব কিছু সংরক্ষিত শব্দ আছে যা প্রোগ্রাম রচনার সময় ব্যবহার করা হয়। এই সংরক্ষিত শব্দগুলোকে কী-ওয়ার্ড বলা হয়।
ডেটা টাইপ কী?
ডেটার ধরনকে ডেটা টাইপ বলে। যেমন- int, float, double ইত্যাদি।
অপারেটর কী?
প্রোগ্রামিং ভাষায় গাণিতিক এবং যৌক্তিক কাজ নিয়ন্ত্রণ করার জন্য কতগুলো বিশেষ চিহ্ন ব্যবহৃত হয়, এগুলোকে অপারেটর বলা হয়। যেমন- +, – , *, % ইত্যাদি।
কন্ট্রোল স্টেটমেন্ট কী?
সি প্রোগ্রামের স্টেটমেন্টসমূহ সাধারণত পর্যায়ক্রমিকভাবে নির্বাহ হয়। কিন্তু কখনও কখনও স্টেটমেন্টসমূহ দুই বা ততোধিকবার নির্বাহ এবং শর্ত সাপেক্ষে নির্বাহের প্রয়োজন হয়। এক্ষেত্রে স্টেটমেন্টসমূহের নির্বাহ প্রোগ্রামার কর্তৃক নিয়ন্ত্রিত হয়। যে স্টেটমেন্টের সাহায্যে এরুপ স্টেটমেন্টসমূহের নির্বাহ নিয়ন্ত্রন করা হয় তাকে কন্ট্রোল স্টেটমেন্ট বলে।
লুপ কন্ট্রোল স্টেটমেন্ট কী?
সি প্রোগ্রামে কোন স্টেটমেন্ট একাধিকবার নির্বাহের জন্য যে কন্ট্রোল স্টেটমেন্ট ব্যবহৃত হয় তাকে লুপ কন্ট্রোল স্টেটমেন্ট বলে।
লুপ কী?
প্রোগ্রামের অংশ বিশেষ কোনো শর্তে না পৌঁছা পর্যন্ত নির্দিষ্ট সংখ্যক বার পুনরাবৃত্তি করাকে লুপিং বা লুপ বলা হয়।
অ্যারে কী?
অ্যারে হলো একই ধরনের বা সমপ্রকৃতির চলকের সমাবেশ।
ফাংশন কী?
প্রোগ্রামে যখন কতগুলো স্টেটমেন্ট কোনো নামে একটি ব্লকের মধ্যে অবস্থান করে কোনো নির্দিষ্ট কাজ সম্পাদন করে তখন ব্লকটিকে ফাংশন বলা হয়।
পঞ্চম অধ্যায় গুরুত্বপূর্ণ উচ্চতর দক্ষতা মূলক প্রশ্নসমূহ !
ঘ. উচ্চতর দক্ষতা মূলক প্রশ্ন :
১। প্রোগ্রাম তৈরির ধাপের সাথে প্রবাহচিত্র কিভাবে সম্পর্কিত? বিশ্লেষণ কর।
২। অ্যালগরিদম প্রক্রিয়াটি প্রোগ্রাম তৈরির ধাপের সাথে কিভাবে সম্পর্কিত? বিশ্লেষণ কর।
৩। উদ্দীপকে প্রদত্ত কোনো ফ্লোচার্ট কিভাবে প্রোগ্রাম তৈরির ধাপের সাথে সম্পর্কিত? বিশ্লেষণ কর।
৪। উদ্দীপকে প্রদত্ত কোন অ্যালগোরিদম কিভাবে প্রোগ্রাম তৈরির ধাপের সাথে সম্পর্কিত বিশ্লেষণ কর।
৫। প্রদত্ত ফ্লোচার্ট থেকে অ্যালগরিদম তৈরিকরণ।
৬। প্রদত্ত অ্যালগরিদম থেকে ফ্লোচার্ট তৈরিকরণ।
৭। উদ্দীপকে প্রদত্ত কোন ফ্লোচার্টের ব্যাখ্যা করতে হবে?
২। অ্যালগরিদম প্রক্রিয়াটি প্রোগ্রাম তৈরির ধাপের সাথে কিভাবে সম্পর্কিত? বিশ্লেষণ কর।
৩। উদ্দীপকে প্রদত্ত কোনো ফ্লোচার্ট কিভাবে প্রোগ্রাম তৈরির ধাপের সাথে সম্পর্কিত? বিশ্লেষণ কর।
৪। উদ্দীপকে প্রদত্ত কোন অ্যালগোরিদম কিভাবে প্রোগ্রাম তৈরির ধাপের সাথে সম্পর্কিত বিশ্লেষণ কর।
৫। প্রদত্ত ফ্লোচার্ট থেকে অ্যালগরিদম তৈরিকরণ।
৬। প্রদত্ত অ্যালগরিদম থেকে ফ্লোচার্ট তৈরিকরণ।
৭। উদ্দীপকে প্রদত্ত কোন ফ্লোচার্টের ব্যাখ্যা করতে হবে?
পঞ্চম অধ্যায় গুরুত্বপূর্ণ প্রয়োগমূলক প্রশ্নসমূহ !
গ. প্রয়োগমূলক প্রশ্ন :
(এই অধ্যায়ের জন্য অ্যালগরিদম, ফ্লোচার্ট ও প্রোগ্রাম লিখন সম্পর্কিত প্রশ্ন প্রয়োগমূলক হিসেবে আসার সম্ভাবনা বেশি)
১। নিচের সমস্যাগুলো সমাধানের জন্য অ্যালগোরিদম লিখ
i) একটি ত্রিভুজ/বৃত্ত/আয়তক্ষেত্রের ক্ষেত্রফল নির্ণয়ের জন্য অ্যালগরিদম লিখ।
ii) সেন্টিগ্রেট তাপমাত্রাকে ফারেনহাইট তাপমাত্রায় রুপান্তরের অ্যালগরিদম লিখ।
iii) ফারেনহাইট তাপমাত্রাকে সেন্টিগ্রেট তাপমাত্রায় রুপান্তরের অ্যালগরিদম লিখ।
iv) দুটি সংখ্যার গ.সা.গু নির্ণয়ের জন্য অ্যালগরিদম লিখ।
v) দুটি সংখ্যার ল.সা.গু নির্ণয়ের জন্য অ্যালগরিদম লিখ।
vi) ১ থেকে ১০০ পর্যন্ত সংখ্যাগুলো প্রদর্শনের জন্য অ্যালগরিদম লিখ।
vii) ১ থেকে N পর্যন্ত সংখ্যাগুলো নির্ণয়ের জন্য অ্যালগরিদম লিখ।
viii) ১ থেকে ১০০ পর্যন্ত সংখ্যাগুলোর যোগফল নির্ণয়ের অ্যালগরিদম লিখ।
ix) ১ থেকে N পর্যন্ত সংখ্যাগুলোর যোগফল বের করার জন্য অ্যালগরিদম লিখ।
x) প্রথম দশটি জোড় সংখ্যার যোগফল নির্ণয়ের জন্য অ্যালগরিদম লিখ।
xi) তিনটি ধনাত্মক পূর্ণসংখ্যার গড় নির্ণয়ের জন্য অ্যালগরিদম লিখ।
xii) তিনটি সংখ্যার মধ্যে বৃহত্তম সংখ্যাটি নির্ণয়ের অ্যালগরিদম লিখ।
২। নিচের সমস্যাগুলো সমাধানের জন্য প্রবাহচিত্র বা ফ্লোচার্ট আঁক।
i) একটি ত্রিভুজ/বৃত্ত/আয়তক্ষেত্রের ক্ষেত্রফল নির্ণয়ের জন্য ফ্লোচার্ট আঁক।
ii) সেন্টিগ্রেট তাপমাত্রাকে ফারেনহাইট তাপমাত্রায় রুপান্তরের ফ্লোচার্ট আঁক।
iii) ফারেনহাইট তাপমাত্রাকে সেন্টিগ্রেট তাপমাত্রায় রুপান্তরের ফ্লোচার্ট আঁক।
iv) দুটি সংখ্যার গ.সা.গু নির্ণয়ের জন্য ফ্লোচার্ট আঁক।
v) দুটি সংখ্যার ল.সা.গু নির্ণয়ের জন্য ফ্লোচার্ট আঁক।
vi) ১ থেকে ১০০ পর্যন্ত সংখ্যাগুলো প্রদর্শনের জন্য ফ্লোচার্ট আঁক।
vii) ১ থেকে N পর্যন্ত সংখ্যাগুলো নির্ণয়ের জন্য ফ্লোচার্ট আঁক।
viii) ১ থেকে ১০০ পর্যন্ত সংখ্যাগুলোর যোগফল নির্ণয়ের ফ্লোচার্ট আঁক।
ix) ১ থেকে N পর্যন্ত সংখ্যাগুলোর যোগফল বের করার জন্য ফ্লোচার্ট আঁক।
x) প্রথম দশটি জোড় সংখ্যার যোগফল নির্ণয়ের জন্য ফ্লোচার্ট আঁক।
xi) তিনটি ধনাত্মক পূর্ণসংখ্যার গড় নির্ণয়ের জন্য ফ্লোচার্ট আঁক।
xii) তিনটি সংখ্যার মধ্যে বৃহত্তম সংখ্যাটি নির্ণয়ের ফ্লোচার্ট আঁক।
৩। সি প্রোগ্রাম উন্নয়নের ধাপগুলো ব্যাখ্যা কর
৪। প্রোগ্রাম উন্নয়নের জন্য ধাপগুলো বর্ণনা কর।
৫। কম্পাইলার, ইন্টারপ্রেটার ও অ্যাসেম্বলার এর মধ্যে তুলনা কর।
৬। কোন প্রোগ্রামের ডিবাগিং কিভাবে করা যায়?
৭। #include<stdio.h>
void main(){
int i, N;
long sum=0;
printf(“\n Enter last number of the series”);
scanf(“%d”,&N);
printf(“1+2+3+……….+N”, N);
for(i=1; i<=N; i=i+1)
{
sum=sum+i;
}
printf(“%ld”, sum);
}
উক্ত প্রোগ্রামটির একটি ফ্লোচার্ট আঁক ।
৮। ১১, ২২, ৩৩ ……………৯৯ ধারাটির জন্য অ্যালগরিদম এবং ফ্লোচার্ট দেখাও।
৯। 12, 32, 52,………….N2 ধারাটির যোগফল নির্ণয়ের ফ্লোচার্ট দেখাও।
১০। ফিবোনাচ্চি ধারাটির ১০ টি পদ প্রদর্শের জন্য ফ্লোচার্ট দেখাও।
১১। প্রাইম সংখ্যা নির্ণয়ের জন্য ফ্লোচার্ট বা অ্যালগরিদম লিখ।
পঞ্চম অধ্যায় গুরুত্বপূর্ণ অনুধাবনমূলক প্রশ্নসমূহ !
খ. অনুধাবনমূলক প্রশ্নসমূহ :
(এই অংশের প্রশ্নগুলো বিভিন্ন বিষয়ের সুবিধা ও অসুবিধার আলোকে তুলনা করতে হয় এমন প্রশ্ন করা হয় তাই সুবিধা ও অসুবিধাগুলো পড়তে হবে)
১। অ্যালগরিদম কোডিং এর পূর্বশর্ত ব্যাখ্যা কর।
২। “অ্যাসেম্বলি ভাষার অপর নাম নিমোনিক কোড” -ব্যাখ্যা কর।
অথবা, “অ্যাসেম্বলি ভাষার অপর নাম সাংকেতিক কোড” -ব্যাখ্যা কর।
৩। কম্পাইলারের তুলনায় ইন্টারপ্রেটার কোন ক্ষেত্রে ভালো ব্যাখ্যা কর।
৪। সি -কে একটি মধ্যম স্তরের ভাষা বলা হয় কেন?
অথবা, সি ভাষাকে মিড লেভেল ভাষা বলা হয় কেন?
৫। সি একটি কেস সেনসেটিভ ভাষা-বুঝিয়ে লেখ।
৬। কম্পাইলার ও ইন্টারপ্রেটার এক নয়-ব্যাখ্যা কর।
৭। অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী-ব্যাখ্যা কর।
৮। “লো লেভেল ভাষার দুর্বলতাই হাই লেভেল ভাষার উৎপত্তির কারণ” ব্যাখ্যা কর।
৯। ০ এবং ১ দিয়ে লেখা ভাষা ব্যাখ্যা কর।
১০। শব্দ ছাড়াই শুধুমাত্র সংখ্যার মাধ্যমে ভাষা প্রকাশ সম্ভব- ব্যাখ্যা কর।
১১। অ্যাসেম্বলি ভাষা মেশিন ভাষার চেয়ে উন্নতর কেন?
১২। প্রত্যেকবার প্রোগ্রাম নির্বাহের সময় কম্পাইল করা প্রয়োজন কেন?
১৩। মেশিন ল্যাংগুয়েজ ও হাই লেভেল ল্যাংগুয়েজ এক নয় কেন ?
১৪। অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং বলতে কি বোঝায়?
১৫। স্ট্রাকচার্ড প্রোগ্রামিং এর বৈশিষ্ট্য কি কি?
১৬। স্ট্রাকচার্ড প্রোগ্রামিং ও অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর মধ্যে কোনটি বেশি সুবিধাজনক? ব্যাখ্যা কর।
১৭। কম্পাইলার ও ইন্টারপ্রেটার এর মধ্যে পার্থক্য কি কি?
১৮। মেশিন ল্যাংগুয়েজ ও অ্যাসেম্বলি ল্যাংগুয়েজের মধ্যে পার্থক্য কি কি?
১৯। অ্যালগরিদম ও ফ্লোচার্টের মধ্যে পার্থক্য কি?
২০। প্রোগ্রাম ফ্লোচার্টের প্রতীকগুলো অর্থসহ লিখ।
২১। সি এবং সি++ ভাষার মধ্যে কোনটি বেশি উপযোগী?
২২। সি এবং সি++ ভাষার পার্থক্যগুলো লিখ।
২৩। আদর্শ প্রোগ্রামের বৈশিষ্ট্যগুলো কি কি হওয়া উচিত?
২৪। ডিবাগিং ও টেস্টিং এক নয়- ব্যাখ্যা কর।
পঞ্চম অধ্যায় গুরুত্বপূর্ণ জ্ঞানমূলক প্রশ্নসমূহ !
ক. জ্ঞানমূলক প্রশ্নসমূহ :
১। প্রোগ্রাম কাকে বলে? বা কম্পিউটার প্রোগ্রাম কি?
২। প্রোগ্রামিং ল্যাংগুয়েজ বলতে কি বোঝায়?
৩। যন্ত্রভাষা বা মেশিন ভাষা বা মেশিন ল্যাংগুয়েজ কি?
৪। নিমোনিক কি?
৫। অপকোড ও অপারেন্ড কি?
৬। অ্যাসেম্বলি ভাষা কি?
৭। অ্যাকিউমুলেটর কি?
৮। SQL কি? বা এর পূর্ণরূপ কি?
৮। Oracale বা ওরাকল কি?
৯। অনুবাদক প্রোগ্রাম বা ট্রান্সলেটর কি?
১০। কম্পাইলার কি? / ইন্টারপ্রেটার কি? / অ্যাসেম্বলার কি?
১১। অ্যালগরিদম কি?
১২। ফ্লোচার্ট বা প্রবাহচিত্র কী?
১৩। সিস্টেম ফ্লোচার্ট বা প্রোগ্রাম ফ্লোচার্ট কি?
১৪। সুডোকোড কি? বা ছদ্ম প্রোগ্রাম কি?
১৫। OOP কি?
১৬। ডিবাগিং কি? বা ডিবাগ কি?
১৭। Syntax Error কি?
১৮। 4GL কী?১৯। Run Program কী?
২। প্রোগ্রামিং ল্যাংগুয়েজ বলতে কি বোঝায়?
৩। যন্ত্রভাষা বা মেশিন ভাষা বা মেশিন ল্যাংগুয়েজ কি?
৪। নিমোনিক কি?
৫। অপকোড ও অপারেন্ড কি?
৬। অ্যাসেম্বলি ভাষা কি?
৭। অ্যাকিউমুলেটর কি?
৮। SQL কি? বা এর পূর্ণরূপ কি?
৮। Oracale বা ওরাকল কি?
৯। অনুবাদক প্রোগ্রাম বা ট্রান্সলেটর কি?
১০। কম্পাইলার কি? / ইন্টারপ্রেটার কি? / অ্যাসেম্বলার কি?
১১। অ্যালগরিদম কি?
১২। ফ্লোচার্ট বা প্রবাহচিত্র কী?
১৩। সিস্টেম ফ্লোচার্ট বা প্রোগ্রাম ফ্লোচার্ট কি?
১৪। সুডোকোড কি? বা ছদ্ম প্রোগ্রাম কি?
১৫। OOP কি?
১৬। ডিবাগিং কি? বা ডিবাগ কি?
১৭। Syntax Error কি?
১৮। 4GL কী?১৯। Run Program কী?



















