BuK/IIm20/Vorlesung 4 Belkouchi
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
<code id="60cf84ce437cb">
/*
- Berechnung der Codierung eines Cantor-Paares
- parameter: x Element, in diesem Fall das Wort aus A*
- parameter: y Zeit, die gewährt wird, um die Berechnung durchzuführen
- return Codierung des Paares als Long
*/
function cantoPaar(x,y){
return (((x + y) * (x + y + 1)) / 2) + y
}
/*
- Entschlüsseln der Codierung eines Cantor-Paares
- parameter a Codierung enes Cantor-Paares, und return Element des Paares, in diesem Fall Wort aus A*
*/
function cantoPaarX(a){
var w = Math.floor((Math.sqrt(8 * parseFloat(a) + 1) - 1) / 2);
return w - (a - w * (w + 1) / 2);
}
/*
- Entschlüsseln der Codierung eines Cantor-Paares
- parameter a Codierung enes Cantor-Paares,und return: Zeit, die für die Berechnung gewährt wird
*/
function cantoPaarY(a){
var w = Math.floor((Math.sqrt(8 * parseFloat(a) + 1) - 1) / 2);
return a - w * (w + 1) / 2;
}
/*
Funktion, die prüft ob ein Wort in der Teilmenge von A* über dem Alphabet {a,b}* ist, bei der das Wort mit a beginnt
*/
function isElementM(w) {
if(w[0]=='a' && (w.slice(-1)=='a' || w.slice(-1)=='b' ))
return true;
else
return false;
}
/*
endlicheMenge : entscheidbar -> es gibt eine Prozedur, die true oder false zurückgibt und total berechenbar ist
*/
function isEnthaelt(w) {
var menge = ["aaa","aba","baa","bab","abb","bbb"];
return menge.includes(w);
}
</code>
<run id="60cf84ce43844">
cantoPaar(42491);
isElementM("ababaaabbaaaa");
isEnthaelt("abaa");
</run>