Autor Thema: Computer und Käsebrötchen  (Gelesen 17243 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Omikronman

  • Gast
Computer und Käsebrötchen
« am: Sa 24.03.2012, 15:51:41 »
Viele Wege führen zum Käsebrötchen. Dem Computer muß man manchmal helfen, damit er Dinge schnell bewerten kann. Mit dem AND (UND) Befehl guckt das Basic Programm, ob mehrere Dinge ZUSAMMEN zutreffen. Beispiel:

Ich will ein Käsebrötchen zubereiten. Die Abfrage für Käse, Brötchen u. Messer lautet also:

WENN 1 Käse da ist UND 1 Messer UND 1 Brötchen DANN hab ich alles was ich brauche.

Der Computer kann das ganze schneller bewerten, wenn er die Fragerei vorzeitig abbrechen kann. Statt UND fragt man DANN WENN:

WENN 1 Käse da ist - ja ist da - DANN WENN 1 Messer da ist - ne, fehlt. Mist. Ende der Abfrage.

Noch schneller geht es wenn man die Dinge sortiert. Das, was am ehesten fehlen wird, zuerst abfragen, damit möglichst früh abgebrochen werden kann. Messer sind immer in der Schublade, Käse meistens im Kühlschrank, aber Brötchen?

WENN 1 Brötchen da ist - ne, keins da. Mist. Ende der Abfrage.

Euer Omi :-)

Burkhard Mankel

  • Gast
Re: Computer und Käsebrötchen
« Antwort #1 am: Sa 24.03.2012, 17:41:52 »
Viele Wege führen zum Käsebrötchen. Dem Computer muß man manchmal helfen, damit er Dinge schnell bewerten kann. Mit dem AND (UND) Befehl guckt das Basic Programm, ob mehrere Dinge ZUSAMMEN zutreffen. Beispiel:

Ich will ein Käsebrötchen zubereiten. Die Abfrage für Käse, Brötchen u. Messer lautet also:

WENN 1 Käse da ist UND 1 Messer UND 1 Brötchen DANN hab ich alles was ich brauche.

Der Computer kann das ganze schneller bewerten, wenn er die Fragerei vorzeitig abbrechen kann. Statt UND fragt man DANN WENN:

WENN 1 Käse da ist - ja ist da - DANN WENN 1 Messer da ist - ne, fehlt. Mist. Ende der Abfrage.

Noch schneller geht es wenn man die Dinge sortiert. Das, was am ehesten fehlen wird, zuerst abfragen, damit möglichst früh abgebrochen werden kann. Messer sind immer in der Schublade, Käse meistens im Kühlschrank, aber Brötchen?

WENN 1 Brötchen da ist - ne, keins da. Mist. Ende der Abfrage.

Euer Omi :-)


Ich könnte ja mal ein GfA mitg Alertroutinen erstellen  ;D

Offline Arthur

  • Benutzer
  • Beiträge: 10.311
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Computer und Käsebrötchen
« Antwort #2 am: Sa 24.03.2012, 19:06:09 »
Hey Omi, super erklärt. @Burkhard, zitieren kann man auch anders. ;)

Omikronman

  • Gast
Re: Computer und Käsebrötchen
« Antwort #3 am: Sa 24.03.2012, 19:08:40 »
Danke :-)

afalc060

  • Gast
Re: Computer und Käsebrötchen
« Antwort #4 am: Sa 24.03.2012, 23:14:18 »
ODER Mett.. 

Offline Dennis Schulmeister

  • Moderator
  • *****
  • Beiträge: 535
  • Do be do be do -- Sinatra.
Re: Computer und Käsebrötchen
« Antwort #5 am: Mi 28.03.2012, 03:12:43 »
Zitat
WENN 1 Käse da ist UND 1 Messer UND 1 Brötchen DANN hab ich alles was ich brauche.

Der Computer kann das ganze schneller bewerten, wenn er die Fragerei vorzeitig abbrechen kann.

Kommt halt drauf an, ob es ein "binäres UND" oder ein "logisches UND" ist. In vielen Programmiersprachen gibt es ja zwei Varianten & und && bzw. | und || für ODER-Verknüpfungen. Die binäre Variante muss natürlich alle Ausdrücke auswerten, um zu einem Ergebnis zu kommen. Die logische Variante wertet von links nach rechts nur soviele Ausdrücke aus, bis das Prüfergbenis feststeht.

WENN Brötchen vorhanden LOGISCHES_UND Käse vorhanden LOGISCHES_UND Besteck vorhanden
Ups, Käse vergessen zu kaufen. Der Ausdruck "Besteck vorhanden" wird nicht ausgewertet, weil er das Prüfergebnis nicht mehr umkehren kann.

WENN Käse vorhanden LOGISCHES_ODER Wurst vorhanden
Im Kühlschrank liegt noch ein vergammelter Käse rum, also muss ich nicht nach der Wurst suchen.

Das Logische UND hört also bei der ersten negativen Prüfung auf zu arbeiten (Kein Käse => Abbruch). Das Logische ODER hört bei der ersten positiven Prüfung auf zu arbeiten. (Es gibt Käse => Los geht's).

Um die Geschichte mit dem ODER zu verstehen, muss man sich merken, dass der Computer darunter "und/oder" versteht. Habe ich Käse und/oder Wurst? Ich kann eins davon haben oder beides. In jedem Fall kann ich mir ein Brötchen schmieren. Nur wenn ich keins davon habe, dann sieht's düster aus mit dem Abendessen.

Das was wir umgangssprachlich unter ODER verstehen ist für den Computer ein EXKLUSIVES ODER. Habe ich Käse aber keine Wurst bzw. habe ich Wurst aber keinen Käse? Dann muss ich einkaufen gehen. Habe ich beides, dann muss ich NICHT einkaufen gehen. Habe ich keins davon, muss ich ebenfalls NICHT einkaufen gehen, vermutlich weil ich zuvor verhungert bin.

Gruß, Dennis
Wenn ich mal groß bin, will ich bei Atari arbeiten.