ALGORITHMEN - Teil XVIII: Neueste Fortschritte in Künstlicher Dummheit

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • Abt. Die GERADE / UNGERADE - Regeln
      =============================
      Gerade Zahlen ermittelt man mit der Abfrage (ZAHL& MOD 2), was 0 liiefert. Ungerade liefern hier einen Wert > 0 - mit anderen Worten, Zahl mod 2 ist eigentlich ein Test auf Ungeradheit. Wir kodieren also G=0 und U=1. Die Variablen dazu seien A <Verknüpfungsoperation> B <ergibt:> C . Falls sowohl gerade als auch ungerade Zahlen herauskommen können, schreiben wir "?". Interessant ist die Ähnlichkeit mit den Wahrheitstabellen der Boole´schen Logik.
      Gruss

      P.S.: In der Mathematik werden gerade Zahlen als 2*n dargestellt, ungerade als 2*n+1. Einfach mal ein beliebiges (ganzzahliges) n einsetzen und ausprobieren!

      Spoiler anzeigen
      Es gelten folgende Gesetzlichkeiten:

      A+B ==> C
      -----------
      U+U ==> G, umgekehrt aus (C=G) ==> (A=B)
      U+G ==> U, umgekehrt aus (C=U) ==> (A<>B)
      G+U ==> U, umgekehrt aus (C=U) ==> (A<>B)
      G+G ==> G, umgekehrt aus (C=G) ==> (A=B)
      ========
      A-B ==> C
      -----------
      U-U ==> G
      U-G ==> U
      G-U ==> U
      G-G ==> G (also alles wie bei +, inklusive der Umkehrschlüsse)
      ========
      A*B ==> C
      ----------
      U*U <==> U, denn aus (C=U) ==> ((A=U) AND (B=U))
      U*G ==> G, aus (C=G) folgt umkehrt ==> ((A=G) OR (B=G))
      G*U ==> G, -"-
      G*G ==> G, -"-
      ========
      A^B ==> C
      ----------
      U^U ==> U, umgekehrt (C=U) ==> (A=U)
      U^G ==> U, umgekehrt (C=U) ==> (A=U)
      G^U ==> G, umgekehrt (C=G) ==> (A=G)
      G^G ==> G, umgekehrt (C=G) ==> (A=G)
      ========
      A mod B ==> C
      --------------
      U mod U ==> ? (da G oder U möglich!)
      U mod G ==> U, keine Umkehrung möglich wegen der "?"
      G mod U ==> ?
      G mod G ==> G, keine Umkehrung möglich wegen der "?"
      ===========
      A / B ==> C
      -----------
      U / U ==> ?
      U / G ==> G Ganze + ?/U-tel
      G / U ==> ?
      G / G ==> ?
      ======================

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von p. specht ()

    • Abt. Rechner-Unendlich
      ==================
      Mit dem nachstehenden Progi kann man sich vergewissern, dass 1.797693134862315807e+308 die absolut größte FLOAT-Zahl ist, die im integrierten Math package von XProfan (gechecked mit XProfan-11.2a) dargestellt werden kann. Eine einzige Zahl mehr am Ende, und es wird daraus 0.00000000000000000.

      In diesem hohen Zahlenbereich ist die "Körnigkeit" der Zahlenrepräsentation schon sehr gross. Die nächstkleinere Zahl, die bei einem numerischen Vergleich nicht mehr als gleich, sondern kleiner erkannt wird, ist 1.797693134862315608e+308.

      Mit negativem Vorzeichen versehen, sind das dann auch die absolut kleinsten Werte (= größten negativen Werte). Das könnte z.B. bei der Maximum/Minimumsuche in einer Liste von Astronomiedaten oder Physikwerten von Bedeutung sein.
      Gruss

      Quellcode

      1. WindowTitle "Absolutes XProfan-11.2a Float-Maximum"
      2. AppendMenuBar 100,"Denormal, also sehr grob, wird als 1.8e308 dargestellt!"
      3. set("decimals",17):declare z!,y!
      4. cls:font 2
      5. z!= 1.797693134862315807e308
      6. y!= 1.797693134862315608e308 'bei Vergleichen als niedriger erkannter nächster Wert von oben.
      7. print z!,format$("#.#################E+000",z!),z!= 1.797693134862315807e308,z!>y!
      8. waitinput 2000
      9. End

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von p. specht ()

    • Lösung zu UnvmR 21 ´Käsewasser´
      ---------------------------------
      Spoiler anzeigen
      Ansatz:
      (1) Gesamtmasse * 24% = Fett
      (2) Gesamtmasse - Wasser = Trockensubstanz
      (3) Trockensubstanz * 64 % = Fett
      ---------------------------------------------------
      (2>3) (Gesamtmasse - Wasser ) * 64 % = Fett
      (>1) Gesamtmasse * 24% = (Gesamtmasse - Wasser ) * 64 %

      Gesamtmasse * 24% = Gesamtmasse * 64 % - Wasser * 64 %
      Gesamtmasse * 24% - Gesamtmasse * 64 % = - Wasser * 64 %
      Wasser * 64 % = Gesamtmasse * 64% - Gesamtmasse * 24 %
      Wasser * 64 % = Gesamtmasse * (64% - 24 %)

      Wasser = Gesamtmasse * (64% - 24 %)/64 %
      Wasser = Gesamtmasse * (1 - 24 %/64 %)
      Wasser = Gesamtmasse * (1 - 24/64)
      Wasser = Gesamtmasse * (1 - 3/8)
      Wasser = Gesamtmasse * 5/8
      Wasser / Gesamtmasse = 5/8 = 5* 0.125 = 0.625 = 62.5 %
      Lösung: Dieser Käse ist mit 62.5% Anteil sozusagen schnittfähiges Wasser ;-)
    • Abt. UnvmR 22 ´Kuchen versuchen´
      ===========================
      Ein Kuchen wiegt 900 g. Konditor Karl schneidet ihn in 4 Stücke für die Auslage. Das größte Stück wiegt genauso viel wie
      die anderen 3 Stücke zusammen. Frage: Wie viel wiegt das größte Stück?


      Abt. UnvmR 23 `Gemurmel´
      ====================
      Die kleinen Glaskugeln mit den bunten Einschlüssen - ein Kinderspielzeug, das man auf keinen Fall Kleinkindern zum spielen geben sollte, heissen bekanntlich Murmeln. Das liebe Omileinchen verschenkte insgesmat 180 Murmeln an ihre zehn Enkelkinder. Kein Kind bekam gleich viele Murmeln wie ein anderes, die meisten bekam Anni. Aus diesen Angaben: Wie viele Murmeln muss Anni also mindestens bekommen haben?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von p. specht ()

    • Lösung zu UnvmR 21
      --------------------
      Spoiler anzeigen

      Ansatz: "... genauso viel wie ..." = 1/2
      900 g * 1/2 = 450 g


      Lösung zu UnvmR 22
      --------------------
      Spoiler anzeigen

      180 Murmelln / 10 Enkelkinder = 18 Murmeln pro Kind im Durchschnitt. Um diesen "Angelpunkt" dreht sich die Verteilung. Damit die Kindeskinder verschiedene Anzahlen bekommen, muss man diese von unten nach oben verteilen - zumindest über den "Angelpunkt" hinweg, aber unter möglichster "Schonung" des Max.-Endes (Es müssen ja immer 180 Murmeln sein!)

      18 + 18 + 18 + 18 + (18) + 18 + 18 + 18 + 18 + 18

      16 + 17 + 17 + 17 + (18) + 19 + 19 + 19 + 19 + 19 | (<5)
      15 + 16 + 16 + 17 + (18) + 19 + 20 + 20 + 20 + 20 | (<4)
      14 + 15 + 16 + 17 + (18) + 19 + 20 + 21 + 21 + 21 | (<3)
      13 + 14 + 16 + 17 + (18) + 19 + 20 + 21 + 22 + 22 | (<2)
      13 + 15 + 16 + 17 + (18) + 19 + 20 + 21 + 22 + 23 | (<1)
      ^_______________________________ Anni: 23_^

      Antwort: Anni bekommt mindestens 23 Murmeln.

      P.S.: Wäre die Frage nach dem höchsten Minimum, so müsste man anders verteilen:
      Diese Antwort wäre dann also 14 (!!!).
    • Abt. UnvmR 23 ´Informatik im Mittelalter´
      ----------------------------------------
      König Ottokar reist mit seinem gesamten Hofstaat und seinen Boten mit einer Geschwindigkeit von 5 km/h von seiner Winterburg zu seiner Sommerresidenz. Jede Stunde sendet er einen Boten, der per Pferd mit einer Geschwindigkeit von 10 km/h unterwegs ist, zurück zur Burg, weil Krieg droht und er der Post noch keinen Nachsendeauftrag erteilt hat. In welchem zeitlichen Abstand treffen zwei aufeinanderfolgende Boten in der Burg ein?


      Abt. UnvmR 24 ´Donald allein ausser Haus´
      ===============================
      Auf Donalds MP3-Player gibt es 5 Songs: Der Song A dauert 3 min, Song B 2 min 30 s, Song C 2 min, Song D 1 min 30 s, und Song E 4 min. Diese 5 Songs werden hintereinander ununterbrochen gespielt. Der Song C spielte gerade, als Donald sein weisses Haus verließ. Genau eine Stunde später kehrte er zurück. Welcher Song spielte gerade, als Donald zurück kam?

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von p. specht ()

    • Lösung zu UnvmR 23 ´Informationswelle´
      ---------------------------------------------
      Spoiler anzeigen

      Wenn der König stündlich einen Boten ausschickt, hat seine Gruppe seit der letzten Sendung 5 km zurückgelegt. Der vorige Bote ist in der Zwischenzeit 10 km in die entgegengesetzte Richtung geritten - zwei aufeinander folgende Boten haben also einen Abstand von 15 km. Erreicht ein Bote die Burg, ist der andere noch eben diese 15 km von der Burg entfernt. Da er mit 10 km/h unterweg ist, benötigt der nächste Bote für die 15 km 1_1/2 Stunden, also noch 90 min, bis er die Burg erreicht.

      Anmerkung: Physikalisch ist das der Unterschied zwischen Gruppengeschwindigkeit und (Informations-=)Wellengeschwindigkeit. Auch der Doppler-Effekt hat damit zu tun.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von p. specht ()

    • Lösung zu UnvmR 24
      -----------------------
      Spoiler anzeigen

      (1) Insgesamt dauern die 5 Songs 3 min + 2,5 min + 2 min + 1,5 min + 4 min = 13 min.

      (2) Donald verliess das Haus bei Song C, also zwischen 5.5 und 7.5 min ins Programm.

      (3) Eine Stunde später gab es 60 \ 13 = 4 ganze Durchläufe a 52 min. Bleiben 8 Minuten Spielzeit.

      (4) Wir sind also 60-52 = 8 min weiter im Program gegenüber der Zeit, als Donald das Haus verliess. Es geht also um die Frage, welche Songs in der Zeit zwischen [5.5+8 .. 7.5+8] min = [13.5 .. 15.5] min weiter ins Programm gerade liefen.

      (5) Da das Programm sich nach 13 min wiederholt, können wir 13 subtrahieren. Die Frage lautet also, welche Songs [0.5 .. 2.5] min ab Programmstart spielten.

      (6) Da Song A 3 min lang ist, deckt das den gesamten betracheteten Zeitraum ab.

      Antwort: Es spielte also mit Sicherheit Song A!
    • Abt. UnvmR 25 ´Streichholzrätsel´
      ==========================
      Mustafa hat 38 Streichhölzer. Er legt damit ein Dreieck und ein Quadrat, indem er immer Ende an Kopf des vorherigen legt (Dreieck und Quadrat haben kein Streichholz gemeinsam). Jede Seite des Dreiecks besteht aus 6 Streichhölzern. Frage: Aus wie vielen Streichhölzern besteht eine Quadratseite?
    • Abt. Die Imaginäre Zahl
      ==================
      Die Gleichung x^2 - 1 = 0 aufzulösen ist lustig: x^2 = 1 >>> x=+\-sqrt(1)={+1 oder -1}.
      Weniger lustig: x^2 + 1 = 0. Man versucht das gleiche wie oben:
      x^2 = -1 >>> x = Sqrt(-1) = ? Häääääää?
      Man wusste einfach nicht, wie das Quadrat einer Zahl eine negative Zahl ergeben sollte: "Denkunmöglich!".

      Was aber, wenn es in der Natur trotzdem möglich ist?
      Immer wenn etwas neues, unbekanntes auftritt, neigen Mathematiker dazu ihm einen Namen zu geben.
      In diesem Falle wurde %i vergeben: %i = +Sqrt(-1) ((oder in der Elektrotechnik, wo I als Formelzeichen schon für den elektrischen Strom vergeben war: %j)).

      Das stieß eine gänzlich neue Mathematik der Imaginären (="ausgedachten") Zahlen an, die sich letzlich aber ebenfalls als in der Realiität sehr nützlich herausstellen sollte, nämlich überall, wo Frequenzen auftreten und einander z.B. überlagern.

      Die Imaginäre Einheit %i folgt den im Spoiler aufgelisteten Regeln. Interessant, daß die Mathematik dabei auf weitere, bisher ungelöste Fragen stößt.
      Gruss

      Spoiler anzeigen

      %i = +Sqrt(-1) >>> %i^2 = %i * %i = -1
      Das lässt dann Ausdrücke wie Sqrt(-7) zerlegen in Sqrt(-1)*Sqrt(7)=%i*7, also "ausgedachte 7".

      %i^0= +1 (weil: Jede Zahl ausser 0, null mal mit sich selbst genommen, gibt 1 !)
      %i^1=Sqrt(-1) = Def.
      %i^2=Sqrt(-1)*Sqrt(-1)=Sqrt(-1)^2= -1, daher:
      %i^2= -1
      %i^3= -%i
      %i^4= %i^2*%i^2 = -1 * -1 = 1, daher:
      %i^4= +1
      %i^5= %i
      %i^6= -1
      %i^7= -%i
      usw.

      Weiters setzt sich das Muster aber auch in den Bereich <=0 fort:
      %i^0= +1
      %i^-1 = 1/%i = -%i
      %i^-2 = 1/(%i^2)= 1/-1 = -1
      %i^-3 = 1/(%i^3)= 1/-%i = -(-i%)=+%i
      %i^-4 = 1/(%i^4)= 1/+1 = +1
      %i^-5 = 1/(%i^5)= 1/%i = -%i
      %i^-6= -1
      usw. usw.

      Nicht uninteressant ist die Frage nach Wurzeln aus %i:
      %i^(1/2) = Sqrt(%i) = Sqrt( Sqrt(-1)) = -1
      %i^(1/3) = 3.-Wurzel_aus(%i) = Root(3, %i) = Root(6, %i^2) = -1^(1/6)
      %i^(1/4) = Root(4, %i) = Sqrt(Sqrt( Sqrt(-1) )) = Root(8, %i^2) = -1^(1/8)
      usw., was in der Praxis weniger Bedeutung hat.

      Andererseits könnte %i auch im Potenzausdruck selbst auftauchen:
      0^1=0, analog: 0^%i=0
      1^%i = 1 * 1 * ... %i mal = %i
      2^%i erfordert Übergang auf trigonometrische Darstellungen.
      %i^%i bleibt ungeklärt: Urknall? Soweit war die Mathematik des 20. Jahrhunderts eben noch nicht.
      Schauen wir mal, was das 21. Jhdt bringt!

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von p. specht ()

    • Lösung zu UnvmR 26
      ----------------------

      Quellcode

      1. Windowtitle "UnvmR 26-Löser"
      2. 'Werden die drei Ziffern einer dreistelligen Zahl miteinander multipliziert, so erhält man 135.
      3. 'Welches Ergebnis liefert die Addition der drei Ziffern?
      4. cls:font 1:print:declare i&,j&,k&
      5. whileloop 0,9:i&=&Loop:whileloop 0,9:j&=&Loop
      6. :whileloop 0,9:k&=&Loop:if i&*j&*k&=135
      7. print "\n",i&,"*",j&,"*",k&,"=",int(i&*j&*k&);
      8. print "; ",i&,"+",j&,"+",k&,"=",int(i&+j&+k&)
      9. endif:endwhile:endwhile:endwhile:waitinput:end
    • Abt. Von wegen "Nicht am Mond"
      ======================
      Doch! Hier ein weiteres Indiz: Die Doktorarbeit (PhD-Thesis) des später zweiten Mannes am Mond, Buzz Aldrin. Es geht um Auf-Sicht-Steuerungstechniken für Orbit-Rendevousmanöver von bemannten Raumfahrzeugen, aus dem Jahr 1963 (engl.) - heute bereits eine Rarität, die nur noch am M I T (Mass., USA) als pdf frei verfügbar ist.
      Gruss
    • Abt. Kleiner Prüfstand für Logik-Regeln
      ==========================
      Während die Äquivalenz, in Mathe-Büchern durch <=> symbolisiert, mittels Vergleichsoperator ´=´ in Programmen leicht realisiert werden kann, ist das mit der Implikation ´==>´ (Wenn-dann) nicht ganz so einfach. Im Ablauf wird das oft mit Case oder IF-Endif realisiert, aber wenn es um die Prüfung von Logik-Gesetzen geht, sollte das auch in Formelschreibweise möglich sein. Trick: Man kann statt x ==> y auch den äquivalenten Ausdruck not(x& and not(y&)) schreiben, den der Computer versteht. Ist man sich bei solchen Computer-Umsetzungen allerdings nicht sicher, hilft ein kleiner Prüfstand, der alle Logik-Variablen (hier: x, y und z) durchspielt und Ungereimtheiten meldet.
      Gruss

      P.S.: Mengenoperationen wie "Für alle x gilt:" oder "Es exisitert mindestens ein x, für das gilt:" können in dieser ersten Versioin noch nicht abgeprüft werden - mal sehen. Die Rück-Implikation ´<==´ ist dafür aber bereits implementiert. Nicht erschrecken: Die bewussst falsche Testregel SOLL zu Fehlermeldungen führen!


      Quellcode

      1. WindowTitle "KLEINER PRÜFSTAND FÜR LOGIK-REGELN"
      2. randomize:cls rgb(200+rnd(56),200+rnd(56),200+rnd(56))
      3. font 1 '(CL) 2018-09 by p.specht, Vienna/EU
      4. declare x&,y&,z& ' Ohne jede Gewähr!
      5. var exi&=0
      6. var all&=0
      7. whileloop 0,1:x&=&Loop
      8. whileloop 0,1:y&=&Loop
      9. whileloop 0,1:z&=&Loop
      10. ifnot \
      11. \' GENAU EINE ZU PRÜFENDE REGEL MUSS AKTIV GESETZT SEIN!:
      12. \' x& = x&
      13. \' y& or not(y&)
      14. \' imp(x&,(x& or 0))
      15. \' (x&<>y&) = not(x&=y&)
      16. \' (x& and y&) = not(not(x&) or not(y&))
      17. \' (x& or y&) = not(not(x&) and not(y&))
      18. \' imp(x&,y&) = not(x& and not(y&))
      19. \' aeq(x&,y&) = ( imp(x&,y&) and imp(y&,x&) )
      20. \' (x&=y&) = ( imp(x&,y&) and imp(y&,x&) )
      21. \' imp((x& or x&),x&)
      22. \' ((x& or y&) or z&) = (x& or (y& or z&))
      23. \' imp( ((x& or y&) and (not(x&) or z&)), (y& or z&) )
      24. \' reimp( (y& or z&) , ((x& or y&) and (not(x&) or z&)) )
      25. \' reimp(1,x&)
      26. \'
      27. imp(1,x&) '<<<< PROGRAMMTEST: FALSCHE BEHAUPTUNG!
      28. :
      29. print "\n Falsch: ";x&;",",y&;", (";z&;")"
      30. sound 2000,40
      31. endif
      32. endwhile
      33. endwhile
      34. endwhile
      35. ' FÜR WEITERE AUSBAUSTUFEN GEPLANT:
      36. '(x==>y)<=>Exist(x:y(x))
      37. 'Exist(y: All(x:x NotIn y)) <=> Exist({})
      38. 'All(x: y(x))<=>not(Exist(x:x<>not(y(x))))
      39. '(All(z: z in x <=> z in y) ==> (All(x)All(y):x=y)
      40. '(x& not_in y&) = not(x& in y&)
      41. print "\n Checked. ":sound 80,40
      42. waitinput
      43. end
      44. proc imp :parameters x&,y& ' x ==> y
      45. case x&:Exi&=1
      46. return not(x& and not(y&))
      47. endproc
      48. proc aeq :parameters x&,y& ' x <=> y
      49. return x&=y& '<=> (imp(x&,y&) and imp(y&,x&))
      50. endproc
      51. proc reimp :parameters x&,y& ' x <== y
      52. case y&:Exi&=1
      53. return not(not(x&) and y&)
      54. endproc
      Alles anzeigen
    • Abt. UnvmR 26 ´Alte Schachtel´
      ========================
      Alte Schachteln sind praktisch: Man kann allen möglichen Krimskrams darin aufbewahren, oder wertvolle Erinnerungen in Form von Fotos und Bildern aus der "Guten"-"alten"-"Zeit". Lisa blickt verträumt auf ein Foto ihres ersten ausgefallenen Milchzahns. Ihre Schachtel hat die Maße a x b x c, wobei a < b < c ist. Leider ist sie schon zu klein, um alle neuen Fotos aufzubewahren, aber da erscheint die Zahnfeh und sagt: "Lisa, ich gewähre Dir einen Wunsch: Ich werde dir eines dieser Maße um 5 cm vergrößern. Wähle weise!". Lisa: "Ich wähle das Maß, das das Volumen der Schachtel am meisten vergrößert!" - Zahnfeh: "OK. Welches ist das?"
    • Lösung zu UnvmR 26.b ´Schachtel´
      ----------------------------------

      Quellcode

      1. WindowTitle "UnvmR 26.b"
      2. cls:set("decimals",0):var a&=2:var b&=4:var c&=8
      3. print "\n z.B. a=";a&;", b=";b&;", c=";c&
      4. print "\n Die Schachtel hat original das Volumen: ";a&*b&*c&;" [cm³]"
      5. print "\n a+5 : Volumen ";(a&+5)*b&*c&;" Vergrößerung: ";(a&+5)*b&*c& - a&*b&*c&;" [cm³]"
      6. print "\n b+5 : Volumen ";a&*(b&+5)*c&;" Vergrößerung: ";a&*(b&+5)*c& - a&*b&*c&
      7. print "\n c+5 : Volumen ";a&*b&*(c&+5);" Vergrößerung: ";a&*b&*(c&+5) - a&*b&*c&
      8. waitinput:end
    • Abt. Was geht vor, AND oder OR ?
      ==========================
      Probieren wir es aus:

      Brainfuck-Quellcode

      1. cls
      2. declare a&,b&,c&,z&
      3. print "\n a b c z"
      4. print " -----------"
      5. whileloop 0,1:a&=&Loop
      6. whileloop 0,1:b&=&Loop
      7. whileloop 0,1:c&=&Loop
      8. z& = a& and b& OR b& and c& OR a& and c&
      9. print " ",a&,b&,c&," ",z&
      10. endwhile
      11. endwhile
      12. endwhile
      13. print "\n a b c z"
      14. print " -----------"
      15. whileloop 0,1:a&=&Loop
      16. whileloop 0,1:b&=&Loop
      17. whileloop 0,1:c&=&Loop
      18. z& = (a& and b&) OR (b& and c&) OR (a& and c&)
      19. print " ",a&,b&,c&," ",z&
      20. endwhile
      21. endwhile
      22. endwhile
      23. print "\n a b c z"
      24. print " -----------"
      25. whileloop 0,1:a&=&Loop
      26. whileloop 0,1:b&=&Loop
      27. whileloop 0,1:c&=&Loop
      28. z& = a& and (b& OR c&) and (b& OR a&) and c&
      29. print " ",a&,b&,c&," ",z&
      30. endwhile
      31. endwhile
      32. endwhile
      33. waitinput
      34. end
      Alles anzeigen
      Also wird ohne Klammerung zuerst immer AND berechnet, und diese AND-Ausdrücke dann mit OR zusammengefasst.
      Alles klar!
      Gruss