ÿþ<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Class VI Mathematics Sample Paper Generator</title> <link href="img/logo1.jpg" rel="icon"> <!-- Add jsPDF library --> <meta name="description" content="Generate CBSE Class 6 Maths sample papers online. Free test paper generator with chapter-wise questions from Ganita Prakash book for exam practice."> <meta name="keywords" content="Class 6 Maths Sample Paper Generator,CBSE Class 6 Maths Sample Papers,Class 6 Maths Question Paper Generator,Class 6 Maths Online Test Generator,CBSE Class 6 Maths Model Papers,Class 6 Maths Practice Papers PDF,Class 6 Maths Worksheet Generator,CBSE Class 6 Maths Test Paper Maker,Free Class 6 Maths Sample Papers,Class 6 Maths Patterns in Mathematics questions,CBSE Class 6 Patterns in Mathematics sample paper,Patterns in Mathematics Class 6 practice questions,Class 6 Lines and Angles questions with answers,CBSE Class 6 Maths Lines and Angles sample papers,Class 6 Lines and Angles test paper,Number Play Class 6 questions,CBSE Class 6 Number Play worksheets,Class 6 Maths Number Play sample paper,Class 6 Maths Data Handling sample paper,CBSE Class 6 Data Handling questions PDF,Data Handling and Presentation Class 6 worksheets,Prime Numbers Class 6 CBSE questions,Class 6 Maths Prime Time sample papers,CBSE Class 6 Prime Time worksheets,Class 6 Maths Perimeter and Area questions,CBSE Class 6 Perimeter and Area sample papers,Perimeter and Area Class 6 worksheets with answers,Fractions Class 6 CBSE worksheets,Class 6 Maths Fractions practice papers,CBSE Class 6 Fractions test generator,Class 6 Constructions Maths questions,CBSE Class 6 Playing with Constructions worksheets,Class 6 Maths Constructions sample papers,Symmetry Class 6 Maths worksheets,Class 6 Maths Symmetry sample question paper,CBSE Class 6 Symmetry test paper,Integers Class 6 CBSE questions,The Other Side of Zero Class 6 worksheets,Class 6 Integers sample papers PDF,Free CBSE Class 6 Maths Sample Paper Generator Online,How to generate Class 6 Maths Question Papers,Class 6 Maths Chapter-wise Test Generator,CBSE Class 6 Maths Practice Tests Online,Download Class 6 Maths Sample Papers with Solutions,CBSE Class 6 Maths Chapter-wise Worksheets,Class 6 Maths Online Paper Generator Free,CBSE Class 6 Maths Chapter-wise Questions,CBSE Class 6 Ganita Prakash Book Sample Papers,Class 6 Mathematics Exam Paper Generator CBSE,Free CBSE Online Sample Papers Class 6 Maths"> <meta name="robots" content="index, follow"> <meta name="author" content="Routera.in"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Open Graph Tags --> <meta property="og:site_name" content="routera.in"> <meta property="og:title" content="CBSE Class 6 Maths Sample Paper Generator Online"> <meta property="og:description" content="Generate CBSE Class 6 Maths sample papers online. Free test paper generator with chapter-wise questions from Ganita Prakash book for exam practice."> <meta property="og:image" content="https://www.routera.in/img/cat-2.png"> <!-- Replace with actual image URL --> <meta property="og:image:width" content="600" /> <meta property="og:image:height" content="400" /> <meta property="og:url" content="https://www.routera.in/CBSE-Class-6-Maths-sample-paper-generator.html"> <meta property="og:type" content="website"> <!-- Twitter Card Tags --> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="CBSE Class 6 Maths Sample Paper Generator Online"> <meta name="twitter:description" content="Generate CBSE Class 6 Maths sample papers online. Free test paper generator with chapter-wise questions from Ganita Prakash book for exam practice."> <meta name="twitter:image" content="https://www.routera.in/img/cat-2.png"> <!-- Replace with actual image URL --> <!-- Canonical Tag --> <link rel="canonical" href="https://www.routera.in/CBSE-Class-6-Maths-sample-paper-generator.html" /> <script type="application/ld+json"> { "@context": "https://schema.org", "@graph": [ { "@type": "WebPage", "@id": "https://www.routera.in/CBSE-Class-6-Maths-sample-paper-generator.html", "url": "https://www.routera.in/CBSE-Class-6-Maths-sample-paper-generator.html", "name": "CBSE Class 6 Maths Sample Paper Generator", "description": "Generate CBSE Class 6 Maths sample papers with customizable question types, MCQs, HOTS, and practice tests.", "isPartOf": { "@id": "https://www.routera.in/#website" }, "breadcrumb": { "@id": "https://www.routera.in/#breadcrumb" }, "inLanguage": "en", "potentialAction": { "@type": "SearchAction", "target": "https://www.routera.in/search?q={search_term_string}", "query-input": "required name=search_term_string" } }, { "@type": "WebSite", "@id": "https://www.routera.in/#website", "url": "https://www.routera.in/", "name": "Routera", "publisher": { "@id": "https://www.routera.in/#organization" }, "inLanguage": "en" }, { "@type": "Organization", "@id": "https://www.routera.in/#organization", "name": "Routera", "url": "https://www.routera.in/", "logo": { "@type": "ImageObject", "url": "https://www.routera.in/img/logo1.jpg" }, "contactPoint": { "@type": "ContactPoint", "contactType": "Customer Support", "email": "support@routera.in" }, "sameAs": [ "https://www.facebook.com/routera", "https://twitter.com/routera" ] }, { "@type": "EducationalOrganization", "name": "Routera Educational Resources", "url": "https://www.routera.in/", "logo": "https://www.routera.in/img/logo1.jpg", "sameAs": [ "https://www.facebook.com/routera", "https://twitter.com/routera" ] }, { "@type": "Review", "itemReviewed": { "@type": "Product", "name": "CBSE Class 6 Maths Sample Paper Generator", "url": "https://www.routera.in/CBSE-Class-6-Maths-sample-paper-generator.html" }, "reviewRating": { "@type": "Rating", "ratingValue": "4.8", "bestRating": "5" }, "author": { "@type": "Person", "name": "Student Review" } }, { "@type": "BreadcrumbList", "@id": "https://www.routera.in/#breadcrumb", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.routera.in/" }, { "@type": "ListItem", "position": 2, "name": "Maths Sample Paper Generator", "item": "https://www.routera.in/CBSE-Class-6-Maths-sample-paper-generator.html" } ] }, { "@type": "Article", "headline": "CBSE Class 6 Maths Sample Paper Generator", "author": { "@type": "Organization", "name": "Routera" }, "publisher": { "@type": "Organization", "name": "Routera", "logo": { "@type": "ImageObject", "url": "https://www.routera.in/img/logo1.jpg" } }, "datePublished": "2025-08-10", "dateModified": "2025-08-15", "mainEntityOfPage": { "@id": "https://www.routera.in/CBSE-Class-6-Maths-sample-paper-generator.html" } }, { "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "What is the CBSE Class 6 Maths Sample Paper Generator?", "acceptedAnswer": { "@type": "Answer", "text": "It is a tool to generate practice papers for CBSE Class 6 Maths, including MCQs, HOTS, and descriptive questions." } }, { "@type": "Question", "name": "Can I generate unlimited sample papers?", "acceptedAnswer": { "@type": "Answer", "text": "Yes, you can generate multiple papers with different question sets." } }, { "@type": "Question", "name": "Is it free to use?", "acceptedAnswer": { "@type": "Answer", "text": "Yes, the sample paper generator is free for students." } } ] }, { "@type": "HowTo", "name": "How to Generate a CBSE Class 6 Maths Sample Paper", "step": [ { "@type": "HowToStep", "text": "Go to the CBSE Class 6 Maths Sample Paper Generator page." }, { "@type": "HowToStep", "text": "Select chapters, question types, and difficulty level." }, { "@type": "HowToStep", "text": "Click on 'Generate Paper' to create a customized sample paper." }, { "@type": "HowToStep", "text": "Download or print the generated paper for practice." } ] }, { "@type": "SiteNavigationElement", "name": "Sample Papers", "url": "https://www.routera.in/sample-papers.html" }, { "@type": "Product", "name": "CBSE Class 6 Maths Sample Paper Generator", "description": "An online tool to generate CBSE Class 6 Maths sample papers with MCQs, HOTS, and descriptive questions.", "brand": { "@type": "Organization", "name": "Routera" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.8", "reviewCount": "126" } }, { "@type": "Course", "name": "CBSE Class 6 Mathematics", "description": "Comprehensive course material, sample papers, assignments, and practice resources for Class 6 Mathematics.", "provider": { "@type": "EducationalOrganization", "name": "Routera", "sameAs": "https://www.routera.in/" } }, { "@type": "ItemList", "name": "Maths Sample Paper Features", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "MCQ Questions" }, { "@type": "ListItem", "position": 2, "name": "Assertion-Reasoning Questions" }, { "@type": "ListItem", "position": 3, "name": "HOTS Questions" }, { "@type": "ListItem", "position": 4, "name": "Descriptive Questions" } ] }, { "@type": "EducationalOccupationalProgram", "name": "CBSE Class 6 Maths Practice Program", "programType": "Educational", "provider": { "@type": "EducationalOrganization", "name": "Routera", "url": "https://www.routera.in/" }, "hasCourse": { "@type": "Course", "name": "Class 6 Mathematics", "description": "A structured learning and practice program for CBSE Class 6 Maths." } } ] } </script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4930137336556867" crossorigin="anonymous"></script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-KMZ9RJ62EY"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-KMZ9RJ62EY'); </script> <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', Tahoma, Geneva, Verdana, 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: 900px; 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; top: -50px; right: -50px; width: 150px; height: 150px; background: rgba(255, 255, 255, 0.1); border-radius: 50%; } .header h1 { font-size: 2rem; margin-bottom: 10px; font-weight: 700; position: relative; z-index: 1; } .header p { font-size: 1rem; opacity: 0.9; position: relative; z-index: 1; } .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); box-shadow: 0 8px 15px rgba(67, 97, 238, 0.3); } .btn-success { background: var(--success); color: white; } .btn-success:hover { background: #3ab0d6; transform: translateY(-2px); box-shadow: 0 8px 15px rgba(76, 201, 240, 0.3); } .btn-danger { background: var(--danger); color: white; } .btn-danger:hover { background: #d3166b; transform: translateY(-2px); box-shadow: 0 8px 15px rgba(247, 37, 133, 0.3); } .btn-group { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 20px 0; } .section-title { text-align: center; margin-bottom: 25px; color: var(--primary-dark); font-size: 1.5rem; position: relative; padding-bottom: 10px; } .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(200px, 1fr)); gap: 15px; margin: 25px 0; } .checkbox-item { display: flex; align-items: center; } .checkbox-item input { margin-right: 10px; width: 18px; height: 18px; cursor: pointer; } .checkbox-item label { cursor: pointer; font-size: 0.95rem; } .generated-paper { padding: 30px; } .paper-header { text-align: center; margin-bottom: 30px; border-bottom: 2px solid var(--primary); padding-bottom: 20px; } .paper-header h2 { color: var(--primary-dark); margin-bottom: 5px; font-size: 1.8rem; } .paper-header h3 { color: var(--gray); margin-bottom: 5px; font-size: 1.2rem; font-weight: 500; } .paper-meta { display: flex; justify-content: space-between; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 1px solid #eee; font-weight: 500; } .instructions { margin-bottom: 30px; padding: 20px; background: #f8f9fa; border-radius: var(--border-radius); } .instructions ol { padding-left: 20px; margin-top: 10px; } .instructions li { margin-bottom: 8px; } .question-section { margin-bottom: 30px; } .section-heading { font-weight: 600; color: var(--primary-dark); margin-bottom: 15px; padding-bottom: 5px; border-bottom: 1px solid #eee; } .question { margin-bottom: 20px; page-break-inside: avoid; } .question-text { font-weight: 500; margin-bottom: 8px; } .option { margin-left: 20px; margin-bottom: 5px; } .action-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; margin-top: 40px; } @media (max-width: 768px) { .header h1 { font-size: 1.6rem; } .content-area { padding: 20px; } .checkbox-container { grid-template-columns: 1fr; } .btn { padding: 10px 20px; font-size: 0.9rem; } .paper-header h2 { font-size: 1.4rem; } .paper-header h3 { font-size: 1rem; } } @media (max-width: 480px) { .header { padding: 20px 15px; } .section-title { font-size: 1.3rem; } .paper-meta { flex-direction: column; gap: 10px; } .action-buttons { flex-direction: column; align-items: center; } .btn { width: 100%; max-width: 250px; } } @media print { body { background: none; padding: 0; } .container { box-shadow: none; max-width: 100%; } .action-buttons { display: none; } .question { page-break-inside: avoid; } } </style> <style> /* Ensure header styling is preserved */ .header { background: linear-gradient(135deg, #4361ee, #3f37c9) !important; color: white !important; padding: 30px 20px !important; text-align: center !important; position: relative !important; overflow: hidden !important; width: 100% !important; } .header h1, .header h2, .header h3 { color: white !important; font-weight: bold !important; } .temp-pdf-container { font-family: Arial, sans-serif; line-height: 1.5; } .temp-pdf-container * { max-width: 100% !important; background-color: white !important; color: black !important; } /* Page break control */ .question { page-break-inside: avoid; break-inside: avoid; } .question-section { page-break-after: auto; } @media print { body { margin: 0 !important; padding: 0 !important; background: white !important; } .container { width: 100% !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; } .header { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } } /* Home icon styles */ .home-icon { position: absolute; top: 20px; left: 20px; color: white; font-size: 24px; cursor: pointer; transition: var(--transition); z-index: 2; } .home-icon:hover { transform: scale(1.1); color: rgba(255, 255, 255, 0.8); } @media (max-width: 480px) { .home-icon { font-size: 20px; top: 15px; left: 15px; } } @media print { .home-icon { display: none; } } </style> </head> <body> <div class="container" id="startContainer"> <div class="header"> <!-- Home icon added here --> <a href="cbse-class-6-to-8-sample-paper-generator.html" class="home-icon"> <i class="fas fa-home"></i> </a> <h1>Class VI Mathematics</h1> <p>Generate Customized Sample Papers</p> </div> <div class="content-area"> <div id="startScreen"> <h2 class="section-title">Mathematics Paper Generator</h2> <div class="btn-group"> <button class="btn btn-primary" onclick="showMathematicsOptions()">Start Generating</button> </div> </div> <div id="mathOptions" class="hidden"> <h2 class="section-title">Select Mathematics Course</h2> <div class="btn-group"> <button class="btn btn-primary" onclick="showChapters()">Mathematics</button> </div> </div> <div id="chapterSelection" class="hidden"> <h2 class="section-title">Select Chapters</h2> <form id="chapterForm"> <div class="checkbox-container"> <div class="checkbox-item"> <input type="checkbox" id="fullPaper" name="chapter" value="Full Paper" onchange="toggleChapters()"> <label for="fullPaper">Full Paper (All Chapters)</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter1" name="chapter" value="Chapter 1"> <label for="chapter1">1. Patterns in Mathematics</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter2" name="chapter" value="Chapter 2"> <label for="chapter2">2. Lines and Angles</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter3" name="chapter" value="Chapter 3"> <label for="chapter3">3. Number Play</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter4" name="chapter" value="Chapter 4"> <label for="chapter4">4. Data Handling and Presentation</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter5" name="chapter" value="Chapter 5"> <label for="chapter5">5. Prime Time</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter6" name="chapter" value="Chapter 6"> <label for="chapter6">6. Perimeter and Area</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter7" name="chapter" value="Chapter 7"> <label for="chapter7">7. Fractions</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter8" name="chapter" value="Chapter 8"> <label for="chapter8">8. Playing with Constructions</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter9" name="chapter" value="Chapter 9"> <label for="chapter9">9. Symmetry</label> </div> <div class="checkbox-item"> <input type="checkbox" id="chapter10" name="chapter" value="Chapter 10"> <label for="chapter10">10. The Other Side of Zero</label> </div> </div> </form> <div id="message" class="hidden"></div> <div class="btn-group"> <button class="btn btn-danger" onclick="backToStart()">Back to Start</button> <button class="btn btn-success" onclick="promptSchoolName()">Generate Paper</button> </div> </div> </div> </div> <div class="container hidden" id="generatedPaperContainer"></div> <script> // Initialize jsPDF const { jsPDF } = window.jspdf; let schoolName = ''; let sessionYear = ''; const questions = { "Chapter 1": { mcq: [ { question: "What comes next in the pattern: 2, 4, 6, 8, ...?", options: ["9", "10", "12", "14"], answer: "10" }, { question: "Which pattern follows the rule 'add 3'?", options: ["1, 3, 5, 7", "2, 5, 8, 11", "3, 6, 9, 12", "Both B and C"], answer: "Both B and C" } ], assertion: [ { statement1: "Patterns help in predicting future numbers.", statement2: "All number patterns increase by the same amount.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Only statement 1 is true" } ], twoMarks: ["Continue the pattern: 5, 10, 15, 20, ...","Find the missing number: 3, 6, _, 12, 15"], threeMarks: ["Create a pattern that decreases by 4 starting from 20.","Explain the rule for the pattern: 1, 4, 9, 16, 25"], fiveMarks: ["Discuss how patterns are used in real life situations.","Create and explain two different number patterns."], caseStudy: [ { case: "A tile pattern uses the sequence: 1 tile, 3 tiles, 5 tiles, 7 tiles...", questions: ["How many tiles will be in the 5th pattern?", "What is the rule for this pattern?"] } ] }, "Chapter 2": { mcq: [ { question: "What is the measure of a right angle?", options: ["45°", "90°", "180°", "360°"], answer: "90°" }, { question: "Which lines never meet?", options: ["Intersecting lines", "Parallel lines", "Perpendicular lines", "Concurrent lines"], answer: "Parallel lines" } ], assertion: [ { statement1: "An acute angle is less than 90°.", statement2: "An obtuse angle is more than 90° but less than 180°.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Both true" } ], twoMarks: ["Name two types of angles.","Draw a pair of perpendicular lines."], threeMarks: ["Measure and classify the angles of a given triangle.","Explain the difference between a line segment and a ray."], fiveMarks: ["Discuss the properties of different types of angles.","Construct angles of 30°, 45° and 60° using a protractor."], caseStudy: [ { case: "A road intersection forms four angles: 45°, 135°, 45° and 135°", questions: ["What type of angles are these?", "Are the opposite roads parallel? Why?"] } ] }, "Chapter 3": { mcq: [ { question: "What is the place value of 5 in 6543?", options: ["5", "50", "500", "5000"], answer: "500" }, { question: "Which is the smallest 4-digit number?", options: ["1000", "0001", "9999", "1001"], answer: "1000" } ], assertion: [ { statement1: "The face value of a digit is the digit itself.", statement2: "The place value depends on its position in the number.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Both true" } ], twoMarks: ["Write 2456 in expanded form.","Find the sum of the place values of 7 in 7075."], threeMarks: ["Compare the numbers 4567 and 4657 using >, < or =.","Round 4873 to the nearest hundred."], fiveMarks: ["Explain the Indian and International number systems.","Form the greatest and smallest 4-digit numbers using 3, 7, 0, 9 (without repeating digits)."], caseStudy: [ { case: "A number has 5 in the thousands place, 0 in hundreds, 8 in tens and 3 in ones place.", questions: ["What is the number?", "Write its number name."] } ] }, "Chapter 4": { mcq: [ { question: "Which graph uses bars to represent data?", options: ["Pie chart", "Bar graph", "Line graph", "Pictograph"], answer: "Bar graph" }, { question: "What is the middle value in a data set called?", options: ["Mean", "Median", "Mode", "Range"], answer: "Median" } ], assertion: [ { statement1: "Data can be represented visually using graphs.", statement2: "Pictographs use pictures to represent data.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Both true" } ], twoMarks: ["What is the range of the data: 12, 15, 10, 12, 18?","Make a tally chart for the data: Red, Blue, Red, Green, Blue, Red"], threeMarks: ["Draw a bar graph for favorite fruits of students: Apple-10, Banana-15, Orange-8.","Find the mode of: 5, 3, 5, 7, 3, 5, 9"], fiveMarks: ["Discuss the advantages of different data representation methods.","Collect and organize data about favorite sports in your class and represent it suitably."], caseStudy: [ { case: "A survey shows 20 students like cricket, 15 like football and 5 like basketball.", questions: ["Represent this data in a pie chart.", "Which sport is most popular?"] } ] }, "Chapter 5": { mcq: [ { question: "Which is a prime number?", options: ["4", "6", "9", "11"], answer: "11" }, { question: "What are the prime factors of 12?", options: ["2×2×3", "3×4", "1×12", "6×2"], answer: "2×2×3" } ], assertion: [ { statement1: "1 is a prime number.", statement2: "2 is the only even prime number.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Only statement 2 is true" } ], twoMarks: ["List the prime numbers between 10 and 20.","Find the HCF of 12 and 18."], threeMarks: ["Find the LCM of 6 and 8.","Check if 57 is a prime number."], fiveMarks: ["Explain prime factorization with an example.","Find the HCF and LCM of 24 and 36 using prime factorization."], caseStudy: [ { case: "Two bells ring at intervals of 6 and 8 minutes respectively.", questions: ["After how many minutes will they ring together?", "How many times will they ring together in 48 minutes?"] } ] }, "Chapter 6": { mcq: [ { question: "What is the perimeter of a square with side 5cm?", options: ["10cm", "15cm", "20cm", "25cm"], answer: "20cm" }, { question: "What is the area of a rectangle 6cm long and 4cm wide?", options: ["10cm²", "20cm²", "24cm²", "28cm²"], answer: "24cm²" } ], assertion: [ { statement1: "Perimeter is the total distance around a shape.", statement2: "Area is the space inside a shape.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Both true" } ], twoMarks: ["Find the perimeter of a triangle with sides 5cm, 6cm and 7cm.","Calculate the area of a square with side 8cm."], threeMarks: ["A rectangular garden is 12m long and 8m wide. Find its perimeter.","Compare the areas of two squares with sides 5cm and 7cm."], fiveMarks: ["Discuss the difference between perimeter and area with examples.","A room is 6m long and 4m wide. How many square tiles of side 20cm are needed to cover the floor?"], caseStudy: [ { case: "A farmer has a rectangular field 50m long and 30m wide.", questions: ["What is the area of the field?", "If he wants to fence the field, how much fencing material will he need?"] } ] }, "Chapter 7": { mcq: [ { question: "What is 1/2 + 1/4?", options: ["1/6", "2/6", "3/4", "3/4"], answer: "3/4" }, { question: "Which fraction is equivalent to 2/3?", options: ["4/6", "6/9", "8/12", "All of these"], answer: "All of these" } ], assertion: [ { statement1: "Fractions represent parts of a whole.", statement2: "The denominator tells how many equal parts the whole is divided into.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Both true" } ], twoMarks: ["Simplify 12/18 to its lowest terms.","Compare 3/5 and 4/7 using >, < or =."], threeMarks: ["Add 2/3 and 5/6.","Convert 2 3/4 to an improper fraction."], fiveMarks: ["Explain different types of fractions with examples.","Solve: 3/4 × 2/5 ÷ 1/2"], caseStudy: [ { case: "Rahul ate 1/4 of a pizza and Priya ate 1/3 of the same pizza.", questions: ["How much pizza did they eat together?", "How much pizza is left?"] } ] }, "Chapter 8": { mcq: [ { question: "Which tool is used to draw circles?", options: ["Ruler", "Protractor", "Compass", "Set square"], answer: "Compass" }, { question: "What angle is formed by perpendicular lines?", options: ["45°", "60°", "90°", "180°"], answer: "90°" } ], assertion: [ { statement1: "A perpendicular bisector divides a line segment into two equal parts.", statement2: "An angle bisector divides an angle into two equal parts.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Both true" } ], twoMarks: ["Construct a 60° angle using a protractor.","Draw the perpendicular bisector of a 6cm line segment."], threeMarks: ["Construct a circle with radius 4cm.","Draw a line segment AB=5cm and construct its perpendicular bisector."], fiveMarks: ["Explain the steps to construct a 30° angle using compass.","Construct a triangle ABC with AB=5cm, BC=6cm and AC=7cm."], caseStudy: [ { case: "A student needs to construct a right-angled triangle with sides 3cm and 4cm.", questions: ["What will be the length of the hypotenuse?", "Explain the steps to construct this triangle."] } ] }, "Chapter 9": { mcq: [ { question: "How many lines of symmetry does a square have?", options: ["1", "2", "4", "8"], answer: "4" }, { question: "Which letter has both horizontal and vertical symmetry?", options: ["A", "B", "H", "S"], answer: "H" } ], assertion: [ { statement1: "A regular pentagon has 5 lines of symmetry.", statement2: "A scalene triangle has no lines of symmetry.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Both true" } ], twoMarks: ["Draw the line(s) of symmetry for the letter 'A'.","Identify the number of lines of symmetry in an equilateral triangle."], threeMarks: ["Complete the symmetrical figure given one half.","Identify symmetrical objects in your classroom."], fiveMarks: ["Discuss the importance of symmetry in nature and art.","Create symmetrical patterns using basic shapes."], caseStudy: [ { case: "A designer is creating a symmetrical logo.", questions: ["What are the advantages of symmetrical designs?", "How can you test if a design is symmetrical?"] } ] }, "Chapter 10": { mcq: [ { question: "What is the additive inverse of 5?", options: ["1/5", "-5", "5", "0"], answer: "-5" }, { question: "Which is greater: -3 or -7?", options: ["-3", "-7", "Equal", "Cannot compare"], answer: "-3" } ], assertion: [ { statement1: "Negative numbers are less than zero.", statement2: "The sum of a number and its additive inverse is zero.", options: ["Both true", "Both false", "Only statement 1 is true", "Only statement 2 is true"], answer: "Both true" } ], twoMarks: ["Represent -4 on a number line.","Find the sum: 5 + (-3)"], threeMarks: ["Subtract: -8 - (-3)","Arrange in ascending order: -2, 5, -7, 0, 3"], fiveMarks: ["Explain the concept of negative numbers with real-life examples.","Solve: (-12) + 7 - (-5) + 3"], caseStudy: [ { case: "A temperature drops from 5°C to -3°C.", questions: ["By how many degrees did it drop?", "What would the temperature be if it rises by 7°C from -3°C?"] } ] } }; function getRandomQuestions(chapters, type, count) { let allQuestions = []; chapters.forEach(chapter => { if (questions[chapter] && questions[chapter][type]) { allQuestions = allQuestions.concat(questions[chapter][type]); } }); allQuestions = allQuestions.sort(() => Math.random() - 0.5); return allQuestions.slice(0, count); } function showMathematicsOptions() { document.getElementById('startScreen').classList.add('hidden'); document.getElementById('mathOptions').classList.remove('hidden'); } function showChapters() { document.getElementById('mathOptions').classList.add('hidden'); document.getElementById('chapterSelection').classList.remove('hidden'); } function toggleChapters() { const fullPaperCheckbox = document.getElementById('fullPaper'); const checkboxes = document.querySelectorAll('input[name="chapter"]:not(#fullPaper)'); checkboxes.forEach(cb => cb.disabled = fullPaperCheckbox.checked); } function backToStart() { document.getElementById('generatedPaperContainer').classList.add('hidden'); document.getElementById('startContainer').classList.remove('hidden'); document.getElementById('chapterSelection').classList.add('hidden'); document.getElementById('startScreen').classList.remove('hidden'); } function promptSchoolName() { schoolName = prompt("Write your school/institute name").toUpperCase(); if (!schoolName) { alert("School/Institute name is required!"); } else { promptSession(); } } function promptSession() { sessionYear = prompt("Enter the academic session (e.g., 2023-24)").toUpperCase(); if (!sessionYear) { alert("Academic session is required!"); } else { generatePaper(); } } function generatePaper() { document.getElementById('startContainer').classList.add('hidden'); const generatedPaperContainer = document.getElementById('generatedPaperContainer'); generatedPaperContainer.classList.remove('hidden'); generatedPaperContainer.innerHTML = ''; const courseHeader = 'Mathematics'; let paperContent = ` <div class="header"> <h2>${schoolName}</h2> </div> <div class="content-area"> <div class="paper-header"> <h3>${courseHeader}</h3> <h3>CLASS - VI</h3> <h3>Session: ${sessionYear}</h3> </div> <div class="paper-meta"> <div>Max. Marks: 80</div> <div>Time Allowed: 3 hours</div> </div> <div class="instructions"> <p><strong>General Instructions:</strong></p> <p>Read the following instructions carefully and follow them:</p> <ol> <li>This question paper contains 38 questions.</li> <li>This Question Paper is divided into 5 Sections A, B, C, D and E.</li> <li>In Section A, Questions no. 1-18 are multiple choice questions (MCQs) and questions no. 19 and 20 are Assertion- Reason based questions of 1 mark each.</li> <li>In Section B, Questions no. 21-25 are very short answer (VSA) type questions, carrying 02 marks each.</li> <li>In Section C, Questions no. 26-31 are short answer (SA) type questions, carrying 03 marks each.</li> <li>In Section D, Questions no. 32-35 are long answer (LA) type questions, carrying 05 marks each.</li> <li>In Section E, Questions no. 36-38 are case study based questions carrying 4 marks each with sub parts of the values of 1, 1 and 2 marks each respectively.</li> <li>All Questions are compulsory.</li> </ol> </div> `; const selectedChapters = document.getElementById('fullPaper').checked ? Object.keys(questions) : Array.from(document.querySelectorAll('input[name="chapter"]:checked')).map(cb => cb.value); const mcqs = getRandomQuestions(selectedChapters, 'mcq', 18); const assertions = getRandomQuestions(selectedChapters, 'assertion', 2); const twoMarks = getRandomQuestions(selectedChapters, 'twoMarks', 5); const threeMarks = getRandomQuestions(selectedChapters, 'threeMarks', 6); const fiveMarks = getRandomQuestions(selectedChapters, 'fiveMarks', 4); const caseStudies = getRandomQuestions(selectedChapters, 'caseStudy', 3); // Build the paper content dynamically let questionNumber = 1; // Section A paperContent += ` <div class="question-section"> <h4 class="section-heading">Section A - Multiple Choice Questions (1 mark each)</h4> `; mcqs.forEach(mcq => { paperContent += ` <div class="question"> <p class="question-text">${questionNumber++}. ${mcq.question}</p> ${mcq.options.map((opt, idx) => `<p class="option">${String.fromCharCode(65 + idx)}. ${opt}</p>` ).join('')} </div> `; }); // Assertion Reasoning paperContent += ` <h4 class="section-heading" style="margin-top: 30px;">Section A - Assertion Reasoning Questions (1 mark each)</h4> `; assertions.forEach(a => { paperContent += ` <div class="question"> <p class="question-text">${questionNumber++}. Assertion: ${a.statement1}</p> <p class="option">Reason: ${a.statement2}</p> ${a.options.map((opt, idx) => `<p class="option">${String.fromCharCode(65 + idx)}. ${opt}</p>` ).join('')} </div> `; }); // Section B paperContent += ` </div> <div class="question-section"> <h4 class="section-heading">Section B - Very Short Answer Questions (2 marks each)</h4> `; twoMarks.forEach(q => { paperContent += ` <div class="question"> <p class="question-text">${questionNumber++}. ${q}</p> </div> `; }); // Section C paperContent += ` </div> <div class="question-section"> <h4 class="section-heading">Section C - Short Answer Questions (3 marks each)</h4> `; threeMarks.forEach(q => { paperContent += ` <div class="question"> <p class="question-text">${questionNumber++}. ${q}</p> </div> `; }); // Section D paperContent += ` </div> <div class="question-section"> <h4 class="section-heading">Section D - Long Answer Questions (5 marks each)</h4> `; fiveMarks.forEach(q => { paperContent += ` <div class="question"> <p class="question-text">${questionNumber++}. ${q}</p> </div> `; }); // Section E paperContent += ` </div> <div class="question-section"> <h4 class="section-heading">Section E - Case Study Based Questions (4 marks each)</h4> `; caseStudies.forEach(cs => { paperContent += ` <div class="question"> <p class="question-text">${questionNumber++}. ${cs.case}</p> ${cs.questions.map((cq, idx) => `<p class="option">${String.fromCharCode(65 + idx)}. ${cq}</p>` ).join('')} </div> `; }); // Add buttons below the generated paper paperContent += ` </div> <div class="action-buttons"> <button class="btn btn-primary" onclick="downloadPDF()">Download as PDF</button> <button class="btn btn-success" onclick="window.print()">Print</button> <button class="btn btn-danger" onclick="backToStart()">Back to Start</button> </div> </div> `; generatedPaperContainer.innerHTML = paperContent; } async function downloadPDF() { const element = document.getElementById('generatedPaperContainer'); // Create a temporary div with optimized settings const tempDiv = document.createElement('div'); tempDiv.style.position = 'absolute'; tempDiv.style.left = '-9999px'; tempDiv.style.width = '794px'; // A4 width in pixels (210mm) tempDiv.style.backgroundColor = 'white'; tempDiv.style.padding = '20px'; tempDiv.innerHTML = element.innerHTML; document.body.appendChild(tempDiv); try { const pdf = new jsPDF('p', 'mm', 'a4'); const pageWidth = pdf.internal.pageSize.getWidth() - 25.4; // 0.5" margins const pageHeight = pdf.internal.pageSize.getHeight() - 25.4; // Split content into pages let position = 12.7; // Start with 0.5" top margin let remainingHeight = tempDiv.scrollHeight; let pageNum = 1; while (remainingHeight > 0) { // Capture the current page section const canvas = await html2canvas(tempDiv, { scale: 2, windowHeight: pageHeight * 3.78, // mm to px windowWidth: pageWidth * 3.78, y: position * 3.78, // mm to px height: pageHeight * 3.78, useCORS: true, backgroundColor: '#ffffff', logging: false }); const imgData = canvas.toDataURL('image/jpeg', 0.92); // Add page to PDF if (pageNum > 1) { pdf.addPage('a4', 'portrait'); } pdf.addImage(imgData, 'JPEG', 12.7, 12.7, pageWidth, canvas.height * pageWidth / canvas.width); position += pageHeight; remainingHeight -= pageHeight * 3.78; // px pageNum++; } document.body.removeChild(tempDiv); pdf.save(`${schoolName}_Maths_Paper.pdf`); } catch (error) { console.error('PDF generation error:', error); alert('Error generating PDF. Please try again.'); document.body.removeChild(tempDiv); } } </script> </body> </html>