Skip to content

ANSS Academy

History ( ANSS )

ANSS ACADEMY — CBT Examination Console :root { --primary-color: #0f172a; --primary-accent: #2563eb; --secondary-color: #3b82f6; --bg-color: #f8fafc; --card-bg: #ffffff; --text-color: #1e293b; --text-muted: #64748b; --font-family: 'Inter', 'Noto Sans Bengali', sans-serif; /* CBT Exam Status Colors */ --color-unvisited: #f1f5f9; --color-unvisited-text: #475569; --color-not-answered: #ef4444; --color-answered: #22c55e; --color-marked: #a855f7; --color-ans-marked: #8b5cf6; /* Premium Violet */ --border-radius-sm: 8px; --border-radius-lg: 14px; --card-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.04), 0 8px 10px -6px rgba(15, 23, 42, 0.04); } body { font-family: var(--font-family); background-color: var(--bg-color); color: var(--text-color); letter-spacing: -0.01em; user-select: none; font-size: 0.9rem; -webkit-font-smoothing: antialiased; } .hidden-screen { display: none !important; } /* Typography Scaling */ h2 { font-size: 1.5rem !important; font-weight: 700; color: var(--primary-color); } h3 { font-size: 1.3rem !important; font-weight: 700; color: var(--primary-color); } h4 { font-size: 1.15rem !important; font-weight: 600; color: var(--primary-color); } h5 { font-size: 1.05rem !important; font-weight: 600; color: var(--primary-color); } h6 { font-size: 0.9rem !important; font-weight: 600; color: var(--primary-color); } p, ul li { font-size: 0.88rem !important; color: #475569; line-height: 1.6; } /* Premium Cards */ .glass-card { background: var(--card-bg); border: 1px solid #e2e8f0; border-radius: var(--border-radius-lg); box-shadow: var(--card-shadow); } /* CBT Exam Shape Geometries */ .palette-btn { width: 38px; height: 36px; margin: 4px; font-size: 0.85rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; cursor: pointer; user-select: none; text-align: center; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); } .palette-btn:hover { transform: translateY(-2px); } .p-unvisited { background-color: var(--color-unvisited); color: var(--color-unvisited-text); border-color: #cbd5e1; border-radius: var(--border-radius-sm); } .p-not-answered { background-color: var(--color-not-answered); color: #fff; border-radius: 4px 4px 14px 14px; } .p-answered { background-color: var(--color-answered); color: #fff; border-radius: 14px 14px 4px 4px; } .p-marked { background-color: var(--color-marked); color: #fff; border-radius: 50%; } .p-ans-marked { background-color: var(--color-ans-marked); color: #fff; border-radius: 50%; position: relative; } .p-ans-marked::after { content: ''; position: absolute; bottom: 2px; right: 2px; width: 8px; height: 8px; background-color: var(--color-answered); border-radius: 50%; border: 1.5px solid #fff; } /* STICKY FLOATING TOP BAR */ .custom-sticky-timer-bar { position: sticky !important; top: 0; left: 0; right: 0; min-height: 65px; background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); color: white; padding: 10px 24px; display: flex; align-items: center; justify-content: space-between; z-index: 1050 !important; box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.3); } .custom-lang-select { min-width: 105px !important; font-size: 0.85rem !important; font-weight: 600; padding: 6px 24px 6px 12px !important; background-color: rgba(255, 255, 255, 0.08) !important; border: 1px solid rgba(255, 255, 255, 0.15) !important; color: #ffffff !important; border-radius: var(--border-radius-sm); } .custom-lang-select option { background-color: #1e293b !important; color: #ffffff !important; } /* Option Containers */ .option-container { border: 1.5px solid #e2e8f0; border-radius: var(--border-radius-sm); padding: 14px 18px; margin-bottom: 12px !important; cursor: pointer; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); font-weight: 500; display: flex; align-items: center; background-color: #fff; } .option-container:hover { background-color: #f8fafc; border-color: #cbd5e1; transform: translateX(4px); } .option-container.selected { border-color: var(--primary-accent); background-color: #f0f5ff; } .option-container input[type="radio"] { margin-right: 14px !important; flex-shrink: 0; transform: scale(1.2); accent-color: var(--primary-accent); } /* High-Visibility Extra Large Checked Declaration Card */ .highlighted-declaration-card { border: 2px dashed #3b82f6 !important; background-color: #eff6ff !important; transition: all 0.2s ease; } .highlighted-declaration-card:has(.form-check-input:checked) { border-style: solid !important; border-color: #22c55e !important; background-color: #f0fdf4 !important; } .highlighted-declaration-card .form-check-input { transform: scale(1.6) !important; margin-left: 5px !important; margin-right: 20px !important; cursor: pointer; border: 2px solid #3b82f6; accent-color: #22c55e; flex-shrink: 0; } /* System Buttons Setup */ .btn { border-radius: var(--border-radius-sm); font-weight: 600; transition: all 0.2s ease; } .btn-mini-control { font-size: 0.92rem !important; padding: 10px 16px !important; letter-spacing: -0.01em; white-space: nowrap; } .btn-primary { background-color: var(--primary-accent); border-color: var(--primary-accent); } .btn-success { background-color: var(--color-answered); border-color: var(--color-answered); } .btn-danger { background-color: var(--color-not-answered); border-color: var(--color-not-answered); } .btn-purple { background-color: var(--color-ans-marked); border-color: var(--color-ans-marked); color: #fff; } .btn-purple:hover { background-color: #7c3aed; border-color: #7c3aed; color: #fff; } .legend-text { font-size: 0.85rem !important; font-weight: 500; color: #475569; } .grid-matrix-layout { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 8px !important; } .analytics-metric-box { background-color: #f8fafc; border: 1px solid #e2e8f0; border-radius: var(--border-radius-lg); padding: 16px; text-align: center; height: 100%; } .analytics-metric-value { font-size: 1.35rem; font-weight: 700; color: var(--primary-color); margin-top: 4px; } .animate-pulse { animation: pulse-animation 2s infinite; } @keyframes pulse-animation { 0% { opacity: 1; } 50% { opacity: 0.4; } 100% { opacity: 1; } } #targetQuestionText { font-size: 1.00rem !important; line-height: 1.5; } .option-container { font-size: 0.85rem !important; padding: 14px 18px; } .q-image-preview-frame { max-width: 100%; max-height: 320px; object-fit: contain; border-radius: 8px; border: 1px solid #e2e8f0; background-color: #f8fafc; } @media (max-width: 576px) { .btn-mini-control { font-size: 0.82rem !important; padding: 10px 6px !important; letter-spacing: -0.02em; } .action-grid-wrapper { gap: 4px !important; } }

ANSS ACADEMY — History

সময়সীমা: ৪৫ মিনিট নেগেটিভ নম্বর: ০.০০
পরীক্ষার্থীদের নির্দেশাবলী (বাংলা)
  • উত্তর নির্বাচন করার আগে সমস্ত প্রশ্ন মনোযোগ সহকারে পড়ুন।
  • প্রতিটি প্রশ্নের মান ২ নম্বর। ভুল উত্তরের জন্য কোনো নেগেটিভ মার্কিং নেই।
  • সরাসরি যেকোনো প্রশ্নে যেতে প্রশ্ন প্যালেট ব্যবহার করুন।
  • উত্তর নিশ্চিত করতে সর্বদা "সেভ এবং নেক্সট" এ ক্লিক করুন। সেভ না করে এগিয়ে গেলে উত্তর জমা হবে না।
  • সময়সীমা (00:00) শেষ হলে আপনার পরীক্ষা স্বয়ংক্রিয়ভাবে জমা (Auto-Submit) হয়ে যাবে।
প্রশ্ন প্যালেটের সংকেত স্ট্যাটাস:
১ দেখা হয়নি (Not Visited)
২ উত্তর দেওয়া হয়নি (Not Answered)
৩ উত্তর দেওয়া হয়েছে (Answered)
৪ পুনর্বিবেচনার জন্য চিহ্নিত (Marked for Review)
বাংলা (Bengali)
ANSS ACADEMY
পেপার-২
বাংলা
10:00
প্রশ্ন নং: ১
Question Reference Graphic Element

প্রশ্ন লোড হচ্ছে...

পরীক্ষার্থীর কনসোল
রোল নং: ANSS55224
0
দেখা হয়নি
0
উত্তরহীন
0
উত্তর প্রদত্ত
0
রিভিউ চিহ্নিত
0
উত্তর ও চিহ্নিত
প্রশ্ন গ্রেড মেট্রিক্স:

পরীক্ষা সাবমিশন সংক্ষিপ্ত বিবরণ

আপনার উত্তরগুলি পুনরায় নিশ্চিত করুন। একবার ফাইনাল সাবমিট করলে আর পরিবর্তন করা যাবে না।

বিভাগ স্ট্যাটাসসংখ্যা
মোট প্রশ্নের সংখ্যা0
উত্তর দেওয়া ও সংরক্ষিত0
পুনর্বিবেচনার জন্য চিহ্নিত0
উত্তর দেওয়া হয়নি / ফাঁকা রাখা হয়েছে0

উত্তরপত্র মূল্যায়ন করা হচ্ছে...

অনুগ্রহ করে অপেক্ষা করুন, আপনার পরীক্ষার ফলাফল তৈরি হচ্ছে।

ANSS ফলাফল স্কোরকার্ড

মানসম্মত মূল্যায়ন মানদণ্ডের ভিত্তিতে আপনার পারফরম্যান্স বিশ্লেষণ।

প্রাপ্ত নম্বর

0.00

সঠিকতার হার (Accuracy)

0%

সঠিক উত্তর

0

ভুল উত্তর

0

মোট প্রশ্ন
0
গৃহীত সময়
00:00
নেগেটিভ মার্কিং
0
গড় সময় / প্রশ্ন
0.0s
প্রাপ্ত শতকরা হার

0.00%

উত্তর না দেওয়া প্রশ্ন: 0 টি
পারফরম্যান্স বিশ্লেষণ:
হোম পেজে যান

বিস্তারিত উত্তর ও ব্যাখ্যা

const activeTestData = { title: "History", duration: 30, questions: [ { "bn": { "text": "বিজয়নগর সাম্রাজ্য প্রতিষ্ঠিত হয়েছিল কত খ্রিস্টাব্দে?", "options": ["১৩২৬ খ্রিস্টাব্দে", "১৩৪৭ খ্রিস্টাব্দে", "১৩৩৬ খ্রিস্টাব্দে", "১৩৫৮ খ্রিস্টাব্দে"], "explanation": "হরিহর ও বুক্কা রায় ১৩৩৬ খ্রিস্টাব্দে বিজয়নগর সাম্রাজ্য প্রতিষ্ঠা করেন। রাজধানী গড়ে ওঠে তুঙ্গভদ্রা নদীর তীরে হাম্পিতে।" }, "correct": 2 }, { "bn": { "text": "বিজয়নগর সাম্রাজ্যের প্রতিষ্ঠাতা কারা ছিলেন?", "options": ["হরিহর ও বুক্কা রায়", "কৃষ্ণদেব রায় ও অচ্যুতদেব রায়", "রাম রায় ও তিরুমল", "নরসিংহ সালুব ও নরস নায়ক"], "explanation": "সঙ্গম বংশীয় দুই ভ্রাতা হরিহর ও বুক্কা রায় বিজয়নগর প্রতিষ্ঠা করেন। প্রথাগতভাবে বিদ্যারণ্যের প্রেরণার কথাও বলা হয়।" }, "correct": 0 }, { "bn": { "text": "বাহমনি সালতানাতের প্রতিষ্ঠাতা কে?", "options": ["ফিরোজ শাহ বাহমনি", "মাহমুদ গাওয়ান", "আহমদ শাহ ওয়ালি", "আলাউদ্দিন হাসান বাহমন শাহ"], "explanation": "১৩৪৭ খ্রিস্টাব্দে আলাউদ্দিন হাসান বাহমন শাহ দাক্ষিণাত্যে বাহমনি সালতানাত প্রতিষ্ঠা করেন। প্রথম রাজধানী ছিল গুলবারগা।" }, "correct": 3 }, { "bn": { "text": "বাহমনি রাজ্য প্রতিষ্ঠিত হয় কত খ্রিস্টাব্দে?", "options": ["১৩৩৬ খ্রিস্টাব্দে", "১৩৪৭ খ্রিস্টাব্দে", "১৪২২ খ্রিস্টাব্দে", "১৫৬৫ খ্রিস্টাব্দে"], "explanation": "দিল্লি সালতানাতের দুর্বলতার সুযোগে ১৩৪৭ খ্রিস্টাব্দে বাহমনি রাজ্য স্বাধীন হয়। এটি বিজয়নগরের প্রধান প্রতিদ্বন্দ্বী ছিল।" }, "correct": 1 }, { "bn": { "text": "বিজয়নগরের শ্রেষ্ঠ শাসক কৃষ্ণদেব রায় কোন বংশের ছিলেন?", "options": ["সঙ্গম বংশ", "সালুব বংশ", "তুলুভ বংশ", "আরভিদু বংশ"], "explanation": "কৃষ্ণদেব রায় (প্রায় ১৫০৯–১৫২৯) তুলুভ বংশের শ্রেষ্ঠ রাজা। তাঁর আমলে সাম্রাজ্য রাজনৈতিক ও সাংস্কৃতিক দিক থেকে শীর্ষে পৌঁছায়।" }, "correct": 2 }, { "bn": { "text": "বাহমনি সালতানাতের প্রথম রাজধানী কোনটি ছিল?", "options": ["গুলবারগা", "বিদর", "বিজাপুর", "গোলকুন্ডা"], "explanation": "বাহমনির প্রথম রাজধানী ছিল গুলবারগা (আহসানাবাদ)। পরে আহমদ শাহের আমলে রাজধানী বিদরে স্থানান্তরিত হয়।" }, "correct": 0 }, { "bn": { "text": "বিজয়নগরের রাজধানী হাম্পি কোন নদীর তীরে অবস্থিত?", "options": ["কৃষ্ণা", "তুঙ্গভদ্রা", "গোদাবরী", "কাবেরী"], "explanation": "হাম্পি তুঙ্গভদ্রা নদীর তীরে গড়ে ওঠে। নগরের ধ্বংসাবশেষ এখন ইউনেস্কো বিশ্ব ঐতিহ্য স্থান।" }, "correct": 1 }, { "bn": { "text": "তালিকোটার যুদ্ধ কত খ্রিস্টাব্দে হয়েছিল?", "options": ["১৫০৯ খ্রিস্টাব্দে", "১৫২৯ খ্রিস্টাব্দে", "১৪৮১ খ্রিস্টাব্দে", "১৫৬৫ খ্রিস্টাব্দে"], "explanation": "১৫৬৫ খ্রিস্টাব্দের ২৩ জানুয়ারি তালিকোটা বা রাক্ষস-তাঙ্গডি যুদ্ধে দাক্ষিণাত্যের সুলতানদের জোট বিজয়নগরকে পরাজিত করে। নেতৃত্বে ছিলেন রাম রায়।" }, "correct": 3 }, { "bn": { "text": "বিজয়নগর প্রশাসনের স্থানীয় সামরিক-রাজস্ব প্রধানদের কী বলা হত?", "options": ["অমরনায়ক", "মনসবদার", "ইকতাদার", "জায়গিরদার"], "explanation": "অমরনায়ক ব্যবস্থায় নায়করা ভূমি থেকে রাজস্ব আদায় করতেন এবং সেনা ও অশ্ব সরবরাহ করতেন। এটি বিজয়নগর সামরিক প্রশাসনের মূল ভিত্তি ছিল।" }, "correct": 0 }, { "bn": { "text": "বাহমনি রাজ্যের রাজধানী পরে কোন শহরে স্থানান্তরিত হয়?", "options": ["হায়দ্রাবাদ", "বিজাপুর", "বিদর", "দৌলতাবাদ"], "explanation": "পঞ্চদশ শতকে আহমদ শাহ বাহমনি রাজধানী গুলবারগা থেকে বিদরে নিয়ে যান। বিদর তখন সাংস্কৃতিক ও প্রশাসনিক কেন্দ্র হয়ে ওঠে।" }, "correct": 2 }, { "bn": { "text": "বাহমনি রাজ্যের প্রভাবশালী প্রধানমন্ত্রী কে ছিলেন?", "options": ["মালিক কাফুর", "মাহমুদ গাওয়ান", "রাম রায়", "ফেরিস্তা"], "explanation": "মাহমুদ গাওয়ান বাহমনির শক্তিশালী ওজির ছিলেন। তিনি প্রশাসন ও রাজস্ব সংস্কার করেন। ১৪৮১ খ্রিস্টাব্দে ষড়যন্ত্রে তাঁকে হত্যা করা হয়।" }, "correct": 1 }, { "bn": { "text": "বাহমনি রাজ্য ভাঙনের পর কটি উত্তরসূরি রাজ্য গঠিত হয়?", "options": ["তিনটি", "চারটি", "ছয়টি", "পাঁচটি"], "explanation": "বাহমনি ভেঙে পাঁচটি দাক্ষিণাত্য সালতানাত হয়—বিজাপুর, গোলকুন্ডা, আহমদনগর, বিদর ও বেরার।" }, "correct": 3 }, { "bn": { "text": "নিচের কোনটি বাহমনির উত্তরসূরি রাজ্য নয়?", "options": ["বিজাপুর", "গোলকুন্ডা", "বিজয়নগর", "আহমদনগর"], "explanation": "বিজয়নগর হিন্দু সাম্রাজ্য। বাহমনির উত্তরসূরি ছিল আদিল শাহি (বিজাপুর), কুতুব শাহি (গোলকুন্ডা), নিজাম শাহি (আহমদনগর), বারিদ শাহি (বিদর) ও ইমাদ শাহি (বেরার)।" }, "correct": 2 }, { "bn": { "text": "বিজয়নগর ও বাহমনির দীর্ঘ সংঘর্ষের প্রধান অঞ্চল কোনটি?", "options": ["রায়চুর দোয়াব", "কাবেরী বদ্বীপ", "মালবার উপকূল", "গোদাবরী মোহনা"], "explanation": "কৃষ্ণা ও তুঙ্গভদ্রার মধ্যবর্তী উর্বর রায়চুর দোয়াব নিয়ে দুই রাজ্য প্রায় দুই শতাব্দী ধরে যুদ্ধ করে। কৃষ্ণদেব রায় এই অঞ্চল দখল করেছিলেন।" }, "correct": 0 }, { "bn": { "text": "কৃষ্ণদেব রায়ের রাজসভার কবিদের দল কোন নামে পরিচিত?", "options": ["নবরত্ন", "অষ্টদিগ্গজ", "পঞ্চপাণ্ডব", "চতুরঙ্গ"], "explanation": "কৃষ্ণদেব রায়ের সভায় তেলুগু সাহিত্যের অষ্টদিগ্গজ কবি ছিলেন। তিনি নিজেও 'আমুক্তমাল্যদ' কাব্য রচনা করেন।" }, "correct": 1 }, { "bn": { "text": "বিজয়নগরের শাসক বংশগুলির সঠিক ক্রম কোনটি?", "options": ["তুলুভ → সঙ্গম → সালুব → আরভিদু", "সালুব → সঙ্গম → আরভিদু → তুলুভ", "আরভিদু → তুলুভ → সালুব → সঙ্গম", "সঙ্গম → সালুব → তুলুভ → আরভিদু"], "explanation": "বিজয়নগরে পরপর চারটি বংশ শাসন করে—সঙ্গম, সালুব, তুলুভ ও আরভিদু। তালিকোটার পর আরভিদু বংশ দুর্বলভাবে টিকে থাকে।" }, "correct": 3 }, { "bn": { "text": "পর্তুগিজ পর্যটক ডোমিঙ্গো পায়েস কার রাজত্বকালে বিজয়নগর দেখেছিলেন?", "options": ["কৃষ্ণদেব রায়", "হরিহর প্রথম", "দেবরায় দ্বিতীয়", "রাম রায়"], "explanation": "ডোমিঙ্গো পায়েস কৃষ্ণদেব রায়ের আমলে হাম্পি ভ্রমণ করেন। তাঁর বিবরণে নগরের সমৃদ্ধি, বাজার ও উৎসবের চিত্র পাওয়া যায়।" }, "correct": 0 }, { "bn": { "text": "তালিকোটার যুদ্ধে বিজয়নগরের পক্ষে প্রধান নেতা কে ছিলেন?", "options": ["কৃষ্ণদেব রায়", "অচ্যুতদেব রায়", "রাম রায়", "হরিহর দ্বিতীয়"], "explanation": "আরভিদু বংশের শাসক রাম রায় তালিকোটার যুদ্ধে নেতৃত্ব দেন। পরাজয়ের পর হাম্পি লুণ্ঠিত হয় এবং সাম্রাজ্য দ্রুত দুর্বল হয়ে পড়ে।" }, "correct": 2 }, { "bn": { "text": "পারস্যের রাজদূত আবদুর রাজ্জাক কোন রাজ্য সম্পর্কে বিবরণ লেখেন?", "options": ["বাহমনি", "বিজয়নগর", "দিল্লি সালতানাত", "বাংলা সালতানাত"], "explanation": "আবদুর রাজ্জাক পঞ্চদশ শতকে দেবরায় দ্বিতীয়ের আমলে বিজয়নগর ভ্রমণ করেন। তিনি নগরের প্রাচীর, বাজার ও রাজদরবারের বর্ণনা দেন।" }, "correct": 1 }, { "bn": { "text": "হাম্পির বিখ্যাত পাথরের রথ কোন মন্দির চত্বরে অবস্থিত?", "options": ["বিরুপাক্ষ মন্দির", "হজারা রাম মন্দির", "কৃষ্ণ মন্দির", "বিট্ঠল মন্দির"], "explanation": "পাথরের রথ বিট্ঠল বা বিঠল মন্দির চত্বরে অবস্থিত। এটি বিজয়নগর স্থাপত্যের অন্যতম প্রতীক এবং কৃষ্ণদেব রায়ের আমলের কীর্তি।" }, "correct": 3 }, { "bn": { "text": "ভক্তি আন্দোলনের প্রাথমিক সূচনা কোন অঞ্চলে হয়েছিল?", "options": ["উত্তর ভারত", "পূর্ব ভারত", "দক্ষিণ ভারত", "পশ্চিম ভারত"], "explanation": "ভক্তি আন্দোলনের আদি সূচনা খ্রিস্টীয় ৬ষ্ঠ–৯ম শতকে তামিলনাড়ু তথা দক্ষিণ ভারতে আলভার ও নায়নার সাধকদের হাত ধরে হয়েছিল।" }, "correct": 2 }, { "bn": { "text": "আলভার সাধকরা কার উপাসক ছিলেন?", "options": ["শিব", "বিষ্ণু", "দেবী দুর্গা", "গণেশ"], "explanation": "আলভাররা বিষ্ণুভক্ত সাধক ছিলেন। নায়নাররা ছিলেন শিবভক্ত। আলভারদের সংখ্যা সাধারণত ১২ জন ধরা হয়।" }, "correct": 1 }, { "bn": { "text": "নায়নার সাধকরা কোন দেবতার ভক্ত ছিলেন?", "options": ["বিষ্ণু", "কৃষ্ণ", "শিব", "রাম"], "explanation": "নায়নাররা শিবভক্ত সাধক। তাঁদের সংখ্যা ৬৩ জন বলে উল্লেখ করা হয়। তাঁরা তামিল ভাষায় ভক্তিগীতি রচনা করেন।" }, "correct": 2 }, { "bn": { "text": "বিশিষ্টাদ্বৈত মতবাদের প্রবর্তক কে?", "options": ["শঙ্করাচার্য", "রামানুজ", "মধ্বাচার্য", "বল্লভাচার্য"], "explanation": "রামানুজ বিশিষ্টাদ্বৈতবাদ প্রচার করেন। তিনি শ্রীসম্প্রদায়ের প্রধান আচার্য এবং ভক্তিমার্গকে দার্শনিক ভিত্তি দেন।" }, "correct": 1 }, { "bn": { "text": "উত্তর ভারতে ভক্তি আন্দোলনকে জনপ্রিয় করেন প্রধানত কে?", "options": ["রামানুজ", "রামানন্দ", "জয়দেব", "চণ্ডীদাস"], "explanation": "রামানন্দ উত্তর ভারতে ভক্তি আন্দোলন ছড়িয়ে দেন। কবীর, রবিদাস প্রমুখ তাঁর শিষ্য ছিলেন বলে মনে করা হয়।" }, "correct": 1 }, { "bn": { "text": "কবীর কোন ধারার সাধক ছিলেন?", "options": ["শুধু সগুণ ভক্তি", "শুধু শৈবধর্ম", "নিরগুণ ভক্তি", "শুধু সুফি তরিকা"], "explanation": "কবীর নিরগুণ ভক্তির প্রতিনিধি। তিনি জাতিভেদ, মূর্তিপূজা ও আনুষ্ঠানিক ধর্মবিরোধী ছিলেন এবং হিন্দু-মুসলিম ঐক্যের কথা বলেন।" }, "correct": 2 }, { "bn": { "text": "শিখধর্মের প্রতিষ্ঠাতা কে?", "options": ["কবীর", "দাদু দয়াল", "গুরু নানক", "রবিদাস"], "explanation": "গুরু নানক শিখধর্মের প্রতিষ্ঠাতা। তিনি এক ঈশ্বরে বিশ্বাস, জাতিভেদ বিরোধিতা এবং কীর্তন ও সৎসঙ্গের ওপর গুরুত্ব দেন।" }, "correct": 2 }, { "bn": { "text": "গৌড়ীয় বৈষ্ণবধর্মের প্রধান প্রচারক কে?", "options": ["চণ্ডীদাস", "বিদ্যাপতি", "শ্রীচৈতন্যদেব", "জয়দেব"], "explanation": "শ্রীচৈতন্যদেব (১৪৮৬–১৫৩৩) নবদ্বীপে জন্মগ্রহণ করেন এবং কৃষ্ণভক্তি ও সংকীর্তনের মাধ্যমে গৌড়ীয় বৈষ্ণবধর্ম প্রচার করেন।" }, "correct": 2 }, { "bn": { "text": "মীরাবাঈ কার উপাসিকা ছিলেন?", "options": ["রাম", "শিব", "কৃষ্ণ", "কালী"], "explanation": "মীরাবাঈ কৃষ্ণভক্ত সগুণ সাধিকা। তিনি রাজস্থানের রাজপরিবারে জন্মগ্রহণ করেন এবং কৃষ্ণকে স্বামীজ্ঞানে ভক্তিগীতি রচনা করেন।" }, "correct": 2 }, { "bn": { "text": "'রামচরিতমানস' গ্রন্থের রচয়িতা কে?", "options": ["সুরদাস", "তুলসীদাস", "কবীর", "রহীম"], "explanation": "তুলসীদাস অবধি ভাষায় 'রামচরিতমানস' রচনা করেন। তিনি সগুণ রামভক্তির অন্যতম প্রধান সাধক।" }, "correct": 1 }, { "bn": { "text": "সুফিবাদের মূল কথা কী?", "options": ["কেবল শরিয়ত পালন", "ঈশ্বরের সঙ্গে প্রেমময় আধ্যাত্মিক সম্পর্ক", "রাষ্ট্রশক্তি দখল", "মূর্তিপূজা প্রচার"], "explanation": "সুফিবাদ ইসলামের আধ্যাত্মিক ধারা। এতে ঐশী প্রেম (ইশক), আত্মশুদ্ধি এবং ঈশ্বরের সঙ্গে ব্যক্তিগত সম্পর্কের ওপর জোর দেওয়া হয়।" }, "correct": 1 }, { "bn": { "text": "ভারতে চিশতি তরিকার প্রথম প্রধান প্রচারক কে?", "options": ["নিজামউদ্দিন আউলিয়া", "খাজা মইনউদ্দিন চিশতি", "শেখ সলিম চিশতি", "বাহাউদ্দিন নকশবন্দ"], "explanation": "খাজা মইনউদ্দিন চিশতি আজমীরে চিশতি তরিকা প্রতিষ্ঠা ও প্রচার করেন। তাঁকে ভারতে চিশতি ধারার আদি প্রচারক বলা হয়।" }, "correct": 1 }, { "bn": { "text": "নিজামউদ্দিন আউলিয়ার খানকাহ কোথায় ছিল?", "options": ["আজমীর", "দিল্লি", "লাহোর", "মুলতান"], "explanation": "নিজামউদ্দিন আউলিয়া দিল্লির চিশতি সুফি সাধক। তাঁর দরগাহ ও খানকাহ দিল্লিতে অবস্থিত এবং তিনি রাজশক্তির কাছ থেকে দূরে থাকতেন।" }, "correct": 1 }, { "bn": { "text": "সুফি সাধকদের বিভিন্ন ধারা বা গোষ্ঠীকে কী বলা হয়?", "options": ["ঘরানা", "তরিকা বা সিলসিলা", "সম্প্রদায় মাত্র", "খলিফাত"], "explanation": "সুফি ধারাগুলিকে তরিকা বা সিলসিলা বলা হয়। ভারতে প্রধান তরিকাগুলি হলো চিশতি, সোহরাওয়ার্দি, কাদেরি ও নকশবন্দি।" }, "correct": 1 }, { "bn": { "text": "সুফি সাধকদের আশ্রম বা সাধনাকেন্দ্রকে কী বলা হয়?", "options": ["মঠ", "খানকাহ", "গুরুদ্বার", "বিহার"], "explanation": "সুফি সাধকদের সাধনা ও শিষ্যদের মিলনকেন্দ্রকে খানকাহ বলা হয়। এখানে সমাজসেবা, সঙ্গীত (কাওয়ালি) ও আধ্যাত্মিক শিক্ষা চলত।" }, "correct": 1 }, { "bn": { "text": "কোন সুফি তরিকা সাধারণত দরবার ও রাজনৈতিক ক্ষমতার কাছাকাছি থাকত?", "options": ["চিশতি", "সোহরাওয়ার্দি", "নাথপন্থ", "বৈষ্ণব"], "explanation": "সোহরাওয়ার্দি তরিকা প্রায়শই সুলতানি দরবার ও রাষ্ট্রীয় পৃষ্ঠপোষকতার সঙ্গে যুক্ত ছিল। চিশতিরা সাধারণত রাজকীয় দান থেকে দূরে থাকতেন।" }, "correct": 1 }, { "bn": { "text": "ভক্তি ও সুফি আন্দোলনের একটি সাধারণ বৈশিষ্ট্য কোনটি?", "options": ["সংস্কৃত ও আরবি ছাড়া অন্য ভাষা নিষিদ্ধ ছিল", "ব্যক্তিগত ভক্তি ও সামাজিক সমতার ওপর জোর", "কেবল রাজদরবারে প্রচার", "জাতিপ্রথাকে সমর্থন"], "explanation": "দুই আন্দোলনেই ব্যক্তিগত ভক্তি বা প্রেম, আনুষ্ঠানিকতার সমালোচনা এবং জাতি-ধর্ম নির্বিশেষে আধ্যাত্মিক সমতার কথা বলা হয়।" }, "correct": 1 }, { "bn": { "text": "বাংলায় কৃষ্ণ-রাধা ভক্তির অন্যতম আদি কবি কে?", "options": ["তুলসীদাস", "চণ্ডীদাস", "সুরদাস", "গুরু নানক"], "explanation": "চণ্ডীদাস বাংলার অন্যতম প্রাচীন ভক্তি কবি। রাধা-কৃষ্ণ বিষয়ক পদাবলিতে তাঁর অবদান বাংলার বৈষ্ণব ভক্তিধারাকে সমৃদ্ধ করে।" }, "correct": 1 }, { "bn": { "text": "'গীতগোবিন্দ' কাব্যের রচয়িতা কে?", "options": ["বিদ্যাপতি", "জয়দেব", "চৈতন্যদেব", "কৃষ্ণদাস কবিরাজ"], "explanation": "জয়দেব সংস্কৃতে 'গীতগোবিন্দ' রচনা করেন। রাধা-কৃষ্ণ লীলার এই কাব্য পরবর্তী বাংলা বৈষ্ণব ভক্তি সাহিত্যকে গভীরভাবে প্রভাবিত করে।" }, "correct": 1 }, { "bn": { "text": "ভক্তি ও সুফি আন্দোলনের একটি গুরুত্বপূর্ণ সামাজিক প্রভাব কী?", "options": ["কেবল সংস্কৃত ভাষার পুনরুত্থান", "আঞ্চলিক ভাষা ও সাহিত্যের বিকাশ", "বর্ণপ্রথার কঠোর প্রয়োগ", "বিদেশি ভাষার একচেটিয়া প্রচলন"], "explanation": "সাধকরা তামিল, হিন্দি, বাংলা, মারাঠি, পাঞ্জাবি ইত্যাদি দেশীয় ভাষায় প্রচার করেন। ফলে আঞ্চলিক সাহিত্য ও সংস্কৃতির ব্যাপক বিকাশ ঘটে।" }, "correct": 1 } ] }; const langButtonLocalizer = { bn: { prev: ` পূর্ববর্তী`, clear: `মুছে ফেলুন`, mark: `চিহ্নিত করুন`, saveNext: `সেভ এবং নেক্সট `, submit: `পরীক্ষা ফাইনাল সাবমিট করুন ` } }; // Dynamic local storage key mapping per path const dynamicCacheStorageKey = `cbt_state_live_store_${window.location.pathname}`; let currentQuestionIndex = 0; let userAnswers = {}; let questionStatus = []; let currentLanguage = 'bn'; let totalSecondsRemaining = 600; let countdownTimerInterval = null; let autoSaveInterval = null; let bookmarkedQuestions = new Set(); let bootstrapRecoveryModalInstance = null; let bootstrapTimeOutModalInstance = null; const NEGATIVE_MARKING_VAL = 0.0; const screenInstructions = document.getElementById('screen-instructions'); const customStickyHeaderBar = document.getElementById('customStickyHeaderBar'); const examWorkspaceLayout = document.getElementById('examWorkspaceLayout'); const screenSubmission = document.getElementById('screen-submission'); const screenProcessing = document.getElementById('screen-processing'); const screenResult = document.getElementById('screen-result'); document.getElementById('declarationCheckbox').addEventListener('change', (e) => { const btn = document.getElementById('btnReadyToBegin'); e.target.checked ? btn.classList.remove('disabled') : btn.classList.add('disabled'); }); document.getElementById('btnReadyToBegin').addEventListener('click', () => { currentLanguage = document.getElementById('defaultLanguageSelect').value; document.getElementById('examLangToggle').value = currentLanguage; const cachedState = localStorage.getItem(dynamicCacheStorageKey); if (cachedState) { bootstrapRecoveryModalInstance = new bootstrap.Modal(document.getElementById('sessionRecoveryModal')); bootstrapRecoveryModalInstance.show(); document.getElementById('btnModalAcceptRecovery').onclick = function() { const parsing = JSON.parse(cachedState); userAnswers = parsing.answers; questionStatus = parsing.status; totalSecondsRemaining = parsing.time; currentQuestionIndex = parsing.index; if(parsing.bookmarks) bookmarkedQuestions = new Set(parsing.bookmarks); bootstrapRecoveryModalInstance.hide(); initializeActiveWorkspaceConsole(); }; document.getElementById('btnModalRejectRecovery').onclick = function() { localStorage.removeItem(dynamicCacheStorageKey); setupFreshCbtStateObject(); bootstrapRecoveryModalInstance.hide(); initializeActiveWorkspaceConsole(); }; } else { setupFreshCbtStateObject(); initializeActiveWorkspaceConsole(); } }); function setupFreshCbtStateObject() { userAnswers = {}; questionStatus = new Array(activeTestData.questions.length).fill('unvisited'); questionStatus[0] = 'not-answered'; totalSecondsRemaining = activeTestData.duration * 60; currentQuestionIndex = 0; bookmarkedQuestions.clear(); } function initializeActiveWorkspaceConsole() { screenInstructions.classList.add('hidden-screen'); customStickyHeaderBar.classList.remove('hidden-screen'); examWorkspaceLayout.classList.remove('hidden-screen'); window.scrollTo({ top: 0, behavior: 'smooth' }); countdownTimerInterval = setInterval(() => { if(totalSecondsRemaining { const statePackage = { answers: userAnswers, status: questionStatus, time: totalSecondsRemaining, index: currentQuestionIndex, bookmarks: Array.from(bookmarkedQuestions) }; localStorage.setItem(dynamicCacheStorageKey, JSON.stringify(statePackage)); }, 5000); } function triggerTimeOutPopUpSequence() { clearInterval(autoSaveInterval); examWorkspaceLayout.classList.add('hidden-screen'); customStickyHeaderBar.classList.add('hidden-screen'); screenSubmission.classList.add('hidden-screen'); bootstrapTimeOutModalInstance = new bootstrap.Modal(document.getElementById('timeOutAutoSubmitModal')); bootstrapTimeOutModalInstance.show(); setTimeout(() => { bootstrapTimeOutModalInstance.hide(); autoSubmitExamProcedure(); }, 3500); } function formatQuestionText(text) { if (!text) return ""; return text.replace(/n/g, '
'); } function renderQuestionStateEngine() { const rawQuestion = activeTestData.questions[currentQuestionIndex]; const qData = rawQuestion[currentLanguage]; const imgContainer = document.getElementById('targetQuestionImageContainer'); const imgTag = document.getElementById('targetQuestionImg'); if (rawQuestion.image && rawQuestion.image.trim() !== "") { imgTag.src = rawQuestion.image; imgContainer.classList.remove('d-none'); } else { imgTag.src = ""; imgContainer.classList.add('d-none'); } document.getElementById('currentQNum').innerText = (currentQuestionIndex + 1).toLocaleString('bn-BD'); document.getElementById('targetQuestionText').innerHTML = formatQuestionText(qData.text); const container = document.getElementById('targetOptionsArea'); container.innerHTML = ''; qData.options.forEach((opt, idx) => { const optionCard = document.createElement('div'); optionCard.className = `option-container ${userAnswers[currentQuestionIndex] === idx ? 'selected' : ''}`; optionCard.innerHTML = ` `; optionCard.addEventListener('click', () => { optionCard.querySelector('input').checked = true; document.querySelectorAll('.option-container').forEach(c => c.classList.remove('selected')); optionCard.classList.add('selected'); userAnswers[currentQuestionIndex] = idx; renderPaletteMatrix(); }); container.appendChild(optionCard); }); const currentLabels = langButtonLocalizer[currentLanguage]; document.getElementById('btnPrev').innerHTML = currentLabels.prev; document.getElementById('btnClear').innerHTML = currentLabels.clear; document.getElementById('btnMarkReview').innerHTML = currentLabels.mark; document.getElementById('btnSaveNext').innerHTML = currentLabels.saveNext; document.getElementById('btnSubmitTestTriggerMobile').innerHTML = currentLabels.submit; document.getElementById('btnSubmitTestTriggerDesktop').innerHTML = currentLabels.submit; const bkmk = document.getElementById('btnBookmark'); bkmk.innerHTML = bookmarkedQuestions.has(currentQuestionIndex) ? ` বুকমার্কড` : ` বুকমার্ক`; document.getElementById('btnPrev').disabled = (currentQuestionIndex === 0); } function renderPaletteMatrix() { const grid = document.getElementById('paletteGrid'); grid.innerHTML = ''; let counts = { unvisited: 0, 'not-answered': 0, answered: 0, marked: 0, 'ans-marked': 0 }; activeTestData.questions.forEach((q, idx) => { const state = questionStatus[idx]; counts[state]++; const btn = document.createElement('div'); btn.className = `palette-btn p-${state}`; btn.innerText = (idx + 1).toLocaleString('bn-BD'); if(currentQuestionIndex === idx) btn.style.boxShadow = "0 0 0 3px var(--primary-accent)"; btn.addEventListener('click', () => { if(questionStatus[idx] === 'unvisited') questionStatus[idx] = 'not-answered'; currentQuestionIndex = idx; renderQuestionStateEngine(); renderPaletteMatrix(); window.scrollTo({ top: 0, behavior: 'smooth' }); }); grid.appendChild(btn); }); document.querySelector('.id-count-unvisited').innerText = counts['unvisited'].toLocaleString('bn-BD'); document.querySelector('.id-count-not-answered').innerText = counts['not-answered'].toLocaleString('bn-BD'); document.querySelector('.id-count-answered').innerText = counts['answered'].toLocaleString('bn-BD'); document.querySelector('.id-count-marked').innerText = counts['marked'].toLocaleString('bn-BD'); document.querySelector('.id-count-ansmarked').innerText = counts['ans-marked'].toLocaleString('bn-BD'); } document.getElementById('examLangToggle').addEventListener('change', (e) => { currentLanguage = e.target.value; renderQuestionStateEngine(); }); document.getElementById('btnSaveNext').addEventListener('click', () => { if(userAnswers[currentQuestionIndex] !== undefined) { questionStatus[currentQuestionIndex] = (questionStatus[currentQuestionIndex] === 'marked' || questionStatus[currentQuestionIndex] === 'ans-marked') ? 'ans-marked' : 'answered'; } else { if(questionStatus[currentQuestionIndex] !== 'marked') questionStatus[currentQuestionIndex] = 'not-answered'; } if(currentQuestionIndex { if(currentQuestionIndex > 0) { currentQuestionIndex--; renderQuestionStateEngine(); renderPaletteMatrix(); } }); document.getElementById('btnClear').addEventListener('click', () => { delete userAnswers[currentQuestionIndex]; questionStatus[currentQuestionIndex] = (questionStatus[currentQuestionIndex] === 'ans-marked') ? 'marked' : 'not-answered'; renderQuestionStateEngine(); renderPaletteMatrix(); }); document.getElementById('btnMarkReview').addEventListener('click', () => { questionStatus[currentQuestionIndex] = (userAnswers[currentQuestionIndex] !== undefined) ? 'ans-marked' : 'marked'; if(currentQuestionIndex { bookmarkedQuestions.has(currentQuestionIndex) ? bookmarkedQuestions.delete(currentQuestionIndex) : bookmarkedQuestions.add(currentQuestionIndex); renderQuestionStateEngine(); }); const triggerSubmissionSummaryModal = () => { document.getElementById('sm-total').innerText = activeTestData.questions.length; document.getElementById('sm-answered').innerText = questionStatus.filter(s => s === 'answered' || s === 'ans-marked').length; document.getElementById('sm-marked').innerText = questionStatus.filter(s => s === 'marked' || s === 'ans-marked').length; document.getElementById('sm-unattempted').innerText = questionStatus.filter(s => s === 'unvisited' || s === 'not-answered').length; examWorkspaceLayout.classList.add('hidden-screen'); screenSubmission.classList.remove('hidden-screen'); window.scrollTo({ top: 0, behavior: 'instant' }); }; document.getElementById('btnSubmitTestTriggerMobile').addEventListener('click', triggerSubmissionSummaryModal); document.getElementById('btnSubmitTestTriggerDesktop').addEventListener('click', triggerSubmissionSummaryModal); document.getElementById('btnCancelSubmit').addEventListener('click', () => { screenSubmission.classList.add('hidden-screen'); examWorkspaceLayout.classList.remove('hidden-screen'); }); document.getElementById('btnFinalSubmitAction').addEventListener('click', () => { screenSubmission.classList.add('hidden-screen'); customStickyHeaderBar.classList.add('hidden-screen'); screenProcessing.classList.remove('hidden-screen'); setTimeout(() => { screenProcessing.classList.add('hidden-screen'); autoSubmitExamProcedure(); }, 2500); }); function autoSubmitExamProcedure() { clearInterval(countdownTimerInterval); clearInterval(autoSaveInterval); // Clear active session state from cache localStorage.removeItem(dynamicCacheStorageKey); examWorkspaceLayout.classList.add('hidden-screen'); customStickyHeaderBar.classList.add('hidden-screen'); screenSubmission.classList.add('hidden-screen'); screenProcessing.classList.add('hidden-screen'); const MARKS_PER_QUESTION = 2.0; let correctHits = 0, wrongHits = 0, unattemptedCount = 0; activeTestData.questions.forEach((q, idx) => { if(userAnswers[idx] !== undefined) { parseInt(userAnswers[idx]) === q.correct ? correctHits++ : wrongHits++; } else { unattemptedCount++; } }); let scoreValue = (correctHits * MARKS_PER_QUESTION) - (wrongHits * NEGATIVE_MARKING_VAL); let totalQuestionsCount = activeTestData.questions.length; let maxPossibleScore = totalQuestionsCount * MARKS_PER_QUESTION; let accuracyRate = (correctHits + wrongHits) > 0 ? Math.round((correctHits / (correctHits + wrongHits)) * 100) : 0; let obtainedPercentage = maxPossibleScore > 0 ? ((scoreValue / maxPossibleScore) * 100).toFixed(2) : "0.00"; let totalTimeAllocatedSecs = activeTestData.duration * 60; let computedTakenTimeSecs = totalTimeAllocatedSecs - totalSecondsRemaining; if(computedTakenTimeSecs 0 ? (computedTakenTimeSecs / totalQuestionsCount).toFixed(1) : 0; document.getElementById('res-score').innerText = scoreValue.toFixed(2); document.getElementById('res-accuracy').innerText = `${accuracyRate}%`; document.getElementById('res-correct').innerText = correctHits; document.getElementById('res-wrong').innerText = wrongHits; document.getElementById('res-obtained-percentage-val').innerText = `${obtainedPercentage}%`; document.getElementById('res-unattempted-count-val').innerText = unattemptedCount; document.getElementById('res-meta-total').innerText = totalQuestionsCount; document.getElementById('res-meta-time').innerText = formattedTakenTime; document.getElementById('res-meta-negative').innerText = NEGATIVE_MARKING_VAL > 0 ? NEGATIVE_MARKING_VAL.toFixed(2) : '0'; document.getElementById('res-meta-avgtime').innerText = `${averageSpeedPerQuestion} সে.`; const fb = document.getElementById('weaknessDetectionText'); fb.innerHTML = wrongHits > correctHits ? "উন্নতি প্রয়োজন: আপনার ভুল উত্তরের সংখ্যা বেশি হয়েছে। নিচের বিস্তারিত সমাধান প্যানেলটি ভালো করে দেখে নিন।" : "চমৎকার ফলাফল: আপনার উত্তরের সঠিকতা চমৎকার এবং লক্ষ্যমাত্রার মধ্যে রয়েছে।"; const revContainer = document.getElementById('reviewQuestionsContainer'); revContainer.innerHTML = ''; activeTestData.questions.forEach((q, idx) => { const isAttempted = userAnswers[idx] !== undefined; const selectedIdx = isAttempted ? parseInt(userAnswers[idx]) : null; const isCorrect = isAttempted && selectedIdx === q.correct; const isBookmarked = bookmarkedQuestions.has(idx); const div = document.createElement('div'); div.className = "card p-4 border rounded-3 shadow-sm bg-white mb-3"; let reviewImgMarkup = (q.image && q.image.trim() !== "") ? `
Review Illustration Graphic
` : ""; let userSelectionMarkup = ""; if (isAttempted) { const userChoiceBn = q.bn.options[selectedIdx]; const borderClass = isCorrect ? 'border-success text-success' : 'border-danger text-danger'; userSelectionMarkup = `
আপনার উত্তর: ${userChoiceBn}
`; } else { userSelectionMarkup = `
আপনার উত্তর: উত্তর দেওয়া হয়নি
`; } let explanationMarkup = ""; if (q.bn.explanation) { explanationMarkup = `
ব্যাখ্যা: ${q.bn.explanation}
`; } let bookmarkBadge = isBookmarked ? ` বুকমার্কড` : ''; div.innerHTML = `
প্রশ্ন ${(idx + 1).toLocaleString('bn-BD')} স্ট্যাটাস: ${!isAttempted ? 'উত্তর দেওয়া হয়নি' : (isCorrect ? 'সঠিক' : 'ভুল')}
${bookmarkBadge}
${reviewImgMarkup}

${formatQuestionText(q.bn.text)}

${userSelectionMarkup}
সঠিক উত্তর: ${q.bn.options[q.correct]}
${explanationMarkup} `; revContainer.appendChild(div); }); screenResult.classList.remove('hidden-screen'); window.scrollTo({ top: 0, behavior: 'smooth' }); const chartContainer = document.getElementById('resultChart'); if (chartContainer) { const ctx = chartContainer.getContext('2d'); new Chart(ctx, { type: 'doughnut', data: { labels: ['সঠিক', 'ভুল', 'উত্তর দেওয়া হয়নি'], datasets: [{ data: [correctHits, wrongHits, unattemptedCount], backgroundColor: ['#22c55e', '#ef4444', '#94a3b8'], borderWidth: 0 }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { position: 'bottom', labels: { boxWidth: 12, padding: 15, font: { size: 11, weight: '500' } } } } } }); } } window.addEventListener('beforeunload', (e) => { if (!examWorkspaceLayout.classList.contains('hidden-screen') && screenResult.classList.contains('hidden-screen')) { e.preventDefault(); e.returnValue = 'Active session trace verification is operational.'; } });
✕

ANSS Academy App

Download our app for an ad-free experience.

Google Play Install Now
App icon
ANSS ACADEMY
Get the full experience in the app