Bergervei/Javascript-Spielwiese
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
== Gebrauch des Smileys ==
<code id="575e4fe7ef3fd">
function ggT(m, n) {
if (n == 0)
return m;
else
return ggT(n, m % n);
}
</code>
<check execute="(ggT(123, 69) == 3) && (ggT(9797, 303) == 101) && (ggT(31, 5) == 1)">
true
</check>
<run id="575e4fe7ef477">
ggT(123, 9);
</run>
== Größter gemeinsamer Teiler nach NICOMACHOS ==
<code id="5bafa99fcdef7">
function ggT(m, n) {
var diff = 0;
while (n > 0) {
if (m > n)
diff = m - n;
else
diff = n - m;
m = n; n = diff;
}
return m;
}
</code>
<check execute="(ggT(123, 69) == 3) && (ggT(9797, 303) == 101) && (ggT(31, 5) == 1)">
true
</check>
<run id="575e4fe7ef477">
ggT(123, 9);
</run>
== Potenz ==
<code id="5bafa5826800d">
function potenz(n, m) {
var pot = 1;
for (var i = 1; i <= m; i++)
pot = pot * n;
return pot;
}
</code>
<run id="5bafa582680da">
potenz(2, 8);
</run>
== Einfache Maximumsuche ==
<code id="5bafa3008a603">
function max(x, y, z) {
var m = x;
if (m < y) m = y;
if (m < z) m = z;
return m;
}
</code>
<check execute="(max(12, 169, 13) == 169) && (max(0, 0, -4) == 0) && (max(2.5, 2.5, 2.5) == 2.5)">
true
</check>
<run id="5bafa3008a79d">
max(45, 121, 18);
</run>
== Kapitalentwicklung ==
<code id="5bafa3008a6d5">
function guthaben(kapital, zins, jahre) {
for (var i = 1; i <= jahre; i++)
kapital = kapital * (1 + zins / 100);
return Math.round(100 * kapital) / 100;
}
</code>
<run id="5bafa3008a84b">
guthaben(100, 3.25, 22);
</run>
== Turtlegrafik ==
<code id="57617d4f30174" hidden>
function center(turtle) {
turtle.move(200, 150);
}
function black(turtle) {
turtle.penColor(0, 0, 0);
}
function red(turtle) {
turtle.penColor(255, 0, 0);
}
function brown(turtle) {
turtle.penColor(100, 50, 0);
}
function orange(turtle) {
turtle.penColor(255, 100, 0);
}
function yellow(turtle) {
turtle.penColor(255, 200, 0);
}
function green(turtle) {
turtle.penColor(0, 255, 0);
}
function blue(turtle) {
turtle.penColor(0, 0, 255);
}
function pink(turtle) {
turtle.penColor(200, 50, 200);
}
</code>
<code id="57618d00e9982">
var farbliste = ["red", "orange", "yellow", "green", "blue", "pink"];
function n_eck(turtle, x, n) {
var winkel = 360 / n;
for (var i = 1; i <= n; i++) {
turtle.forward(x);
turtle.right(winkel);
}
}
function farbstern(turtle, x, n, m) {
var winkel = 360 / m;
var farbe;
for (var i = 1; i <= m; i++) {
farbe = farbliste[Math.floor((i - 1) * farbliste.length / m)];
switch (farbe) {
case "red":
red(turtle); break;
case "brown":
brown(turtle); break;
case "orange":
orange(turtle); break;
case "yellow":
yellow(turtle); break;
case "green":
green(turtle); break;
case "blue":
blue(turtle); break;
case "pink":
pink(turtle); break;
default:
black(turtle); break;
}
n_eck(turtle, x, n);
turtle.right(winkel);
}
}
</code>
<canvas w="400" h="300"></canvas>
<run id="57618d00e99ff">
canvas1.clear();
turtle1.move(200, 150);
farbstern(turtle1, 75, 5, 55);
</run>
<code id="5b0c70d02658f">
function kreis(turtle, x, y, r) {
var winkel = 180 / r / Math.PI;
var n = 360 / winkel;
turtle.move(x - r, y);
for (var i = 1; i <= n; i++) {
turtle.forward(1);
turtle.right(winkel);
}
}
</code>
<canvas w="400" h="300"></canvas>
<run id="5b0c70d026631">
canvas2.clear();
kreis(turtle2, 200, 150, 50);
</run>
== Zeichenzähler ==
<code id="5ba880a3466e7">
function zeichenzaehler(zeichenkette, z) {
var zaehler = 0;
for (var i = 0; i < zeichenkette.length; i++)
if (z == zeichenkette.substr(i, 1)) zaehler++;
return zaehler;
}
</code>
<run id="5ba87ccf7e1d4">
zeichenzaehler("Mississippi-Missouri", "i");
</run>
== Vokalzähler ==
<code id="5ba880a346776">
function vokalzaehler(zeichenkette) {
var zaehler = 0;
var vokale = "AEIOU";
zeichenkette = zeichenkette.toUpperCase();
for (var j = 0; j < vokale.length; j++)
for (var i = 0; i < zeichenkette.length; i++)
if (vokale.substr(j, 1) == zeichenkette.substr(i, 1)) zaehler++;
return zaehler;
}
</code>
<run id="5ba87ccf7e23f">
vokalzaehler("Mississippi-Missouri");
</run>
== Plindromprüfung ==
<code id="5ba880a346807">
function palindrompruefer(zeichenkette) {
var neukette = "";
zeichenkette = zeichenkette.toUpperCase();
for (var i = 0; i < zeichenkette.length; i++)
neukette = zeichenkette.substr(i, 1) + neukette;
return (zeichenkette == neukette);
}
</code>
<run id="5b9619346de9e">
palindrompruefer("Rentner");
</run>
== Schüttelwörter ==
<code id="5ba880a3468ae">
function schuetteln(zeichenkette) {
var neukette = "";
var pos, zeichen;
do {
pos = Math.floor(Math.random() * zeichenkette.length);
zeichen = zeichenkette.substr(pos, 1);
neukette = neukette + zeichen;
zeichenkette = zeichenkette.replace(zeichen, "");
}
while (zeichenkette.length > 0);
return neukette;
}
</code>
<run id="5b960f62e3580">
schuetteln("Informatik");
</run>
== Cäsar-Verschlüsselung ==
<code id="5ba880a346956">
function wandeln(zeichen, schritt) {
var code = zeichen.charCodeAt();
if (code > 64 && code < 91) {
code = code + schritt;
while (code > 90) code = code - 26;
while (code < 65) code = code + 26;
return String.fromCharCode(code);
}
else
return zeichen;
}
function caesarCodieren(zeichenkette, schluesselbuchstabe, richtung) {
var neukette = "";
zeichenkette = zeichenkette.toUpperCase();
schluesselbuchstabe = schluesselbuchstabe.toUpperCase();
for (var i = 0; i < zeichenkette.length; i++) {
let buchstabe = zeichenkette.substr(i, 1);
let schritt = schluesselbuchstabe.charCodeAt() - 65;
neukette = neukette + wandeln(buchstabe, richtung * schritt);
}
return neukette;
}
function caesarVerschluesseln(zeichenkette, schluesselbuchstabe) {
return caesarCodieren(zeichenkette, schluesselbuchstabe, 1);
}
function caesarEntschluesseln(zeichenkette, schluesselbuchstabe) {
return caesarCodieren(zeichenkette, schluesselbuchstabe, -1);
}
</code>
<run id="5ba880a346a3f">
caesarVerschluesseln("Informatik", "B");
</run>
<run id="5ba880a346ae6">
caesarEntschluesseln("JOGPSNBUJL", "B");
</run>