Loading ⌛Loading ⌛
Für alle Elemente x gilt x ∈ U = {A,B,C,D,...,Z} und somit |U| = 26. Siehe auch Mengenlehre
{B,X,C,D} ∪ {A,B,C}
{B,X,C,D,A}
Loading ⌛
/[^A-Z,]/,/g Alles ausser [A-Z,] entfernen
/([A-Z])(.*)\1/$1$2/ Mehrfachelemente entfernen
/,,+/,/g Formatierung bereinigen
/^,(.*?),?$/{$1}/! Finalisierung
Testing: Leere Mengen sind ok
{B,X,C,D} ∩ {A,B,C}
{C,B}
Loading ⌛
/([A-Z])(.*∩.*)\1(.*)=/$2$3=,$1/ Gemeinsame extrahieren
/.*=,?(.*)/{$1}/! Finalisieren
/$/=/ Intitialisierung: = Anfügen
Testing: Leere Mengen sind auch ok
{A,B,C,D} \ {B,D}
{A,C}
Loading ⌛
/[^A-Z,]/,/g Alles ausser [A-Z,] entfernen
/([A-Z])(.*)\1/$2/ Gemeinsame Elemente entfernen
/,,+/,/g Formatierung bereinigen
/^,(.*?),?$/{$1}/! Finalisierung
Testing: Leere Mengen sind ok. Bei X \ Y muss Y eine Teilmenge von X sein!
U \ {A,B,C,D,X,Y,Z}
{E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W}
Loading ⌛
/^U\s*\\\s*\{/{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}/
/[^A-Z,]/,/g Alles ausser [A-Z,] entfernen
/([A-Z])(.*)\1/$2/ Gemeinsame Elemente entfernen
/,,+/,/g Formatierung bereinigen
/^,(.*?),?$/{$1}/! Finalisierung
Testing: U\U = {} ist ok
{D,A,B} △ {C,A,B}
{D,C}
Loading ⌛
/\s//g
/([A-Z])(.*)△(.*)\1/$2△$3/
/,,+/,/
/\}△\{/,/
/,\}/}/
/\{,/{/
Testing: Geht auch mit leeren Mengen
{A,B,C} × {E,F}
{(CF),(CE),(BF),(BE),(AF),(AE)}
Loading ⌛
/\{([A-Z])(.*)\{([A-Z])(.*)=/{$1$2$3{$4=,($1$3)/ Paaren (1)
/\{[A-Z](.*)×(.*)\{\}/{$1×{$2}/ Paaren (2)
/{}.*=,?/{/! Finalisieren
/[^A-Z{}×]//g Überflüssiges entfernen
/$/=}/ =} hinten anfügen
Testing: Leere Mengen ok
ℙ({A,B,C})
{{A,B,C},{A,B},{A,C},{A},{B,C},{B},{C},{}}
Loading ⌛
/ℙ\(\{\}\)/{}/ !
/β(.*)0./β$1/
/β(.*)1(.)/β$1,$2/
/\{,/{/g
/\{β,(.*)/{{$1}/!
/^((1.)*)=,/{β$1},/
/1(.)α0/α0$10/
/0(.)α0/1$10/
/(.*)1(.)=/$1α0$2=,{$11$2}/
/(.*)0(.)=/$11$2=,{$1}/
/ℙ?\(?\{?(\b[A-Z]),?\}?\)?/0$1/g
/$/=/
Idee: Eine Binärzahl mit sovielen Stellen wie Elemente in der Menge von 0 bis 2n+1-1 iteriren.
{A,B,C} -> 111,110,101,100,011,010,001,000
/^(1*)=,/$1,/!
/1α0/α00/
/0α0/10/
/(.*)1=/$1α0=,$11/
/(.*)0=/$11=,$10/
/\{?\b([A-Z]),?\}?/0/g
/$/=/
Entsprechende Buchstaben filtern.
{A,B,C} -> 1A1B1C,1A1B0C,1A0B1C,1A0B0C,0A1B1C,0A1B0C,0A0B1C,0A0B0C
/^((1.)*)=,/$1,/!
/1(.)α0/α0$10/
/0(.)α0/1$10/
/(.*)1(.)=/$1α0$2=,$11$2/
/(.*)0(.)=/$11$2=,$10$2/
/\{?\b([A-Z]),?\}?/0$1/g
/$/=/
|{A,B,C,D,E}|
101
Loading ⌛
/[A-Z]/1/g /[^10α]//g /^(1+)\1(α|$)/$1α0/ /^1(1+)\1(α|$)/$1α1/ /^1α/1/! /^$/0/!
Arbeitsumgebung: http://exorciser.ch/dev/rema.html
Aufgaben
This work by Vincent Tscherter, vincent@tscherter.net and Kurt Jakob, kurt.jakob@gmx.ch is licensed under Creative Commons Attribution-NonCommercial 3.0.