Gymnasium Löbau/Vertiefungsklasse 2013/BubbleSort
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
<code id="5c3afcce647d8" hidden>
function erzeugen(von, bis, anz) {
var feld = new Array();
for (var i = 0; i < anz; i++)
feld[i] = zufallszahl(von, bis);
return feld;
}
function ausgabe(feld) {
var maxAnzahl = 25;
var teilFeld = new Array();
var i = 0, j = 0;
while (i < feld.length) {
j = i + maxAnzahl;
if (j < feld.length)
teilFeld = feld.slice(i, j);
else
teilFeld = feld.slice(i, feld.length);
console.log(teilFeld);
i = j;
}
}
var rand = 50;
var maxBreite = 400 - 2 * rand;
var maxHoehe = 300 - 2 * rand;
function minMax(feld) {
var ergebnis = new Array(0, 0);
for (var i = 0; i < feld.length; i++) {
if (ergebnis[0] > feld[i]) ergebnis[0] = feld[i];
if (ergebnis[1] < feld[i]) ergebnis[1] = feld[i];
}
return ergebnis;
}
function balken(turtle, hoehe, breite) {
turtle.forward(breite); turtle.left(90);
turtle.forward(hoehe); turtle.left(90);
turtle.forward(breite); turtle.left(90);
turtle.forward(hoehe); turtle.left(90);
turtle.forward(breite);
}
function BalkenDiagramm(canvas, turtle, feld) {
var breite = maxBreite / feld.length;
var extremWert = minMax(feld);
var min = extremWert[0];
var max = extremWert[1];
canvas.clear();
turtle.hide();
turtle.move(rand, rand + max /(max - min) * maxHoehe);
turtle.right(90);
for (var i = 0; i < feld.length; i++)
balken(turtle, feld[i] / (max - min) * maxHoehe, breite);
}
</code>
== Voraussetzungen ==
Mit der [[Gymnasium_Löbau/Vertiefungsklasse_2013/Die_Datenstruktur_Feld|Datenstruktur Feld]] haben wir bereits eine große Anzahl von Zufallszahlen generiert und ausgegeben.<br />
Dazu haben wir die Funkion <tt>zufallszahl</tt> implementiert:
<code id="5c3afcce6485a">
function zufallszahl(von, bis) {
return Math.floor(Math.random() * (bis - von + 1) + von);
}
</code>
Weiterhin halten wir die bekannten Funktionen zum Erzeugen bzw. Ausgeben eines Datenfeldes bereit:
function erzeugen(von, bis, anz)
function ausgabe(feld)
Wir testen zunächst die Generierung und Ausgabe eines umfangreichen Feldes mit Zufallszahlen:
<code id="5c3afcce648d8">
var newFeld = erzeugen(-50, 100, 100);
</code>
<run id="5c3afcce6496a">
ausgabe(newFeld);
</run>