লজিকবাংলা (LogicBangla) ইউজার ইনপুট: সম্পূর্ণ গাইড
লজিকবাংলা-এ ইউজারের কাছ থেকে ডাটা নেওয়ার জন্য মূল কিওয়ার্ড হলো জিজ্ঞেস।
এটি সহজ, দ্রুত এবং beginner-friendly কারণ আপনি একটা ভেরিয়েবল অথবা একাধিক ভেরিয়েবল-এ একসাথে ইনপুট রাখতে পারেন
চেইনিং অপারেটর >> দিয়ে।
লজিকবাংলায় জিজ্ঞেস সাধারণত একটি ইনপুট লাইন নেয়, তারপর সেটাকে স্পেস (space) দিয়ে ভাগ করে
সিরিয়াল অনুযায়ী ভেরিয়েবলগুলোতে বসায়। তাই একাধিক ইনপুট দিতে চাইলে এক লাইনে স্পেস দিয়ে দিলে সবচেয়ে স্মুথ কাজ করে।
১) সঠিক ইনপুট ফরম্যাট
লজিকবাংলায় ইনপুট নেওয়ার সবচেয়ে স্ট্যান্ডার্ড সিনট্যাক্স:
পূর্ণসংখ্যা বয়স;
দেখাও "আপনার বয়স: ";
জিজ্ঞেস >> বয়স;
✅ নিয়ম: জিজ্ঞেস এর পরে >> দিয়ে টার্গেট ভেরিয়েবল দিতে হবে
২) বিভিন্ন টাইপের ইনপুট
২.১ পূর্ণসংখ্যা (Integer) ইনপুট
পূর্ণসংখ্যা বয়স;
দেখাও "আপনার বয়স: ";
জিজ্ঞেস >> বয়স;
দেখাও "আপনার বয়স " >> বয়স >> " বছর";
ইনপুট: 25 দিলে আউটপুটে সাধারণত বাংলা অংকে দেখাবে: ২৫ (যদি তোমার সিস্টেমে auto Bangla digit output চালু থাকে)।
২.২ দশমিক (Decimal) ইনপুট
দশমিক তাপমাত্রা;
দেখাও "তাপমাত্রা (সেলসিয়াস): ";
জিজ্ঞেস >> তাপমাত্রা;
দেখাও "তাপমাত্রা: " >> তাপমাত্রা >> "°C";
দশমিক ইনপুটে সাধারণত 36.5 টাইপ ফরম্যাট দিন। বাংলা দশমিক (৩৬.৫) লিখলে—তোমার Lexer/Parser সেটি সাপোর্ট করলে ঠিক থাকবে, না হলে ইংরেজি ডট ফরম্যাট ব্যবহার করাই safest।
২.৩ বাক্য (String) ইনপুট
বাক্য নাম;
দেখাও "আপনার নাম: ";
জিজ্ঞেস >> নাম;
দেখাও "হ্যালো, " >> নাম >> "!";
✅ এখানে সাধারণত এক শব্দ (যেমন: রহিম) দিলে সবচেয়ে সহজে কাজ করে।
যদি নামের মধ্যে স্পেস থাকে (যেমন: “Abdul Rahim”) তাহলে তোমার ইনপুট সিস্টেম space দিয়ে split করলে তা দুই অংশ হয়ে যাবে।
২.৪ অক্ষর (Character) ইনপুট
অক্ষর গ্রেড;
দেখাও "আপনার গ্রেড: ";
জিজ্ঞেস >> গ্রেড;
দেখাও "গ্রেড: " >> গ্রেড;
✅ Character সাধারণত এক অক্ষর/চিহ্ন ইনপুট আশা করে (A/B/+/-)।
৩) একাধিক ইনপুট (Multiple Input)
একাধিক ইনপুট নেওয়ার সেরা সুবিধা হলো—এক লাইনে একাধিক মান নিয়ে সেগুলো আলাদা আলাদা ভেরিয়েবলে বসানো।
৩.১ একই লাইনে একাধিক ভেরিয়েবল
পূর্ণসংখ্যা রোল, বয়স;
দেখাও "রোল এবং বয়স দিন: ";
জিজ্ঞেস >> রোল >> বয়স;
দেখাও "রোল: " >> রোল >> ", বয়স: " >> বয়স;
ইনপুট দেওয়ার সহজ নিয়ম: একই লাইনে স্পেস দিয়ে দিন—যেমন 15 25
৩.২ আলাদা আলাদা লাইনে
পূর্ণসংখ্যা রোল, বয়স;
দেখাও "রোল নম্বর: ";
জিজ্ঞেস >> রোল;
দেখাও "বয়স: ";
জিজ্ঞেস >> বয়স;
দেখাও "রোল: " >> রোল >> ", বয়স: " >> বয়স;
একই লাইনে দিলে দ্রুত হয়, আলাদা লাইনে দিলে ইউজার বেশি গাইডেড থাকে—beginner UI/console-এর জন্য আলাদা লাইন ভালো।
৩.৩ মিশ্র টাইপ ইনপুট (Mixed Types)
বাক্য নাম;
পূর্ণসংখ্যা বয়স;
দশমিক উচ্চতা;
দেখাও "নাম: ";
জিজ্ঞেস >> নাম;
দেখাও "বয়স: ";
জিজ্ঞেস >> বয়স;
দেখাও "উচ্চতা (ফুট): ";
জিজ্ঞেস >> উচ্চতা;
দেখাও "নাম: " >> নাম; নতুনলাইন;
দেখাও "বয়স: " >> বয়স >> " বছর"; নতুনলাইন;
দেখাও "উচ্চতা: " >> উচ্চতা >> " ফুট";
৪) অ্যারেতে ইনপুট
অ্যারে/তালিকায় ইনপুট নেওয়ার সবচেয়ে কমন প্যাটার্ন হলো—লুপ চালিয়ে index ধরে ইনপুট নেওয়া।
৪.১ লুপ দিয়ে অ্যারে ইনপুট
পূর্ণসংখ্যা নম্বর[৫];
পূর্ণসংখ্যা i;
দেখাও "৫টি নম্বর দিন:";
নতুনলাইন;
পুনরাবৃত্তি (শুরু i=০; যতক্ষণ i<৫; i++) {
দেখাও "নম্বর " >> (i+১) >> ": ";
জিজ্ঞেস >> নম্বর[i];
}
দেখাও "আপনার নম্বরগুলো: ";
পুনরাবৃত্তি (শুরু i=০; যতক্ষণ i<৫; i++) {
দেখাও নম্বর[i] >> " ";
}
নতুনলাইন;
৪.২ ম্যাট্রিক্স ইনপুট (১D স্টোরেজ ট্রিক)
যদি ৩×৩ ম্যাট্রিক্স নিতে চান, অনেক সময় সেটাকে ১D অ্যারেতে রেখে ইনডেক্স হিসাব করে কাজ করা হয় (এটা C/low-level approach-এর মতো)।
পূর্ণসংখ্যা ম্যাট্রিক্স[৯];
পূর্ণসংখ্যা সারি = ৩, কলাম = ৩;
পূর্ণসংখ্যা i, j, ইনডেক্স;
দেখাও "৩×৩ ম্যাট্রিক্সের মান দিন:";
নতুনলাইন;
পুনরাবৃত্তি (শুরু i=০; যতক্ষণ i<সারি; i++) {
পুনরাবৃত্তি (শুরু j=০; যতক্ষণ j<কলাম; j++) {
ইনডেক্স = (i * কলাম) + j;
দেখাও "উপাদান [" >> i >> "][" >> j >> "]: ";
জিজ্ঞেস >> ম্যাট্রিক্স[ইনডেক্স];
}
}
নতুনলাইন;
দেখাও "আপনার ম্যাট্রিক্স:";
নতুনলাইন;
পুনরাবৃত্তি (শুরু i=০; যতক্ষণ i<সারি; i++) {
পুনরাবৃত্তি (শুরু j=০; যতক্ষণ j<কলাম; j++) {
ইনডেক্স = (i * কলাম) + j;
দেখাও ম্যাট্রিক্স[ইনডেক্স] >> " ";
}
নতুনলাইন;
}
৫) বাস্তব জীবনের উদাহরণ (Ready to Use)
// ৫.১ যোগ ক্যালকুলেটর
পূর্ণসংখ্যা ক, খ, ফলাফল;
দেখাও "প্রথম সংখ্যা: ";
জিজ্ঞেস >> ক;
দেখাও "দ্বিতীয় সংখ্যা: ";
জিজ্ঞেস >> খ;
ফলাফল = ক + খ;
দেখাও ক >> " + " >> খ >> " = " >> ফলাফল;
নতুনলাইন;
// ৫.২ তাপমাত্রা রূপান্তর
দশমিক সেলসিয়াস, ফারেনহাইট;
দেখাও "তাপমাত্রা (সেলসিয়াস): ";
জিজ্ঞেস >> সেলসিয়াস;
ফারেনহাইট = (সেলসিয়াস * ৯.০ / ৫.০) + ৩২.০;
দেখাও সেলসিয়াস >> "°C = " >> ফারেনহাইট >> "°F";
নতুনলাইন;
৬) সাধারণ ভুল এবং সমাধান
৬.১ ভুল: প্রম্পট এবং ইনপুট একসাথে (ভুল স্টাইল)
// ❌ ভুল
জিজ্ঞেস "নাম: " + নাম;
// ✓ সঠিক (সবসময় কাজ করবে)
বাক্য নাম;
দেখাও "নাম: ";
জিজ্ঞেস >> নাম;
৬.২ ভুল: টাইপ মিসম্যাচ
// ❌ পূর্ণসংখ্যায় দশমিক দিলে সমস্যা হতে পারে
পূর্ণসংখ্যা বয়স;
দেখাও "বয়স: ";
জিজ্ঞেস >> বয়স; // ইনপুট যদি 25.5 হয়
// ✓ দশমিক ব্যবহার করুন
দশমিক বয়স২;
দেখাও "বয়স (দশমিক হলে): ";
জিজ্ঞেস >> বয়স২;
৬.৩ ভুল: ডিক্লেয়ার না করেই ইনপুট নেওয়া
// ❌ ভুল
দেখাও "নাম: ";
জিজ্ঞেস >> নাম;
// ✓ সঠিক
বাক্য নাম;
দেখাও "নাম: ";
জিজ্ঞেস >> নাম;
৭) বেস্ট প্র্যাকটিস
- স্পষ্ট প্রম্পট দিন: “বয়স (বছরে)” টাইপ নির্দেশনা ইউজারকে সাহায্য করে
- ভ্যালিডেশন করুন: ভুল ইনপুটকে আলাদা করে ধরুন
- ফরমেটেড আউটপুট দিন:
নতুনলাইন;ব্যবহার করে রিপোর্ট সুন্দর রাখুন
পূর্ণসংখ্যা বয়স;
দেখাও "আপনার বয়স (বছরে): ";
জিজ্ঞেস >> বয়স;
যদি বয়স < ০ অথবা বয়স > ১৫০ {
দেখাও "ভুল বয়স! দয়া করে ০ থেকে ১৫০ এর মধ্যে দিন।";
} নাহলে {
দেখাও "বয়স সঠিক: " >> বয়স;
}
নতুনলাইন;
৮) সারসংক্ষেপ
| যা শিখলেন | সিনট্যাক্স |
| একক ইনপুট | জিজ্ঞেস >> ভেরিয়েবল; |
| একাধিক ইনপুট | জিজ্ঞেস >> ক >> খ; |
| তালিকা ইনপুট | জিজ্ঞেস >> লিস্ট[i]; |
| ভ্যালিডেশন | যদি ... নাহলে ... নাহয়... |
দেখাও)
- তারপর ইনপুট নিন (জিজ্ঞেস)
- একাধিক ইনপুট হলে এক লাইনে স্পেস দিয়ে দিন