lehrkraefte:blc:miniaufgaben:kw19-2017

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

lehrkraefte:blc:miniaufgaben:kw19-2017 [2017/05/04 10:37] – created Ivo Blöchligerlehrkraefte:blc:miniaufgaben:kw19-2017 [2020/08/09 13:16] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +=== Donnerstag 4. Mai 2017 ===
 +**Achtung**: Diese Aufgabe wird bei jedem Neuladen der Seite zufällig neu generiert.
 +<HTML>
 +<div id="exos"></div>
 +</HTML>
 +Bestimmen Sie die Koeffizienten $a$, $b$, $c$ der obigen quadratischen Gleichung, wenn nach 
 +  - $x$
 +  - $y$
 +  - $z$
 +aufgelöst wird.
 +<JS>
 +function contFrac(v) {
 +    var eps = 0.00001;
 +    var res=[Math.floor(v)];
 +    v = v-res[0];
 +    for (var i=0; i<5; i++) {
 +        if (v<eps || v>1-eps) {
 +            if (v>1-eps) res[res.length-1]++;
 +            return res;
 +        }
 +        v = 1/v;
 +        res[res.length] = Math.floor(v);
 +        v = v-res[res.length-1];
 +    }
 +    return res;
 +}
 +
 +function cFtoTex(cf) {
 +    var denom = 1;
 +    var num = 0;
 +    for (var i = cf.length-1; i>=0 ; i--) {
 +        num = cf[i]*denom+num;
 +        var tmp = num;
 +        num = denom;
 +        denom = tmp;
 +    }
 +    return "\\frac{"+denom+"}{"+num+"}"
 +}
 +
 +function getFraction(v) {
 +    var cf = contFrac(Math.abs(v));
 +    if (cf.length==1) return v;
 +    return (v < 0 ? "-" : "") + cFtoTex(cf);
 +}
 +
 +function coeff(c,v, op) {    
 +    if (c==0) return "";
 +    if (v!="") {
 +        if (c==1) return (op ? "+" : "")+v;
 +        if (c==-1) return "-"+v;
 +        if (c>0) return (op ? "+" : "")+getFraction(c)+v;
 +        return ""+getFraction(c)+v;
 +    } else {
 +        return ((op && (c>0)) ? "+" : "")+getFraction(c);
 +    }
 +}
 +
 +
 +
 +function generate(jQuery, num) {
 +
 +    var randi = function(m) {
 + return Math.floor(Math.random()*m);
 +    };
 +    var randCoeff = function(exps) {
 + if (exps[0]==0) {
 +     exps[0]=randi(10)-4;
 +     if (exps[0]<1) {
 + exps[0]-=1;
 +     }
 + }
 + for (var i=1; i<exps.length; i++) {
 +     if (exps[i]==-1) {
 + exps[i] = randi(3);
 +     }
 + }
 + return exps;
 +    };
 +    var randExp = function() {
 + var res = [];
 + for (var i=1; i<3; i++) {
 +     res.push(randCoeff([0,i,-1,-1]));
 +     res.push(randCoeff([0,-1,i,-1]));
 +     res.push(randCoeff([0,-1,-1,i]));
 + }
 + for (var i=0; i<res.length; i++) {
 +     for (var j=i+1; j<res.length; j++) {
 + if (res[i][1]==res[j][1] &&
 +     res[i][2]==res[j][2] &&
 +     res[i][3]==res[j][3]) {
 +     res[i][0] += res[j][0];
 +     res.splice(j,1);
 +     j-=1;
 +     if (res[i][0]==0) {
 + res.splice(i,1);
 + i-=1;
 + j=res.length;
 +     }
 + }
 +     }
 + }
 + return res;
 +    }
 +    var pow = function(base, exp) {
 + if (exp==0) {
 +     return "";
 + } else if (exp==1) {
 +     return base;
 +
 + return base+"^{"+exp+"}";
 +    }
 +
 +    for (var i=0; i<num; i++) {
 + var e = randExp();
 + var ex = "";
 + for (var j=0; j<e.length; j++) {
 +     var name = pow("x", e[j][1])+pow("y", e[j][2])+pow("z", e[j][3]);
 +     ex += coeff(e[j][0], name, j!=0);     
 + }
 + ex = "$$"+ex+"=0$$";
 + jQuery("#exos").append(ex);
 + sol = ""
 + for (var v=1; v<4; v++) {
 +     sol += "Nach $"+["","x", "y", "z"][v]+"$ auflösen: ";
 +     for (var exp=2; exp>=0; exp--) {
 + var abc = "";
 + for (var j=0; j<e.length; j++) {
 +     if (e[j][v]==exp) {
 + var name = "";
 + for (var k=1; k<=3; k++) {
 +     if (k!=v) {
 + name += pow(["","x","y","z"][k],e[j][k]);
 +     }
 + }
 + abc += coeff(e[j][0], name, abc!="");
 +     }
 + }
 + if (abc=="") {
 +     abc="0";
 + }
 + sol += "$"+["c", "b", "a"][exp]+"="+abc+"$"+(exp!=0 ? ", " : "");
 +     }
 +     sol += "<br>\n";
 + }
 + jQuery("#sol").append(sol);
 +    }
 +}
 +jQuery(function() {generate(jQuery ? jQuery : $,1);});
 +
 +</JS>
 +<hidden Lösungen>
 +<HTML>
 +<div id="sol"></div>
 +</HTML>
 +</hidden>