নিজে নিজে কর

উপরের প্রত্যেকটা প্রশ্নের উত্তর নিজে নিজে খুঁজে বের করার চেষ্টা করো। যদি না পাও তাহলে নিচের Show Answer বাটনে ক্লিক করো। না বুঝতে পারলে নিচে কমেন্ট করো।

প্রশ্ন-1.1 যদি কেউ লেখার সময় দুইটা শব্দের মধ্যে একটা হোয়াইট স্পেস না দিয়ে মাঝেমধ্যে একটা হোয়াইট স্পেস দেয়। আবার কখনো কখনো একটার চাইতে বেশি অৰ্থাৎ দুইটা বা তিনটা হোয়াইট স্পেস দিয়ে দেয় তাহলে তুই কিভাবে শব্দ গণনা করবি। সেইরকম একটা কোড লিখে ফেল।

উত্তরঃ

যদি একটা মাত্র খালি জায়গা বা হোয়াইট স্পেস (whitespace) থাকে তাহলে হোয়াইট স্পেস এর আগেরটা আর খালি জায়গা হবে না। সেখানে কোন একটা বর্ন থাকবে। সেজন্য আমরা if এর ভিতরে চেক করবো, কোন একটা বর্ন whitespace কিনা এবং তার আগেরটা whitespace না কিনা। যেমন agami eid er por andolon hobe. তে eid এর পরে যে খালি জায়গা আছে তার আগের জায়গায় অর্থাৎ i -১ পজিশনে d আছে। তাই এইটা একটা ওয়ার্ড ধরে নিবে।কারণ খালি জায়গার আগের পজিশন খালি জায়গা না। কিন্তু er এরপর দুইটা খালি জায়গা। প্রথম খালি জায়গাটার আগের জায়গায় r আছে। অর্থাৎ খালি জায়গার আগেরটা খালি নাই তাই সেটাকে ওয়ার্ড একটা গুনবে। তবে for লুপ চালিয়ে সেকেন্ড খালি জায়গায় গেলে দেখবে এইটা একটা খালি জায়গা। কিন্তু তার আগেরটাও "খালি জায়গা না" না। কারণ সেখানে খালি জায়গা। আর খালি জায়গা থাকা মানে, "খালি জায়গা না" এই কথাটা মিথ্যা। তাই দুইটা খালি জায়গা থাকলে পরের শর্ত সত্য হবে না। তাই if এর ভিতরে যাবে না। তাই শব্দ গুনবে না।

এই একই সিস্টেমে তিন চারটা বা দশটা খালি জায়গা থাকলেও, শুধু প্রথম খালি জায়গার আগেরটা "খালি জায়গা না" এই শর্ত পূরণ করবে। পরের খালি জায়গাগুলা "আগেরটা খালি জায়গা না" এই শর্ত পূরণ করবে না। তাই নিচের কোড দুই তিনটা বা দশটা খালি জায়গা থাকলেও সেটাকে শুধু একটা শব্দ হিসেবে গোনায় ধরা হবে।

এই বর্ননা বুঝতে না পারলে নিচে কমেন্ট করো। আমি এসে বুঝিয়ে দিবো। বুঝাতে না পারলে বইয়ের মূল্য ফেরত।


function wordCount(boktrita) { 
    var count = 0;
    
    for(var i = 0; i < boktrita.length; i++) {
        if(boktrita[i] == ' ' && boktrita[i-1] !=' ') {
        count++;
        }
    }
    count++;
    return count;
}
                                            

প্রশ্ন-1.2 সারা বছর বাক্যের মধ্যে কয়টা শব্দ আছে সেটা প্র্যাকটিস করে যাওয়ার পর ইন্টারভিউতে প্রশ্ন করছে যে কোন একটা প্যারাগ্রাফের মধ্যে কয়টা বাক্য আছে। তুই যদি রিয়েল হাবলু হস তাহলে মাথা গরম করে দৌড় দিবি? আর একটু নন-হাবলু হলে চিন্তা করে বুদ্ধি বের করবি। আগে যেখানে হোয়াইট স্পেস আছে কিনা চেক করতি এখন সেখানে ডট চিহ্ন (".") চেক করলেইতো কাজ হয়ে যাবে।

উত্তরঃ


function sentenceCount(boktrita) { 
    var count = 0;
    
    for(var i = 0; i < boktrita.length; i++) {
        if(boktrita[i] == '.') {
        count++;
        }
    }
    
    return count;
}
    
sentenceCount("agami eid er por andolon hobe. rajpath gorom hobe. songram hobe."); 
                                                                                                          
                                                                                                    

প্রশ্ন-1.3 বাক্য সব সময় ডট চিহ্ন (".") দিয়ে শেষ হয় না। মাঝে মধ্যে প্রশ্নবোধক চিহ্ন ("?') বা আশ্চার্যবোধক চিহ্ন ("!") দিয়ে শেষ হয়। তখন কিভাবে প্রোগ্রাম লিখবি?

উত্তরঃ


function sentenceCount(boktrita) { 
    var count = 0;

    for(var i = 0; i < boktrita.length; i++) {
        if(boktrita[i] == '.') {
        count++;
        }
        
        else if (boktrita[i] == '!') {
        count++;
        }
        
        else if (boktrita[i] == '?') {
        count++;
        }
    }
    
    return count;
}
    
sentenceCount("agami eid er por andolon hobe. amader ki boka paise? jaliye dao!"); 
                                                      
                                                

প্রশ্ন-1.4 একটা বাক্যের মধ্যে কয়টা ভাওয়েল(vowel) আছে সেটা বের করার কোডিং কিভাবে করবি?

উত্তরঃ


function vowelCount(boktrita) {
    var count = 0;
    for(var i = 0; i < boktrita.length; i++) {
        
        if(boktritai] == 'a' || boktritai] == 'e' || boktritai] == 'i' || boktritai] == 'o' || boktritai] == 'u') {
        count++;
        }
    }
    return count;
}
    
vowelCount("agami eid er por andolon hobe");
                                                      
                                                

Chapters

হাবলু কপি কালেক্ট করো

বলদ টু বস কালেক্ট করো