{"id":769,"date":"2026-03-19T14:54:11","date_gmt":"2026-03-19T14:54:11","guid":{"rendered":"https:\/\/kursevikonverzacije.com\/blog\/exercise-modal-verbs-in-the-past-srednji\/"},"modified":"2026-03-26T20:31:27","modified_gmt":"2026-03-26T20:31:27","slug":"exercise-modal-verbs-in-the-past-srednji","status":"publish","type":"post","link":"https:\/\/kursevikonverzacije.com\/blog\/exercise-modal-verbs-in-the-past-srednji\/","title":{"rendered":"Exercise: Modal Verbs in the Past (intermediate)"},"content":{"rendered":"\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><\/summary>\n<div id=\"exercise-root\"><\/div>\n\n<style>\n\/* Stilovi za ve\u017ebu *\/\n#exercise-root {\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    max-width: 800px;\n    margin: 0 auto;\n    background: #f8f9fa;\n    padding: 25px;\n    border-radius: 12px;\n    box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n}\n\n.exercise-title {\n    color: #1e3c72;\n    margin: 0 0 5px 0;\n    font-size: 24px;\n}\n\n.exercise-subtitle {\n    color: #666;\n    margin-top: 0;\n    margin-bottom: 25px;\n    font-style: italic;\n    border-bottom: 2px solid #e0e0e0;\n    padding-bottom: 10px;\n}\n\n.exercise-item {\n    background: white;\n    padding: 20px;\n    margin-bottom: 20px;\n    border-radius: 8px;\n    box-shadow: 0 1px 3px rgba(0,0,0,0.05);\n    border-left: 4px solid #4a90e2;\n}\n\n.sentence {\n    margin-bottom: 15px;\n    font-size: 18px;\n    line-height: 1.5;\n    color: #2c3e50;\n}\n\n.blank-space {\n    background: #fff3cd;\n    padding: 2px 8px;\n    border-radius: 4px;\n    font-weight: bold;\n    color: #856404;\n    display: inline-block;\n    margin: 0 2px;\n}\n\n.input-group {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 10px;\n    margin: 15px 0 10px 0;\n}\n\n.input-group input[type=\"text\"] {\n    flex: 1;\n    min-width: 150px;\n    padding: 10px 12px;\n    border: 2px solid #e0e0e0;\n    border-radius: 6px;\n    font-size: 15px;\n    transition: border-color 0.3s;\n}\n\n.input-group input[type=\"text\"]:focus {\n    outline: none;\n    border-color: #4a90e2;\n}\n\n.btn {\n    padding: 10px 16px;\n    border: none;\n    border-radius: 6px;\n    cursor: pointer;\n    font-size: 14px;\n    font-weight: 500;\n    transition: all 0.3s;\n    background: #f0f0f0;\n    color: #333;\n}\n\n.btn-primary {\n    background: #4a90e2;\n    color: white;\n}\n\n.btn-primary:hover {\n    background: #357abd;\n}\n\n.btn-success {\n    background: #28a745;\n    color: white;\n}\n\n.btn-success:hover {\n    background: #218838;\n}\n\n.btn-info {\n    background: #17a2b8;\n    color: white;\n}\n\n.btn-info:hover {\n    background: #138496;\n}\n\n.btn-warning {\n    background: #ffc107;\n    color: #333;\n}\n\n.btn-warning:hover {\n    background: #e0a800;\n}\n\n.btn-danger {\n    background: #dc3545;\n    color: white;\n}\n\n.btn-danger:hover {\n    background: #c82333;\n}\n\n.result {\n    margin-left: 10px;\n    font-weight: bold;\n    font-size: 16px;\n}\n\n.result.correct {\n    color: #28a745;\n}\n\n.result.incorrect {\n    color: #dc3545;\n}\n\n.explanation {\n    margin-top: 15px;\n    padding: 15px;\n    background: #e8f4fd;\n    border-radius: 6px;\n    border-left: 3px solid #4a90e2;\n    font-size: 15px;\n    line-height: 1.5;\n    color: #1e3c72;\n    display: none;\n}\n\n.explanation.show {\n    display: block;\n}\n\n.control-buttons {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n    margin-top: 30px;\n    padding-top: 20px;\n    border-top: 2px solid #e0e0e0;\n}\n\n.correct-answer {\n    background: #d4edda !important;\n    border-color: #28a745 !important;\n}\n<\/style>\n\n<script>\n\/\/ Sa\u010dekaj da se DOM u\u010dita\nif (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initExercise);\n} else {\n    initExercise();\n}\n\nfunction initExercise() {\n    const exerciseData = {\n        \"type\": \"fill_in_the_blank\",\n        \"title\": \"Fill in the Blanks: Modal Verbs in the Past\",\n        \"subtitle\": \"intermediate level\",\n        \"items\": [\n            {\n                \"id\": \"1\",\n                \"sentence\": \"I ___ have studied more for the test; I failed it.\",\n                \"answer\": \"should\",\n                \"accepted\": [\"should\", \"ought to\"],\n                \"explanation\": \"Use 'should have' or 'ought to have' + past participle to express a past regret or missed obligation.\"\n            },\n            {\n                \"id\": \"2\",\n                \"sentence\": \"He ___ have taken the earlier train; he arrived an hour late.\",\n                \"answer\": \"could\",\n                \"accepted\": [\"could\", \"might\"],\n                \"explanation\": \"Use 'could have' or 'might have' + past participle to express a past possibility that did not happen.\"\n            },\n            {\n                \"id\": \"3\",\n                \"sentence\": \"You ___ have told me you were coming! I would have prepared dinner.\",\n                \"answer\": \"might\",\n                \"accepted\": [\"might\", \"could\"],\n                \"explanation\": \"Use 'might have' or 'could have' + past participle to express a past possibility or missed opportunity.\"\n            },\n            {\n                \"id\": \"4\",\n                \"sentence\": \"They ___ have arrived by now. Their flight landed two hours ago.\",\n                \"answer\": \"must\",\n                \"accepted\": [\"must\"],\n                \"explanation\": \"Use 'must have' + past participle to express a logical deduction or certainty about a past event.\"\n            },\n            {\n                \"id\": \"5\",\n                \"sentence\": \"She was very tired. She ___ have slept well last night.\",\n                \"answer\": \"can't\",\n                \"accepted\": [\"can't\", \"couldn't\"],\n                \"explanation\": \"Use 'can't have' or 'couldn't have' + past participle to express disbelief or certainty that something did NOT happen in the past.\"\n            },\n            {\n                \"id\": \"6\",\n                \"sentence\": \"We ___ have booked the tickets in advance; they're all sold out now.\",\n                \"answer\": \"should\",\n                \"accepted\": [\"should\", \"ought to\"],\n                \"explanation\": \"Use 'should have' or 'ought to have' + past participle to express a past regret or missed obligation.\"\n            },\n            {\n                \"id\": \"7\",\n                \"sentence\": \"The phone is ringing. Who ___ that be at this hour?\",\n                \"answer\": \"could\",\n                \"accepted\": [\"could\", \"might\"],\n                \"explanation\": \"Use 'could' or 'might' to express present possibility. (Note: This is a present modal for variety, showing deduction about a present situation).\"\n            },\n            {\n                \"id\": \"8\",\n                \"sentence\": \"I called three times but got no answer. He ___ have left his phone at home.\",\n                \"answer\": \"must\",\n                \"accepted\": [\"must\"],\n                \"explanation\": \"Use 'must have' + past participle to express a logical deduction or certainty about a past event based on evidence.\"\n            },\n            {\n                \"id\": \"9\",\n                \"sentence\": \"You were not allowed to enter. You ___ have brought your ID.\",\n                \"answer\": \"should\",\n                \"accepted\": [\"should\", \"ought to\"],\n                \"explanation\": \"Use 'should have' or 'ought to have' + past participle to express a past regret or missed obligation (advice after the fact).\"\n            },\n            {\n                \"id\": \"10\",\n                \"sentence\": \"Look at the muddy footprints! The dog ___ have come inside.\",\n                \"answer\": \"must\",\n                \"accepted\": [\"must\"],\n                \"explanation\": \"Use 'must have' + past participle to express a logical deduction or certainty about a past event based on evidence.\"\n            }\n        ]\n    };\n\n    const root = document.getElementById('exercise-root');\n    if (!root) return;\n    \n    \/\/ Kreiraj HTML strukturu\n    let html = `\n        <h2 class=\"exercise-title\">${exerciseData.title}<\/h2>\n        <p class=\"exercise-subtitle\">${exerciseData.subtitle}<\/p>\n        <div id=\"items-container\">\n    `;\n\n    exerciseData.items.forEach((item) => {\n        const sentenceParts = item.sentence.split('___');\n        html += `\n            <div class=\"exercise-item\" data-id=\"${item.id}\">\n                <div class=\"sentence\">\n                    ${sentenceParts[0]}<span class=\"blank-space\">_____<\/span>${sentenceParts[1]}\n                <\/div>\n                <div class=\"input-group\">\n                    <input type=\"text\" id=\"input-${item.id}\" placeholder=\"type your answer...\" autocomplete=\"off\">\n                    <button class=\"btn btn-primary\" onclick=\"window.checkAnswer('${item.id}')\">Check<\/button>\n                    <button class=\"btn btn-info\" onclick=\"window.showAnswer('${item.id}')\">Show<\/button>\n                    <button class=\"btn btn-warning\" onclick=\"window.toggleExplanation('${item.id}')\">Explain<\/button>\n                    <span id=\"result-${item.id}\" class=\"result\"><\/span>\n                <\/div>\n                <div id=\"explanation-${item.id}\" class=\"explanation\">\n                    <strong>\ud83d\udca1 Explanation:<\/strong> ${item.explanation}\n                <\/div>\n            <\/div>\n        `;\n    });\n\n    html += `\n        <\/div>\n        <div class=\"control-buttons\">\n            <button class=\"btn btn-success\" onclick=\"window.checkAllAnswers()\">\u2713 Check All<\/button>\n            <button class=\"btn btn-info\" onclick=\"window.showAllExplanations()\">\ud83d\udcda Show All Explanations<\/button>\n            <button class=\"btn btn-danger\" onclick=\"window.resetExercise()\">\u21ba Reset<\/button>\n        <\/div>\n    `;\n\n    root.innerHTML = html;\n\n    \/\/ Globalne funkcije\n    window.checkAnswer = function(id) {\n        const input = document.getElementById(`input-${id}`);\n        const result = document.getElementById(`result-${id}`);\n        const item = exerciseData.items.find(i => i.id === id);\n        const userAnswer = input.value.trim().toLowerCase();\n        \n        const isCorrect = item.accepted.some(accepted => \n            accepted.toLowerCase() === userAnswer\n        );\n        \n        if (isCorrect) {\n            result.innerHTML = '\u2713 Correct!';\n            result.className = 'result correct';\n            input.style.borderColor = '#28a745';\n            input.classList.add('correct-answer');\n        } else {\n            result.innerHTML = '\u2717 Incorrect';\n            result.className = 'result incorrect';\n            input.style.borderColor = '#dc3545';\n            input.classList.remove('correct-answer');\n        }\n    };\n\n    window.showAnswer = function(id) {\n        const input = document.getElementById(`input-${id}`);\n        const item = exerciseData.items.find(i => i.id === id);\n        input.value = item.answer;\n        window.checkAnswer(id);\n    };\n\n    window.toggleExplanation = function(id) {\n        const explanation = document.getElementById(`explanation-${id}`);\n        explanation.classList.toggle('show');\n    };\n\n    window.checkAllAnswers = function() {\n        exerciseData.items.forEach(item => {\n            window.checkAnswer(item.id);\n        });\n    };\n\n    window.showAllExplanations = function() {\n        exerciseData.items.forEach(item => {\n            document.getElementById(`explanation-${item.id}`).classList.add('show');\n        });\n    };\n\n    window.resetExercise = function() {\n        exerciseData.items.forEach(item => {\n            const input = document.getElementById(`input-${item.id}`);\n            const result = document.getElementById(`result-${item.id}`);\n            const explanation = document.getElementById(`explanation-${item.id}`);\n            \n            input.value = '';\n            input.style.borderColor = '#e0e0e0';\n            input.classList.remove('correct-answer');\n            result.innerHTML = '';\n            result.className = 'result';\n            explanation.classList.remove('show');\n        });\n    };\n}\n<\/script>\n<\/details>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[13],"class_list":["post-769","post","type-post","status-publish","format-standard","hentry","category-gramatika","tag-modali-u-proslosti"],"_links":{"self":[{"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/posts\/769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/comments?post=769"}],"version-history":[{"count":5,"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/posts\/769\/revisions"}],"predecessor-version":[{"id":774,"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/posts\/769\/revisions\/774"}],"wp:attachment":[{"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/media?parent=769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/categories?post=769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kursevikonverzacije.com\/blog\/wp-json\/wp\/v2\/tags?post=769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}