<!-- wp:html --> <!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>MCQ Quiz</title> <style> /* Basic CSS resets */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Arial, sans-serif; background-color: #f1f8e9; color: #33691e; } .content-container { background-color: #dcedc8; padding: 5px; border-radius: 5px; max-width: auto; margin: 20px auto; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1); position: relative; } .header { background-color: #7cb342; color: #ffffff; text-align: center; padding: 20px; border-radius: 10px; margin-bottom: 20px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); position: relative; } .header h1 { margin: 0; font-size: 28px; } /* Hamburger Menu Icon */ .hamburger { position: absolute; top: 8px; left: 8px; z-index: 1000; width: 20px; height: 15px; display: flex; flex-direction: column; justify-content: space-between; cursor: pointer; } .hamburger-line { height: 3px; background-color: #fff; border-radius: 2px; } /* Sidebar (Question Nav) */ #questionNavOverlay { position: fixed; top: 0; left: -250px; /* hidden by default */ width: 250px; height: 100%; background-color: #fff; transition: left 0.3s ease-in-out; z-index: 2000; box-shadow: 2px 0 6px rgba(0,0,0,0.3); padding: 20px; overflow-y: auto; } #questionNavOverlay.show { left: 0; /* slide in */ } #questionNavTitle { margin-bottom: 10px; font-weight: bold; font-size: 1.1rem; } .question-nav { display: flex; flex-wrap: wrap; gap: 5px; } .circle-number { width: 30px; height: 30px; border-radius: 50%; background-color: #ccc; color: #000; display: flex; justify-content: center; align-items: center; cursor: pointer; user-select: none; /* Prevent text selection */ transition: background-color 0.2s; } .circle-number:hover { background-color: #aaa; } .circle-number.active { background-color: #4CAF50; color: #fff; } /* Quiz Container */ .quiz-container { background-color: #fff; border-radius: 10px; padding: 5px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); max-width: auto; width: 100%; margin: 0 auto; text-align: center; position: relative; } .question-counter { font-weight: bold; padding: 5px 10px; border-radius: 5px; background-color: #d9edf7; position: absolute; top: 10px; left: 10px; } /* Timer display */ .timer { font-weight: bold; padding: 5px 10px; border-radius: 5px; background-color: #ffcccb; position: absolute; top: 10px; right: 10px; } .question { font-size: 1.2rem; margin-top: 40px; margin-bottom: 20px; text-align: left; } .choices { display: flex; flex-direction: column; gap: 10px; } .choice { padding: 10px; background-color: #f0f0f0; border: 1px solid #ddd; border-radius: 5px; cursor: pointer; transition: background-color 0.3s, box-shadow 0.3s; } .choice:hover { background-color: #e0e0e0; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .choice.selected { background-color: #28a745; /* More vivid green */ color: #fff; } .choice.correct { background-color: #28a745; /* More vivid green */ border-color: #28a745; color: #fff; } .choice.incorrect { background-color: #dc3545; /* More vivid red */ border-color: #dc3545; color: #fff; } .choice.disabled { cursor: not-allowed; pointer-events: none; opacity: 0.6; } .explanation { margin-top: 20px; text-align: left; background-color: #e7f3fe; padding: 15px; border-left: 5px solid #2196F3; border-radius: 5px; } .buttons { display: flex; justify-content: center; gap: 10px; margin-top: 20px; flex-wrap: wrap; } .btn { flex: 1 1 auto; padding: 8px 12px; background-color: #4CAF50; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 0.9rem; text-align: center; min-width: 100px; max-width: 150px; transition: none; } .btn.disabled { background-color: #cccccc; cursor: not-allowed; } .hidden { display: none; } /* Result Section */ #resultContent { text-align: center; margin-top: 20px; } .congrats { font-size: 1.5rem; color: #4CAF50; } .sad { font-size: 1.5rem; color: #d32f2f; } /* Popup Message (Optional) */ #popupMessage { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); color: white; padding: 10px 20px; border-radius: 5px; font-size: 1rem; z-index: 5000; display: none; } #popupMessage.show { display: block; } #popupMessage.correct { background-color: #28a745; } #popupMessage.incorrect { background-color: #dc3545; } </style> </head> <body> <div class="content-container"> <div class="header"> <!-- Hamburger menu button --> <div class="hamburger" id="hamburgerBtn"> <div class="hamburger-line"></div> <div class="hamburger-line"></div> <div class="hamburger-line"></div> </div> <h1>MCQs Quiz</h1> </div> <!-- Sidebar (Question Nav) --> <div id="questionNavOverlay"> <div id="questionNavTitle">Questions</div> <div class="question-nav" id="questionNav"></div> </div> <!-- Quiz Container --> <div class="quiz-container" id="quizContent"> <div class="question-counter" id="questionCounter">1/3</div> <!-- Timer display here --> <div class="timer" id="timer">Time: 00:00</div> <div class="question" id="question">Loading question...</div> <div class="choices" id="choices"></div> <!-- Explanation and feedback --> <div class="explanation hidden" id="explanation"></div> <!-- Buttons for navigation and submission --> <div class="buttons"> <button class="btn" id="prevButton">Previous</button> <button class="btn" id="submitAnswerButton">Submit Answer</button> <button class="btn hidden" id="nextButton">Next</button> </div> </div> <!-- Result Section --> <div id="resultContent" class="hidden"> <h2>Quiz Completed</h2> <div id="resultMessage"></div> <p id="scoreMessage"></p> </div> </div> <!-- Optional Popup Message --> <div id="popupMessage" class="hidden"></div> <script> /***** JavaScript Code *****/ // Quiz data (sample) const quizData = [ { "question": "कंप्यूटर (Computer) क्या है?", "options": [ "एक इलेक्ट्रॉनिक उपकरण जो डेटा को इनपुट के रूप में लेता है, निर्देशों के अनुसार उस पर संचालन करता है, और परिणाम आउटपुट के रूप में देता है", "केवल खेल खेलने की मशीन", "एक यांत्रिक मशीन जो सिर्फ अंकगणित कर सकती है", "ऑडियो और वीडियो प्लेयर" ], "correct": 0, "explanation": "कंप्यूटर एक प्रोग्राम योग्य इलेक्ट्रॉनिक मशीन है, जो इनपुट डेटा लेती है, उस पर प्रोसेस करती है और आउटपुट जनरेट करती है; यह गणना और तार्किक क्रियाओं को तेजी से करने में सक्षम है।" }, { "question": "कंप्यूटर के घटकों (Components of a Computer) में से कौन-सा मुख्यतः सॉफ्टवेयर है?", "options": [ "मदरबोर्ड", "CPU", "ऑपरेटिंग सिस्टम (Operating System)", "पावर सप्लाई" ], "correct": 2, "explanation": "ऑपरेटिंग सिस्टम सॉफ्टवेयर का उदाहरण है, जो हार्डवेयर और यूज़र के बीच मध्यस्थ (इंटरफेस) का कार्य करता है। मदरबोर्ड, CPU, पावर सप्लाई इत्यादि हार्डवेयर घटक हैं।" }, { "question": "कंप्यूटर के आवश्यक घटकों (Essential Components) में से कौन-सा ‘प्रोसेसिंग’ के लिए ज़िम्मेदार है?", "options": [ "CPU (Central Processing Unit)", "RAM (Random Access Memory)", "हार्ड डिस्क (Hard Disk)", "मॉनिटर (Monitor)" ], "correct": 0, "explanation": "CPU (केंद्रीय प्रक्रमन इकाई) को कंप्यूटर का ‘मस्तिष्क’ भी कहते हैं, जो सभी निर्देशों को निष्पादित करता है और गणना/तर्कपूर्ण कार्य करता है।" }, { "question": "कंप्यूटर के प्रकार (Types of Computers) में से ‘मेनफ्रेम (Mainframe)’ कंप्यूटर का उपयोग कहाँ होता है?", "options": [ "घरेलू कार्यों के लिए", "अत्यधिक डाटा प्रोसेसिंग और बड़े संगठनों (बैंक, बीमा कंपनियाँ) में भारी कार्यभार संभालने के लिए", "छात्रों को प्रैक्टिकल के लिए", "केवल कंप्यूटर गेम खेलने के लिए" ], "correct": 1, "explanation": "मेनफ्रेम कंप्यूटर विशाल डाटा को प्रोसेस कर सकते हैं, बड़े-बड़े संस्थानों में बैंकिंग, बीमा, सरकारी विभाग इत्यादि में यह उपयोगी होते हैं।" }, { "question": "माइक्रोप्रोसेसर (Microprocessor) क्या है?", "options": [ "केवल मेमोरी डिवाइस", "CPU के इलेक्ट्रॉनिक घटकों का एकीकृत चिप, जो एक संपूर्ण प्रोसेसर है", "कीबोर्ड का हिस्सा", "इनपुट डिवाइस" ], "correct": 1, "explanation": "माइक्रोप्रोसेसर एक एकल एकीकृत परिपथ (IC) पर निर्मित प्रोसेसर है, जो कंप्यूटर की केन्द्रीय प्रक्रमन इकाई के कार्यों को संपन्न करता है।" }, { "question": "कंप्यूटर आर्किटेक्चर (Computer Architecture) में ‘वॉन न्यूमान आर्किटेक्चर’ (Von Neumann Architecture) की मुख्य विशेषता क्या है?", "options": [ "प्रोग्राम और डेटा दोनों के लिए अलग-अलग मेमोरी", "प्रोग्राम और डेटा को एक ही मेमोरी में संग्रहित करना (Stored-Program Concept)", "केवल इनपुट-आउटपुट प्रणाली", "हार्डवेयर में BIOS" ], "correct": 1, "explanation": "वॉन न्यूमान आर्किटेक्चर में प्रोग्राम और डेटा को एक ही मेमोरी में रखा जाता है, और CPU इन्हें मेमोरी से फ़ेच कर प्रोसेस करता है।" }, { "question": "कंप्यूटर में डेटा को किस रूप में संग्रहीत (Store) किया जाता है?", "options": [ "दशमलव (Decimal) संख्या प्रणाली", "बाइनरी (Binary) संख्या प्रणाली (0 और 1)", "हेक्साडेसिमल (Hexadecimal) प्रणाली", "रोमन अंकों में" ], "correct": 1, "explanation": "कंप्यूटर का भौतिक स्तर पर कार्य इलेक्ट्रॉनिक सिग्नल (ON/OFF) पर आधारित है, इसलिए डेटा 0 और 1 के रूप में स्टोर होता है।" }, { "question": "डेटा प्रतिनिधित्व (Data Representation) में 1 बाइट (Byte) कितने बिट (Bits) के बराबर होता है?", "options": [ "4 बिट्स", "8 बिट्स", "16 बिट्स", "32 बिट्स" ], "correct": 1, "explanation": "1 बाइट में 8 बिट्स होते हैं; बिट कंप्यूटर का सबसे छोटा डेटा मापक है (0 या 1), जबकि बाइट व्यवहारिक स्टोरेज यूनिट के रूप में प्रयोग होता है।" }, { "question": "‘Laptop’, ‘Desktop’, ‘Smartphone’ आदि किस श्रेणी के कंप्यूटर हैं?", "options": [ "मेनफ्रेम", "मिनीकंप्यूटर", "सुपरकंप्यूटर", "पर्सनल कंप्यूटर (PC) या माइक्रो कंप्यूटर" ], "correct": 3, "explanation": "Laptop, Desktop, Tablet, Smartphone जैसे डिवाइस माइक्रोप्रोसेसर आधारित पर्सनल या माइक्रो कंप्यूटर श्रेणी में आते हैं।" }, { "question": "सुपरकंप्यूटर (Supercomputer) का मुख्य उपयोग कहाँ होता है?", "options": [ "केवल ई-मेल चेक करने", "बहुत जटिल वैज्ञानिक गणनाएँ, मौसम पूर्वानुमान, परमाणु अनुसंधान, अंतरिक्ष विज्ञान इत्यादि", "शॉर्टकट की परिभाषा", "घरेलू उपयोग" ], "correct": 1, "explanation": "सुपरकंप्यूटर अपार गणना शक्ति व गति वाले होते हैं, जिनका उपयोग वैज्ञानिक शोध, मौसम मॉडलिंग, उच्च स्तरीय सिमुलेशन आदि क्षेत्रों में किया जाता है।" }, { "question": "कंप्यूटर के इनपुट डिवाइस (Input Device) का उदाहरण कौन-सा है?", "options": [ "मॉनिटर", "प्रिंटर", "कीबोर्ड", "हार्ड डिस्क" ], "correct": 2, "explanation": "कीबोर्ड, माउस, स्कैनर, माइक्रोफ़ोन इत्यादि इनपुट डिवाइस हैं, जिनकी मदद से हम डेटा व निर्देश कंप्यूटर में दर्ज करते हैं।" }, { "question": "बाइनरी संख्या प्रणाली में 2 का अंकन (Representation) क्या होगा?", "options": [ "10", "2", "11", "101" ], "correct": 0, "explanation": "बाइनरी में 2 को 10 लिखा जाता है (1×2¹ + 0×2⁰ = 2)。" }, { "question": "कंप्यूटर मेमोरी को मुख्यतः दो भागों में बाँटा जा सकता है:", "options": [ "In-built and External", "System Memory and Network Memory", "प्राइमरी (Primary) और सेकंडरी (Secondary) मेमोरी", "Static और Dynamic Input" ], "correct": 2, "explanation": "प्राइमरी (मुख्य या आंतरिक मेमोरी) जैसे RAM, ROM, कैश होती है, जबकि सेकंडरी मेमोरी (बाहरी) जैसे हार्ड डिस्क, SSD, USB ड्राइव इत्यादि।" }, { "question": "‘Control Unit (CU)’ और ‘Arithmetic Logic Unit (ALU)’ मिलकर कौन-सा प्रोसेसर हिस्सा बनाते हैं?", "options": [ "मदरबोर्ड", "Input Device", "CPU (Central Processing Unit)", "Output Unit" ], "correct": 2, "explanation": "CPU दो मुख्य इकाइयों से मिलकर बनता है: ALU (अंकगणित व तार्किक संचालन) और CU (समय, नियंत्रण, निर्देशों का प्रबंधन)।" }, { "question": "डेटा प्रतिनिधित्व में ASCII (American Standard Code for Information Interchange) का उपयोग किस लिए होता है?", "options": [ "केवल चित्र", "अंकगणितीय डेटा के लिए", "अक्षर (Characters), संख्याएँ, प्रतीकों को बाइनरी कोड में बदलने के लिए", "वीडियो कोडेक" ], "correct": 2, "explanation": "ASCII एक 7-बिट (या प्रायः 8-बिट विस्तारित) कोड है, जो अंग्रेज़ी वर्णमाला, अंक, विराम चिह्नों इत्यादि के लिए बाइनरी मान निर्धारित करता है।" }, { "question": "‘बूटिंग (Booting)’ प्रक्रिया क्या है?", "options": [ "ऑपरेटिंग सिस्टम के लोड होने से पहले कंप्यूटर को नियंत्रण में लेना", "कंप्यूटर बंद करना", "मौसम पूर्वानुमान", "मदरबोर्ड को रिस्टार्ट करना" ], "correct": 0, "explanation": "बूटिंग वह प्रक्रिया है जिसमें कंप्यूटर स्टार्ट होने पर BIOS/UEFI की सहायता से हार्डवेयर चेक होता है, तथा ऑपरेटिंग सिस्टम को मेमोरी में लोड किया जाता है।" }, { "question": "‘Byte’ से बड़ी यूनिट में कौन-सा सही क्रम है?", "options": [ "KB < TB < MB < GB", "KB < MB < GB < TB", "GB < KB < MB < TB", "MB < KB < TB < GB" ], "correct": 1, "explanation": "सही क्रम बढ़ती स्टोरेज यूनिट्स का है: Byte < KB < MB < GB < TB < PB ... इत्यादि।" }, { "question": "‘हार्डवेयर (Hardware)’ किसे कहते हैं?", "options": [ "कंप्यूटर के भौतिक (Physical) घटकों को, जिन्हें छूया जा सकता है", "सिर्फ प्रिंटर", "सॉफ्टवेयर प्रोग्राम", "केवल Motherboard" ], "correct": 0, "explanation": "हार्डवेयर में सभी भौतिक उपकरण आते हैं, जैसे मदरबोर्ड, CPU, कीबोर्ड, मॉनीटर, प्रिंटर इत्यादि।" }, { "question": "‘सॉफ्टवेयर (Software)’ किनका संग्रह होता है?", "options": [ "केवल ऑपरेटिंग सिस्टम", "केवल वायरस", "निर्देशों और प्रोग्रामों का समूह, जो कंप्यूटर हार्डवेयर को कार्य करने के लिए निर्देश देता है", "इनपुट डिवाइस" ], "correct": 2, "explanation": "सॉफ्टवेयर प्रोग्रामों या निर्देशों का समूह होता है, जो हार्डवेयर को बताता है कि क्या करना है, ऑपरेटिंग सिस्टम से लेकर एप्लिकेशन तक सब सॉफ्टवेयर हैं।" }, { "question": "यूनिकोड (Unicode) क्या है?", "options": [ "एक विशेष कंप्यूटर गेम", "अलग-अलग भाषाओं के अक्षरों का प्रतिनिधित्व करने के लिए व्यापक कैरेक्टर कोडिंग प्रणाली", "वायरस प्रोग्राम", "ऑपरेटिंग सिस्टम का कोई फीचर" ], "correct": 1, "explanation": "यूनिकोड दुनियाभर की भाषाओं और प्रतीकों को कोड करने का मानक है, जिससे विभिन्न भाषाओं में पाठ प्रदर्शित करना संभव होता है।" }, { "question": "‘रेजिस्टर (Register)’ कंप्यूटर में कहाँ पाया जाता है?", "options": [ "मदरबोर्ड पर RAM के अंतर्गत", "CPU में उच्च गति की छोटी मेमोरी", "हार्ड डिस्क के फ़ोल्डर", "इनपुट डिवाइस पर" ], "correct": 1, "explanation": "CPU रजिस्टर बहुत तेज़ ऐक्सेस वाले छोटे स्टोरेज लोकेशन हैं, जहाँ प्रोसेसिंग के दौरान तत्काल डेटा/निर्देश रखे जाते हैं।" }, { "question": "कंप्यूटर आर्किटेक्चर में ‘ब्रेसेनहम एल्गोरिथ्म’ का संबंध किससे है?", "options": [ "लाइन ड्रॉइंग (Line Drawing) में पिक्सेल प्लॉटिंग", "CPU क्लॉक स्पीड बढ़ाना", "मेमोरी मैनेजमेंट", "कैश राइट बैक नीति" ], "correct": 0, "explanation": "ब्रेसेनहम एल्गोरिथ्म कंप्यूटर ग्राफिक्स में प्रभावी लाइन ड्रॉइंग के लिए प्रयोग होता है, हालाँकि यह सीधे आर्किटेक्चर का हिस्सा नहीं पर कंप्यूटर के ग्राफिकल संचालन से जुड़ा है।" }, { "question": "‘ईपीआरओएम (EPROM)’ किस प्रकार की मेमोरी है?", "options": [ "इरेज़ेबल प्रोग्रामेबल रीड-ओनली मेमोरी, जिसे UV लाइट से मिटाकर दोबारा प्रोग्राम किया जा सकता है", "केवल राइट-ओनली", "हार्ड डिस्क के सेक्टर", "कैश मेमोरी" ], "correct": 0, "explanation": "EPROM (Erasable Programmable Read-Only Memory) एक ROM का प्रकार है, जिसमें डाला गया प्रोग्राम UV लाइट से मिटाकर पुनः प्रोग्राम कर सकते हैं।" }, { "question": "‘बेसिक इनपुट-आउटपुट सिस्टम (BIOS)’ का कार्य क्या है?", "options": [ "हार्डवेयर का प्राथमिक Initialization, Bootloader चलाना", "वायरस को स्कैन करना", "केवल प्रिंटर सेटिंग", "सॉफ्टवेयर इंस्टॉल करना" ], "correct": 0, "explanation": "BIOS/UEFI सबसे पहले हार्डवेयर की टेस्टिंग (POST) करता है और फिर Operating System लोड करने की प्रक्रिया आरंभ करता है।" }, { "question": "कंप्यूटर में लैपटॉप, टैबलेट, स्मार्टफोन किस श्रेणी में आते हैं?", "options": [ "मेनफ्रेम", "मिनीकंप्यूटर", "सुपरकंप्यूटर", "पर्सनल या माइक्रो कंप्यूटर" ], "correct": 3, "explanation": "लैपटॉप, टैबलेट, स्मार्टफोन माइक्रोप्रोसेसर आधारित होते हैं और व्यक्तिगत उपयोग के लिए डिजाइन किए गए हैं, अतः ये माइक्रो कंप्यूटर की श्रेणी में हैं।" }, { "question": "एएलयू (ALU) का पूर्ण रूप क्या है?", "options": [ "Arithmetic Logic Unit", "Advanced Level Utility", "Automated Local Usage", "Alternate Linking URL" ], "correct": 0, "explanation": "ALU का मतलब Arithmetic Logic Unit है, जो अंकगणितीय व तार्किक संचालन निष्पादित करती है।" }, { "question": "‘पाइपलाइनिंग (Pipelining)’ तकनीक क्यों उपयोगी होती है?", "options": [ "एक समय में केवल एक इंस्ट्रक्शन", "CPU के विभिन्न चरण (फ़ेच, डिकोड, एक्सीक्यूट) को आंशिक रूप से ओवरलैप कर समग्र प्रोसेसिंग तेज करना", "मेमोरी को साफ करना", "स्टोरेज को बढ़ाना" ], "correct": 1, "explanation": "पाइपलाइनिंग में एक इंस्ट्रक्शन को डिकोड/फेच/एक्जीक्यूट करते हुए अगले इंस्ट्रक्शन की तैयारी भी शुरू हो जाती है, जिससे CPU की प्रदर्शन क्षमता बढ़ती है।" }, { "question": "डेटा प्रतिनिधित्व (Data Representation) में Octal संख्या प्रणाली किस आधार पर कार्य करती है?", "options": [ "आधार 2", "आधार 8", "आधार 16", "आधार 10" ], "correct": 1, "explanation": "ऑक्टल में 0 से 7 तक के अंक उपयोग होते हैं, यह बेस-8 में डेटा लिखने की प्रणाली है।" }, { "question": "‘मदरबोर्ड (Motherboard)’ कंप्यूटर में क्या भूमिका निभाता है?", "options": [ "मेमोरी डिवाइस", "CPU Cooling", "प्रमुख घटकों (CPU, RAM, Expansion Cards, Ports) को जोड़ने वाला मुख्य प्रिंटेड सर्किट बोर्ड", "सिर्फ USB पोर्ट" ], "correct": 2, "explanation": "मदरबोर्ड पर ही CPU, मेमोरी स्लॉट, PCI/PCIe स्लॉट, SATA पोर्ट आदि लगे होते हैं; यह कंप्यूटर का केंद्रीय हार्डवेयर प्लेटफॉर्म है।" }, { "question": "एक आधा बाइट (Half Byte) को क्या कहा जाता है?", "options": [ "Nibble (निब्बल)", "Bit", "Word", "Double Word" ], "correct": 0, "explanation": "Nibble (या Nybble) में 4 बिट्स होते हैं, यानी एक बाइट (8 बिट्स) का आधा हिस्सा।" }, { "question": "ROM (Read Only Memory) की विशेषता क्या है?", "options": [ "इसमें डेटा अस्थायी रूप से स्टोर होता है", "बिजली जाने पर डेटा मिट जाता है", "डेटा स्थायी रूप से संग्रहीत, सामान्यतः उपयोगकर्ता द्वारा बदला नहीं जा सकता (या बहुत ही सीमित बदला जाता है)", "कंप्यूटर बंद होने पर रीसेट" ], "correct": 2, "explanation": "ROM नॉन-वोलाटाइल मेमोरी है; इसमें निर्माता द्वारा प्रोग्राम्ड डेटा रहता है (या यूज़केस के हिसाब से EPROM/EEPROM में बदल सकते हैं), लेकिन आमतौर पर बार-बार लिखना संभव नहीं।" }, { "question": "‘बाइनरी’ संख्या प्रणाली की जगह प्रोग्रामर्स अक्सर ‘Hexadecimal (हैक्स)’ का प्रयोग क्यों करते हैं?", "options": [ "हैक्स बाइनरी के लिए उपयोगी नहीं", "हैक्स कभी उपयोग नहीं की जाती", "हैक्स में चार बाइनरी बिट (निब्बल) को एक अंक से दर्शाया जा सकता है, जिससे लंबी बाइनरी को संक्षिप्त में लिखा जा सकता है", "कोई लाभ नहीं" ], "correct": 2, "explanation": "प्रत्येक हैक्स डिजिट 4 बाइनरी बिट का प्रतिनिधित्व करता है, इसलिए बाइनरी की तुलना में कोड संक्षिप्त करना आसान होता है (उदा. 1010₂ = A₁₆)।" }, { "question": "‘Cache Memory (कैश मेमोरी)’ क्या है?", "options": [ "बाहरी स्टोरेज", "धीमी याद्दाश्त", "CPU और मुख्य मेमोरी (RAM) के बीच एक तेज़ अस्थायी मेमोरी, जिसमें अक्सर प्रयुक्त डेटा रखा जाता है", "लाइन ड्रॉइंग एल्गोरिथ्म" ], "correct": 2, "explanation": "कैश मेमोरी CPU के बहुत पास (या उसपर) मौजूद अल्प-आकार लेकिन तेज़ मेमोरी है, जिससे बार-बार इस्तेमाल होने वाला डेटा तुरंत उपलब्ध हो जाता है।" }, { "question": "‘मशीन भाषा (Machine Language)’ की विशेषता क्या है?", "options": [ "मनुष्य आसानी से पढ़ लेता है", "यह उच्च स्तरीय भाषा है", "CPU द्वारा प्रत्यक्ष समझी जाने वाली 0 और 1 (बाइनरी) निर्देशों की भाषा", "किसी भी कंप्यूटर पर नहीं चलती" ], "correct": 2, "explanation": "मशीन भाषा लो-लेवल भाषा है, जिसमें निर्देश सीधे बाइनरी फॉर्म में होते हैं, और CPU उन्हें बग़ैर अनुवाद के निष्पादित कर सकता है।" }, { "question": "कंप्यूटर की ‘Word Size’ किसे दर्शाती है?", "options": [ "हार्ड डिस्क क्षमता", "प्रोसेसर कितने बिट्स को एक साथ प्रोसेस कर सकता है (जैसे 32-bit या 64-bit)", "मॉनिटर का आकार", "रैम का आकार" ], "correct": 1, "explanation": "Word Size से तात्पर्य CPU द्वारा एक बार में प्रोसेस किए जाने वाले बिट्स की संख्या है। जैसे 32-बिट प्रोसेसर 32 बिट्स को एक साथ हैंडल कर सकता है।" }, { "question": "अक्सर कंप्यूटरों में ‘Hz’ (हर्ट्ज) CPU की कौन-सी विशेषता मापता है?", "options": [ "मेमोरी स्टोरेज", "स्पीड, अर्थात् कितनी घड़ीकल (Clock Cycles) प्रति सेकंड", "हार्ड डिस्क RPM", "GPU की रेंडर क्षमता" ], "correct": 1, "explanation": "CPU की घड़ी गति (Clock Speed) को Hz में मापा जाता है, जो प्रति सेकंड में होने वाले चक्रों की संख्या दर्शाता है (उदा. 3 GHz = 3 अरब चक्र/सेकंड)।" }, { "question": "‘मिनीकंप्यूटर (Minicomputer)’ आमतौर पर किसलिए जाने जाते थे?", "options": [ "केवल होम यूज़", "बहुत बड़े संगठन", "मझौले स्तर के व्यवसायों, विश्वविद्यालयों, प्रयोगशालाओं में कार्य, मेनफ्रेम से सस्ते पर शक्तिशाली", "स्मार्टफोन के पूर्वज" ], "correct": 2, "explanation": "मिनीकंप्यूटर मेनफ्रेम और माइक्रो कंप्यूटर के बीच का दर्जा रखते थे; मध्यम आकार के व्यवसाय और संगठन उन्हें डेटा प्रोसेसिंग के लिए इस्तेमाल करते थे।" }, { "question": "कंप्यूटर के इनपुट-आउटपुट (I/O) प्रणाली के बीच डेटा प्रवाहित करने के लिए कौन-सा मार्ग जरूरी है?", "options": [ "Bus (बस)", "Cache", "Backing Store", "परिधीय (Peripheral)" ], "correct": 0, "explanation": "बस (डेटा बस, एड्रेस बस, कंट्रोल बस) के जरिए ही CPU, मेमोरी और I/O डिवाइसों के बीच डेटा व संकेतों का आदान-प्रदान होता है।" }, { "question": "‘मेमोरी एड्रेस रजिस्टर (MAR)’ का कार्य क्या है?", "options": [ "डेटा को संभालना", "मदरबोर्ड को पावर देना", "मेमोरी में जिस लोकेशन से डेटा/निर्देश लेना या लिखना हो, उसका पता (एड्रेस) रखना", "सीरियल पोर्ट जोड़ना" ], "correct": 2, "explanation": "MAR CPU में वह रजिस्टर है, जिसमें वर्तमान में उपयोग की जाने वाली मेमोरी लोकेशन का एड्रेस रखा जाता है, ताकि CPU वहाँ से डेटा लाया या लिखा सके।" }, { "question": "कंप्यूटर आर्किटेक्चर का एक विकल्प है ‘हार्वर्ड आर्किटेक्चर (Harvard Architecture)’ जिसमें—", "options": [ "कोई मेमोरी नहीं", "डेटा और प्रोग्राम मेमोरी भौतिक रूप से अलग रखी जाती हैं", "सिर्फ बड़ी कंपनियाँ इस्तेमाल करती हैं", "क्रॉस-कम्पाइलर की जरूरत नहीं" ], "correct": 1, "explanation": "हार्वर्ड आर्किटेक्चर में प्रोसेसर डेटा व प्रोग्राम को अलग-अलग बस/मेमोरी में रखता है, जिससे दोनों समानांतर रूप से एक्सेस किए जा सकते हैं।" }, { "question": "‘बाइनरी संख्या 1010₂’ का दशमलव (Decimal) रूप क्या होगा?", "options": [ "10", "8", "12", "5" ], "correct": 0, "explanation": "1010₂ = 1×2³ + 0×2² + 1×2¹ + 0×2⁰ = 8 + 0 + 2 + 0 = 10।" }, { "question": "‘पोर्ट (Port)’ क्या है?", "options": [ "CPU का हिस्सा", "सॉफ्टवेयर इंस्टालर", "बाहरी डिवाइस को कंप्यूटर से जोड़ने का इंटरफ़ेस, जैसे USB पोर्ट, HDMI पोर्ट", "बिजली कनेक्शन" ], "correct": 2, "explanation": "पोर्ट हार्डवेयर इंटरफ़ेस है, जहाँ हम एक्सटर्नल डिवाइस (माउस, कीबोर्ड, प्रिंटर, मॉनिटर इत्यादि) को कनेक्ट कर सकते हैं।" }, { "question": "‘डेटा प्रतिनिधित्व’ में ‘Floating Point Representation’ किसलिए उपयोगी है?", "options": [ "केवल integer मानों के लिए", "स्थिर दशमलव मानों के लिए", "बहुत बड़े या बहुत छोटे वास्तविक (Real) संख्यात्मक मानों को दशमलव बिंदु के साथ दर्शाने के लिए", "स्टोर किए जाने वाले स्ट्रिंग्स के लिए" ], "correct": 2, "explanation": "Floating Point Representation से वैज्ञानिक या बड़े/छोटे दशमलव मानों को स्टोर किया जाता है, जैसे 3.14, 6.022e23 इत्यादि।" }, { "question": "‘Primary Memory’ आमतौर पर किस रूप में होती है?", "options": [ "SSD", "हार्ड डिस्क", "CD/DVD", "RAM (Random Access Memory)" ], "correct": 3, "explanation": "प्राइमरी मेमोरी में RAM मुख्य भूमिका निभाती है, जिससे CPU सीधे डेटा एक्सेस करता है; जबकि हार्ड डिस्क, SSD, सीडी आदि सेकंडरी स्टोरेज हैं।" }, { "question": "डेटा प्रतिनिधित्व में ‘Gray Code’ का उपयोग किस स्थिति में किया जाता है?", "options": [ "जहाँ बिट बदलने पर न्यूनतम परिवर्तन (Only one bit change) ज़रूरी हो, जैसे रोटरी एन्कोडर्स", "ASCII को स्थानांतरित करने", "इन्फ्रारेड सिग्नल", "मेमोरी ऐलोकेशन" ], "correct": 0, "explanation": "Gray Code दो अनुक्रमिक संख्याओं में केवल एक बिट में बदलाव सुनिश्चित करता है, जिससे डीकोडिंग एरर में कमी आती है; प्रायः एन्कोडर, डिजिटल ऐनालॉग सर्किट में उपयोगी है।" }, { "question": "‘RISC (Reduced Instruction Set Computer)’ प्रोसेसर आर्किटेक्चर की विशेषता क्या है?", "options": [ "न्यून बुनियादी निर्देश, तेज़ एक्जीक्यूशन, हार्वर्ड आर्किटेक्चर प्रवृत्ति", "बहुत लंबी निर्देश सूची", "सभी इंस्ट्रक्शंस जटिल", "एएलयू नदारद" ], "correct": 0, "explanation": "RISC में कम संख्या के सरल इंस्ट्रक्शन होते हैं, जिससे प्रोसेसर इन्हें तेज़ी से निष्पादित कर सकता है; ARM, MIPS, PowerPC इत्यादि इसके उदाहरण हैं।" }, { "question": "‘कंप्यूटर बस (Bus)’ के प्रकारों में से एक ‘Address Bus’ क्या कार्य करती है?", "options": [ "डेटा को एक जगह से दूसरी जगह ट्रांसफर", "इनपुट को आउटपुट से जोड़ना", "CPU बताता है कि मेमोरी का कौन-सा एड्रेस एक्सेस किया जाए", "पावर सप्लाई पहुंचाना" ], "correct": 2, "explanation": "Address Bus CPU को मेमोरी या I/O डिवाइस के विशिष्ट स्थान का पता देती है, जहाँ पर डेटा पढ़ना या लिखना हो।" }, { "question": "‘Integrated Circuits (ICs)’ किसने कंप्यूटर के विकास में क्रांति लाई?", "options": [ "थर्मियॉनिक वाल्व का उपयोग", "ट्रांजिस्टर के पहले उपयोग", "एक चिप पर कई इलेक्ट्रॉनिक घटक एकीकृत होने से कंप्यूटर छोटे, तेज, सस्ते बने", "सब कुछ मैन्युअल" ], "correct": 2, "explanation": "IC (Integrated Circuit) ने सिलिकॉन चिप पर ट्रांजिस्टर सहित विभिन्न कम्पोनेंट्स को समेट लिया, जिससे कंप्यूटरों का आकार घटा और विश्वसनीयता/गति बढ़ी।" }, { "question": "‘सेंट्रल प्रोसेसिंग यूनिट (CPU)’ को कंप्यूटर का मस्तिष्क क्यों कहते हैं?", "options": [ "केवल इनपुट लेने के लिए", "ओएस चलाता है", "यह सभी निर्देशों को इंटरप्रेट कर गणना व तर्कपूर्ण कार्य संपन्न करता है, बाकी इकाइयों को निर्देशित करता है", "खाली है" ], "correct": 2, "explanation": "CPU को मस्तिष्क कहने का कारण है कि वहीं सारी प्रोसेसिंग व डिसीजन लेना होता है, इनपुट से डेटा लेना, आउटपुट भेजना और मेमोरी का प्रबंधन CU/ALU के जरिए CPU करता है।" }, { "question": "‘Peripheral devices’ में कौन-सा उदाहरण फिट नहीं होता?", "options": [ "प्रिंटर", "स्कैनर", "माउस", "रेजिस्टर (Register)" ], "correct": 3, "explanation": "रेजिस्टर CPU का आंतरिक हिस्सा है, जबकि प्रिंटर, स्कैनर, माउस एक्सटर्नल परिधीय उपकरण हैं।" }, { "question": "‘प्रत्येक हेक्साडेसिमल अंक’ कितने बाइनरी बिट्स का प्रतिनिधित्व करता है?", "options": [ "2 बिट्स", "4 बिट्स", "8 बिट्स", "16 बिट्स" ], "correct": 1, "explanation": "Hex में एक डिजिट (0-F) = 4 बिट्स (बाइनरी) के बराबर होता है (e.g., F₁₆ = 1111₂)।" }, { "question": "डेटा ट्रांसफर एवं प्रोसेसिंग में सुधार हेतु ‘DMA (Direct Memory Access)’ का क्या कार्य है?", "options": [ "CPU को विराम (Interrupt) खत्म करना", "इनपुट डिवाइस को मेमोरी से दूर रखना", "बिना CPU के हस्तक्षेप के, कुछ डिवाइस सीधे मेमोरी से डेटा आदान-प्रदान कर सकते हैं", "कैश को बंद करना" ], "correct": 2, "explanation": "DMA में CPU के बिना, डिवाइस खुद मेमोरी से पठनीय/लेखनीय डेटा ट्रांसफर कर सकते हैं; इससे CPU पर लोड कम होता है और ट्रांसफर तेज़ होता है।" }, { "question": "‘अंडरफ़्लो (Underflow)’ कंप्यूटर में किस संदर्भ में होता है?", "options": [ "जब फ्लोटिंग-पॉइंट संख्या बहुत छोटी होती है, जिसकी गणना करने में प्रोसेसर असमर्थ या शून्य संभालना पड़ता है", "मेमोरी कम होना", "डेटा को गलत ढंग से ओवरराइट करना", "ज्यादा पावर सप्लाई" ], "correct": 0, "explanation": "फ्लोटिंग पॉइंट अंकगणित में अंडरफ़्लो तब होता है जब कोई संख्या प्रोसेसर के द्वारा दर्शाने योग्य न्यूनतम मान से भी छोटी हो, इसे सामान्यतः 0 मानना पड़ता है।" }, { "question": "आधुनिक कंप्यूटरों में ‘USB (Universal Serial Bus)’ का उपयोग क्यों व्यापक है?", "options": [ "सिर्फ कीबोर्ड के लिए", "मानक, तेज़, प्लग-एंड-प्ले सपोर्ट, विभिन्न डिवाइसों (माउस, कीबोर्ड, स्टोरेज) को जोड़ने के लिए", "विशेष ड्राइवर अनिवार्य", "दो डिवाइसों को ही सपोर्ट" ], "correct": 1, "explanation": "USB एक लोकप्रिय बस मानक है, जो कई प्रकार के उपकरणों को एक ही पोर्ट से कनेक्ट करने की सुविधा देता है, और इसमें हॉट-स्वैप, प्लग-एन-प्ले सपोर्ट भी है।" }, { "question": "कंप्यूटर में ‘BIOS’ स्टोर कहाँ होता है?", "options": [ "RAM", "ROM/Flash मेमोरी चिप पर", "हार्ड डिस्क के किसी फोल्डर", "कीबोर्ड बफर" ], "correct": 1, "explanation": "BIOS फर्मवेयर होता है, जिसे ROM या आधुनिक मदरबोर्ड पर Flash मेमोरी चिप में संग्रहीत किया जाता है, जहाँ से स्टार्टअप के समय यह लोड होता है।" }, { "question": "‘बाइनरी में जोड़ (Addition)’ में 1 + 1 = ?", "options": [ "0 (carry 1)", "1 (carry 1)", "2 (no carry)", "3" ], "correct": 0, "explanation": "बाइनरी में 1 + 1 = 0 और carry 1 बनता है; जैसे decimal में 9 + 1 से एक digit overflow होता है, वैसे ही binary में base 2 होने से carry बनता है।" }, { "question": "‘हार्ड डिस्क ड्राइव (HDD)’ में डेटा कैसे संग्रहीत होता है?", "options": [ "कैसेट टेप की तरह", "चक्रीय चुंबकीय प्लेटर्स पर सेक्टर व ट्रैक में चुंबकीय रूप से", "आग का इस्तेमाल", "ऑप्टिकल रिफ्लेक्शन" ], "correct": 1, "explanation": "HDD में घूमने वाली चुंबकीय डिस्क (प्लेटर्स) होती हैं, जिनमें रीड/राइट हेड द्वारा सेक्टर और ट्रैक में डेटा रिकॉर्ड किया जाता है।" }, { "question": "कंप्यूटर का ‘बूट सेक्टर’ आमतौर पर कहाँ पाया जाता है?", "options": [ "RAM में", "ROM में", "हार्ड डिस्क/SSD के पहले सेक्टर में, जहाँ बूटलोडर कोड रहता है", "CPU रजिस्टर में" ], "correct": 2, "explanation": "हार्ड डिस्क/SSD के Master Boot Record (MBR) या GPT संरचना में बूटलोडर कोड स्टोर होता है, जो OS लोड करने की प्रक्रिया शुरू करता है।" }, { "question": "‘ड्यूल कोर (Dual-Core)’ प्रोसेसर का अर्थ क्या है?", "options": [ "दूसरा CPU हमेशा बंद रहता है", "एक ही CPU पैकेज/डाई पर दो प्रोसेसिंग कोर", "दो अलग-अलग मदरबोर्ड", "चार कोर का होना" ], "correct": 1, "explanation": "डुअल-कोर प्रोसेसर में दो स्वतंत्र प्रोसेसिंग यूनिट (कोर) एक ही प्रोसेसर चिप पर होते हैं, जिससे समानांतर प्रोसेसिंग क्षमता बढ़ती है।" }, { "question": "‘सनमैड (4 × 10⁶) सटीक अंकन में क्या दर्शाता है?", "options": [ "चार मिलियन", "400", "40 मिलियन", "4 मिलियन" ], "correct": 3, "explanation": "10⁶ = 1,000,000, तो 4×10⁶ = 4,000,000 यानी चार मिलियन।" }, { "question": "‘हल (HAL - Hardware Abstraction Layer)’ का प्रयोग किसलिए किया जाता है?", "options": [ "सॉफ़्टवेयर को अलग हार्डवेयर डिटेल्स से स्वतंत्र एक समान इंटरफ़ेस देना", "मदद फ़ाइल दिखाने", "कैश मेमोरी बढ़ाना", "केवल BIOS बदलने" ], "correct": 0, "explanation": "HAL प्रोग्रामर्स को हार्डवेयर डिटेल्स की चिंता किए बिना विकास करने देता है, OS या ड्राइवरों में एक परत प्रदान करता है जिसमें हार्डवेयर विविधता छिपाई जाती है।" }, { "question": "‘कंप्यूटर का सही क्रियान्वयन’ सुनिश्चित करने के लिए कौन-सा टेस्ट स्टार्ट में चलता है?", "options": [ "BIOS Saver", "POST (Power-On Self-Test)", "CPU Address Test", "Boot Manager" ], "correct": 1, "explanation": "POST प्रारंभिक परीक्षण है, जो मेमोरी, कीबोर्ड, डिस्प्ले आदि का जांच करता है कि सब कुछ सही है या नहीं।" }, { "question": "‘सुपरकंप्यूटर’ की प्रोसेसिंग के लिए किस तकनीक का प्रयोग हो सकता है?", "options": [ "समानांतर (Parallel) प्रोसेसिंग, कई प्रोसेसर लगे होना", "केवल एक CPU", "वीडियो प्लेयर", "कॉमन GFX कार्ड" ], "correct": 0, "explanation": "सुपरकंप्यूटर प्रायः हज़ारों कोर या प्रोसेसर का उपयोग एक साथ कर अत्यधिक समानांतर गणना सक्षम करते हैं, जिससे ये विशाल डेटा सेट व जटिल मॉडल को प्रोसेस कर पाते हैं।" }, { "question": "कंप्यूटर के आयाम (Generations of Computers) में पहले जेनरेशन (First Generation) में कौन-सी तकनीक थी?", "options": [ "ट्रांजिस्टर", "IC चिप", "वेकेयूम ट्यूब (Vacuum Tubes)", "LSI/ VLSI" ], "correct": 2, "explanation": "प्रथम पीढ़ी के कंप्यूटर (1940-1956) वेकेयूम ट्यूब पर आधारित थे, बड़े, गर्मी पैदा करने वाले और कम विश्वसनीय माने जाते थे।" }, { "question": "‘एसेम्बली भाषा (Assembly Language)’ किस स्तर की भाषा है?", "options": [ "हाई लेवल लैंग्वेज", "लो लेवल लैंग्वेज, जिसमें मशीनी निर्देशों को Mnemonic कोड के जरिए लिखते हैं", "सॉफ्टवेयर तोडने के लिए", "केवल एनिमेशन" ], "correct": 1, "explanation": "Assembly Language एक निम्न स्तरीय भाषा है जिसमें ऑपकोड, रजिस्टर नाम जैसे संकेतन द्वारा मशीन के निर्देश लिखे जाते हैं; इसे असेंबलर द्वारा मशीन कोड में बदला जाता है।" }, { "question": "‘Floating-point’ में मान अक्सर IEEE 754 फ़ॉर्मेट में स्टोर होते हैं, जिसमें मुख्यतः क्या दर्शाया जाता है?", "options": [ "मANTISSA, एक्सपोनेंट, साइन बिट", "केवल इंटीजर पार्ट", "वर्णमाला कोड", "Bitwise AND" ], "correct": 0, "explanation": "IEEE 754 में फ्लोटिंग पॉइंट संख्या साइन बिट, एक्सपोनेंट फील्ड, तथा मैन्टिसा (फ्रैक्शन) फील्ड में विभाजित होती है।" }, { "question": "ग्राफिकल यूज़र इंटरफ़ेस (GUI) प्रारंभिक दौर में किस सिस्टम के साथ लोकप्रिय हुआ?", "options": [ "MS-DOS", "UNIX Shell", "Apple Macintosh, फिर Windows", "IBM 1401" ], "correct": 2, "explanation": "पहला व्यापक GUI Apple Macintosh (1984) में देखने को मिला, और बाद में Microsoft Windows ने GUI को व्यापक स्तर पर लोकप्रिय बनाया।" }, { "question": "पर्यावरण के संदर्भ में कंप्यूटर के सही उपयोग पर कौन-सा कथन सही है?", "options": [ "कंप्यूटर सिर्फ ऊर्जा बर्बाद करते हैं", "ग्रीन कंप्यूटिंग अपनाकर ऊर्जा बचाई जा सकती है, ई-कचरा कम कर पर्यावरण पर सकारात्मक प्रभाव डाला जा सकता है", "बिना कंप्यूटर सब काम चलेगा", "डिजिटल सेवाएं वातावरण के लिए हमेशा हानिकर" ], "correct": 1, "explanation": "ग्रीन कंप्यूटिंग के अंतर्गत कम ऊर्जा खपत, बेहतर पावर मैनेजमेंट, ई-कचरे का पुनर्चक्रण आदि करके कंप्यूटर के पर्यावरणीय असर को कम किया जा सकता है।" } // More questions as needed... ]; let currentQuestionIndex = 0; // Track current question let userAnswers = Array(quizData.length).fill(null); // Track user's answers // Timer variables let totalQuizTime = quizData.length * 30; // total seconds = 30 seconds * no. of questions let timeLeft = totalQuizTime; let timerInterval; // On page load, initialize quiz window.onload = function() { generateQuestionNav(); // Generate the question navigation circles loadQuestion(); startTimer(); // Start the countdown }; // Start the countdown timer function startTimer() { updateTimerDisplay(timeLeft); timerInterval = setInterval(() => { timeLeft--; updateTimerDisplay(timeLeft); if (timeLeft <= 0) { clearInterval(timerInterval); showResults(); // Force show results if time is up } }, 1000); } // Update timer on the screen in mm:ss format function updateTimerDisplay(seconds) { const timerEl = document.getElementById("timer"); const mins = Math.floor(seconds / 60).toString().padStart(2, '0'); const secs = (seconds % 60).toString().padStart(2, '0'); timerEl.innerText = `Time: ${mins}:${secs}`; } // Toggle the question nav when hamburger is pressed const hamburgerBtn = document.getElementById('hamburgerBtn'); hamburgerBtn.addEventListener('click', () => { document.getElementById('questionNavOverlay').classList.toggle('show'); }); // Close hamburger menu if user clicks outside the nav and menu document.addEventListener('click', (e) => { const navOverlay = document.getElementById('questionNavOverlay'); const hamburger = document.getElementById('hamburgerBtn'); // If the menu is open, and the click is outside both the overlay and the hamburger, close it if ( navOverlay.classList.contains('show') && !navOverlay.contains(e.target) && !hamburger.contains(e.target) ) { navOverlay.classList.remove('show'); } }); // Create small clickable circles for each question function generateQuestionNav() { const navContainer = document.getElementById("questionNav"); navContainer.innerHTML = ""; // clear old items if any quizData.forEach((_, index) => { const circle = document.createElement("div"); circle.classList.add("circle-number"); circle.innerText = index + 1; // Show question number (1-based) circle.onclick = () => jumpToQuestion(index); navContainer.appendChild(circle); }); } // Jump to a specific question function jumpToQuestion(qIndex) { currentQuestionIndex = qIndex; // Hide the nav on mobile after selection document.getElementById('questionNavOverlay').classList.remove('show'); // Reset submission/next button state document.getElementById("submitAnswerButton").classList.remove("hidden"); document.getElementById("nextButton").classList.add("hidden"); loadQuestion(); } // Load current question function loadQuestion() { highlightCurrentCircle(); // Hide explanation area and Next button initially document.getElementById("explanation").classList.add("hidden"); document.getElementById("nextButton").classList.add("hidden"); const questionData = quizData[currentQuestionIndex]; document.getElementById("question").innerText = questionData.question; document.getElementById("questionCounter").innerText = `${currentQuestionIndex + 1}/${quizData.length}`; // Clear old choices const choicesContainer = document.getElementById("choices"); choicesContainer.innerHTML = ""; // Populate choices questionData.options.forEach((option, index) => { const choiceElement = document.createElement("div"); choiceElement.className = "choice"; choiceElement.innerText = option; // If previously selected, mark it if (userAnswers[currentQuestionIndex] === index) { choiceElement.classList.add("selected"); } // On clicking a choice choiceElement.onclick = () => { // Clear all selections first document.querySelectorAll(".choice").forEach(c => c.classList.remove("selected")); // Mark this one as selected choiceElement.classList.add("selected"); userAnswers[currentQuestionIndex] = index; }; choicesContainer.appendChild(choiceElement); }); // Handle Previous button visibility document.getElementById("prevButton").style.display = currentQuestionIndex === 0 ? "none" : "inline-block"; } // Highlight the current question circle function highlightCurrentCircle() { const circles = document.querySelectorAll(".circle-number"); circles.forEach((circle, idx) => { circle.classList.remove("active"); if (idx === currentQuestionIndex) { circle.classList.add("active"); } }); } // Submit the current question's answer function submitAnswer() { const questionData = quizData[currentQuestionIndex]; const userAnswer = userAnswers[currentQuestionIndex]; // Show the explanation div const explanationDiv = document.getElementById("explanation"); explanationDiv.classList.remove("hidden"); // Clear previous correctness classes and disable further selection document.querySelectorAll(".choice").forEach((c) => { c.classList.add("disabled"); c.onclick = null; }); // Determine correctness or skipping if (userAnswer === null) { explanationDiv.innerHTML = "You Skipped the question.<br/><br/>व्याख्या: " + questionData.explanation; showPopupMessage("You Skipped the question", false); } else if (userAnswer === questionData.correct) { explanationDiv.innerHTML = "You got it right!<br/><br/>व्याख्या: " + questionData.explanation; showPopupMessage("You got it right", true); // Highlight correct choice document.querySelectorAll(".choice")[userAnswer].classList.add("correct"); } else { explanationDiv.innerHTML = "You got it wrong.<br/><br/>व्याख्या: " + questionData.explanation; showPopupMessage("You got it wrong", false); // Highlight correct choice document.querySelectorAll(".choice")[questionData.correct].classList.add("correct"); // Mark the chosen one as incorrect document.querySelectorAll(".choice")[userAnswer].classList.add("incorrect"); } // Hide the submit button, show the next button document.getElementById("submitAnswerButton").classList.add("hidden"); document.getElementById("nextButton").classList.remove("hidden"); } // Go to the next question or show final results function nextQuestion() { currentQuestionIndex++; if (currentQuestionIndex >= quizData.length) { // Show results if no more questions showResults(); } else { // Reset buttons document.getElementById("submitAnswerButton").classList.remove("hidden"); document.getElementById("nextButton").classList.add("hidden"); loadQuestion(); } } // Go to the previous question function previousQuestion() { if (currentQuestionIndex > 0) { currentQuestionIndex--; document.getElementById("submitAnswerButton").classList.remove("hidden"); document.getElementById("nextButton").classList.add("hidden"); loadQuestion(); } } // Show final quiz results function showResults() { // Stop the timer if it's still running clearInterval(timerInterval); // Calculate correct answers const correctAnswersCount = userAnswers.filter( (ans, i) => ans === quizData[i].correct ).length; // Hide quiz content document.getElementById("quizContent").classList.add("hidden"); // Show results document.getElementById("resultContent").classList.remove("hidden"); const percentage = (correctAnswersCount / quizData.length) * 100; let resultHTML = ""; if (percentage >= 60) { resultHTML = `<div class="congrats">🎉 बधाई हो! आपने ${percentage.toFixed( 2 )}% स्कोर किया है!</div>`; } else { resultHTML = `<div class="sad">😢 आपने ${percentage.toFixed( 2 )}% स्कोर किया है। अगली बार के लिए शुभकामनाएं!</div>`; } document.getElementById("resultMessage").innerHTML = resultHTML; document.getElementById("scoreMessage").innerText = `आपने कुल ${quizData.length} में से ${correctAnswersCount} प्रश्न सही उत्तर दिए हैं।`; } // Optional popup message function showPopupMessage(message, isCorrect) { const popup = document.getElementById('popupMessage'); popup.innerText = message; popup.className = ''; popup.classList.add('show'); popup.classList.add(isCorrect ? 'correct' : 'incorrect'); setTimeout(() => { popup.classList.remove('show'); popup.classList.add('hidden'); }, 2000); } // Button event listeners document.getElementById('prevButton').addEventListener('click', previousQuestion); document.getElementById('submitAnswerButton').addEventListener('click', submitAnswer); document.getElementById('nextButton').addEventListener('click', nextQuestion); // Predefined Darker Color Themes const themes = [ { header: '#a31645', headerText: '#ffffff', container: '#e8c4d6', containerText: '#6e0c36', headings: '#6e0c36' }, // Berry Delight { header: '#00574b', headerText: '#ffffff', container: '#b3dfd7', containerText: '#00382e', headings: '#00382e' }, // Ocean Breeze { header: '#c95a00', headerText: '#ffffff', container: '#dca865', containerText: '#7a3400', headings: '#7a3400' }, // Sunset Glow { header: '#4a0f6f', headerText: '#ffffff', container: '#cdb5e3', containerText: '#320b4a', headings: '#320b4a' }, // Calming Lavender { header: '#1e4d2b', headerText: '#ffffff', container: '#98c1a3', containerText: '#122417', headings: '#122417' }, // Forest Retreat { header: '#c99800', headerText: '#ffffff', container: '#e8d18a', containerText: '#6c4f00', headings: '#6c4f00' }, // Golden Elegance { header: '#01477e', headerText: '#ffffff', container: '#86b9e4', containerText: '#00223d', headings: '#00223d' }, // Sky Calm { header: '#5a3b2e', headerText: '#ffffff', container: '#b8a89c', containerText: '#32211a', headings: '#32211a' }, // Retro Rust { header: '#b34727', headerText: '#ffffff', container: '#f2c29d', containerText: '#6a2915', headings: '#6a2915' }, // Warm Peach { header: '#0f4c43', headerText: '#ffffff', container: '#92c3b8', containerText: '#072822', headings: '#072822' }, // Cool Mint ]; // Apply Random Darker Theme function applyRandomTheme() { const header = document.querySelector('.header'); const container = document.querySelector('.content-container'); const headings = document.querySelectorAll('.content-container h2'); // Select a random theme const randomTheme = themes[Math.floor(Math.random() * themes.length)]; // Apply Header Colors header.style.backgroundColor = randomTheme.header; header.style.color = randomTheme.headerText; // Apply Container Colors container.style.backgroundColor = randomTheme.container; container.style.color = randomTheme.containerText; // Apply Heading Colors headings.forEach((heading) => { heading.style.color = randomTheme.headings; heading.style.borderBottom = `2px solid ${randomTheme.headings}`; }); } // Apply the theme on page load window.onload = function () { applyRandomTheme(); // Set random theme generateQuestionNav(); // Generate question navigation loadQuestion(); // Load the first question startTimer(); // Start the countdown timer }; </script> </body> </html> <!-- /wp:html -->