{"id":11654,"date":"2026-09-29T21:38:09","date_gmt":"2026-09-29T18:38:09","guid":{"rendered":"https:\/\/lingualand.gr\/new\/?page_id=11654"},"modified":"2026-09-29T21:38:56","modified_gmt":"2026-09-29T18:38:56","slug":"a1-present-simple-exercises","status":"publish","type":"page","link":"https:\/\/lingualand.gr\/new\/exercises\/a1-present-simple-exercises\/","title":{"rendered":"A1 Present Simple Exercises"},"content":{"rendered":"\n<div class=\"ll-global-back-wrap\" style=\"margin:0 0 18px;padding:0;\">\n  <a class=\"ll-global-back-link\" href=\"https:\/\/lingualand.gr\/new\/exercises\/\" style=\"display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:#122c34;color:#fff!important;text-decoration:none!important;font-weight:700;box-shadow:0 8px 24px rgba(18,44,52,.14);\">&larr; Back to exercises<\/a>\n<\/div>\n\n\n<div class=\"lingualand-a1-exercise-page\" style=\"max-width:1100px;margin:20px auto;\">\n  <iframe title=\"A1 Present Simple Exercises\" srcdoc=\"&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n  &lt;meta charset=&quot;utf-8&quot;&gt;\n  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;\n  &lt;title&gt;A1 Present Simple Exercises&lt;\/title&gt;\n  &lt;style&gt;\n    :root {\n      color-scheme: light;\n      --bg: #f7f3ea;\n      --surface: #fffaf2;\n      --surface-strong: #ffffff;\n      --ink: #263238;\n      --muted: #657178;\n      --line: #ded4c4;\n      --accent: #246b62;\n      --accent-soft: #e3f0ed;\n      --accent-ink: #103d38;\n      --wrong: #b53a3a;\n      --wrong-soft: #fae6e4;\n      --right: #2f7d4f;\n      --right-soft: #e3f3e9;\n      --focus: #d58a2b;\n      --shadow: 0 18px 48px rgba(63, 48, 30, 0.12);\n    }\n\n    * {\n      box-sizing: border-box;\n    }\n\n    body {\n      margin: 0;\n      min-height: 100vh;\n      font-family: Arial, Helvetica, sans-serif;\n      background:\n        radial-gradient(circle at top left, rgba(36, 107, 98, 0.13), transparent 34rem),\n        linear-gradient(135deg, var(--bg), #eef4f1);\n      color: var(--ink);\n    }\n\n    main {\n      width: min(1120px, calc(100% - 32px));\n      margin: 0 auto;\n      padding: 32px 0 48px;\n    }\n\n    header {\n      display: grid;\n      grid-template-columns: minmax(0, 1fr) auto;\n      gap: 24px;\n      align-items: end;\n      padding: 24px;\n      background: var(--surface);\n      border: 1px solid var(--line);\n      border-radius: 8px;\n      box-shadow: var(--shadow);\n    }\n\n    h1, h2, h3, p {\n      margin: 0;\n    }\n\n    h1 {\n      font-size: clamp(1.75rem, 4vw, 3rem);\n      line-height: 1.05;\n      letter-spacing: 0;\n    }\n\n    header p {\n      margin-top: 10px;\n      color: var(--muted);\n      max-width: 640px;\n    }\n\n    .score-box {\n      min-width: 190px;\n      padding: 16px;\n      border: 1px solid var(--line);\n      border-radius: 8px;\n      background: var(--surface-strong);\n      text-align: center;\n    }\n\n    .score-label {\n      display: block;\n      color: var(--muted);\n      font-size: 0.95rem;\n    }\n\n    .score-value {\n      display: block;\n      margin-top: 6px;\n      font-size: 2rem;\n      font-weight: 700;\n      color: var(--accent);\n    }\n\n    .toolbar {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 10px;\n      margin: 18px 0 24px;\n    }\n\n    button {\n      min-height: 44px;\n      border: 1px solid var(--accent);\n      border-radius: 8px;\n      padding: 10px 16px;\n      background: var(--accent);\n      color: #ffffff;\n      font: inherit;\n      font-weight: 700;\n      cursor: pointer;\n    }\n\n    button.secondary {\n      background: transparent;\n      color: var(--accent-ink);\n    }\n\n    button:hover {\n      filter: brightness(0.96);\n    }\n\n    button:focus-visible,\n    input:focus-visible {\n      outline: 3px solid var(--focus);\n      outline-offset: 2px;\n    }\n\n    .tabs {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 8px;\n      margin-bottom: 18px;\n    }\n\n    .tab {\n      background: var(--surface-strong);\n      color: var(--accent-ink);\n      border-color: var(--line);\n    }\n\n    .tab[aria-selected=&quot;true&quot;] {\n      background: var(--accent);\n      color: #ffffff;\n      border-color: var(--accent);\n    }\n\n    .exercise {\n      display: none;\n      background: var(--surface);\n      border: 1px solid var(--line);\n      border-radius: 8px;\n      padding: 24px;\n      box-shadow: var(--shadow);\n    }\n\n    .exercise.active {\n      display: block;\n    }\n\n    .exercise-head {\n      display: flex;\n      justify-content: space-between;\n      gap: 16px;\n      align-items: start;\n      margin-bottom: 20px;\n    }\n\n    h2 {\n      font-size: 1.4rem;\n      line-height: 1.2;\n    }\n\n    .hint {\n      color: var(--muted);\n      margin-top: 6px;\n    }\n\n    .section-score {\n      white-space: nowrap;\n      padding: 8px 10px;\n      border-radius: 8px;\n      background: var(--accent-soft);\n      color: var(--accent-ink);\n      font-weight: 700;\n    }\n\n    .question-list {\n      display: grid;\n      gap: 12px;\n      margin: 0;\n      padding: 0;\n      list-style: none;\n      counter-reset: item;\n    }\n\n    .question {\n      counter-increment: item;\n      display: grid;\n      grid-template-columns: 36px minmax(0, 1fr);\n      gap: 12px;\n      align-items: start;\n      padding: 14px;\n      border: 1px solid var(--line);\n      border-radius: 8px;\n      background: var(--surface-strong);\n    }\n\n    .question::before {\n      content: counter(item);\n      display: grid;\n      place-items: center;\n      width: 32px;\n      height: 32px;\n      border-radius: 50%;\n      background: var(--accent-soft);\n      color: var(--accent-ink);\n      font-weight: 700;\n    }\n\n    .prompt {\n      font-weight: 700;\n      line-height: 1.35;\n    }\n\n    .form-tag {\n      display: inline-block;\n      margin-top: 4px;\n      color: var(--muted);\n      font-size: 0.95rem;\n      font-weight: 400;\n    }\n\n    .answer-row {\n      display: grid;\n      grid-template-columns: minmax(0, 1fr) auto;\n      gap: 10px;\n      align-items: center;\n      margin-top: 10px;\n    }\n\n    input[type=&quot;text&quot;] {\n      width: 100%;\n      min-height: 44px;\n      border: 1px solid var(--line);\n      border-radius: 8px;\n      padding: 10px 12px;\n      background: #ffffff;\n      color: var(--ink);\n      font: inherit;\n    }\n\n    .status {\n      min-width: 88px;\n      font-weight: 700;\n      text-align: right;\n    }\n\n    .status.correct {\n      color: var(--right);\n    }\n\n    .status.wrong {\n      color: var(--wrong);\n    }\n\n    .question.correct {\n      border-color: rgba(47, 125, 79, 0.55);\n      background: var(--right-soft);\n    }\n\n    .question.wrong {\n      border-color: rgba(181, 58, 58, 0.5);\n      background: var(--wrong-soft);\n    }\n\n    .choices {\n      display: grid;\n      gap: 8px;\n      margin-top: 10px;\n    }\n\n    .choice {\n      display: grid;\n      grid-template-columns: 22px minmax(0, 1fr);\n      gap: 10px;\n      align-items: center;\n      min-height: 44px;\n      padding: 8px 10px;\n      border: 1px solid var(--line);\n      border-radius: 8px;\n      background: #ffffff;\n      cursor: pointer;\n    }\n\n    .choice input {\n      width: 18px;\n      height: 18px;\n      accent-color: var(--accent);\n    }\n\n    .feedback {\n      margin-top: 18px;\n      min-height: 28px;\n      font-weight: 700;\n      color: var(--accent-ink);\n    }\n\n    .answers {\n      margin-top: 18px;\n      padding-top: 18px;\n      border-top: 1px solid var(--line);\n    }\n\n    .answers[hidden] {\n      display: none;\n    }\n\n    .answers h3 {\n      margin-bottom: 8px;\n      font-size: 1rem;\n    }\n\n    .answers ol {\n      margin: 0;\n      padding-left: 22px;\n      columns: 2;\n      column-gap: 36px;\n    }\n\n    .answers li {\n      break-inside: avoid;\n      margin-bottom: 6px;\n    }\n\n    @media (max-width: 760px) {\n      main {\n        width: min(100% - 20px, 1120px);\n        padding-top: 16px;\n      }\n\n      header,\n      .exercise-head,\n      .answer-row {\n        grid-template-columns: 1fr;\n      }\n\n      header {\n        padding: 18px;\n      }\n\n      .score-box {\n        width: 100%;\n      }\n\n      .exercise {\n        padding: 16px;\n      }\n\n      .question {\n        grid-template-columns: 30px minmax(0, 1fr);\n        padding: 12px;\n      }\n\n      .question::before {\n        width: 28px;\n        height: 28px;\n      }\n\n      .status {\n        text-align: left;\n      }\n\n      .answers ol {\n        columns: 1;\n      }\n    }\n  &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n  &lt;main&gt;\n    &lt;header&gt;\n      &lt;div&gt;\n        &lt;h1&gt;A1 Present Simple Exercises&lt;\/h1&gt;\n        &lt;p&gt;Interactive practice: affirmative, negative, interrogative, fill in the blanks, and multiple choice.&lt;\/p&gt;\n      &lt;\/div&gt;\n      &lt;div class=&quot;score-box&quot; aria-live=&quot;polite&quot;&gt;\n        &lt;span class=&quot;score-label&quot;&gt;Total score&lt;\/span&gt;\n        &lt;span class=&quot;score-value&quot; id=&quot;totalScore&quot;&gt;0 \/ 30&lt;\/span&gt;\n      &lt;\/div&gt;\n    &lt;\/header&gt;\n\n    &lt;div class=&quot;toolbar&quot;&gt;\n      &lt;button type=&quot;button&quot; id=&quot;checkAll&quot;&gt;Check answers&lt;\/button&gt;\n      &lt;button type=&quot;button&quot; class=&quot;secondary&quot; id=&quot;resetAll&quot;&gt;Reset&lt;\/button&gt;\n      &lt;button type=&quot;button&quot; class=&quot;secondary&quot; id=&quot;toggleAnswers&quot; aria-expanded=&quot;false&quot;&gt;Show answers&lt;\/button&gt;\n    &lt;\/div&gt;\n\n    &lt;nav class=&quot;tabs&quot; aria-label=&quot;Exercises&quot;&gt;\n      &lt;button type=&quot;button&quot; class=&quot;tab&quot; id=&quot;tab-ex1&quot; aria-controls=&quot;ex1&quot; aria-selected=&quot;true&quot;&gt;1. Forms&lt;\/button&gt;\n      &lt;button type=&quot;button&quot; class=&quot;tab&quot; id=&quot;tab-ex2&quot; aria-controls=&quot;ex2&quot; aria-selected=&quot;false&quot;&gt;2. Blanks&lt;\/button&gt;\n      &lt;button type=&quot;button&quot; class=&quot;tab&quot; id=&quot;tab-ex3&quot; aria-controls=&quot;ex3&quot; aria-selected=&quot;false&quot;&gt;3. Choice&lt;\/button&gt;\n    &lt;\/nav&gt;\n\n    &lt;section class=&quot;exercise active&quot; id=&quot;ex1&quot; aria-labelledby=&quot;tab-ex1&quot;&gt;\n      &lt;div class=&quot;exercise-head&quot;&gt;\n        &lt;div&gt;\n          &lt;h2&gt;Exercise 1: Affirmative, Negative &amp; Interrogative&lt;\/h2&gt;\n          &lt;p class=&quot;hint&quot;&gt;Write the sentences in the correct form.&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div class=&quot;section-score&quot; id=&quot;score-ex1&quot;&gt;0 \/ 10&lt;\/div&gt;\n      &lt;\/div&gt;\n      &lt;ol class=&quot;question-list&quot; id=&quot;list-ex1&quot;&gt;&lt;\/ol&gt;\n    &lt;\/section&gt;\n\n    &lt;section class=&quot;exercise&quot; id=&quot;ex2&quot; aria-labelledby=&quot;tab-ex2&quot;&gt;\n      &lt;div class=&quot;exercise-head&quot;&gt;\n        &lt;div&gt;\n          &lt;h2&gt;Exercise 2: Fill in the Blanks&lt;\/h2&gt;\n          &lt;p class=&quot;hint&quot;&gt;Complete the sentences with the correct form of the verb in brackets.&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div class=&quot;section-score&quot; id=&quot;score-ex2&quot;&gt;0 \/ 10&lt;\/div&gt;\n      &lt;\/div&gt;\n      &lt;ol class=&quot;question-list&quot; id=&quot;list-ex2&quot;&gt;&lt;\/ol&gt;\n    &lt;\/section&gt;\n\n    &lt;section class=&quot;exercise&quot; id=&quot;ex3&quot; aria-labelledby=&quot;tab-ex3&quot;&gt;\n      &lt;div class=&quot;exercise-head&quot;&gt;\n        &lt;div&gt;\n          &lt;h2&gt;Exercise 3: Multiple Choice&lt;\/h2&gt;\n          &lt;p class=&quot;hint&quot;&gt;Choose the correct answer.&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div class=&quot;section-score&quot; id=&quot;score-ex3&quot;&gt;0 \/ 10&lt;\/div&gt;\n      &lt;\/div&gt;\n      &lt;ol class=&quot;question-list&quot; id=&quot;list-ex3&quot;&gt;&lt;\/ol&gt;\n    &lt;\/section&gt;\n\n    &lt;p class=&quot;feedback&quot; id=&quot;feedback&quot; aria-live=&quot;polite&quot;&gt;&lt;\/p&gt;\n\n    &lt;section class=&quot;answers&quot; id=&quot;answers&quot; hidden&gt;\n      &lt;h3&gt;Answer key&lt;\/h3&gt;\n      &lt;ol id=&quot;answerKey&quot;&gt;&lt;\/ol&gt;\n    &lt;\/section&gt;\n  &lt;\/main&gt;\n\n  &lt;script&gt;\n    const exercises = {\n      ex1: [\n        { prompt: &quot;I \/ like \/ pizza.&quot;, tag: &quot;Affirmative&quot;, answer: [&quot;I like pizza&quot;] },\n        { prompt: &quot;She \/ play \/ tennis.&quot;, tag: &quot;Negative&quot;, answer: [&quot;She doesn&#x27;t play tennis&quot;, &quot;She does not play tennis&quot;] },\n        { prompt: &quot;They \/ live \/ in London.&quot;, tag: &quot;Interrogative&quot;, answer: [&quot;Do they live in London&quot;] },\n        { prompt: &quot;He \/ watch \/ TV every evening.&quot;, tag: &quot;Affirmative&quot;, answer: [&quot;He watches TV every evening&quot;] },\n        { prompt: &quot;We \/ go \/ to school by bus.&quot;, tag: &quot;Negative&quot;, answer: [&quot;We don&#x27;t go to school by bus&quot;, &quot;We do not go to school by bus&quot;] },\n        { prompt: &quot;You \/ speak \/ English.&quot;, tag: &quot;Interrogative&quot;, answer: [&quot;Do you speak English&quot;] },\n        { prompt: &quot;My mother \/ cook \/ dinner.&quot;, tag: &quot;Affirmative&quot;, answer: [&quot;My mother cooks dinner&quot;] },\n        { prompt: &quot;The children \/ like \/ chocolate.&quot;, tag: &quot;Negative&quot;, answer: [&quot;The children don&#x27;t like chocolate&quot;, &quot;The children do not like chocolate&quot;] },\n        { prompt: &quot;Your brother \/ work \/ in a bank.&quot;, tag: &quot;Interrogative&quot;, answer: [&quot;Does your brother work in a bank&quot;] },\n        { prompt: &quot;I \/ read \/ books.&quot;, tag: &quot;Negative&quot;, answer: [&quot;I don&#x27;t read books&quot;, &quot;I do not read books&quot;] }\n      ],\n      ex2: [\n        { prompt: &quot;Anna ______ breakfast at 8 o&#x27;clock. (have)&quot;, answer: [&quot;has&quot;] },\n        { prompt: &quot;I ______ coffee in the morning. (drink)&quot;, answer: [&quot;drink&quot;] },\n        { prompt: &quot;My parents ______ in Athens. (live)&quot;, answer: [&quot;live&quot;] },\n        { prompt: &quot;Tom ______ football on Saturdays. (play)&quot;, answer: [&quot;plays&quot;] },\n        { prompt: &quot;We ______ TV after dinner. (watch)&quot;, answer: [&quot;watch&quot;] },\n        { prompt: &quot;She ______ to music every day. (listen)&quot;, answer: [&quot;listens&quot;] },\n        { prompt: &quot;The dog ______ in the garden. (sleep)&quot;, answer: [&quot;sleeps&quot;] },\n        { prompt: &quot;You ______ English very well. (speak)&quot;, answer: [&quot;speak&quot;] },\n        { prompt: &quot;Nick ______ his homework after school. (do)&quot;, answer: [&quot;does&quot;] },\n        { prompt: &quot;They ______ to music in the car. (listen)&quot;, answer: [&quot;listen&quot;] }\n      ],\n      ex3: [\n        { prompt: &quot;He ______ to school every day.&quot;, choices: [&quot;go&quot;, &quot;goes&quot;, &quot;going&quot;], answer: &quot;goes&quot; },\n        { prompt: &quot;They ______ English on Mondays.&quot;, choices: [&quot;study&quot;, &quot;studies&quot;, &quot;studying&quot;], answer: &quot;study&quot; },\n        { prompt: &quot;She ______ coffee.&quot;, choices: [&quot;doesn&#x27;t like&quot;, &quot;don&#x27;t like&quot;, &quot;doesn&#x27;t likes&quot;], answer: &quot;doesn&#x27;t like&quot; },\n        { prompt: &quot;______ you live in Greece?&quot;, choices: [&quot;Does&quot;, &quot;Are&quot;, &quot;Do&quot;], answer: &quot;Do&quot; },\n        { prompt: &quot;My brother ______ football.&quot;, choices: [&quot;playing&quot;, &quot;plays&quot;, &quot;play&quot;], answer: &quot;plays&quot; },\n        { prompt: &quot;We ______ get up early on Sundays.&quot;, choices: [&quot;aren&#x27;t&quot;, &quot;doesn&#x27;t&quot;, &quot;don&#x27;t&quot;], answer: &quot;don&#x27;t&quot; },\n        { prompt: &quot;______ she work in a hospital?&quot;, choices: [&quot;Does&quot;, &quot;Do&quot;, &quot;Is&quot;], answer: &quot;Does&quot; },\n        { prompt: &quot;I ______ my room every Saturday.&quot;, choices: [&quot;cleaning&quot;, &quot;clean&quot;, &quot;cleans&quot;], answer: &quot;clean&quot; },\n        { prompt: &quot;The cat ______ milk.&quot;, choices: [&quot;drinks&quot;, &quot;drink&quot;, &quot;drinking&quot;], answer: &quot;drinks&quot; },\n        { prompt: &quot;My friends ______ like fish.&quot;, choices: [&quot;doesn&#x27;t&quot;, &quot;aren&#x27;t&quot;, &quot;don&#x27;t&quot;], answer: &quot;don&#x27;t&quot; }\n      ]\n    };\n\n    const normalize = (value) =&gt; value\n      .trim()\n      .toLowerCase()\n      .replace(\/[?.!]+$\/g, &quot;&quot;)\n      .replace(\/[&#x27;]\/g, &quot;&#x27;&quot;)\n      .replace(\/\\s+\/g, &quot; &quot;);\n\n    function isTextCorrect(value, answers) {\n      return answers.map(normalize).includes(normalize(value));\n    }\n\n    function renderTextExercise(sectionId) {\n      const list = document.getElementById(`list-${sectionId}`);\n      list.innerHTML = &quot;&quot;;\n\n      exercises[sectionId].forEach((item, index) =&gt; {\n        const li = document.createElement(&quot;li&quot;);\n        li.className = &quot;question&quot;;\n        li.dataset.answer = JSON.stringify(item.answer);\n\n        const wrap = document.createElement(&quot;div&quot;);\n        const prompt = document.createElement(&quot;div&quot;);\n        prompt.className = &quot;prompt&quot;;\n        prompt.textContent = item.prompt;\n\n        if (item.tag) {\n          const tag = document.createElement(&quot;span&quot;);\n          tag.className = &quot;form-tag&quot;;\n          tag.textContent = item.tag;\n          prompt.appendChild(document.createElement(&quot;br&quot;));\n          prompt.appendChild(tag);\n        }\n\n        const row = document.createElement(&quot;div&quot;);\n        row.className = &quot;answer-row&quot;;\n\n        const input = document.createElement(&quot;input&quot;);\n        input.type = &quot;text&quot;;\n        input.autocomplete = &quot;off&quot;;\n        input.setAttribute(&quot;aria-label&quot;, `Answer ${index + 1}`);\n\n        const status = document.createElement(&quot;span&quot;);\n        status.className = &quot;status&quot;;\n        status.setAttribute(&quot;aria-live&quot;, &quot;polite&quot;);\n\n        row.append(input, status);\n        wrap.append(prompt, row);\n        li.appendChild(wrap);\n        list.appendChild(li);\n      });\n    }\n\n    function renderChoiceExercise() {\n      const list = document.getElementById(&quot;list-ex3&quot;);\n      list.innerHTML = &quot;&quot;;\n\n      exercises.ex3.forEach((item, index) =&gt; {\n        const li = document.createElement(&quot;li&quot;);\n        li.className = &quot;question&quot;;\n        li.dataset.answer = item.answer;\n\n        const wrap = document.createElement(&quot;div&quot;);\n        const prompt = document.createElement(&quot;div&quot;);\n        prompt.className = &quot;prompt&quot;;\n        prompt.textContent = item.prompt;\n\n        const choices = document.createElement(&quot;div&quot;);\n        choices.className = &quot;choices&quot;;\n\n        item.choices.forEach((choice, choiceIndex) =&gt; {\n          const label = document.createElement(&quot;label&quot;);\n          label.className = &quot;choice&quot;;\n\n          const input = document.createElement(&quot;input&quot;);\n          input.type = &quot;radio&quot;;\n          input.name = `choice-${index}`;\n          input.value = choice;\n\n          const text = document.createElement(&quot;span&quot;);\n          text.textContent = `${String.fromCharCode(97 + choiceIndex)}. ${choice}`;\n\n          label.append(input, text);\n          choices.appendChild(label);\n        });\n\n        const status = document.createElement(&quot;div&quot;);\n        status.className = &quot;status&quot;;\n        status.setAttribute(&quot;aria-live&quot;, &quot;polite&quot;);\n\n        wrap.append(prompt, choices, status);\n        li.appendChild(wrap);\n        list.appendChild(li);\n      });\n    }\n\n    function checkTextExercise(sectionId) {\n      let correct = 0;\n      document.querySelectorAll(`#list-${sectionId} .question`).forEach((question) =&gt; {\n        const input = question.querySelector(&quot;input&quot;);\n        const status = question.querySelector(&quot;.status&quot;);\n        const answers = JSON.parse(question.dataset.answer);\n        const ok = isTextCorrect(input.value, answers);\n        question.classList.toggle(&quot;correct&quot;, ok);\n        question.classList.toggle(&quot;wrong&quot;, input.value.trim() !== &quot;&quot; &amp;&amp; !ok);\n        status.textContent = ok ? &quot;Correct&quot; : input.value.trim() ? &quot;Try again&quot; : &quot;&quot;;\n        status.className = `status ${ok ? &quot;correct&quot; : input.value.trim() ? &quot;wrong&quot; : &quot;&quot;}`;\n        if (ok) correct += 1;\n      });\n      return correct;\n    }\n\n    function checkChoiceExercise() {\n      let correct = 0;\n      document.querySelectorAll(&quot;#list-ex3 .question&quot;).forEach((question) =&gt; {\n        const selected = question.querySelector(&quot;input:checked&quot;);\n        const status = question.querySelector(&quot;.status&quot;);\n        const ok = selected &amp;&amp; selected.value === question.dataset.answer;\n        question.classList.toggle(&quot;correct&quot;, Boolean(ok));\n        question.classList.toggle(&quot;wrong&quot;, Boolean(selected &amp;&amp; !ok));\n        status.textContent = ok ? &quot;Correct&quot; : selected ? &quot;Try again&quot; : &quot;&quot;;\n        status.className = `status ${ok ? &quot;correct&quot; : selected ? &quot;wrong&quot; : &quot;&quot;}`;\n        if (ok) correct += 1;\n      });\n      return correct;\n    }\n\n    function updateScores() {\n      const ex1 = checkTextExercise(&quot;ex1&quot;);\n      const ex2 = checkTextExercise(&quot;ex2&quot;);\n      const ex3 = checkChoiceExercise();\n      const total = ex1 + ex2 + ex3;\n      document.getElementById(&quot;score-ex1&quot;).textContent = `${ex1} \/ 10`;\n      document.getElementById(&quot;score-ex2&quot;).textContent = `${ex2} \/ 10`;\n      document.getElementById(&quot;score-ex3&quot;).textContent = `${ex3} \/ 10`;\n      document.getElementById(&quot;totalScore&quot;).textContent = `${total} \/ 30`;\n      document.getElementById(&quot;feedback&quot;).textContent = total === 30\n        ? &quot;Excellent! All answers are correct.&quot;\n        : `You have ${total} correct answers. Keep going.`;\n    }\n\n    function resetAll() {\n      document.querySelectorAll(&quot;input[type=&#x27;text&#x27;]&quot;).forEach((input) =&gt; {\n        input.value = &quot;&quot;;\n      });\n      document.querySelectorAll(&quot;input[type=&#x27;radio&#x27;]&quot;).forEach((input) =&gt; {\n        input.checked = false;\n      });\n      document.querySelectorAll(&quot;.question&quot;).forEach((question) =&gt; {\n        question.classList.remove(&quot;correct&quot;, &quot;wrong&quot;);\n      });\n      document.querySelectorAll(&quot;.status&quot;).forEach((status) =&gt; {\n        status.textContent = &quot;&quot;;\n        status.className = &quot;status&quot;;\n      });\n      document.getElementById(&quot;score-ex1&quot;).textContent = &quot;0 \/ 10&quot;;\n      document.getElementById(&quot;score-ex2&quot;).textContent = &quot;0 \/ 10&quot;;\n      document.getElementById(&quot;score-ex3&quot;).textContent = &quot;0 \/ 10&quot;;\n      document.getElementById(&quot;totalScore&quot;).textContent = &quot;0 \/ 30&quot;;\n      document.getElementById(&quot;feedback&quot;).textContent = &quot;&quot;;\n    }\n\n    function renderAnswerKey() {\n      const answerKey = document.getElementById(&quot;answerKey&quot;);\n      const items = [\n        ...exercises.ex1.map((item) =&gt; item.answer[0]),\n        ...exercises.ex2.map((item) =&gt; item.answer[0]),\n        ...exercises.ex3.map((item) =&gt; item.answer)\n      ];\n      answerKey.innerHTML = &quot;&quot;;\n      items.forEach((answer) =&gt; {\n        const li = document.createElement(&quot;li&quot;);\n        li.textContent = answer;\n        answerKey.appendChild(li);\n      });\n    }\n\n    document.querySelectorAll(&quot;.tab&quot;).forEach((tab) =&gt; {\n      tab.addEventListener(&quot;click&quot;, () =&gt; {\n        document.querySelectorAll(&quot;.tab&quot;).forEach((button) =&gt; {\n          button.setAttribute(&quot;aria-selected&quot;, &quot;false&quot;);\n        });\n        document.querySelectorAll(&quot;.exercise&quot;).forEach((section) =&gt; {\n          section.classList.remove(&quot;active&quot;);\n        });\n        tab.setAttribute(&quot;aria-selected&quot;, &quot;true&quot;);\n        document.getElementById(tab.getAttribute(&quot;aria-controls&quot;)).classList.add(&quot;active&quot;);\n      });\n    });\n\n    document.getElementById(&quot;checkAll&quot;).addEventListener(&quot;click&quot;, updateScores);\n    document.getElementById(&quot;resetAll&quot;).addEventListener(&quot;click&quot;, resetAll);\n    document.getElementById(&quot;toggleAnswers&quot;).addEventListener(&quot;click&quot;, (event) =&gt; {\n      const answers = document.getElementById(&quot;answers&quot;);\n      const shouldShow = answers.hidden;\n      answers.hidden = !shouldShow;\n      event.currentTarget.textContent = shouldShow ? &quot;Hide answers&quot; : &quot;Show answers&quot;;\n      event.currentTarget.setAttribute(&quot;aria-expanded&quot;, String(shouldShow));\n    });\n\n    renderTextExercise(&quot;ex1&quot;);\n    renderTextExercise(&quot;ex2&quot;);\n    renderChoiceExercise();\n    renderAnswerKey();\n  &lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n\" style=\"width:100%;min-height:1700px;border:0;border-radius:8px;background:#eef3f8;display:block;\" loading=\"lazy\"><\/iframe>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>&larr; Back to exercises<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":9619,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"footnotes":""},"class_list":["post-11654","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/11654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/comments?post=11654"}],"version-history":[{"count":1,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/11654\/revisions"}],"predecessor-version":[{"id":13729,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/11654\/revisions\/13729"}],"up":[{"embeddable":true,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/9619"}],"wp:attachment":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/media?parent=11654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}