HSC Board Question 2026 Solve & Exam
HSC Board Exam 2026 | English 1st Paper Online Exam
@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700;800&display=swap');
body {
font-family: 'Inter', 'Hind Siliguri', sans-serif;
background-color: #f8fafc;
}
.bangla-text {
font-family: 'Hind Siliguri', sans-serif;
}
.sticky-header {
backdrop-filter: blur(12px);
background-color: rgba(255, 255, 255, 0.94);
}
.correct-border {
border-color: #16a34a !important;
background-color: #f0fdf4 !important;
}
.wrong-border {
border-color: #dc2626 !important;
background-color: #fef2f2 !important;
}
HSC
HSC Board Exam 2026 • All Board
English 1st Paper | Interactive Exam: Part A (60 Marks) • Time: 60 Mins
Time Left:
60:00
Submit Part A
HSC Board Question 2026 Solve & Exam
Part A Online Exam (60 Marks) + Detailed Bangla Explanation
পার্ট A (Reading Test - ৬০ নম্বর) এর জন্য সময় ৬০ মিনিট। পরীক্ষা শেষে প্রতিটি প্রশ্নের সঠিক উত্তর এবং ব্যাকরণ ও অর্থসহ বিস্তারিত বাংলা ব্যাখ্যা দেখা যাবে। পার্ট B (৪০ নম্বর) শুধুমাত্র প্রশ্ন দেখার জন্য দেয়া হয়েছে।
Part A (Interactive)
60 Marks
Part B (View Only)
40 Marks
Student Name
Roll / Registration
Quick Section Jump
Show All (Part A & Part B)
Q1: Behula & Lakhindar (MCQ + Short Q)
Q2 & Q3: Flow Chart & Summary
Q4, Q5 & Q6: Cloze Tests & Rearrange
Part B: Guided Writing (Q7 - Q11 View Only)
Part A Exam Evaluated Successfully
Part A Result Card (Out of 60)
নিচে আপনার প্রাপ্ত নম্বর এবং প্রতিটি প্রশ্নের সঠিক উত্তরের পাশাপাশি বিস্তারিত বাংলা ও ইংরেজি ব্যাখ্যা (Explanation) দেওয়া হলো।
Auto-Graded (Q1A,4,5,6)
0 / 30
Descriptive (Q1B,2,3)
0 / 30
Part A Total Marks
0 / 60
Time Taken
00:00
প্রতিটি প্রশ্নের নিচে সবুজ বক্সে সঠিক উত্তর এবং নীল বক্সে বিস্তারিত বাংলা ব্যাখ্যা যুক্ত করা হয়েছে।
Retake Exam (60 Mins)
Part A — Reading Test (Marks: 60)
Question 01 (A & B)
01. Read the passage context on Behula & Lakhindar and answer questions A and B:
Folk Legend Passage
Passage Overview: Behula is celebrated as a legendary folk heroine and one of the central figures of Manasamangal, a medieval epic. She was the daughter of Sayven of Ujaninagar, while Lakhindar was the youngest son of Chand Saudagar of Champaknagar. Behula grew into an intelligent, beautiful woman and married Lakhindar. However, Chand Saudagar—a devoted worshipper of Shiva—had boasted that he was cleverer and stronger than Manasa, the snake goddess. To protect his son, he constructed an iron chamber for Lakhindar, believing it to be completely impregnable. Yet on the wedding night, Manasa sent a snake that made itself as fine as a strand of hair, slipped into the chamber through a tiny hole, and bit Lakhindar.
Refusing to accept her husband's death, Behula placed Lakhindar's corpse on a banana raft and embarked on a perilous voyage toward the abode of the gods. Overcoming every hazard and temptation along the way, she reached the gods' realm, pleaded for her husband's life, and promised Manasa that Chand Saudagar would worship her. Deeply moved by Behula's devotion, Manasa revived not only Lakhindar but also his brothers whom she had killed earlier. Returning home with her husband and brothers-in-law, Behula saw Chand Saudagar finally bow before Manasa's might, after which Lakhindar and Behula returned to their heavenly abode as Aniruddha and Usa.
বাংলা সারসংক্ষেপ: মধ্যযুগীয় মহাকাব্য ‘মনসামঙ্গল’-এর অন্যতম প্রধান ও পৌরাণিক চরিত্র বেহুলা (উজানীনগরের সায়বেনের কন্যা) এবং চাঁদ সওদাগরের ছোট ছেলে লখিন্দর। শিবভক্ত চাঁদ সওদাগর সাপের দেবী মনসার চেয়ে নিজেকে বেশি শক্তিশালী দাবি করেছিলেন এবং লখিন্দরকে বাঁচাতে একটি দুর্ভেদ্য (impregnable) লোহার বাসরঘর তৈরি করেছিলেন। কিন্তু বাসর রাতে মনসার পাঠানো একটি সাপ চুলের মতো সূক্ষ্ম হয়ে ছিদ্র দিয়ে ঢুকে লখিন্দরকে দংশন করে। বেহুলা স্বামীর মৃত্যু মেনে না নিয়ে কলার ভেলায় (banana raft) মৃতদেহ নিয়ে দেবতাদের উদ্দেশ্যে ঝুঁকিপূর্ণ যাত্রা করেন। তাঁর অকৃত্রিম ভালোবাসায় মুগ্ধ হয়ে দেবী মনসা লখিন্দর ও তার মৃত ভাইদের জীবন ফিরিয়ে দেন এবং চাঁদ সওদাগর মনসার পূজা করতে রাজি হন। অবশেষে বেহুলা ও লখিন্দর ‘ঊষা ও অনিরুদ্ধ’ রূপে স্বর্গে ফিরে যান।
A. Choose the correct answer from the alternatives:
1 × 5 = 5
B. Answer the following questions:
2 × 5 = 10
02. Read the text context and make a flow chart showing the bad effects of overspending. (No. 1 has been done for you):
2 × 5 = 10
Passage Context (Overspending): People spend money daily on food, clothes, essentials, services, travel, helping others, or investing in business. Spending within one's limit on necessary things brings happiness. However, when spending turns into a compulsive behaviour or exceeds one's financial means (overspending), it produces several harmful consequences: first, it makes life stressful; second, it can lead to financial ruin or debt; third, it creates unhappiness within families; fourth, overspenders are never satisfied with what they have, constantly chasing brands, fashion items, and designer clothes; fifth, over time it turns into an addiction; and finally, it causes psychological problems.
ফ্লো-চার্ট লেখার নিয়ম (Flow Chart Rules): ফ্লো-চার্টের প্রতিটি বক্সে পূর্ণাঙ্গ বাক্য (Full Sentence) লেখা যাবে না। বক্স ১ যেভাবে Verb + ing (Gerund/Participle phrase) দিয়ে শুরু হয়েছে (যেমন: 1. Making life stressful), বাকি ৫টি বক্সও একইভাবে সংক্ষিপ্ত ফ্রেজে (Phrase) লিখতে হবে।
1. Making life stressful
Given
→ Box 2
→ Box 3
→ Box 4
→ Box 5
→ Box 6
Official Board Answer (Flow Chart):
1. Making life stressful
2. Leading to financial ruin or debt
3. Creating unhappiness within families
4. Being unsatisfied with own belongings
5. Becoming an addiction
6. Causing psychological problems
বিস্তারিত বাংলা ব্যাখ্যা (Explanation of Q2):
• প্রশ্নে bad effects of overspending (অতিরিক্ত খরচের খারাপ দিকগুলো) ফ্লো-চার্টে দেখাতে বলা হয়েছে। ১ নং বক্সে Making life stressful (Participle/Gerund ফ্রেজ) দেওয়া আছে।
• Box 2: প্যাসেজে আছে "it may lead to financial ruin or debt" — তাই Verb+ing করে লেখা হয়েছে: Leading to financial ruin or debt (আর্থিক ধ্বংস বা ঋণের দিকে ঠেলে দেওয়া)।
• Box 3: প্যাসেজে আছে "it may create unhappiness within families" — তাই লেখা হয়েছে: Creating unhappiness within families (পরিবারে অশান্তি সৃষ্টি করা)।
• Box 4: প্যাসেজে আছে "never satisfied with what they have" — তাই ফ্রেজে রূপান্তর করে: Being unsatisfied with own belongings (নিজের যা আছে তা নিয়ে অসন্তুষ্ট থাকা)।
• Box 5: প্যাসেজে আছে "it becomes an addiction" — তাই: Becoming an addiction (একটি আসক্তিতে পরিণত হওয়া)।
• Box 6: প্যাসেজে আছে "eventually create psychological problems" — তাই: Causing / Creating psychological problems (মানসিক সমস্যার সৃষ্টি করা)।
03. Write a summary of the following text context:
Marks: 10
Passage Context (The Streets of Gaza): Because electricity was disconnected in Gaza, residents collected every scrap of paper and cardboard from the streets to use as fuel for baking, leaving the streets unusually clean. The narrator's mother sent the narrator to buy bread from the community oven, where a massive queue stretched for hours just to get half a pack of bread. Suddenly, a rocket launcher was set up nearby and within a second warplanes bombed the area. Chaos erupted as people ran in all directions, ambulances arrived, and many were killed or injured. In deep shock, the narrator returned home empty-handed without the loaf of bread. Although the narrator's mother scolded them for returning without bread, she still does not know the terrifying reason why the bread was never brought.
Model Summary (Q3):
The passage depicts the harsh reality of daily life and sudden violence in war-torn Gaza. Due to power cuts, people burn waste paper to bake bread, and citizens wait in long queues for hours at bakeries for basic food. While waiting in line for bread, the narrator survived a sudden, deadly airstrike that left many dead and injured. Traumatized, the narrator returned home empty-handed, unable even to tell their mother about the narrow escape from death.
বিস্তারিত বাংলা ব্যাখ্যা (Summary লেখার কৌশল):
সামারি লেখার সময় মূল প্যাসেজের ১/৩ অংশের মধ্যে নিজের ভাষায় মূলভাব লিখতে হয়। এখানে তিনটি প্রধান বিষয় উল্লেখ করতে হবে: (১) গাজায় বিদ্যুৎহীন ও খাদ্য সংকটের চরম দুর্ভোগ, (২) রুটি কিনতে গিয়ে হঠাৎ বিমান হামলায় মানুষের মৃত্যু ও আতঙ্ক, এবং (৩) লেখকের প্রাণে বেঁচে খালি হাতে বাড়ি ফেরা ও মানসিক ট্রমা।
04. Read the following text and fill in the blanks with suitable words from the box. Make any grammatical changes if needed:
0.5 × 10 = 5
cultures
finally
cocoon
powerful
beauty
wings
symbols
associate
due to
connect
butterfly
regard
Butterflies are (a)
as powerful symbols in many (b)
and contexts. They are often (c)
with change and growth, (d)
their fascinating transformation from caterpillar to (e)
and finally into a graceful (f)
.
In Greek mythology, psyche (meaning 'Soul') is often depicted with butterfly (g)
.
Butterflies are thus (h)
to the soul and the quest for love and (i)
.
In some cultures, particularly in Asia, butterflies appear in art as (j)
of love, romance, beauty and freedom.
Official Answer (Q4):
(a) regarded | (b) cultures | (c) associated | (d) due to | (e) cocoon | (f) butterfly | (g) wings | (h) connected | (i) beauty | (j) symbols
বিস্তারিত বাংলা ব্যাখ্যা (Grammar & Meaning Explanation for Q4):
• (a) regarded: বাক্যটি Passive Voice-এ আছে (Butterflies are ____ as)। বক্সের 'regard' verb-টির Past Participle (V3) হবে regarded (বিবেচিত হয়)।
• (b) cultures: many একটি Plural Determiner, তাই এর পরে Plural Noun cultures (সংস্কৃতিসমূহে) বসবে।
• (c) associated: are often ____ with (প্রায়ই সম্পর্কিত/যুক্ত করা হয়)। Passive গঠন অনুযায়ী 'associate' এর V3 associated বসবে (associated with = কোনো কিছুর সাথে জড়িত)।
• (d) due to: তাদের চমৎকার রূপান্তরের 'কারণে'—কারণ বোঝাতে Prepositional phrase due to (কারণে/জন্য) বসেছে।
• (e) cocoon: শুঁয়োপোকা (caterpillar) থেকে প্রথমে গুটি বা cocoon-এ রূপান্তরিত হয়।
• (f) butterfly: এবং পরিশেষে একটি মনোমুগ্ধকর প্রজাপতিতে (butterfly) পরিণত হয়। (a graceful এর পর Singular Noun)।
• (g) wings: গ্রিক পুরাণে আত্মাকে প্রজাপতির ডানাসহ (wings) চিত্রিত করা হয়।
• (h) connected: are thus ____ to (এভাবে আত্মার সাথে সংযুক্ত)। Passive voice হওয়ায় 'connect' এর V3 connected বসবে।
• (i) beauty: love and ____ — 'and' এর আগে love (Noun) থাকায় পরেও Noun beauty (সৌন্দর্য) বসবে।
• (j) symbols: ভালোবাসা, রোমান্স ও স্বাধীনতার প্রতীক (symbols) হিসেবে শিল্পকলায় ফুটে ওঠে।
05. Fill in the gaps with appropriate words in each gap:
1 × 10 = 10
Air and water are two important (a)
of the environment. These elements are (b)
for life on earth. They are often (c)
in many ways. Air is polluted mostly by (d)
,
water by different (e)
of waste. If we want to live a (f)
life, we should (g)
the pollution of the environment. Total prevention may be (h)
but we can certainly (i)
pollution by raising (j)
among people.
Official Answer (Q5):
(a) elements / components | (b) essential / vital / necessary | (c) polluted / contaminated | (d) smoke / fumes | (e) types / kinds / sorts | (f) healthy / sound | (g) reduce / control / prevent | (h) impossible / difficult / hard | (i) reduce / lessen / minimize | (j) awareness / consciousness
বিস্তারিত বাংলা ব্যাখ্যা (Explanation for Q5):
• (a) elements: বায়ু ও পানি পরিবেশের দুটি গুরুত্বপূর্ণ উপাদান (elements/components)। পরের বাক্যেই 'These elements' ক্লু হিসেবে দেওয়া আছে।
• (b) essential: পৃথিবীতে প্রাণের অস্তিত্বের জন্য এই উপাদানগুলো অপরিহার্য (essential / vital / necessary)।
• (c) polluted: এগুলো নানাভাবে দূষিত হয় (are often polluted / contaminated)।
• (d) smoke: বাতাস প্রধানত ধোঁয়ার (smoke / fumes) মাধ্যমে দূষিত হয়।
• (e) types / kinds: এবং পানি বিভিন্ন ধরনের (different types / kinds of) বর্জ্য দ্বারা দূষিত হয়।
• (f) healthy / sound: আমরা যদি একটি সুস্থ/সুন্দর (healthy / sound) জীবনযাপন করতে চাই।
• (g) reduce / control: তবে আমাদের পরিবেশ দূষণ কমাতে/নিয়ন্ত্রণ করতে (reduce / control / prevent) হবে।
• (h) impossible / difficult: সম্পূর্ণ প্রতিরোধ হয়তো অসম্ভব বা কঠিন (impossible / difficult) হতে পারে।
• (i) reduce / lessen: কিন্তু আমরা অবশ্যই দূষণ কমাতে (reduce / lessen / minimize) পারি।
• (j) awareness: মানুষের মধ্যে সচেতনতা (awareness / consciousness) বৃদ্ধির মাধ্যমে।
06. The following sentences are jumbled. Rearrange them in proper sequence:
1 × 10 = 10
(a) The grapes were too high for him to reach.
(b) Oneday, he was very hungry.
(c) Again and again, he jumped.
(d) At last, he entered a vineyard.
(e) Once upon a time, there lived a fox in a forest.
(f) At last, being tired, he went away saying that the grapes were sour.
(g) But each time he failed to reach the grapes.
(h) He took a run and jumped to reach the bunch of grapes but could not reach it.
(i) He searched for food everywhere but he did not get any food.
(j) There were ripe grapes hanging up on the vine.
Select the correct sentence letter (a - j) for each position (1st to 10th):
Official Sequence Answer (Q6):
e + b + i + d + j + a + h + c + g + f
বিস্তারিত বাংলা ব্যাখ্যা (Story Sequence Logic for Q6):
এটি ঈশপের বিখ্যাত "The Fox and the Sour Grapes" (শেয়াল ও টক আঙুর) গল্পের ক্রম:
১. (e) একদা এক বনে একটি শেয়াল বাস করত (গল্পের সূচনা: Once upon a time...)।
২. (b) একদিন সে খুব ক্ষুধার্ত হলো।
৩. (i) সে সব জায়গায় খাবার খুঁজল কিন্তু কোনো খাবার পেল না।
৪. (d) অবশেষে সে একটি আঙুর বাগানে (vineyard) প্রবেশ করল।
৫. (j) সেখানে লতায় পাকা আঙুর ঝুলে ছিল।
৬. (a) আঙুরগুলো তার নাগালের চেয়ে অনেক উঁচুতে ছিল।
৭. (h) সে দৌড়ে এসে আঙুরের থোকাটি ধরতে লাফ দিল কিন্তু নাগাল পেল না।
৮. (c) বারবার সে লাফ দিল (Again and again, he jumped)।
৯. (g) কিন্তু প্রতিবারই সে আঙুর ছুঁতে ব্যর্থ হলো।
১০. (f) অবশেষে ক্লান্ত হয়ে সে এই বলে চলে গেল যে, “আঙুর ফল টক”।
Finished Part A (60 Marks)?
সাবমিট করলে ৬০ নম্বরের ফলাফল ও প্রতিটি প্রশ্নের বাংলা ব্যাখ্যা (Explanation) সাথে সাথে প্রদর্শিত হবে।
Submit Part A & View Bangla Explanations
Part B — Guided Writing (Marks: 40)
পার্ট B শুধুমাত্র প্রশ্ন দেখার জন্য (Non-interactive Question Paper View)।
Questions 07 - 11 (View Only)
07. Write a paragraph on 'Artificial Intelligence', answering the following questions in about 200 words:
10
(a) What does artificial intelligence (AI) refer to?
(b) Name some areas where AI is widely used today.
(c) What are the benefits of using AI for teachers in the classroom?
(d) Why is it important for students to learn about AI?
(e) What are the challenges of using AI tools?
08. The following is the beginning of a story. Complete it in your own words. Give a suitable title to it:
7
Shakil, a university graduate from the department of Food and Nutrition, returned to his village due to his failure to get a suitable job. Being frustrated, one day sitting under a tree he noticed the fall of date juice drop by drop into the jar. Suddenly a new idea came to his mind and thought of processing date juice ..............................
09. Suppose, you are Rakib/Rakiba. Your friend Tomal/Tomalika got the first prize on the National Debate Competition-2025. Now write an email congratulating him/her.
5
10. The pie chart below shows the percentage of supporters of different games in Bangladesh. Now, describe the chart in about 150 words. You should highlight and analyze the information given in the chart.
10
Supporters of Games in Bangladesh
• Cricket: 40%
• Football: 30%
• Badminton: 20%
• Chess: 5%
• Golf: 5%
11. Write down the theme of the following poem (8 Marks):
8
Poem Context ("Say unto brethren when they see me dead..."):
The speaker addresses mourning brethren who weep over their corpse, urging them not to mistake the dead physical body for their true self. The speaker declares that they are an immortal spirit, and the earthly body was merely a temporary garment, a shell holding a pearl, and a cage holding a bird. Having left behind earthly trials, the soul has flown free like a bird and been granted a heavenly dwelling by God—meaning physical death is not an end, but a joyful liberation and awakening into eternal life.
কবিতার মূলভাব (Theme Hint): মানুষের নশ্বর দেহ কেবল আত্মার একটি অস্থায়ী পোশাক বা খাঁচামাত্র। মৃত্যু মানেই জীবনের সমাপ্তি নয়; বরং মৃত্যুর মাধ্যমে আত্মা পার্থিব দুঃখ-কষ্টের খাঁচা ভেঙে মুক্ত পাখির মতো স্রষ্টার কাছে অনন্ত জীবনে যাত্রা করে।
// ==================== QUESTION 1.A DATA (MCQ 1x5=5) ====================
const q1aData = [
{
id: 'a',
q: "(a) What is Manasamangal?",
options: [
"(i) A medieval play",
"(ii) A medieval poem",
"(iii) A medieval epic",
"(iv) A medieval novel"
],
ans: 2,
exp: "প্যাসেজের প্রথম লাইনেই স্পষ্ট উল্লেখ আছে: 'Behula is a legendary folk heroine and one of the main characters of Manasamangal; a medieval epic.' অর্থাৎ মনসামঙ্গল হলো মধ্যযুগের একটি মহাকাব্য (A medieval epic)।"
},
{
id: 'b',
q: "(b) The word 'legendary' refers to—",
options: [
"(i) historical",
"(ii) infamous",
"(iii) mythical",
"(iv) renowned"
],
ans: 2,
exp: "প্যাসেজে 'legendary folk heroine' বলতে পৌরাণিক বা লোককাহিনীভিত্তিক চরিত্র বোঝানো হয়েছে। তাই 'legendary' শব্দটির সমার্থক হলো (iii) mythical (পৌরাণিক)। (Historical = ঐতিহাসিক, Infamous = কুখ্যাত)।"
},
{
id: 'c',
q: "(c) The synonym of 'impregnable' is—",
options: [
"(i) inaccessible",
"(ii) vulnerable",
"(iii) irresistible",
"(iv) nonproductive"
],
ans: 0,
exp: "'Impregnable' শব্দের অর্থ দুর্ভেদ্য বা যেখানে প্রবেশ বা আক্রমণ করা যায় না। প্রদত্ত অপশনগুলোর মধ্যে (i) inaccessible অর্থ অগম্য বা যেখানে সহজে প্রবেশ করা যায় না, যা এখানে সবচেয়ে নিকটতম সমার্থক শব্দ (Synonym)। (Vulnerable এটির বিপরীত শব্দ বা Antonym)।"
},
{
id: 'd',
q: "(d) Why was the iron chamber built?",
options: [
"(i) To put the valuables inside",
"(ii) To save Lakhindar",
"(iii) To kill snakes",
"(iv) To imprison Manasa"
],
ans: 1,
exp: "চাঁদ সওদাগর সাপের দেবী মনসার হাত থেকে তার ছোট ছেলে লখিন্দরকে রক্ষা করার জন্য (To save Lakhindar) একটি দুর্ভেদ্য লোহার বাসরঘর (iron chamber) তৈরি করেছিলেন।"
},
{
id: 'e',
q: "(e) How did Behula float on water?",
options: [
"(i) On an iron raft",
"(ii) On a wooden boat",
"(iii) On a country boat",
"(iv) On a raft"
],
ans: 3,
exp: "প্যাসেজে উল্লেখ আছে: 'She placed her husband's corpse on a banana raft and set out on a hazardous journey...' অর্থাৎ বেহুলা কলার ভেলায় (On a raft) ভেসে দেবতাদের উদ্দেশ্যে যাত্রা করেছিলেন।"
}
];
// ==================== QUESTION 1.B DATA (SHORT QUESTIONS 2x5=10) ====================
const q1bData = [
{
id: 'a',
q: "(a) Do you think that Behula is a legendary character?",
ans: "Yes, I think Behula is a legendary character because she is the central folk heroine of the famous medieval epic 'Manasamangal', known for her extraordinary devotion, courage, and perilous journey to the realm of the gods to bring back her husband's life.",
exp: "বেহুলা মধ্যযুগের বিখ্যাত মহাকাব্য ‘মনসামঙ্গল’-এর প্রধান লোক-নায়িকা (folk heroine)। স্বামীর জীবন ফিরিয়ে আনতে তাঁর অসীম সাহস, ত্যাগ ও দেবতাদের লোকে কলার ভেলায় যাত্রা তাঁকে এক অমর পৌরাণিক চরিত্রে (legendary character) পরিণত করেছে।",
keywords: ["yes", "legendary", "folk", "heroine", "manasamangal", "epic", "husband", "love"]
},
{
id: 'b',
q: "(b) How did Behula bring her husband's life back?",
ans: "Refusing to accept Lakhindar's death, Behula placed his corpse on a banana raft and undertook a dangerous journey to the abode of the gods. There, she pleaded with Manasa for her husband's life and promised that Chand Saudagar would worship her, which moved Manasa to restore Lakhindar's life.",
exp: "বেহুলা লখিন্দরের মৃতদেহ কলার ভেলায় নিয়ে সমস্ত বিপদ ও প্রলোভন জয় করে দেবতাদের বাসস্থানে পৌঁছান। সেখানে তিনি মনসার কাছে স্বামীর প্রাণভিক্ষা চান এবং প্রতিশ্রুতি দেন যে চাঁদ সওদাগর মনসার পূজা করবেন। এতে মনসা খুশি হয়ে লখিন্দরের জীবন ফিরিয়ে দেন।",
keywords: ["raft", "banana", "gods", "abode", "pleaded", "manasa", "worship", "journey"]
},
{
id: 'c',
q: "(c) Why was Manasa angry with Chand Saudagar?",
ans: "Manasa was angry with Chand Saudagar because, being a staunch devotee of Lord Shiva, he refused to worship her and arrogantly boasted that he was cleverer and stronger than Manasa, the snake goddess.",
exp: "শিবের উপাসক চাঁদ সওদাগর সাপের দেবী মনসাকে পূজা করতে অস্বীকার করেছিলেন এবং অহংকার করে বলেছিলেন যে তিনি মনসার চেয়েও বেশি চতুর ও শক্তিশালী (cleverer and stronger)। এ কারণেই মনসা তার ওপর ক্ষুব্ধ ছিলেন।",
keywords: ["boasted", "cleverer", "stronger", "shiva", "worship", "devotee", "manasa"]
},
{
id: 'd',
q: "(d) What was the ultimate destination of Behula and Lakhindar? And how?",
ans: "The ultimate destination of Behula and Lakhindar was their heavenly abode. After Chand Saudagar finally bowed before the might of Manasa and peace was restored on earth, Behula and Lakhindar returned to heaven in their celestial identities as Usa and Aniruddha.",
exp: "বেহুলা ও লখিন্দরের চূড়ান্ত গন্তব্য ছিল তাদের স্বর্গীয় নিবাস (heavenly abode)। চাঁদ সওদাগর দেবী মনসার শক্তির কাছে নতি স্বীকার করার পর তারা ‘ঊষা ও অনিরুদ্ধ’ (Usa and Aniruddha) রূপে স্বর্গে ফিরে যান।",
keywords: ["heavenly", "abode", "heaven", "aniruddha", "usa", "returned"]
},
{
id: 'e',
q: "(e) Why did Manasa accept Behula's prayer?",
ans: "Manasa accepted Behula's prayer because she was deeply moved by Behula's unwavering love and devotion for her husband, as well as her promise that Chand Saudagar would finally worship Manasa.",
exp: "স্বামীর প্রতি বেহুলার অকৃত্রিম ভালোবাসা, নিষ্ঠা (moved by Behula's love for her husband) এবং চাঁদ সওদাগর মনসার পূজা করবেন—বেহুলার এই প্রতিশ্রুতিতে মুগ্ধ হয়ে দেবী মনসা তার প্রার্থনা মঞ্জুর করেন।",
keywords: ["moved", "love", "husband", "promised", "worship", "chand", "devotion"]
}
];
const q6CorrectOrder = ['e', 'b', 'i', 'd', 'j', 'a', 'h', 'c', 'g', 'f'];
// ==================== INITIALIZE UI ====================
function initExamUI() {
// Render Q1.A MCQs
const q1aContainer = document.getElementById('q1a-container');
q1aContainer.innerHTML = q1aData.map((item, idx) => `
${item.q}
${item.options.map((opt, oIdx) => `
${opt}
`).join('')}
`).join('');
// Render Q1.B Short Questions
const q1bContainer = document.getElementById('q1b-container');
q1bContainer.innerHTML = q1bData.map((item, idx) => `
${item.q}
Model Answer: ${item.ans}
বাংলা ব্যাখ্যা: ${item.exp}
`).join('');
// Render Q6 Rearrange Selectors (10 steps)
const q6Container = document.getElementById('q6-selectors');
q6Container.innerHTML = q6CorrectOrder.map((_, idx) => `
Step ${idx + 1}
-
a
b
c
d
e
f
g
h
i
j
`).join('');
}
// ==================== 60-MINUTE TIMER LOGIC ====================
const TOTAL_TIME_SECONDS = 60 * 60; // 60 minutes
let remainingSeconds = TOTAL_TIME_SECONDS;
let timerInterval = null;
let isSubmitted = false;
function startTimer() {
clearInterval(timerInterval);
updateTimerUI();
timerInterval = setInterval(() => {
if (isSubmitted) return;
remainingSeconds--;
updateTimerUI();
if (remainingSeconds = 2 && wordCount >= 5) return maxMarks;
if (matches >= 1 || wordCount >= 7) return Math.ceil(maxMarks / 2);
return 0.5;
}
function evaluateSummary(text, keywords, maxMarks, minWords) {
const clean = normalize(text);
if (!clean) return 0;
const words = clean.split(/\s+/).filter(Boolean).length;
if (words < 5) return 0;
let kwHits = 0;
keywords.forEach(kw => {
if (clean.includes(kw)) kwHits++;
});
const lengthRatio = Math.min(1, words / minWords);
const kwRatio = Math.min(1, kwHits / 4);
const raw = maxMarks * (0.6 * lengthRatio + 0.4 * kwRatio);
return Math.min(maxMarks, Math.max(1, Math.round(raw)));
}
function confirmSubmit() {
if (isSubmitted) return;
submitExam();
}
function submitExam() {
if (isSubmitted) return;
isSubmitted = true;
clearInterval(timerInterval);
// 1. Grade Q1.A (MCQ: 1x5 = 5)
let q1aScore = 0;
q1aData.forEach((item, idx) => {
const selected = document.querySelector(`input[name="q1a-${idx}"]:checked`);
const block = document.getElementById(`q1a-block-${idx}`);
const feedback = document.getElementById(`q1a-feedback-${idx}`);
const correctLabel = document.getElementById(`q1a-label-${idx}-${item.ans}`);
correctLabel.classList.add('correct-border');
feedback.classList.remove('hidden');
let statusHtml = '';
if (selected && parseInt(selected.value) === item.ans) {
q1aScore++;
block.classList.add('correct-border');
statusHtml = ` Correct (+1 Mark) — Ans: ${item.options[item.ans]}`;
} else {
if (selected) {
const wrongLabel = document.getElementById(`q1a-label-${idx}-${selected.value}`);
wrongLabel.classList.add('wrong-border');
}
block.classList.add('wrong-border');
statusHtml = ` Incorrect (0 Mark) — Correct Ans: ${item.options[item.ans]}`;
}
feedback.innerHTML = `
${statusHtml}
বাংলা ব্যাখ্যা: ${item.exp}
`;
});
showPill('q1a-score-pill', `${q1aScore} / 5`);
// 2. Grade Q1.B (Short Questions: 2x5 = 10)
let q1bScore = 0;
q1bData.forEach((item, idx) => {
const val = document.getElementById(`q1b-input-${idx}`).value;
q1bScore += evaluateShortAnswer(val, item.keywords, 2);
document.getElementById(`q1b-ans-${idx}`).classList.remove('hidden');
});
q1bScore = Math.round(q1bScore);
showPill('q1b-score-pill', `${q1bScore} / 10`);
// 3. Grade Q2 (Flow Chart: 2x5 = 10)
let q2Score = 0;
const q2Keywords = ['ruin', 'debt', 'financial', 'unhappiness', 'families', 'family', 'unsatisfied', 'satisfied', 'belongings', 'brands', 'addiction', 'psychological', 'problems'];
[2, 3, 4, 5, 6].forEach(boxNum => {
const input = document.getElementById(`q2-box-${boxNum}`);
const val = normalize(input.value);
const hit = val.length >= 6 && q2Keywords.some(k => val.includes(k));
if (hit) {
q2Score += 2;
input.classList.add('correct-border');
} else if (val.length >= 4) {
q2Score += 1;
input.classList.add('correct-border');
} else {
input.classList.add('wrong-border');
}
});
document.getElementById('q2-ans-box').classList.remove('hidden');
showPill('q2-score-pill', `${q2Score} / 10`);
// 4. Grade Q3 (Summary: 10 Marks)
const q3Val = document.getElementById('q3-text').value;
const q3Score = evaluateSummary(q3Val, ['gaza', 'bread', 'electricity', 'queue', 'bomb', 'bombing', 'injured', 'dead', 'shock', 'war'], 10, 35);
document.getElementById('q3-ans-box').classList.remove('hidden');
showPill('q3-score-pill', `${q3Score} / 10`);
// 5. Grade Q4 (Cloze with clues: 0.5x10 = 5)
const q4Accepted = {
a: ['regarded'],
b: ['cultures'],
c: ['associated'],
d: ['due to'],
e: ['cocoon'],
f: ['butterfly'],
g: ['wings'],
h: ['connected'],
i: ['beauty'],
j: ['symbols']
};
let q4CorrectCount = 0;
Object.keys(q4Accepted).forEach(key => {
const input = document.getElementById(`q4-${key}`);
const userVal = normalize(input.value);
if (q4Accepted[key].includes(userVal)) {
q4CorrectCount++;
input.classList.add('correct-border');
} else {
input.classList.add('wrong-border');
}
});
const q4Score = q4CorrectCount * 0.5;
document.getElementById('q4-ans-box').classList.remove('hidden');
showPill('q4-score-pill', `${q4Score} / 5`);
// 6. Grade Q5 (Cloze without clues: 1x10 = 10)
const q5Accepted = {
a: ['elements', 'components', 'parts', 'factors'],
b: ['essential', 'vital', 'necessary', 'important', 'indispensable'],
c: ['polluted', 'contaminated'],
d: ['smoke', 'fumes', 'emissions'],
e: ['types', 'kinds', 'sorts', 'forms'],
f: ['healthy', 'sound', 'happy', 'peaceful', 'good'],
g: ['reduce', 'control', 'prevent', 'stop', 'check', 'lessen', 'minimize'],
h: ['impossible', 'difficult', 'hard', 'tough'],
i: ['reduce', 'lessen', 'minimize', 'minimise', 'control', 'decrease'],
j: ['awareness', 'consciousness']
};
let q5Score = 0;
Object.keys(q5Accepted).forEach(key => {
const input = document.getElementById(`q5-${key}`);
const userVal = normalize(input.value);
if (q5Accepted[key].includes(userVal)) {
q5Score++;
input.classList.add('correct-border');
} else {
input.classList.add('wrong-border');
}
});
document.getElementById('q5-ans-box').classList.remove('hidden');
showPill('q5-score-pill', `${q5Score} / 10`);
// 7. Grade Q6 (Rearrange: 1x10 = 10)
let q6Score = 0;
q6CorrectOrder.forEach((ansChar, idx) => {
const sel = document.getElementById(`q6-pos-${idx}`).value;
const box = document.getElementById(`q6-box-${idx}`);
if (sel === ansChar) {
q6Score++;
box.classList.add('correct-border');
} else {
box.classList.add('wrong-border');
}
});
document.getElementById('q6-ans-box').classList.remove('hidden');
showPill('q6-score-pill', `${q6Score} / 10`);
// Calculate Part A Totals (Max 60 Marks)
const objectiveTotal = q1aScore + q4Score + q5Score + q6Score; // 5 + 5 + 10 + 10 = 30
const writtenTotal = q1bScore + q2Score + q3Score; // 10 + 10 + 10 = 30
const grandTotal = objectiveTotal + writtenTotal; // 60 Marks
const elapsed = TOTAL_TIME_SECONDS - remainingSeconds;
const eMins = Math.floor(elapsed / 60);
const eSecs = elapsed % 60;
const sName = document.getElementById('student-name').value.trim();
const sRoll = document.getElementById('student-roll').value.trim();
if (sName || sRoll) {
document.getElementById('result-student-title').textContent = `${sName || 'Student'} ${sRoll ? '(Roll: ' + sRoll + ')' : ''} — Part A Result`;
}
document.getElementById('score-objective').textContent = objectiveTotal;
document.getElementById('score-written').textContent = writtenTotal;
document.getElementById('score-total').textContent = grandTotal;
document.getElementById('time-taken-display').textContent = `${String(eMins).padStart(2, '0')}m ${String(eSecs).padStart(2, '0')}s`;
document.querySelectorAll('input, textarea, select').forEach(el => {
if (el.id !== 'section-jump') el.disabled = true;
});
document.getElementById('result-banner').classList.remove('hidden');
document.getElementById('top-submit-btn').innerHTML = `Submitted`;
document.getElementById('top-submit-btn').classList.replace('bg-indigo-600', 'bg-emerald-600');
window.scrollTo({ top: 0, behavior: 'smooth' });
}
function showPill(id, text) {
const el = document.getElementById(id);
el.textContent = `Marks: ${text}`;
el.classList.remove('hidden');
}
function jumpToSection(val) {
const sections = document.querySelectorAll('.exam-section');
sections.forEach(sec => {
if (val === 'all' || sec.id === val) {
sec.classList.remove('hidden');
} else {
sec.classList.add('hidden');
}
});
}
function resetExam() {
window.location.reload();
}
window.addEventListener('DOMContentLoaded', () => {
initExamUI();
startTimer();
});