Timpfeiffer/Komplexe Leistung
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
<code id="5c89571c8a184">
function infos(gleichung){
var ae = gleichung.indexOf('x²'), //Ende von a
be = gleichung.indexOf('x', ae + 2); //Ende von b
//a,b,c herausfinden:
var a = gleichung.substring(gleichung.indexOf('=') + 1, ae) * 1,
b = gleichung.substring(ae + 2, be) * 1,
c = gleichung.substring(be + 1) * 1,
p = b / a,
q = c / a;
//Nullstelle:
var x1 = 0,
x2 = 0;
if((p * p / 4) - q < 0){
x1 = 'nicht definiert';
x2 = 'nicht definiert';
}
else if((p * p / 4) - q == 0){
x1 = Number((- (p / 2)).toFixed(3));
x2 = 'nicht definiert';
}
else if((p * p / 4) - q > 0){
x1 = Number((- (p / 2) + Math.sqrt((p * p / 4) - q)).toFixed(3));
x2 = Number((- (p / 2) - Math.sqrt((p * p / 4) - q)).toFixed(3));
}
else return console.error('Die angegebene Funktion konnte nicht verarbeitet werden!');
//Scheitelpunkt:
var x = Number((- (p / 2)).toFixed(3)),
y = Number((a * (- (p * p / 4) + q)).toFixed(3));
//Ausgabe:
console.log(`Nullstelle 1: ${x1}`);
console.log(`Nullstelle 2: ${x2}`);
console.log(`Scheitelpunkt: S(${x}|${y})`);
}
var xAchse = 400 / 2, yAchse = 400 / 2;
function koordinatensystem(canvas, turtle){
canvas.clear();
turtle.hide();
turtle.move(0, xAchse);
turtle.right(90);
turtle.forward(400);
turtle.move(yAchse, 0);
turtle.right(90);
turtle.forward(400);
for(var i = 1; i <= 19; i++){
turtle.move(20 * i, xAchse - 5);
turtle.forward(10);
turtle.left(90);
turtle.move(yAchse - 5, 20 * i);
turtle.forward(10);
turtle.right(90);
}
}
function parabel(turtle, gleichung){
var ae = gleichung.indexOf('x²'), //Ende von a
be = gleichung.indexOf('x', ae + 2); //Ende von b
//a,b,c herausfinden:
var a = gleichung.substring(gleichung.indexOf('=') + 1, ae) * 1,
b = gleichung.substring(ae + 2, be) * 1,
c = gleichung.substring(be + 1) * 1;
for(var x = -10; x <= 10; x += 0.0025){
posx = 20 * x + yAchse;
posy = -20 * (a * x * x + b * x + c) + xAchse;
turtle.move(posx, posy);
turtle.forward(0.01)
}
turtle.hide();
}
</code>
<canvas w="400" h="400"></canvas>
<run id="5c8fd13de85cd" id=5c89571c8a184>
var gleichung = "y=4x²+1x-2";
infos(gleichung);
koordinatensystem(canvas1, turtle1);
parabel(turtle1, gleichung);
</run>