ÿþ<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>UP TET * G * 0 -1 |  # ? $ (Mathematics) | & H ( ?   - M / > 8  ( 0 G  0 </title> <link href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='45' fill='%234361ee'/%3E%3Ctext x='50' y='68' font-size='48' text-anchor='middle' fill='white' font-weight='bold'%3E %3C/text%3E%3C/svg%3E" rel="icon"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <style> :root { --primary: #4361ee; --primary-dark: #3f37c9; --secondary: #4895ef; --danger: #f72585; --success: #4cc9f0; --light: #f8f9fa; --dark: #212529; --gray: #6c757d; --border-radius: 12px; --box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); --transition: all 0.3s ease; } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', 'Poppins', system-ui, sans-serif; } body { background: linear-gradient(135deg, #f5f7fa 0%, #e2e8f0 100%); min-height: 100vh; display: flex; justify-content: center; align-items: center; padding: 20px; color: var(--dark); line-height: 1.6; } .container { width: 100%; max-width: 1100px; background: white; border-radius: var(--border-radius); box-shadow: var(--box-shadow); overflow: hidden; transition: var(--transition); animation: fadeIn 0.5s ease-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .header { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: white; padding: 30px 20px; text-align: center; position: relative; overflow: hidden; } .header::before { content: '=ØÐÜ'; position: absolute; bottom: 10px; right: 20px; font-size: 70px; opacity: 0.1; } .header h1 { font-size: 1.9rem; margin-bottom: 10px; font-weight: 700; letter-spacing: -0.5px; } .header p { font-size: 1rem; opacity: 0.9; } .content-area { padding: 30px; } .hidden { display: none !important; } .btn { display: inline-block; padding: 12px 28px; border-radius: 50px; font-weight: 600; cursor: pointer; transition: var(--transition); border: none; text-align: center; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); margin: 10px 5px; } .btn-primary { background: var(--primary); color: white; } .btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px); } .btn-success { background: #28a745; color: white; } .btn-success:hover { background: #218838; transform: translateY(-2px); } .btn-danger { background: var(--danger); color: white; } .btn-danger:hover { background: #d3166b; transform: translateY(-2px); } .btn-level { background: var(--light); color: var(--dark); border: 2px solid var(--gray); font-size: 1.1rem; padding: 14px 28px; width: 200px; } .btn-level:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.2); } .btn-level.selected { background: var(--primary); color: white; border-color: var(--primary); } .btn-group { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 20px 0; } .level-buttons { display: flex; justify-content: center; gap: 25px; margin: 30px 0; flex-wrap: wrap; } .section-title { text-align: center; margin-bottom: 25px; color: var(--primary-dark); font-size: 1.6rem; position: relative; padding-bottom: 12px; font-weight: 600; } .section-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 3px; background: var(--secondary); border-radius: 3px; } .checkbox-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 14px; margin: 25px 0; max-height: 480px; overflow-y: auto; padding: 15px; border: 1px solid #e2e8f0; border-radius: 18px; background: #fafef7; } .checkbox-item { display: flex; align-items: center; background: white; padding: 8px 12px; border-radius: 40px; transition: all 0.2s; border: 1px solid #e9ecef; } .checkbox-item:hover { background: #e8f0fe; transform: translateX(3px); } .checkbox-item input { margin-right: 12px; width: 18px; height: 18px; cursor: pointer; accent-color: var(--primary); } .checkbox-item label { cursor: pointer; font-size: 0.92rem; font-weight: 500; } .question { margin-bottom: 25px; page-break-inside: avoid; background: #ffffff; padding: 15px; border-radius: 16px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); border-left: 4px solid var(--secondary); } .question-text { font-weight: 700; margin-bottom: 12px; font-size: 1.05rem; color: #2d3748; } .option { margin-left: 24px; margin-bottom: 6px; color: #4a5568; } .action-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 18px; margin-top: 40px; } .answer-sheet { margin-top: 40px; padding: 20px; background: #f0faf4; border-radius: var(--border-radius); } .answer-table { width: 100%; border-collapse: collapse; margin-top: 15px; border-radius: 12px; overflow: hidden; } .answer-table th, .answer-table td { border: 1px solid #cbd5e0; padding: 10px; text-align: center; } .answer-table th { background-color: var(--primary); color: white; font-weight: 600; } .streak-container { display: flex; justify-content: center; align-items: center; margin: 20px 0; gap: 20px; flex-wrap: wrap; } .streak-counter { background: #ff9100; color: white; padding: 10px 20px; border-radius: 60px; font-weight: bold; box-shadow: 0 4px 10px rgba(0,0,0,0.1); } .date-display { font-size: 1rem; font-weight: 600; background: #e2e8f0; padding: 8px 18px; border-radius: 40px; color: var(--primary-dark); } .progress-container { margin: 20px 0; background: #edf2f7; padding: 20px; border-radius: 28px; } .progress-bar { height: 12px; background: #cbd5e0; border-radius: 20px; overflow: hidden; margin-top: 12px; } .progress-fill { height: 100%; background: var(--success); border-radius: 20px; transition: width 0.5s ease; } .problem-of-day { background: linear-gradient(115deg, #fff6e5, #ffedd5); border-left: 5px solid var(--danger); padding: 20px; margin: 20px 0; border-radius: 24px; } .daily-summary { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 15px; margin: 20px 0; } .summary-card { flex: 1; min-width: 110px; background: white; padding: 15px; border-radius: 20px; box-shadow: 0 8px 20px rgba(0,0,0,0.05); text-align: center; border: 1px solid #e2e8f0; } .home-icon { position: absolute; top: 20px; left: 20px; color: white; font-size: 26px; cursor: pointer; transition: transform 0.2s; z-index: 5; background: rgba(0,0,0,0.2); width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; } .home-icon:hover { transform: scale(1.08); background: rgba(0,0,0,0.4); } .instructions { margin-bottom: 30px; padding: 18px 22px; background: #f7fafc; border-radius: 24px; border: 1px solid #e2e8f0; } @media (max-width: 680px) { .header h1 { font-size: 1.3rem; } .btn-level { width: 140px; font-size: 0.9rem; padding: 12px 16px; } .checkbox-container { grid-template-columns: 1fr; } } @media print { .action-buttons, .streak-container, .progress-container, .problem-of-day, .daily-summary, .home-icon { display: none; } .question { break-inside: avoid; } } .topic-badge { background: var(--secondary); color: white; font-size: 0.7rem; border-radius: 20px; padding: 2px 10px; display: inline-block; margin-bottom: 8px; } </style> </head> <body> <div class="container" id="startContainer"> <div class="header"> <a href="up-tet-exam-paper1-daily-practice-problem-generator.html" class="home-icon" ><i class="fas fa-calculator"></i></a> <h1><i class="fas fa-chalkboard"></i> UP TET * G * 0 -1</h1> <p> # ? $ (Mathematics) | & H ( ?   - M / > 8 8 . 8 M / >  ( 0 G  0 (9 ?  & @ . G  )</p> </div> <div class="content-area"> <div id="startScreen"> <h2 class="section-title">=ØÖÜ  # ? $  - M / > 8 (Mathematics Practice)</h2> <div class="streak-container"> <div class="streak-counter"><i class="fas fa-fire"></i> 2  > $ > 0 : <span id="streakDays">0</span> & ? ( </div> <div class="date-display" id="currentDate"></div> </div> <div class="progress-container"> <h3><i class="fas fa-chart-line"></i>  *  @ * M 0  $ ? </h3> <div class="progress-bar"><div class="progress-fill" id="progressFill" style="width: 0%"></div></div> <p id="progressText" style="margin-top: 8px;">0% * B 0 M # </p> </div> <div class="btn-group"> <button class="btn btn-primary" id="problemOfDayBtn"><i class="fas fa-calendar-day"></i> & ? (  @ 8 . 8 M / > </button> <button class="btn btn-success" id="customPracticeBtn"><i class="fas fa-pen-ruler"></i>  8 M  .  - M / > 8 </button> </div> </div> <div id="subjectSelection" class="hidden"> <h2 class="section-title"><Ø¯ß 5 ? 7 /  / ( </h2> <div class="btn-group"><button class="btn btn-primary" id="selectMathBtn"><i class="fas fa-square-root-alt"></i>  # ? $ (Mathematics)</button></div> </div> <div id="topicSelection" class="hidden"> <h2 class="section-title">=ØÚÜ  ' M / > / K   >  / (  0 G  (19  ' M / > / )</h2> <form id="topicForm"> <div class="checkbox-container" id="topicsContainer"></div> </form> <div class="btn-group"> <button class="btn btn-danger" id="backToStartBtn"><i class="fas fa-arrow-left"></i> * M 0 > 0  - * 0 5 > * 8 </button> <button class="btn btn-success" id="generateAssignmentBtn"><i class="fas fa-cogs"></i>  - M / > 8 * M 0 6 M (  G ( 0 G   0 G  </button> </div> </div> <div id="levelSelection" class="hidden"> <h2 class="section-title">¡&  ? ( >  8 M $ 0  A ( G  </h2> <p class="text-center" style="text-align:center; margin-bottom:10px;"> * ( G TET 8 M $ 0  G  ( A 8 > 0  A ( G  :</p> <div class="level-buttons"> <button class="btn btn-level" id="level1Btn">8 M $ 0 1 <br><small>, G 8 ?  / TET  ' > 0 </small></button> <button class="btn btn-level" id="level2Btn">8 M $ 0 2 <br><small>. ' M / . (UP TET . > (  )</small></button> <button class="btn btn-level" id="level3Btn">8 M $ 0 3 <br><small> ( M ( $ (5 ? 6 M 2 G 7 # > $ M .  )</small></button> </div> <div class="btn-group"> <button class="btn btn-danger" id="backToTopicsBtn">5 ? 7 / K  * 0 5 > * 8 </button> <button class="btn btn-success" id="generateFinalBtn"> - M / > 8 * M 0 6 M (  G ( 0 G   0 G  </button> </div> </div> </div> </div> <div class="container hidden" id="generatedPaperContainer"></div> <script> const { jsPDF } = window.jspdf; const startContainer = document.getElementById('startContainer'); const startScreen = document.getElementById('startScreen'); const subjectSelection = document.getElementById('subjectSelection'); const topicSelection = document.getElementById('topicSelection'); const levelSelection = document.getElementById('levelSelection'); const generatedPaperContainer = document.getElementById('generatedPaperContainer'); // ========================  # ? $ (Mathematics) - 19  ' M / > / ======================== const chaptersList = [ "8   M / >    5  8   M / >    >  K ! < ,   > ( >  A # > , - >  ", "2  A $ M $ . 8 . > * 5 0 M $ M /  5  . 9 $ M $ . 8 . > * 5 0 M $  ", "- ? ( M ( K   >  K ! < ,   > ( > ,  A # > 5 - >  ", "& 6 . 2 5 -  K ! < ,   > ( > ,  A # > 5 - >  ", "  ?  ( ? / . ", "* M 0 $ ? 6 $ ", "2 > - 9 > ( ? ", "8 > ' > 0 # , M / >  ", " M / > . ? $ ?  M / > . ? $ @ /   C $ ? / >   5  * C 7 M ,  K # , $ M 0 ? - A  , 5 C $ M $ ", "' ( (0 A * / > - * H 8 > )", ". > * ( 8 . / , $ L 2 , ' > 0 ? $ > , 2 . M , >   5  $ > * ", ". G ( M 8 A 0 G 6 ( - * 0 ? . ? $ ? (* 0 ? . > * ) - $ M 0 ? - A  ,  / $ , 5 0 M  ,  $ A 0 M - A   M 7 G $ M 0 + 2 -  / $ , 5 0 M  /  / $ ( , ' > 0 ? $ > - ' ( ,  ( > - ", " H 2 G # M ! 0 ", "   ! < G ,    ! < K   > * M 0 8 M $ A $ @  0 #  5  ( ? 0 B * # ", "0 G 2 5 G / > , 8 8 . / - 8 > 0 ? # @ ", "5 0 M  5 0 M  . B 2  ( -  ( . B 2 ", " > $ >    0 # @ ", " ( A * > $ - 8 . > ( A * > $ ", ", @   # ? $ " ]; // ===============  ' M / > / 5 > 0 * M 0 6 M ( ! G  > , G 8 (8 . C & M ' , 8 M $ 0 > ( A 8 > 0 ) =============== const questions = {}; // 1. 8   M / >    5  8   M 0 ? / >   questions["8   M / >    5  8   M / >    >  K ! < ,   > ( >  A # > , - >  "] = { level1: [ { question: "256 + 489  > / K   M / > 9 H ?", options: ["745", "735", "755", "765"], answer: "A" }, { question: "1000 - 347  > . > (  M / > 9 H ?", options: ["653", "663", "643", "673"], answer: "A" }, { question: "125 × 8  >  A # ( + 2  M / > 9 H ?", options: ["1000", "900", "1100", "1200"], answer: "A" } ], level2: [ { question: "1560 ÷ 12  > . > (  M / > 9 H ?", options: ["130", "120", "140", "125"], answer: "A" }, { question: "(48 + 32) ÷ 8 × 2  > . > ( , $ >   d ", options: ["20", "16", "24", "28"], answer: "A" } ], level3: [ { question: "  8   M / >  > 3/5 - >  75 9 H , $ K 5 9 8   M / >  M / > 9 H ?", options: ["125", "120", "130", "115"], answer: "A" }, { question: "/ & ? a + b = 12  0 a - b = 4, $ K a × b  M / > 9 K  > ?", options: ["32", "36", "40", "28"], answer: "A" } ] }; // 2. LCM  0 HCF questions["2  A $ M $ . 8 . > * 5 0 M $ M /  5  . 9 $ M $ . 8 . > * 5 0 M $  "] = { level1: [ { question: "12  0 18  > LCM  M / > 9 H ?", options: ["36", "24", "48", "54"], answer: "A" }, { question: "24  0 36  > HCF  M / > 9 H ?", options: ["12", "6", "18", "24"], answer: "A" } ], level2: [ { question: "& K 8   M / >    > LCM 120  0 HCF 10 9 H , / & ?   8   M / > 30 9 H $ K & B 8 0 @ 8   M / >  M / > 9 H ?", options: ["40", "35", "45", "50"], answer: "A" }, { question: "5 9 8 , 8 G , ! < @ 8   M / >  M / > 9 H  K 28, 42  0 56  K * B 0 M # $  5 ? - >  ? $  0 G ?", options: ["14", "7", "21", "28"], answer: "A" } ], level3: [ { question: "$ @ ( 8   M / >   24, 36  0 60  > LCM  M  > $  0 G  d ", options: ["360", "240", "180", "720"], answer: "A" } ] }; // 3. - ? ( M ( questions["- ? ( M ( K   >  K ! < ,   > ( > ,  A # > 5 - >  "] = { level1: [ { question: "3/4 + 2/3  > . > (  M / > 9 K  > ?", options: ["17/12", "5/7", "1/12", "7/12"], answer: "A" }, { question: "5/6 - 1/3 = ?", options: ["1/2", "2/3", "1/3", "1/6"], answer: "A" } ], level2: [ { question: "2/3 × 3/4 × 4/5 = ?", options: ["2/5", "3/5", "1/5", "4/5"], answer: "A" }, { question: "8/15 ÷ 4/5 = ?", options: ["2/3", "4/3", "1/3", "5/3"], answer: "A" } ], level3: [ { question: "/ & ? 1/2 + 1/4 + 1/8 + ......  (  $ $  , $ K  8  > / K   M / > 9 H ?", options: ["1", "2", "1.5", "0.5"], answer: "A" } ] }; // 4. & 6 . 2 5 questions["& 6 . 2 5 -  K ! < ,   > ( > ,  A # > 5 - >  "] = { level1: [ { question: "12.35 + 8.65 = ?", options: ["21.00", "20.00", "21.10", "20.10"], answer: "A" }, { question: "15.5 - 7.25 = ?", options: ["8.25", "8.50", "7.25", "9.25"], answer: "A" } ], level2: [ { question: "2.5 × 0.4 = ?", options: ["1.0", "0.1", "10", "0.01"], answer: "A" }, { question: "7.2 ÷ 0.8 = ?", options: ["9", "8", "7", "10"], answer: "A" } ], level3: [ { question: "0.0015 × 0.002 = ?", options: ["0.000003", "0.00003", "0.0003", "0.003"], answer: "A" } ] }; // 5.   ?  ( ? / . questions["  ?  ( ? / . "] = { level1: [ { question: "5 * G (  > . B 2 M / 75 0 A * / G 9 H , $ K 8 * G (  > . B 2 M /  M / > 9 K  > ?", options: ["120", "100", "140", "160"], answer: "A" }, { question: "12 .  & B 0    > .  K 8 & ? ( . G   0 $ G 9 H  , $ K 16 .  & B 0 8 @  > .  K  ? $ ( G & ? ( . G   0 G   G ?", options: ["6", "8", "4", "10"], answer: "A" } ], level2: [ { question: "10  & . @   & @ 5 > 0  K 8 & ? ( . G  , ( > $ G 9 H  , $ K 5  & . @ 8 @ & @ 5 > 0  K  ? $ ( G & ? ( . G  , ( >    G ?", options: ["16", "4", "20", "10"], answer: "A" } ], level3: [ { question: "/ & ? 6 5 M /  M $ ? 5 & ? ( . G  15 . @  0  * ! < > , A ( $ G 9 H  , $ K 10 5 M /  M $ ? 8 & ? ( . G   ? $ ( >  * ! < > , A ( G   G ?", options: ["40 . @  0 ", "30 . @  0 ", "50 . @  0 ", "60 . @  0 "], answer: "A" } ] }; // 6. * M 0 $ ? 6 $ questions["* M 0 $ ? 6 $ "] = { level1: [ { question: "40  > 25%  ? $ ( > 9 K $ > 9 H ?", options: ["10", "20", "15", "25"], answer: "A" }, { question: "80  > 30%  M / > 9 K  > ?", options: ["24", "20", "28", "32"], answer: "A" } ], level2: [ { question: " ? 8 @ 8   M / >  > 20% 50 9 H , $ K 5 9 8   M / >  M / > 9 H ?", options: ["250", "200", "300", "150"], answer: "A" }, { question: "/ & ?  ? 8 @ 5 8 M $ A  G . B 2 M / . G  10%  @ 5 C & M ' ? 9 K  >  $ K ( / > . B 2 M / 110 0 A * / G 9 H , * A 0 > ( > . B 2 M /  M / > % > ?", options: ["100", "90", "120", "80"], answer: "A" } ], level3: [ { question: "  * 0 @  M 7 > . G  60%  > $ M 0 $ M $ @ 0 M # 9 A  , 40%  ( A $ M $ @ 0 M # 9 A  d / & ?  ( A $ M $ @ 0 M #  > $ M 0 K   @ 8   M / > 200 9 H , $ K  A 2  > $ M 0  ? $ ( G 9 H  ?", options: ["500", "400", "600", "300"], answer: "A" } ] }; // 7. 2 > - -9 > ( ? questions["2 > - 9 > ( ? "] = { level1: [ { question: "  5 8 M $ A 400 0 A * / G . G   0 @ & @    0 450 0 A * / G . G  , G  @   , $ K 2 > - * M 0 $ ? 6 $  M / > 9 K  > ?", options: ["12.5%", "10%", "15%", "20%"], answer: "A" }, { question: "/ & ?  M 0 / . B 2 M / 500  0 5 ?  M 0 / . B 2 M / 450 9 H , $ K 9 > ( ? * M 0 $ ? 6 $  M / > 9 K  @ ?", options: ["10%", "5%", "15%", "20%"], answer: "A" } ], level2: [ { question: "  5 8 M $ A 20% 2 > - * 0 , G  ( G * 0 600 0 A * / G . ? 2 $ G 9 H  , $ K  M 0 / . B 2 M /  M / > 9 K  > ?", options: ["500", "480", "520", "550"], answer: "A" } ], level3: [ { question: "  & A  > ( & > 0 25%  B  & G  0 - @ 25% 2 > -  . > $ > 9 H d    ? $ . B 2 M / ,  M 0 / . B 2 M /  >  ? $ ( > * M 0 $ ? 6 $ 9 H ?", options: ["166.67%", "150%", "160%", "175%"], answer: "A" } ] }; // 8. 8 > ' > 0 # , M / >  questions["8 > ' > 0 # , M / >  "] = { level1: [ { question: "1000 0 A * / G  > 2 5 0 M 7 . G  5% 5 > 0 M 7 ?  , M / >  & 0 8 G 8 > ' > 0 # , M / >   M / > 9 K  > ?", options: ["100 0 A ", "50 0 A ", "200 0 A ", "150 0 A "], answer: "A" }, { question: "500 0 A * / G  > 4 5 0 M 7 . G  10% , M / >  & 0 8 G . ? 6 M 0 ' (  M / > 9 K  > ?", options: ["700 0 A ", "600 0 A ", "800 0 A ", "650 0 A "], answer: "A" } ], level2: [ { question: " ? $ ( G 5 0 M 7 . G  1200 0 A * / G  > 8% 5 > 0 M 7 ?  , M / >  & 0 8 G 8 > ' > 0 # , M / >  384 0 A * / G 9 K  > ?", options: ["4 5 0 M 7 ", "3 5 0 M 7 ", "5 5 0 M 7 ", "6 5 0 M 7 "], answer: "A" } ], level3: [ { question: " K  ' ( 3 5 0 M 7 . G  8 > ' > 0 # , M / >  * 0 650 0 A * / G  0 5 5 0 M 7 . G  750 0 A * / G 9 K  > $ > 9 H , $ K . B 2 ' (  M / > 9 H ?", options: ["500 0 A ", "550 0 A ", "600 0 A ", "450 0 A "], answer: "A" } ] }; // 9.  M / > . ? $ ? questions[" M / > . ? $ ?  M / > . ? $ @ /   C $ ? / >   5  * C 7 M ,  K # , $ M 0 ? - A  , 5 C $ M $ "] = { level1: [ { question: "  $ M 0 ? - A   G $ @ ( K   K # K   > / K   ? $ ( > 9 K $ > 9 H ?", options: ["180°", "90°", "360°", "270°"], answer: "A" }, { question: "5 C $ M $  @ * 0 ? ' ?  M  > $  0 ( G  > 8 B $ M 0  M / > 9 H ?", options: ["2Àr", "Àr²", "4Àr²", "Àd²"], answer: "A" } ], level2: [ { question: "  8 .  K # $ M 0 ? - A  . G  , 2  , 3 8 G . @  0  ' > 0 4 8 G . @ 9 H , $ K  0 M #  ? $ ( > 9 K  > ?", options: ["5 8 G . @ ", "7 8 G . @ ", "6 8 G . @ ", "8 8 G . @ "], answer: "A" } ], level3: [ { question: "  5 C $ M $  >  M 7 G $ M 0 + 2 154 5 0 M  8 G . @ 9 H , $ K 8  @ * 0 ? ' ?  M  > $  0 G  (À = 22/7)d ", options: ["44 8 G . @ ", "22 8 G . @ ", "66 8 G . @ ", "88 8 G . @ "], answer: "A" } ] }; // 10. ' ( (0 A * / > -* H 8 > ) questions["' ( (0 A * / > - * H 8 > )"] = { level1: [ { question: "7 0 A * / G 50 * H 8 G  K * H 8 G . G  , & 2 ?  d ", options: ["750 * H 8 G ", "70 * H 8 G ", "700 * H 8 G ", "705 * H 8 G "], answer: "A" }, { question: "525 * H 8 G  K 0 A * / G . G  , & 2 ?  d ", options: ["5.25 0 A * / G ", "52.5 0 A * / G ", "0.525 0 A * / G ", "525 0 A * / G "], answer: "A" } ], level2: [ { question: "10 0 A * / G . G  5 0 A * / G  G 8 ?  M  K   @ 8   M / >  ? $ ( @ 9 K  @ ?", options: ["2", "3", "4", "5"], answer: "A" } ], level3: [ { question: "$ @ ( . ? $ M 0 K   G * > 8  A 2 250 0 A * / G 9 H  d / & ? (  G ' (  >  ( A * > $ 2:3:5 9 H , $ K 8 , 8 G  ' ?  ' (  ? 8  G * > 8 9 H  0  ? $ ( > ?", options: ["125 0 A ", "100 0 A ", "75 0 A ", "50 0 A "], answer: "A" } ] }; // 11. . > * ( questions[". > * ( 8 . / , $ L 2 , ' > 0 ? $ > , 2 . M , >   5  $ > * "] = { level1: [ { question: "1  ? 2 K  M 0 > . . G   ? $ ( G  M 0 > . 9 K $ G 9 H  ?", options: ["1000", "100", "10", "10000"], answer: "A" }, { question: "1 2 @  0 . G   ? $ ( G . ? 2 @ 2 @  0 9 K $ G 9 H  ?", options: ["1000", "100", "10", "10000"], answer: "A" } ], level2: [ { question: "2    G 30 . ? (   K . ? (  . G  , & 2 ?  d ", options: ["150 . ? (  ", "120 . ? (  ", "180 . ? (  ", "90 . ? (  "], answer: "A" } ], level3: [ { question: "8 G 2 M 8 ? / 8 . G  100°F  > . > (  ? $ ( > 9 K  > ? (8 B $ M 0 : C = (F-32)×5/9)", options: ["37.78°C", "40°C", "35°C", "32°C"], answer: "A" } ] }; // 12. . G ( M 8 A 0 G 6 ( questions[". G ( M 8 A 0 G 6 ( - * 0 ? . ? $ ? (* 0 ? . > * ) - $ M 0 ? - A  ,  / $ , 5 0 M  ,  $ A 0 M - A   M 7 G $ M 0 + 2 -  / $ , 5 0 M  /  / $ ( , ' > 0 ? $ > - ' ( ,  ( > - "] = { level1: [ { question: "10 8 G . @ - A  > 5 > 2 G 5 0 M   > * 0 ? . > *  ? $ ( > 9 K  > ?", options: ["40 8 G . @ ", "20 8 G . @ ", "30 8 G . @ ", "50 8 G . @ "], answer: "A" }, { question: "2  , >  12 8 G . @  0  L ! < >  5 8 G . @ 5 > 2 G  / $  >  M 7 G $ M 0 + 2  M / > 9 K  > ?", options: ["60 5 0 M  8 G . @ ", "34 5 0 M  8 G . @ ", "30 5 0 M  8 G . @ ", "24 5 0 M  8 G . @ "], answer: "A" } ], level2: [ { question: "6 8 G . @ - A  > 5 > 2 G  (  >  / $ (  M / > 9 K  > ?", options: ["216  ( 8 G . @ ", "36  ( 8 G . @ ", "96  ( 8 G . @ ", "72  ( 8 G . @ "], answer: "A" } ], level3: [ { question: "   ( > -  @ 2  , >  10 8 G . @ ,  L ! < >  8 8 G . @  0   >  6 8 G . @ 9 H , $ K  8  >  A 2 * C 7 M @ /  M 7 G $ M 0 + 2  M / > 9 K  > ?", options: ["376 5 0 M  8 G . @ ", "480 5 0 M  8 G . @ ", "280 5 0 M  8 G . @ ", "188 5 0 M  8 G . @ "], answer: "A" } ] }; // 13.  H 2 G  ! 0 questions[" H 2 G # M ! 0 "] = { level1: [ { question: "  8 * M $ > 9 . G   ? $ ( G & ? ( 9 K $ G 9 H  ?", options: ["7", "5", "6", "8"], answer: "A" }, { question: "  8 > . > ( M / 5 0 M 7 . G   ? $ ( G & ? ( 9 K $ G 9 H  ?", options: ["365", "366", "364", "360"], answer: "A" } ], level2: [ { question: "2 @ * 5 0 M 7 . G  + 0 5 0 @ . > 9 . G   ? $ ( G & ? ( 9 K $ G 9 H  ?", options: ["29", "28", "30", "31"], answer: "A" } ], level3: [ { question: "/ & ? 1  ( 5 0 @ 2020  K , A ' 5 > 0 % > , $ K 1  ( 5 0 @ 2021  K  L ( 8 > & ? ( 9 K  > ?", options: ["6 A  M 0 5 > 0 ", " A 0 A 5 > 0 ", "6 ( ? 5 > 0 ", ", A ' 5 > 0 "], answer: "A" } ] }; // 14.    ! < G questions["   ! < G ,    ! < K   > * M 0 8 M $ A $ @  0 #  5  ( ? 0 B * # "] = { level1: [ { question: "8   M / > 12, 15, 18, 20, 22  > . > ' M /  M / > 9 H ?", options: ["17.4", "18", "17", "18.4"], answer: "A" }, { question: "8   M / > 3, 5, 7, 9, 11  > . > ' M / ?  > (. @ ! ? / ( )  M / > 9 H ?", options: ["7", "5", "9", "8"], answer: "A" } ], level2: [ { question: "( ? . M ( 2 ?  ? $    ! < K   @ . > ' M / ?  >  M  > $  0 G  : 5, 8, 12, 15, 18, 20", options: ["13.5", "12", "15", "13"], answer: "A" } ], level3: [ { question: "  , > 0  , > 0 $ > 5 ? $ 0 # . G  , / & ? , 9 A 2  15  0 . > ' M / 18 9 H , $ K . > ' M / ?  > 2  -   ? $ ( @ 9 K  @ ?", options: ["17", "16", "18", "19"], answer: "A" } ] }; // 15. 0 G 2 5 G /, 8 8 . / 8 > 0 ? # @ questions["0 G 2 5 G / > , 8 8 . / - 8 > 0 ? # @ "] = { level1: [ { question: "/ & ?    M 0 G ( & ? 2 M 2 @ 8 G 8:00 AM * 0  2 $ @ 9 H  0   0 > 11:00 AM * 0 * 9 A   $ @ 9 H , $ K / > $ M 0 > . G   ? $ ( > 8 . / 2  $ > 9 H ?", options: ["3    G ", "2    G ", "4    G ", "5    G "], answer: "A" }, { question: "  , 8 6:30 PM * 0  2 $ @ 9 H  0 10:15 PM * 0 * 9 A   $ @ 9 H , $ K / > $ M 0 >  > 8 . /  M / > 9 H ?", options: ["3    G 45 . ? (  ", "3    G 15 . ? (  ", "4    G ", "4    G 15 . ? (  "], answer: "A" } ], level2: [ { question: " M 0 G ( A 60  ? . @ /   >  @  $ ? 8 G  2 $ @ 9 H  0 & K 6 9 0 K   G , @   @ & B 0 @ 300  ? . @ 9 H , $ K / > $ M 0 > . G   ? $ ( > 8 . / 2  G  > ?", options: ["5    G ", "4    G ", "6    G ", "5.5    G "], answer: "A" } ], level3: [ { question: "   M 0 G ( 8:00 AM * 0  2 $ @ 9 H  0 120  ? . @ /   >  @  $ ? 8 G 2    G  2 $ @ 9 H , + ? 0 80  ? . @ /   >  @  $ ? 8 G 3    G  2 $ @ 9 H , $ K  8 $  $ ?  M / > 9 H ?", options: ["96  ? . @ /   > ", "90  ? . @ /   > ", "100  ? . @ /   > ", "92  ? . @ /   > "], answer: "A" } ] }; // 16. 5 0 M  , 5 0 M  . B 2 ,  ( ,  ( . B 2 questions["5 0 M  5 0 M  . B 2  ( -  ( . B 2 "] = { level1: [ { question: "15  > 5 0 M   M / > 9 H ?", options: ["225", "215", "235", "205"], answer: "A" }, { question: "144  > 5 0 M  . B 2  M / > 9 H ?", options: ["12", "14", "16", "18"], answer: "A" } ], level2: [ { question: "5  >  (  M / > 9 H ?", options: ["125", "75", "100", "150"], answer: "A" } ], level3: [ { question: ""(1764) + "(1728)  > . > (  M / > 9 H ?", options: ["54", "48", "60", "42"], answer: "A" } ] }; // 17.  > $ >    0 # @ questions[" > $ >    0 # @ "] = { level1: [ { question: "2³ × 2t = ?", options: ["2w ", "2¹²", "2¹", "2w ²"], answer: "A" }, { question: "(5²)³ = ?", options: ["5v ", "5u ", "5x ", "5y "], answer: "A" } ], level2: [ { question: ""72 ÷ "8 = ?", options: ["3", "6", "9", "12"], answer: "A" } ], level3: [ { question: "/ & ? 2^(x+2) = 64, $ K x  > . > (  M / > 9 H ?", options: ["4", "3", "5", "6"], answer: "A" } ] }; // 18.  ( A * > $ - 8 . > ( A * > $ questions[" ( A * > $ - 8 . > ( A * > $ "] = { level1: [ { question: "12:15  > 8 0 2 $ . 0 B *  M / > 9 H ?", options: ["4:5", "3:5", "2:3", "5:4"], answer: "A" }, { question: "/ & ? a:b = 2:3  0 b:c = 4:5, $ K a:c = ?", options: ["8:15", "2:5", "4:7", "5:8"], answer: "A" } ], level2: [ { question: "  , H  . G  2:3  G  ( A * > $ . G  10  0 20 0 A * / G  G ( K  9 H  d / & ?  A 2 0 > 6 ? 400 0 A * / G 9 H , $ K 20 0 A * / G  G ( K  K   @ 8   M / >  M / > 9 H ?", options: ["15", "10", "20", "25"], answer: "A" } ], level3: [ { question: "$ @ ( 8   M / >   1/2 : 2/3 : 3/4  G  ( A * > $ . G  9 H  d 8 , 8 G , ! < @ 8   M / > 90 9 H , $ K 8 , 8 G  K  @ 8   M / >  M / > 9 H ?", options: ["60", "45", "72", "54"], answer: "A" } ] }; // 19. , @   # ? $ questions[", @   # ? $ "] = { level1: [ { question: "/ & ? 3x + 5 = 20, $ K x  > . > (  M / > 9 H ?", options: ["5", "3", "7", "9"], answer: "A" }, { question: "2x + 3y = 12  0 x = 3, $ K y  > . > (  M / > 9 K  > ?", options: ["2", "3", "4", "1"], answer: "A" } ], level2: [ { question: "x² - 5x + 6  G  A # (   !  M / > 9 H  ?", options: ["(x-2)(x-3)", "(x+2)(x+3)", "(x-1)(x-6)", "(x+1)(x-6)"], answer: "A" } ], level3: [ { question: "/ & ? x + 1/x = 3, $ K x² + 1/x²  > . > (  M / > 9 K  > ?", options: ["7", "9", "11", "5"], answer: "A" } ] }; const finalTopicList = chaptersList; let selectedTopics = []; let selectedLevel = null; let userProgress = { streak: 0, lastPracticeDate: null, totalProblemsSolved: 0, topicsCompleted: 0, totalTopics: finalTopicList.length }; function loadUserProgress() { const saved = localStorage.getItem('upTetMathProgress'); if (saved) userProgress = JSON.parse(saved); const today = new Date().toDateString(); if (userProgress.lastPracticeDate !== today) { const yesterday = new Date(); yesterday.setDate(yesterday.getDate() - 1); if (userProgress.lastPracticeDate === yesterday.toDateString()) userProgress.streak++; else userProgress.streak = 1; userProgress.lastPracticeDate = today; saveUserProgress(); } updateUI(); } function saveUserProgress() { localStorage.setItem('upTetMathProgress', JSON.stringify(userProgress)); } function updateUI() { document.getElementById('streakDays').textContent = userProgress.streak; const today = new Date(); document.getElementById('currentDate').textContent = today.toLocaleDateString('hi-IN', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }); const percent = Math.min(100, Math.round((userProgress.topicsCompleted / userProgress.totalTopics) * 100)); document.getElementById('progressFill').style.width = `${percent}%`; document.getElementById('progressText').textContent = `${percent}% * B 0 M # (${userProgress.topicsCompleted}/${userProgress.totalTopics}  ' M / > / )`; } function getRandomQuestions(topicsArray, level, count) { let allQs = []; topicsArray.forEach(topic => { if (questions[topic] && questions[topic][`level${level}`]) { allQs = allQs.concat(questions[topic][`level${level}`]); } }); if(allQs.length === 0) return [{ question: " # ? $  @ . B 2 - B $ 8   M 0 ? / >  M / > 9 H ?", options: [" K ! < ,   > ( > ,  A # > , - >  ", "* M 0 $ ? 6 $ ", ", M / >  ", " M / > . ? $ ? "], answer: "A" }]; allQs = allQs.sort(() => Math.random() - 0.5); return allQs.slice(0, count); } function renderTopics() { const container = document.getElementById('topicsContainer'); container.innerHTML = `<div class="checkbox-item" style="background:#e9f5ec;"><input type="checkbox" id="fullSyllabus" value="full"><label for="fullSyllabus"><strong>' 8  * B 0 M # * > M /  M 0 . (8 - @ 19  ' M / > / )</strong></label></div>`; finalTopicList.forEach(topic => { const id = `topic_${topic.replace(/[\s,?]/g, '_').substring(0, 30)}`; container.innerHTML += `<div class="checkbox-item"><input type="checkbox" id="${id}" name="topic" value="${topic}"><label for="${id}">${topic}</label></div>`; }); document.getElementById('fullSyllabus')?.addEventListener('change', (e) => { const allCheckboxes = document.querySelectorAll('input[name="topic"]'); allCheckboxes.forEach(cb => cb.disabled = e.target.checked); if(e.target.checked) allCheckboxes.forEach(cb => cb.checked = false); }); } // Event listeners document.getElementById('customPracticeBtn').addEventListener('click', () => { startScreen.classList.add('hidden'); subjectSelection.classList.remove('hidden'); }); document.getElementById('selectMathBtn').addEventListener('click', () => { renderTopics(); subjectSelection.classList.add('hidden'); topicSelection.classList.remove('hidden'); }); document.getElementById('backToStartBtn').addEventListener('click', () => { topicSelection.classList.add('hidden'); startContainer.classList.remove('hidden'); startScreen.classList.remove('hidden'); updateUI(); }); document.getElementById('generateAssignmentBtn').addEventListener('click', () => { const full = document.getElementById('fullSyllabus')?.checked; if (full) selectedTopics = [...finalTopicList]; else selectedTopics = Array.from(document.querySelectorAll('input[name="topic"]:checked')).map(cb => cb.value); if (selectedTopics.length === 0) { alert(" C * / >  . 8 G  .    ' M / > /  A ( G  !"); return; } topicSelection.classList.add('hidden'); levelSelection.classList.remove('hidden'); }); document.getElementById('backToTopicsBtn').addEventListener('click', () => { levelSelection.classList.add('hidden'); topicSelection.classList.remove('hidden'); }); document.getElementById('level1Btn').addEventListener('click', () => { document.querySelectorAll('.btn-level').forEach(b => b.classList.remove('selected')); document.getElementById('level1Btn').classList.add('selected'); selectedLevel = 1; }); document.getElementById('level2Btn').addEventListener('click', () => { document.querySelectorAll('.btn-level').forEach(b => b.classList.remove('selected')); document.getElementById('level2Btn').classList.add('selected'); selectedLevel = 2; }); document.getElementById('level3Btn').addEventListener('click', () => { document.querySelectorAll('.btn-level').forEach(b => b.classList.remove('selected')); document.getElementById('level3Btn').classList.add('selected'); selectedLevel = 3; }); document.getElementById('generateFinalBtn').addEventListener('click', () => { if (!selectedLevel) { alert(" C * / >  ? ( >  8 M $ 0  A ( G  !"); return; } generateAssignment(); }); document.getElementById('homeIconBtn').addEventListener('click', (e) => { e.preventDefault(); backToStart(); }); document.getElementById('problemOfDayBtn').addEventListener('click', generateProblemOfDay); function generateAssignment() { startContainer.classList.add('hidden'); levelSelection.classList.add('hidden'); generatedPaperContainer.classList.remove('hidden'); const topicNames = selectedTopics.length > 5 ? selectedTopics.slice(0,5).join(", ")+" ..." : selectedTopics.join(", "); const mcqs = getRandomQuestions(selectedTopics, selectedLevel, 10); let paperContent = ` <div class="header"><h2>=ØØÜ UP TET * G * 0 -1 ( # ? $ - Mathematics)</h2><h3>=ØÌÜ ${selectedTopics.length === finalTopicList.length ? "8  * B 0 M # * > M /  M 0 . (19  ' M / > / )" : topicNames.substring(0, 85)}</h3><p>¡&  ? ( >  8 M $ 0 ${selectedLevel}  ${selectedLevel === 1 ? ", G 8 ?  " : selectedLevel === 2 ? ". ' M / . (UP TET . > (  )" : " ( M ( $ "}</p></div> <div class="content-area"><div class="instructions"><p><strong>( ? 0 M & G 6 (Mathematics Practice):</strong></p><ol><li> 8 8 G  . G  10 , 9 A 5 ?  2 M * @ * M 0 6 M ( 9 H  d </li><li>* M 0 $ M / G  * M 0 6 M (  # ? $  G 5 ? - ? ( M (  ' M / > / K  * 0  ' > 0 ? $ 9 H d </li><li>15-20 . ? (  . G  9 2  0 G  , + ? 0 $ M $ 0  A   @ 8 G . ? 2 >   d </li></ol></div> <div class="question-section"><div style="font-size:1.4rem; margin-bottom:20px; font-weight:bold;">'þ  - M / > 8 * M 0 6 M ( </div>`; let qNum = 1; mcqs.forEach(mcq => { paperContent += `<div class="question"><div class="question-text">${qNum}. ${mcq.question}</div> <div class="option">A. ${mcq.options[0]}</div><div class="option">B. ${mcq.options[1]}</div> <div class="option">C. ${mcq.options[2]}</div><div class="option">D. ${mcq.options[3]}</div></div>`; qNum++; }); paperContent += `</div><div class="answer-sheet"><h3 class="section-title">=ØÝ $ M $ 0  A   @ </h3><table class="answer-table"><thead><tr><th>* M 0 6 M ( 8  .</th><th> $ M $ 0 </th><th>* M 0 6 M ( 8  .</th><th> $ M $ 0 </th></tr></thead><tbody>`; for (let i = 0; i < mcqs.length; i += 2) { paperContent += `<tr><td>${i+1}</td><td><strong>${mcqs[i].answer}</strong></td>`; if (i+1 < mcqs.length) paperContent += `<td>${i+2}</td><td><strong>${mcqs[i+1].answer}</strong></td>`; else paperContent += `<td></td><td></td>`; paperContent += `</tr>`; } paperContent += `</tbody></table></div><div class="action-buttons"><button class="btn btn-success" id="markCompleteBtn"><i class="fas fa-check-circle"></i> * B 0 M #  ? 9 M ( ? $  0 G  </button><button class="btn btn-primary" id="printBtn"><i class="fas fa-print"></i> * M 0 ?   / PDF</button><button class="btn btn-danger" id="newAssignmentBtn"><i class="fas fa-undo-alt"></i> ( / >  - M / > 8 </button></div></div>`; generatedPaperContainer.innerHTML = paperContent; document.getElementById('markCompleteBtn')?.addEventListener('click', markPracticeComplete); document.getElementById('printBtn')?.addEventListener('click', () => window.print()); document.getElementById('newAssignmentBtn')?.addEventListener('click', backToStart); } function markPracticeComplete() { userProgress.totalProblemsSolved += 10; let newlyCompleted = 0; selectedTopics.forEach(t => { if (!userProgress[`comp_${t}`]) { userProgress[`comp_${t}`] = true; newlyCompleted++; } }); userProgress.topicsCompleted = Math.min(userProgress.totalTopics, userProgress.topicsCompleted + newlyCompleted); saveUserProgress(); updateUI(); alert("<Ø‰ß 6 > ( & > 0 !  - M / > 8 * B 0 M # 9 A  d * M 0  $ ? 8 9 G  @   d "); backToStart(); } function generateProblemOfDay() { const randomTopic = finalTopicList[Math.floor(Math.random() * finalTopicList.length)]; const randomLevel = Math.floor(Math.random() * 3) + 1; selectedTopics = [randomTopic]; selectedLevel = randomLevel; startContainer.classList.add('hidden'); generatedPaperContainer.classList.remove('hidden'); const mcq = getRandomQuestions(selectedTopics, selectedLevel, 1)[0]; let content = `<div class="header"><h2><Øß & ? (  @  A ( L $ @ ( # ? $ )</h2><h3><Ø¯ß ${randomTopic}</h3><p>8 M $ 0 ${randomLevel}</p></div><div class="content-area"><div class="problem-of-day"><h3><i class="fas fa-star-of-life"></i>    >  - M / > 8 * M 0 6 M ( </h3><p> * ( @  # ? $ @ /  M 7 . $ >  K ( ?  > 0 G  !</p></div><div class="daily-summary"><div class="summary-card"><h4>=Ø%Ý 2  > $ > 0 </h4><p>${userProgress.streak} & ? ( </p></div><div class="summary-card"><h4>' 9 2 * M 0 6 M ( </h4><p>${userProgress.totalProblemsSolved}</p></div><div class="summary-card"><h4>=ØÚÜ * M 0  $ ? </h4><p>${Math.round((userProgress.topicsCompleted / userProgress.totalTopics) * 100)}%</p></div></div><div class="question"><div class="question-text">${mcq.question}</div><div class="option">A. ${mcq.options[0]}</div><div class="option">B. ${mcq.options[1]}</div><div class="option">C. ${mcq.options[2]}</div><div class="option">D. ${mcq.options[3]}</div></div><div class="answer-sheet"><h3>=ØÌÜ 8 . > ' > ( </h3><p><strong>8 9 @ $ M $ 0 :</strong> ${mcq.answer}</p><p><strong>5 M / >  M / > :</strong> UP TET  # ? $  5 ' > 0 # >  G  ( A 8 > 0 </p></div><div class="action-buttons"><button class="btn btn-success" id="markCompleteDailyBtn"><i class="fas fa-check"></i> * B 0 M #  ? / > </button><button class="btn btn-primary" id="printBtn">* M 0 ?    0 G  </button><button class="btn btn-danger" id="newAssignmentBtn">( / >  - M / > 8 </button></div></div>`; generatedPaperContainer.innerHTML = content; document.getElementById('markCompleteDailyBtn')?.addEventListener('click', () => { userProgress.totalProblemsSolved++; saveUserProgress(); updateUI(); alert(", ' >  9 K ! & ? (  @ 8 . 8 M / > 9 2 9 A  d "); backToStart(); }); document.getElementById('printBtn')?.addEventListener('click', () => window.print()); document.getElementById('newAssignmentBtn')?.addEventListener('click', backToStart); } function backToStart() { generatedPaperContainer.classList.add('hidden'); startContainer.classList.remove('hidden'); topicSelection.classList.add('hidden'); levelSelection.classList.add('hidden'); subjectSelection.classList.add('hidden'); startScreen.classList.remove('hidden'); updateUI(); } document.addEventListener('DOMContentLoaded', () => { loadUserProgress(); }); </script> </body> </html>