{"id":576368,"student_id":2589,"content":"{\"html\":\"\u003c!DOCTYPE html\u003e\\n\u003chtml\u003e\\n\u003chead\u003e\\n\\t\u003ctitle\u003eDocument\u003c/title\u003e\\n\u003c/head\u003e\\n\u003cbody\u003e\\n \u003cdiv id=\\\"question\\\"\u003e\\n \u003cp\u003e請依照以下步驟進行綜合練習:\u003c/p\u003e\\n \u003cp\u003e1. 搭配過去學過的演算法知識(最短優先),來閱讀練習頁面中的 JavaScript。\u003c/p\u003e\\n \u003cp\u003e2. 修改練習頁面中的 JavaScript,讓執行後網頁上的顯示文字與下方相同。\u003c/p\u003e\\n \u003c/div\u003e\\n \u003cdiv id=\\\"screenshot\\\"\u003e\\n \u003cp\u003e題目:\u003c/p\u003e\\n \u003cdiv id=\\\"log\\\"\u003eloading...\u003c/div\u003e\\n \u003c/div\u003e\\n \u003cdiv id=\\\"screenshot\\\"\u003e\\n \u003cp\u003e解答:\u003c/p\u003e\\n \u003cdiv id=\\\"code\\\"\u003eloading...\u003c/div\u003e\\n \u003c/div\u003e\\n\u003c/body\u003e\\n\u003c/html\u003e\",\"css\":\"* {\\n margin: 0;\\n padding: 0;\\n box-sizing: border-box;\\n font-size: 16px;\\n}\\n\\nhtml, body {\\n width: 100%;\\n height: 100%;\\n background-color: #333;\\n padding: 10px;\\n}\\n\\np {\\n color: white;\\n margin-bottom: 10px;\\n}\\n\\n#log {\\n color: #03F501;\\n padding: 10px;\\n border: 1px solid white;\\n border-radius: 5px;\\n}\\n\\n#code {\\n color: #03F501;\\n padding: 10px;\\n border: 1px solid white;\\n border-radius: 5px;\\n overflow-x: scroll;\\n}\\n\\n#question {\\n height: 130px;\\n border: 1px solid white;\\n padding: 20px;\\n margin-bottom: 10px;\\n}\\n\\n#screenshot {\\n border: 1px solid white;\\n padding: 20px;\\n margin-bottom: 10px;\\n}\",\"js\":\"function shortestJobFirst(processes) {\\n const sortedProcesses = [...processes];\\n sortedProcesses.sort((a, b) =\u003e a.executionTime - b.executionTime);\\n let currentTime = 0;\\n let waitingTime = 0;\\n for (let i = 0; i \u003c sortedProcesses.length; i++) {\\n const process = sortedProcesses[i];\\n waitingTime += currentTime;\\n currentTime += process.executionTime;\\n let {id, executionTime} = process\\n console.log(`Process ${id}: 執行時間 ${executionTime}, 等待時間 ${waitingTime}`);\\n }\\n}\\n\\nconst processes = [\\n { id: 1, executionTime: 6 },\\n { id: 2, executionTime: 2 },\\n { id: 3, executionTime: 8 },\\n { id: 4, executionTime: 3 },\\n { id: 5, executionTime: 4 },\\n];\\n\\nshortestJobFirst(processes);\\n\"}","created_at":"2023-07-28T11:03:07.768+08:00","updated_at":"2023-07-31T12:42:04.105+08:00","name":"【綜合練習】排程演算法:實作 3 - 解答","language":"web","screenshot":{"url":null},"parent_id":576367,"plugin":"(function () {\n if (!console) {\n console = {};\n }\n var old = console.log;\n var logger = document.getElementById('log');\n logger.innerHTML = \"\"\n console.log = function (message) {\n if (typeof message == 'object') {\n logger.innerHTML += (JSON \u0026\u0026 JSON.stringify ? JSON.stringify(message) : String(message)) + '\u003cbr /\u003e';\n } else {\n logger.innerHTML += message + '\u003cbr /\u003e';\n }\n }\n})();\n\ndocument.querySelector(\"#code\").innerHTML = `\u003cpre\u003e// 最短優先函式\nfunction shortestJobFirst(processes) {\n const sortedProcesses = [...processes]; // 複製一份原始的作業列表\n sortedProcesses.sort((a, b) =\u003e a.executionTime - b.executionTime); // 根據執行時間對作業進行排序\n let currentTime = 0; // 目前的時間\n let waitingTime = 0; // 等待時間總和\n for (let i = 0; i \u003c sortedProcesses.length; i++) {\n const process = sortedProcesses[i]; // 取出一個作業\n waitingTime += currentTime; // 累加等待時間\n currentTime += process.executionTime; // 更新目前時間\n let { id, executionTime } = process; // 取出作業的 ID 和執行時間\n console.log(\\`Process \\${id}: 執行時間 \\${executionTime}, 等待時間 \\${waitingTime}\\`);\n }\n}\n\n// 定義作業列表\nconst processes = [\n { id: 1, executionTime: 6 },\n { id: 2, executionTime: 2 },\n { id: 3, executionTime: 8 },\n { id: 4, executionTime: 3 },\n { id: 5, executionTime: 4 },\n];\n\n// 呼叫最短優先函式,傳入作業列表\nshortestJobFirst(processes);\n\u003c/pre\u003e`\n","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":35,"hashid":"kdmsjryrj","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":13055762,"file_name":"koding.png","project_id":576368,"asset_id":664773,"created_at":"2023-07-28T11:03:12.576+08:00","updated_at":"2023-07-28T11:03:12.576+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
截圖
前往網站頁面
1:1:1
1:1
full
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦