====== Mengenlehre ======
{{gem/mgr}}{{gem/pageinfo}}
Für alle Elemente ''x'' gilt ''x ∈ U = {A,B,C,D,...,Z}'' und somit ''|U| = 26''. Siehe auch [[wpde>Mengenlehre]]
===== -#1 Vereinigung =====
{{ http://upload.wikimedia.org/wikipedia/commons/thumb/3/30/Venn0111.svg/330px-Venn0111.svg.png?150}}
; in
: {B,X,C,D} ∪ {A,B,C}
; out
: {B,X,C,D,A}
{{gem/plain#df4788fa7e4c8b81}}
++++ Lösung |
/[^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++++
===== - Schnittmenge =====
{{ http://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Venn0001.svg/330px-Venn0001.svg.png?150}}
; in
: {B,X,C,D} ∩ {A,B,C}
; out
: {C,B}
{{gem/plain#fc034d8954b628a8}}
++++ Lösung |
/([A-Z])(.*∩.*)\1(.*)=/$2$3=,$1/ Gemeinsame extrahieren
/.*=,?(.*)/{$1}/! Finalisieren
/$/=/ Intitialisierung: = Anfügen
Testing: Leere Mengen sind auch ok++++
===== - Relatives Komplement =====
{{ http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Venn0100.svg/330px-Venn0100.svg.png?150}}
; in
: {A,B,C,D} \ {B,D}
; out
: {A,C}
{{gem/plain#f55a201fc22b630f}}
++++ Lösung |
/[^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!++++
===== - Absolutes Komplement =====
; in
: U \ {A,B,C,D,X,Y,Z}
; out
: {E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W}
{{gem/plain#15af0aef9de637af}}
++++ Lösung |
/^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++++
===== - Symmetrische Differenz =====
{{ http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Venn0110.svg/330px-Venn0110.svg.png?150}}
; in
: {D,A,B} △ {C,A,B}
; Out
: {D,C}
{{gem/plain#d54a6e24ce1bcd04}}
++++ Lösung | /\s//g
/([A-Z])(.*)△(.*)\1/$2△$3/
/,,+/,/
/\}△\{/,/
/,\}/}/
/\{,/{/
Testing: Geht auch mit leeren Mengen++++
===== - Karthesisches Produkt =====
; in
: {A,B,C} × {E,F}
; out
: {(CF),(CE),(BF),(BE),(AF),(AE)}
{{gem/plain#63722fa0ebab5d43}}
++++ Lösung |
/\{([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++++
===== - Potenzmenge =====
; in
: ℙ({A,B,C})
; out
: {{A,B,C},{A,B},{A,C},{A},{B,C},{B},{C},{}}
{{gem/plain#d232678cd153c25c}}
++++ Lösung|
/ℙ\(\{\}\)/{}/ !
/β(.*)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
/$/=/
++++
===== - Unäre Kardinalität=====
; in
: |{A,B,C}|
; out
: 111
{{gem/plain#7a852e12c1ec48eb}}
++++ Lösung|
/[A-Z]/1/g
/[^1]//g!
++++
===== - Binäre Kardinalität=====
; in
: |{A,B,C,D,E}|
; out
: 101
{{gem/plain#ca194ce6eebbb297}}
++++ Lösung|
/[A-Z]/1/g
/[^10α]//g
/^(1+)\1(α|$)/$1α0/
/^1(1+)\1(α|$)/$1α1/
/^1α/1/!
/^$/0/!
++++