您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Počítání váženého průměru známek bakaláři
当前为
// ==UserScript== // @name Počítání váženého průměru bakaláři // @namespace none // @version 2.1 // @description Počítání váženého průměru známek bakaláři // @author Tomáš Falešník (2015) // @match http://znamky.zsunesco.cz/* // @grant none // ==/UserScript== //Created by Tomáš Falešník 2015 (see the license file) function $x(path){ var xpath = document.evaluate(path, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); var temp = []; for (var i = xpath.snapshotLength - 1; i >= 0; i--) { temp.push(xpath.snapshotItem(i)); } return temp; } function MarksNeededToGetSpecifiedMark(crrZn, crrVh ) { var result = parseFloat(0.1); var running = true; var weightOfUsedMark = parseFloat(6); var usedMark = parseFloat(1); var multiplier = parseFloat(1); var wantedMark = parseFloat(1.5); var firstCycle = true; while(running){ temp = parseFloat((parseFloat(crrZn + (usedMark * weightOfUsedMark) * multiplier)) / (parseFloat(crrVh + weightOfUsedMark * multiplier))); if(temp <= 1.5){ if(firstCycle){ return multiplier - 1; }else{ return multiplier; } }else{ multiplier += 1; } firstCycle = false; } } var predmety = $x("//div[@class='nazevprdiv']/a"); var mainRoute = $x("//div[@class='nazevprdiv']"); for (var i = 0; predmety.length > i; i++) { var currentVahy = 0; var currentZnamky = 0; var vaha = 0; var secteneZnamky = 0; var secteneVahy = 0; var nazev = predmety[i].innerHTML; var znamky = $x("//div[@class='nazevprdiv' and ./a[text()='"+nazev+"']]/../../td/table/tbody/tr[@class='detznamka']/td"); var vahy = $x("//div[@class='nazevprdiv' and ./a[text()='"+nazev+"']]/../../td/table/tbody/tr[@class='typ']/td"); for (var o = 0; znamky.length > o; o++) { switch (vahy[o].innerHTML) { case "D": vaha = 6; break; case "M": vaha = 4; break; case "F": vaha = 3; break; case "T": vaha = 2; break; case "C": vaha = 10; break; case "O": vaha = 3; break; case "P": vaha = 6; break; case "L": vaha = 4; break; case "A": vaha = 1; break; } if(znamky[o].innerHTML != "A" && znamky[o].innerHTML != "X" && znamky[o].innerHTML != "?" && znamky[o].innerHTML != "N"){ secteneZnamky += parseInt(vaha) * parseInt(znamky[o].innerHTML); secteneVahy += parseInt(vaha); currentVahy += parseInt(vaha); currentZnamky += parseInt(vaha) * parseInt(znamky[o].innerHTML); } } var vysledek = parseInt(secteneZnamky) / parseInt(secteneVahy); mainRoute[i].innerHTML = mainRoute[i].innerHTML + '<div class="nazevpr" style="text-align:left;font-size:9pt;text-decoration:none;">Průměr: <span style="text-decoration: underline;color: #671d15;">' + vysledek + '</span></div><div class="nazevpr" style="text-align:left;font-size:8pt;text-decoration:none;">Počet jedniček s váhou 6 potřebný k tomu,<br> aby tvůj průměr byl pod 1.5: <span style="font-size:9pt; text-decoration: underline;color: #671d15;">' + MarksNeededToGetSpecifiedMark(currentZnamky, currentVahy) + '</span></div>'; //console.log(nazev + ": " + multiplier + " " + temp + " currentZnamky: " + currentZnamky + " currentVahy: " + currentVahy); //Just for debugging (not useable now cuz i moved code to the function MarksNeededToGetSpecifiedMark) currntZnamky = 0; currentVahy = 0; }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址